¾È³çÇϼ¼¿ä
´ã´çÀÚ´Ôµé ´öºÐ¿¡ ¸¹ÀÌ ¾Ë¾Æ°¡°íÀÖ½À´Ï´Ù.
¸ÅÅ©·Î¿¡¼ for¹®°ú if¹® °°ÀÌ »ç¿ëÇÏ·Á°íÇϴµ¥ Àß ¾ÈµÇ³×¿ä
macro_command main()
bool data1 // 1 bit º¯¼ö
short LW0,LW1,LW2,LW3,LW9012,BIN9012,LW9011,BIN9011,RWH[50],RWM[50],i=0
GetData(RWH[0],"Local HMI",RW,101,50)
GetData(RWM[0],"Local HMI",RW,151,50)
GetData(LW9012, "Local HMI", LW, 9012, 1) // HMI µ¥ÀÌÅÍ ÇöÀç½Ã°£ Àбâ
GetData(LW9011, "Local HMI", LW, 9011, 1) // HMI µ¥ÀÌÅÍ ÇöÀç ºÐ Àбâ
BCD2BIN(LW9012, BIN9012)
BCD2BIN(LW9011, BIN9011)
for i= 0 to 50
if (RWH[i] == BIN9012) & (RWM[i] == BIN9011) then // Æ®¸®°Å Á¶°Ç ON½Ã
data1 = 1
SetData(data1, "Local HMI", RBI, 0, 1) // PLC¿¡ µ¥ÀÌÅÍ ¾²±â
else
data1 = 0
SetData(data1, "Local HMI", RBI, 0, 1)
SetData(data1, "Local HMI", RBI, 1, 1)
end if
next i
end macro_command
ÀÌ·±½ÄÀ¸·Î Â¥º¸¾Ò´Âµ¥ ÅÍÄ¡ÆdzÚÀÇ RW[]¼öÄ¡¿ÀºêÁ§Æ® (RWH[])¿¡ °ªÀ» ³Ö¾îµµ ¹ÝÀÀÀÌ ¾ø³×¿ä.
À§ Äڵ忡 for¹® »©°í i=0À» ÇÑ´ÙÀ½ RW0¿¡ °ªÀ» ÀÔ·ÂÇϸé Àß ÀÛµ¿ÇÕ´Ï´Ù.
À߸øµÈºÎºÐÀÌ ¾îµðÀϱî¿ä?
Á¦ Àǵµ´Â ÀÚµ¿À¸·Î RWH[0] == BIN9012) & (RWM[0] == BIN9011) ºñ±³ÈÄ SetData µ¿ÀÛ
±×´ÙÀ½¿¡ RWH[1] == BIN9012) & (RWM[1] == BIN9011) ºñ±³ÈÄ SetData µ¿ÀÛ
ÀÌ·±½ÄÀ¸·Î RMH[50]¹ø±îÁö ÀÚµ¿À¸·Î µÇ°Ô ÇÏ°í½Í¾ú´Âµ¥ ¾ÈµÇ³×¿ä