ุจุฑู†ุงู…ุฌ WinCC OA ุงู„ุชุนู„ูŠู…ูŠ. ุงู„ุฌุฒุก 4. ุฅุนุงุฏุฉ ุงุณุชุฎุฏุงู… ุงู„ุฃุดูŠุงุก. $-ู…ุนู„ู…ุงุช

ููŠ ุงู„ุฌุฒุก ุงู„ุณุงุจู‚ ุŒ ุฃูƒู…ู„ู†ุง ุชุตูˆุฑ ุงู„ุตู…ุงู… ูˆุฃู†ุดุฃู†ุง ู†ุตู‹ุง ุจุณูŠุทู‹ุง ูŠุญุงูƒูŠ ุณู„ูˆูƒู‡.





ู„ุฏูŠู†ุง ู„ูˆุญุฉ ูˆุงุญุฏุฉ ุชุณู…ู‰ Flap ุชุนุฑุถ ูˆุชุฑุณู„ ุฃูˆุงู…ุฑ ู„ุตู…ุงู… ูˆุงุญุฏ - Flap1. ุชู… ุชุญุฏูŠุฏ ู†ู‚ุทุฉ ุงู„ุจูŠุงู†ุงุช ู‡ุฐู‡ ููŠ ุฌู…ูŠุน ุงู„ุจุฑุงู…ุฌ ุงู„ู†ุตูŠุฉ ููŠ ู‡ุฐู‡ ุงู„ู„ูˆุญุฉ. ูŠุทุฑุญ ุณุคุงู„ ุทุจูŠุนูŠ - ู…ุงุฐุง ุชูุนู„ ุฅุฐุง ูƒุงู† ู‡ู†ุงูƒ ุฃูƒุซุฑ ู…ู† ุตู…ุงู…ุŸ ูˆู„ุง ุญุชู‰ ุงุซู†ูŠู†. ูˆุนุฏุฉ ุนุดุฑุงุช ูˆู…ุฆุงุช ุจู„ ูˆุขู„ุงู (ุจุงู„ู†ุณุจุฉ ู„ู„ู†ุธุงู… ุงู„ู…ูˆุฒุน WinCC OA ูˆุนุฏุฉ ู…ู„ุงูŠูŠู† ู…ู† ุงู„ุฅุดุงุฑุงุช ู„ูŠุณุช ุนุงุฆู‚ู‹ุง ุŒ ูู†ุญู† ู†ู†ุธุฑ ุฅู„ู‰ ู…ุตุงุฏู… ุงู„ู‡ุงุฏุฑูˆู†ุงุช ุงู„ูƒุจูŠุฑ ุŒ ุญูŠุซ ูŠุชู… ุงุณุชุฎุฏุงู… ู‡ุฐุง ุงู„ู†ุธุงู… ุงู„ู…ุนูŠู† ุŒ ูˆู†ุญู† ู†ุญุณุฏู‡).





ุงู„ุฎูŠุงุฑ ุงู„ูˆุงุถุญ ู‡ูˆ ุฅู†ุดุงุก ุนุฏุฉ ุนุดุฑุงุช ูˆู…ุฆุงุช ูˆุขู„ุงู ู…ู† ุงู„ู„ูˆุญุงุช ุŒ ุญูŠุซ ูŠุชู… ุฅุนุทุงุก ูƒู„ ู†ู‚ุทุฉ ุจูŠุงู†ุงุช ุจุดูƒู„ ุตุฑูŠุญ ุŒ ูˆู†ุญู† ู†ูƒุชุณุญู‡ุง ุฌุงู†ุจุงู‹ - ุฅู†ู‡ุง ุทูˆูŠู„ุฉ ูˆู…ุฒุนุฌุฉ ูˆุชู‡ุฏุฏ ุจุชูƒุงู„ูŠู ุนู…ุงู„ุฉ ุถุฎู…ุฉ ููŠ ุญุงู„ุฉ ุญุฏูˆุซ ุฃุฏู†ู‰ ุชุบูŠูŠุฑุงุช ู„ุง ู…ูุฑ ู…ู†ู‡ุง ุฎู„ุงู„ NDP.





ู‡ู†ุงูƒ ุฎูŠุงุฑ ุขุฎุฑ ุŒ ูˆู„ูƒู† ู„ูŠุณ ุงู„ุฎูŠุงุฑ ุงู„ูˆุญูŠุฏ ุŒ ูˆู‡ูˆ ุฅู†ุดุงุก ู‚ุงู„ุจ ุจู†ุงุกู‹ ุนู„ู‰ ู„ูˆุญุฉ ู…ูˆุฌูˆุฏุฉ. ู„ู†ู‚ู… ุจุฅู†ุดุงุก ู†ุณุฎุฉ ู…ู† ู„ูˆุญุฉ Flap ุงู„ุญุงู„ูŠุฉ ุนู† ุทุฑูŠู‚ ุชุญุฏูŠุฏ Panel โ†’ Save Panel As ุนู†ุตุฑ ุงู„ู‚ุงุฆู…ุฉ. ู„ู†ู‚ู… ุจุชุนูŠูŠู† ุงู„ุงุณู… Panel_ref.pnl (ุชุดูŠุฑ ุงู„ู†ู‡ุงูŠุฉ _ref ุฅู„ู‰ ุงู„ู…ุฑุฌุน ุŒ ุฃูŠ ุงุฑุชุจุงุท ุŒ ุฃูˆ ุŒ ุฅุฐุง ุฃุฑุฏุช ุŒ ู†ู…ูˆุฐุฌู‹ุง)





