WinCCOAใƒใƒฅใƒผใƒˆใƒชใ‚ขใƒซใ€‚ใƒ‘ใƒผใƒˆ4ใ€‚ใ‚ชใƒ–ใ‚ธใ‚งใ‚ฏใƒˆใฎๅ†ๅˆฉ็”จใ€‚$-ใƒ‘ใƒฉใƒกใƒผใ‚ฟ

ๅ‰ใฎใƒ‘ใƒผใƒˆใงใฏใ€ใƒใƒซใƒ–ใฎ่ฆ–่ฆšๅŒ–ใ‚’ๅฎŒไบ†ใ—ใ€ใใฎๅ‹•ไฝœใ‚’ใ‚ทใƒŸใƒฅใƒฌใƒผใƒˆใ™ใ‚‹ใŸใ‚ใฎ็ฐกๅ˜ใชใ‚นใ‚ฏใƒชใƒ—ใƒˆใ‚’ไฝœๆˆใ—ใพใ—ใŸใ€‚





Flapใจๅ‘ผใฐใ‚Œใ‚‹1ใคใฎใƒ‘ใƒใƒซใŒใ‚ใ‚Šใ€1ใคใฎใƒใƒซใƒ–๏ผˆFlap1๏ผ‰ใฎใ‚ณใƒžใƒณใƒ‰ใ‚’่กจ็คบใŠใ‚ˆใณ้€ไฟกใ—ใพใ™ใ€‚ใ“ใฎใƒ‡ใƒผใ‚ฟใƒใ‚คใƒณใƒˆใฏใ€ใ“ใฎใƒ‘ใƒใƒซใฎใ™ในใฆใฎใ‚นใ‚ฏใƒชใƒ—ใƒˆใงๆŒ‡ๅฎšใ•ใ‚Œใพใ™ใ€‚่‡ช็„ถใช็–‘ๅ•ใŒ็”Ÿใ˜ใพใ™-่ค‡ๆ•ฐใฎใƒใƒซใƒ–ใŒใ‚ใ‚‹ๅ ดๅˆใฏใฉใ†ใ™ใ‚Œใฐใ‚ˆใ„ใงใ™ใ‹๏ผŸใใ—ใฆใ€2ใคใงใ‚‚ใ‚ใ‚Šใพใ›ใ‚“ใ€‚ใใ—ใฆใ€ๆ•ฐๅใ€ๆ•ฐ็™พใ€ใ•ใ‚‰ใซใฏๆ•ฐๅƒ๏ผˆๅˆ†ๆ•ฃใ‚ทใ‚นใƒ†ใƒ WinCC OAใจๆ•ฐ็™พไธ‡ใฎไฟกๅทใฎๅ ดๅˆใ€้šœๅฎณใซใฏใชใ‚Šใพใ›ใ‚“ใ€‚ใ“ใฎ็‰นๅฎšใฎใ‚ทใ‚นใƒ†ใƒ ใŒไฝฟ็”จใ•ใ‚Œใฆใ„ใ‚‹Large Hadron Colliderใ‚’่ฆ‹ใฆใ€ใ†ใ‚‰ใ‚„ใพใ—ใ„ใงใ™๏ผ‰ใ€‚





ๆ˜Žใ‚‰ใ‹ใชใ‚ชใƒ—ใ‚ทใƒงใƒณใฏใ€ๆ•ฐๅใ€ๆ•ฐ็™พใ€ๆ•ฐๅƒใฎใƒ‘ใƒใƒซใ‚’ไฝœๆˆใ™ใ‚‹ใ“ใจใงใ™ใ€‚ๅ„ใƒ‡ใƒผใ‚ฟใƒใ‚คใƒณใƒˆใฏๆ˜Ž็คบ็š„ใซๆŒ‡ๅฎšใ•ใ‚Œใ€ใใ‚Œใ‚’ไธ€ๆŽƒใ—ใพใ™ใ€‚NDPไธญใซ้ฟใ‘ใ‚‰ใ‚Œใชใ„ใ‚ใšใ‹ใชๅค‰ๆ›ดใฎๅ ดๅˆใ€้•ทใใฆ้ขๅ€’ใงใ€่Žซๅคงใชไบบไปถ่ฒปใŒใ‹ใ‹ใ‚‹ๆใ‚ŒใŒใ‚ใ‚Šใพใ™ใ€‚





ๅˆฅใฎใ‚ชใƒ—ใ‚ทใƒงใƒณใงใ™ใŒใ€ใใ‚Œใ ใ‘ใงใฏใ‚ใ‚Šใพใ›ใ‚“ใŒใ€ๆ—ขๅญ˜ใฎใƒ‘ใƒใƒซใซๅŸบใฅใ„ใฆใƒ†ใƒณใƒ—ใƒฌใƒผใƒˆใ‚’ไฝœๆˆใ™ใ‚‹ใ“ใจใงใ™ใ€‚[ใƒ‘ใƒใƒซ]โ†’[ใƒ‘ใƒใƒซใซๅๅ‰ใ‚’ไป˜ใ‘ใฆไฟๅญ˜]ใƒกใƒ‹ใƒฅใƒผ้ …็›ฎใ‚’้ธๆŠžใ—ใฆใ€ๆ—ขๅญ˜ใฎใƒ•ใƒฉใƒƒใƒ—ใƒ‘ใƒใƒซใฎใ‚ณใƒ”ใƒผใ‚’ไฝœๆˆใ—ใพใ—ใ‚‡ใ†ใ€‚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. .





2็•ช็›ฎใฎใƒใƒซใƒ–ใŒๆฉŸ่ƒฝใ—ใชใ„

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





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





DPEไฝ็ฝฎใซๆฉŸ่ƒฝใŒ่จญๅฎšใ•ใ‚ŒใŸๆง‹ๆˆใŒใ‚ใ‚‹ใŸใ‚ใ€3็•ช็›ฎใฎใƒใƒซใƒ–ใฏใพใ ็”ป้ขใซ่กจ็คบใ•ใ‚Œใฆใ„ใพใ›ใ‚“๏ผˆๅฎŸ้š›ใ€ใƒขใƒ‡ใƒซใซ่ฟฝๅŠ ใ—ใŸใฎใฏ็„ก้ง„ใงใ™๏ผ‰ใ€‚








All Articles