Welcome to Easyiew.kr

Q&A

¼ÒÇÁÆ®¿þ¾î
Çϵå¿þ¾î
¸ÅÅ©·Î for¹®°ú if¹® °°ÀÌ»ç¿ë
±Û¾´ÀÌ clfhr1
³¯Â¥ 2022-06-13 22:29:30
Á¶È¸¼ö 1219
¾È³çÇϼ¼¿ä

´ã´çÀÚ´Ôµé ´öºÐ¿¡ ¸¹ÀÌ ¾Ë¾Æ°¡°íÀÖ½À´Ï´Ù.

¸ÅÅ©·Î¿¡¼­ 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]¹ø±îÁö ÀÚµ¿À¸·Î µÇ°Ô ÇÏ°í½Í¾ú´Âµ¥ ¾ÈµÇ³×¿ä