ุฏุนู†ุง ู†ูุชุญ ู„ูˆุญุฉ Flap_ref (ูŠุฌุจ ุฃู† ุชูƒูˆู† ู…ูุชูˆุญุฉ ุนู„ู‰ ุฃูŠ ุญุงู„ ุจุนุฏ ุงู„ุญูุธ). ู„ู†ู‚ู… ุจุชุญุฑูŠุฑ ุงู„ุจุฑุงู…ุฌ ุงู„ู†ุตูŠุฉ ู„ู„ูˆุญุฉ ุนู† ุทุฑูŠู‚ ุงุฎุชูŠุงุฑ ุชุญุฑูŠุฑ โ† ุชุญุฑูŠุฑ ู†ุตูˆุต ุงู„ู„ูˆุญุฉ ู…ู† ุงู„ู‚ุงุฆู…ุฉ. ุณูŠุชู… ูุชุญ ู†ุงูุฐุฉ ุชุญุชูˆูŠ ุนู„ู‰ ุฌู…ูŠุน ุงู„ุจุฑุงู…ุฌ ุงู„ู†ุตูŠุฉ ู„ุฌู…ูŠุน ุงู„ุฑุณูˆู… ุงู„ุฃูˆู„ูŠุฉ ู„ู‡ุฐู‡ ุงู„ู„ูˆุญุฉ.





, , . , .. : Flap1, Flap2 Flap3 . , , Flap1 , $- ( ยซ-ยป). Find&Replace . .





โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โ”€// [RECTANGLE3] [3] - [Initialize]
// SimpleCtrlScriptStart {invalid}
main()
{
  EP_setRotation();
}

void EP_setRotation()
{
  dyn_errClass err;

  if( !dpExists( "System1:" + $dp + ".Inputs.Position:_online.._value") )
  {
    setValue("", "color", "_dpdoesnotexist");
    return;
  }

  dpConnect("EP_setRotationCB",
            "System1:" + $dp + ".Inputs.Position:_online.._value");
  err = getLastError();
  if (dynlen(err) > 0)
    setValue("", "color", "_dpdoesnotexist");

}


void EP_setRotationCB(string dp1, int iNewValue)
{
  float MIN_VALUE = 0;
  float MAX_VALUE = 90;
  float MIN_ROTATION = 0;
  float MAX_ROTATION = 90;

  float fRotation;
  fRotation = ( 1.0 * (MAX_ROTATION - MIN_ROTATION) / (MAX_VALUE - MIN_VALUE)) *
              (iNewValue - MIN_VALUE) + MIN_ROTATION;
  if (fRotation > MAX_ROTATION) fRotation = MAX_ROTATION;
  else if (fRotation < MIN_ROTATION) fRotation = MIN_ROTATION;

  setValue("", "rotation", fRotation);
}

// SimpleCtrlScript {EP_setRotation}
// DP {System1:" + $dp + ".Inputs.Position}
// DPConfig {:_online.._value}
// DPType {int}
// PVSSRange {0}
// Min {0}
// Max {90}
// MinRotation {0}
// MaxRotation {90}
// SimpleCtrlScriptEnd {EP_setRotation}
โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
โ”€// [PUSH_BUTTON1] [4] - [Clicked]
main(mapping event)
{
  dpSet("System1:" + $dp + ".Commands.Open", 1, "System1:" + $dp + ".Commands.Close", 0);
}
โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
โ”€// [PUSH_BUTTON2] [5] - [Clicked]
main(mapping event)
{
  dpSet("System1:" + $dp + ".Commands.Open", 0, "System1:" + $dp + ".Commands.Close", 1);
}
โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

      
      



:





System1:Flap1.Inputs.Position:online..value





:





System1:" + $dp + ".Inputs.Position:online..value





, , (System1), $dp, , , .. โ€” . + . . , , . $dp (Flap2, ) .





, $- . , , .





. Flaps. .





Flap_ref Flaps. $- โ€” .





ู† ู‚ุทุฑุฉ ุงู„ุณุญุจ
Drag'n'drop

, $dp Flap1. ยซSave and Run in QuickTest Modeยป , 1 Open Close โ€” , . , -, , ( , , , , ).





ูƒู„ ุดูŠุก ูŠุนู…ู„

Flap2





. (), - . ? , ( ) Flap1. .





ุงู„ุตู…ุงู… ุงู„ุซุงู†ูŠ ู„ุง ูŠุนู…ู„

, . , , -. dpConnect callback-, callback-. .





Control Manager (, ยซ-num 2ยป). , .





ู†ุธุฑู‹ุง ู„ุญู‚ูŠู‚ุฉ ุฃู† ู„ุฏูŠู†ุง ุชูƒูˆูŠู†ู‹ุง ู…ุน ูˆุธูŠูุฉ ุชู… ุถุจุทู‡ุง ุนู„ู‰ ู…ูˆุถุน DPE ุŒ ู„ู… ูŠุชู… ุนุฑุถ ุงู„ุตู…ุงู… ุงู„ุซุงู„ุซ ุจุนุฏ ุนู„ู‰ ุงู„ุดุงุดุฉ (ููŠ ุงู„ูˆุงู‚ุน ุŒ ู„ู‚ุฏ ุฃุถูุชู‡ ุนุจุซู‹ุง ุฅู„ู‰ ุงู„ู†ู…ูˆุฐุฌ).








All Articles