PVZ108-MODBUS´Â MODBUS ÇÁ·ÎÅäÄÝÀ» Áö¿øÇÏ´Â PVZ108 Àåºñ¿Í Åë½ÅÀ» À§ÇÑ µå¶óÀ̹öÀÌ´Ù.
<±×¸² 1>Àº PVZ108-MODBUS Åë½Å µå¶óÀ̹ö¸¦ »ç¿ëÇÒ ¶§ÀÇ Åë½Å¼³Á¤ ¿¹ÀÌ´Ù.
<±×¸² 1> PVZ108-MODBUSÀÇ Åë½Å¼³Á¤ ¿¹
<±×¸² 1>ÀÇ DEVICE ¼³Á¤Àº ¿¬°áµÈ Åë½ÅÆ÷Æ®(COM1), Åë½Å¼Óµµ( 9600 ), Parity Bit ( 0 ), Data Bit ( 8 ), Stop Bit ( 1 ), ¼øÀ¸·Î Àåºñ¿¡ ¼³Á¤µÈ °ªÀ» ÀÔ·ÂÇÑ´Ù.
PVZ108-MODBUS Åë½Å µå¶óÀ̹öÀÇ ¿É¼Ç ºÎ ¿¡´Â ÀÐÀº ÆÐŶÀÇ CRC üũ ¿©ºÎ( 1 = üũ ÇÔ, 0 = üũ ¾ÈÇÔ ), ºñÆ® ON ¾²±â °ª ( ±âº» = 65280 ), PVZ108-MODBUS IP ÇÁ·ÎÅäÄÝ »ç¿ë¿©ºÎ( 1 = IP ÇÁ·ÎÅäÄÝ, 0 = ÀÏ¹Ý ½Ã¸®¾ó ÇÁ·ÎÅäÄÝ ) , ºñÆ® OFF ¾²±â °ª ( ±âº» = 0 ), DWORD/FLOAT µîÀÇ °ªÀ» ÀÐÀ» ¶§ ÀÐÀ» Å©±â¸¦ WORD ´ÜÀ§ ºñ »ç¿ë¿©ºÎ( 1 = »ç¿ë¾ÈÇÔ, 0 = WORD ´ÜÀ§·Î °è»ê, ±âº» : 0 ), ¸ÖƼ¾²±â »ç¿ë¿©ºÎ(0 = »ç¿ë¾ÈÇÔ, 1 = »ç¿ë, ±âº» : 0), µ¥ÀÌÅÍ °ª ºñ±³¸¦ À§ÇÑ »óÅ°ª ÀúÀåÀ§Ä¡(WORD ¸Þ¸ð¸® ¹øÁöÁöÁ¤, ±âº» : 1000) ¼øÀ¸·Î ÄÞ¸¶( , )·Î ±¸ºÐÇÏ¿© ÀÔ·ÂÇÑ´Ù.
ÁÖÀÇ) DWORD/FLOAT µîÀÇ °ªÀ» ÀÐÀ» ¶§ ÀÐÀ» Å©±â¸¦ WORD ´ÜÀ§¸¦ »ç¿ëÇÏÁö ¾Ê´Â °æ¿ì¿¡´Â Åë½Å ÇÁ·ÎÅäÄÝ ·¹º§¿¡¼ DWORD/FLOAT 1°³ÀÇ µ¥ÀÌÅ͸¦ ÀÐÀ» ¶§ 2°³ÀÇ µ¥ÀÌÅ͸¦ ¿ä±¸ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó 1 °³ÀÇ µ¥ÀÌÅ͸¦ ¿ä±¸ÇÏ´Â ÇÁ·ÎÅäÄÝ Çü½ÄÀÌ´Ù. ( GAS Micro iMaCS µîÀÇ Àåºñ¿¡¼ »ç¿ëÇÔ )
Âü°í) PVZ108-MODBUS IP ÇÁ·ÎÅäÄÝÀº Ethernet µîÀ¸·Î ¿¬°áµÈ ½Ã½ºÅÛ¿¡¼ »ç¿ëÇÏ°í Åë½ÅÇü½ÄÀº TCP/IP ¶Ç´Â UDP/IP¸¦ »ç¿ëÇÑ´Ù.
Àб⠼³Á¤ ¹æ¹ý
READ | ½ºÅ×ÀÌ¼Ç | ÀÐÀ» Á¾·ù | ÀÐÀ» ½ÃÀÛÁÖ¼Ò | ¸Þ¸ð¸® ÀúÀåÀ§Ä¡ | Àд °³¼ö |
READ | 254 | 68 | 0 | 0 | 16 |
1) ½ºÅ×ÀÌ¼Ç : ¿¬°áµÈ ÀåºñÀÇ ½ºÅ×ÀÌ¼Ç (ID) ¹øÈ£. ( 0 ~255 )
2) ÀÐÀ» Á¾·ù : ÀÐÀ» µ¥ÀÌÅÍ Á¾·ù¸¦ ÁöÁ¤.
3 – WORD ´ÜÀ§ÀÇ µ¥ÀÌÅÍ Àбâ,
3D – DWORD ´ÜÀ§ÀÇ µ¥ÀÌÅÍ Àбâ ( LO, HI µ¥ÀÌÅÍ ¼ø ),
3d – DWORD ´ÜÀ§ÀÇ µ¥ÀÌÅÍ Àбâ ( HI, LO µ¥ÀÌÅÍ ¼ø ),
3lD, 3LD – 8 BYTE ´ÜÀ§ÀÇ µ¥ÀÌÅÍ Àбâ ( LO, HI µ¥ÀÌÅÍ ¼ø ),
3ld, 3Ld – 8 BYTE ´ÜÀ§ÀÇ µ¥ÀÌÅÍ Àбâ ( HI, LO µ¥ÀÌÅÍ ¼ø ),
3M – HI WORD x 10000 + LO WORD Çü½ÄÀÇ DWORD µ¥ÀÌÅÍ Àбâ ( LO, HI µ¥ÀÌÅÍ ¼ø ),
3m – HI WORD x 10000 + LO WORD Çü½ÄÀÇ DWORD µ¥ÀÌÅÍ Àбâ ( HI, LO µ¥ÀÌÅÍ ¼ø ),
3lM, 3LM – HI WORD x 10000 + LO WORD Çü½ÄÀÇ 8 BYTE ´ÜÀ§ÀÇ µ¥ÀÌÅÍ Àбâ ( LO, HI µ¥ÀÌÅÍ ¼ø ),
3lm, 3Lm – HI WORD x 10000 + LO WORD Çü½ÄÀÇ 8 BYTE ´ÜÀ§ÀÇ µ¥ÀÌÅÍ Àбâ ( HI, LO µ¥ÀÌÅÍ ¼ø ),
3s – 16 BYTE BCD ASCII µ¥ÀÌÅÍ Àбâ,
3F – FLOAT ´ÜÀ§ÀÇ µ¥ÀÌÅÍ Àбâ ( LO, HI µ¥ÀÌÅÍ ¼ø ),
3F2 – FLOAT ´ÜÀ§ÀÇ µ¥ÀÌÅÍ Àбâ ( LO, HI µ¥ÀÌÅÍ ¼ø 2 ),
3f – FLOAT ´ÜÀ§ÀÇ µ¥ÀÌÅÍ Àбâ ( HI, LO µ¥ÀÌÅÍ ¼ø ),
3f2 – FLOAT ´ÜÀ§ÀÇ µ¥ÀÌÅÍ Àбâ ( HI, LO µ¥ÀÌÅÍ ¼ø 2 ),
1X, 2X – ºñÆ® ´ÜÀ§ÀÇ µ¥ÀÌÅÍ Àбâ ( 1xxxx, 2xxxx Modbus ¹øÁö )
1XB, 2XB – ºñÆ® ´ÜÀ§ÀÇ µ¥ÀÌÅÍ Àбâ, ºñÆ® ´ÜÀ§ Àб⠰³¼ö ( 1xxxx, 2xxxx Modbus ¹øÁö )
3B – BYTE ´ÜÀ§ÀÇ µ¥ÀÌÅÍ Àбâ,
68, 68f, 68d, ¡¦ – PVZ108 ÀåºñÀÇ RAM DataÀÇ ¿öµå/FLOAT/DWORD µîÀÇ ´ÜÀ§ Àбâ.
3) ÀÐÀ» ½ÃÀÛÁÖ¼Ò : ÀÐÀ» ½ÃÀÛ¹øÁö. (modbus ÁÖ¼Ò –1 )
4) ¸Þ¸ð¸® ÀúÀå À§Ä¡ : Àоî¿Â »óÅ °ªÀ» ÀúÀåÇÒ ¹öÆÛÀ§Ä¡.
5) Àд ũ±â: ÀÐÀ» Å©±â.
3 – WORD ´ÜÀ§ °³¼ö,
3D, 3d, 3M, 3m, 3F, 3F2, 3f, 3f2 – 2 WORD ´ÜÀ§ °³¼ö,
3LD, 3ld, 3LM, 3lm – 4 WORD ´ÜÀ§ °³¼ö,
3s – 8 WORD ´ÜÀ§ °³¼ö,
1X, 2X – WORD ´ÜÀ§ °³¼ö,
1XB, 2XB – ºñÆ® ´ÜÀ§ÀÇ Àб⠰³¼ö, ( 1 ~ 15 = 1 WORD, 16 ~ 31 = 2 WORD, ¡¦)
3B – BYTE ´ÜÀ§ °³¼ö,
68, 68f, 68d, ¡¦ –WORD, FLOAT, DWORD µîÀÇ ´ÜÀ§ °³¼ö.
<±×¸² 1> ÇÁ·ÎÅäÄÝ ¿É¼ÇºÎÀÇ ¾ÆÀÌÄÜÀ» Ŭ¸¯Çϸé <±×¸² 2>ÀÇ ´ëÈ»óÀÚ°¡ ³ªÅ¸³ª´Âµ¥ ¿©±â¼µµ READ ½ºÄÉÁìÀ» ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù.
<±×¸² 2> PVZ108-MODBUS µå¶óÀ̹öÀÇ Åë½Å Àб⠼³Á¤ ´ëÈ»óÀÚ
<±×¸² 2>ÀÇ , , ¹öÅÏ°ú ¸®½ºÆ® ¹Ú½º¸¦ ÀÌ¿ëÇÏ¿© READ ½ºÄÉÁìÀ» ÀÛ¼ºÇÑ´Ù.
<±×¸² 2>ÀÇ ¡®Check CRC Error¡¯ ºÎºÐ¿¡¼ ÀÐÀº ÆÐŶÀÇ CRC üũ¿©ºÎ, ¡®Bit Write On Val¡¯ ¿µ¿ª¿¡ ºñÆ® ON Ãâ·Â ½Ã ¾²±â °ª( ±âº» = 65280 ), ¡®Use Modbus IP Protocol¡¯ ¿¡¼ PVZ108-MODBUS IP ÇÁ·ÎÅäÄÝ »ç¿ë¿©ºÎ, ¡®Bit Write Off Val¡¯ ¿µ¿ª¿¡ ºñÆ® OFF Ãâ·Â ½Ã ¾²±â °ª( ±âº» = 0 ), ¡®Don¡¯t Use WORD Unit Read Size¡¯ ¿µ¿ª¿¡ DWORD/FLOAT µîÀÇ °ªÀ» ÀÐÀ» ¶§ ÀÐÀ» Å©±â¸¦ WORD ´ÜÀ§ ºñ »ç¿ë¿©ºÎ¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.
<±×¸² 3> PVZ108-MODBUS µå¶óÀ̹öÀÇ Åë½Å Àб⠼³Á¤ READ Ãß°¡/ÆíÁý ´ëÈ»óÀÚÀÇ ¿¹
<±×¸² 3>Àº <±×¸² 2>ÀÇ ´ëÈ»óÀÚ¿¡¼ READ ½ºÄÉÁìÀ» Ãß°¡ ¶Ç´Â ÆíÁýÇÒ ¶§ ³ªÅ¸³ª´Â ´ëÈ»óÀÚÀÌ´Ù.
Ãâ·ÂÀº SCAN File°ú »ó°ü¾øÀÌ ÄÁÆ®·Ñ·¯ÀÇ Á÷Á¢ ADDRESS¿¡ ¾´´Ù.
µðÁöÅÐ Ãâ·Â ¼³Á¤¹ý
µðÁöÅÐ Ãâ·ÂÀ¸·Î ÀåºñÀÇ »óÅ °ª(reset µî)À» ¼³Á¤Çϰųª Relay µîÀ» Á¦¾îÇÒ ¼ö ÀÖ´Ù.
µðÁöÅÐ Ãâ·Â TAG ¼³Á¤ ½Ã ÇÊ¿äÇÑ ¿ä¼Ò
1) PORT ¿¬°áµÈ PORT ¹øÈ£.
2) STATION ÀåºñÀÇ ½ºÅ×À̼Ç( ID ) ¹øÈ£.
½Ã¸®¾ó Åë½Å - 1 ~ 255,
TCP/IP – 100, 255 µî.
3) Address Ãâ·Â ¹øÁö. 10Áø¼ö ´ÜÀ§ÀÇ Ãâ·Â¹øÁö. (Modbus ¹øÁö – 1 )
4) Extra1 Ãâ·ÂÇÏ°íÀÚ ÇÏ´Â µ¥ÀÌÅÍ Á¾·ù.
16 – WORD ´ÜÀ§ÀÇ µ¥ÀÌÅÍ ¾²±â,
16D – DWORD ´ÜÀ§ÀÇ µ¥ÀÌÅÍ ¾²±â ( LO, HI µ¥ÀÌÅÍ ¼ø ),
16d – DWORD ´ÜÀ§ÀÇ µ¥ÀÌÅÍ ¾²±â ( HI, LO µ¥ÀÌÅÍ ¼ø ),
16lD, 16LD – 8 BYTE ´ÜÀ§ÀÇ µ¥ÀÌÅÍ ¾²±â ( LO, HI µ¥ÀÌÅÍ ¼ø ),
16ld, 16Ld – 8 BYTE ´ÜÀ§ÀÇ µ¥ÀÌÅÍ ¾²±â ( HI, LO µ¥ÀÌÅÍ ¼ø ),
16M – HI WORD x 10000 + LO WORD Çü½ÄÀÇ DWORD µ¥ÀÌÅÍ ¾²±â ( LO, HI µ¥ÀÌÅÍ ¼ø ),
16m – HI WORD x 10000 + LO WORD Çü½ÄÀÇ DWORD µ¥ÀÌÅÍ ¾²±â ( HI, LO µ¥ÀÌÅÍ ¼ø ),
16lM, 16LM – HI WORD x 10000 + LO WORD Çü½ÄÀÇ 8 BYTE ´ÜÀ§ÀÇ µ¥ÀÌÅÍ ¾²±â ( LO, HI µ¥ÀÌÅÍ ¼ø ),
16lm, 16Lm – HI WORD x 10000 + LO WORD Çü½ÄÀÇ 8 BYTE ´ÜÀ§ÀÇ µ¥ÀÌÅÍ ¾²±â ( HI, LO µ¥ÀÌÅÍ ¼ø ),
16s – 16 BYTE BCD ASCII µ¥ÀÌÅÍ ¾²±â,
16F – FLOAT ´ÜÀ§ÀÇ µ¥ÀÌÅÍ ¾²±â ( LO, HI µ¥ÀÌÅÍ ¼ø ),
16F2 – FLOAT ´ÜÀ§ÀÇ µ¥ÀÌÅÍ ¾²±â ( LO, HI µ¥ÀÌÅÍ ¼ø 2 ),
16f – FLOAT ´ÜÀ§ÀÇ µ¥ÀÌÅÍ ¾²±â ( HI, LO µ¥ÀÌÅÍ ¼ø ),
16f2 – FLOAT ´ÜÀ§ÀÇ µ¥ÀÌÅÍ ¾²±â ( HI, LO µ¥ÀÌÅÍ ¼ø 2 ),
16B – BYTE ´ÜÀ§ÀÇ µ¥ÀÌÅÍ ¾²±â,
16H_TIME – HICM Àåºñ¿¡ ÄÄÇ»ÅÍÀÇ ÇöÀç½Ã°£ Àü¼Û. (³â, ¿ù, ÀÏ, ½Ã, ºÐ, ÃÊ, °¢ 1¿öµå¾¿ 6¿öµå¸¦ Àü¼Û, ¾Æ³¯·Î±× ¾²±â¸¸ »ç¿ë)
5) Extra2 »ç¿ë¾ÈÇÔ.
¾Æ³¯·Î±× Ãâ·Â ¼³Á¤¹ý
¾Æ³¯·Î±× Ãâ·ÂÀº BYTE/WORD/DWORD/FLOAT °ªÀ» ¸ÞŸ¿¡ ¾²´Â °ÍÀ» ¸»ÇÑ´Ù.
¾Æ³¯·Î±× Ãâ·Â TAG ¼³Á¤ ½Ã ÇÊ¿äÇÑ ¿ä¼Ò
1) PORT ¿¬°áµÈ PORT ¹øÈ£.
2) STATION ÀåºñÀÇ ½ºÅ×À̼Ç( ID ) ¹øÈ£.
½Ã¸®¾ó Åë½Å - 1 ~ 255,
TCP/IP – 100, 255 µî.
3) Address Ãâ·Â ¹øÁö. 10Áø¼ö ´ÜÀ§ÀÇ Ãâ·Â¹øÁö. (Modbus ¹øÁö – 1 )
4) Extra1 Ãâ·ÂÇÏ°íÀÚ ÇÏ´Â µ¥ÀÌÅÍ Á¾·ù.
16 – WORD ´ÜÀ§ÀÇ µ¥ÀÌÅÍ ¾²±â,
16D – DWORD ´ÜÀ§ÀÇ µ¥ÀÌÅÍ ¾²±â ( LO, HI µ¥ÀÌÅÍ ¼ø ),
16d – DWORD ´ÜÀ§ÀÇ µ¥ÀÌÅÍ ¾²±â ( HI, LO µ¥ÀÌÅÍ ¼ø ),
16lD, 16LD – 8 BYTE ´ÜÀ§ÀÇ µ¥ÀÌÅÍ ¾²±â ( LO, HI µ¥ÀÌÅÍ ¼ø ),
16ld, 16Ld – 8 BYTE ´ÜÀ§ÀÇ µ¥ÀÌÅÍ ¾²±â ( HI, LO µ¥ÀÌÅÍ ¼ø ),
16M – HI WORD x 10000 + LO WORD Çü½ÄÀÇ DWORD µ¥ÀÌÅÍ ¾²±â ( LO, HI µ¥ÀÌÅÍ ¼ø ),
16m – HI WORD x 10000 + LO WORD Çü½ÄÀÇ DWORD µ¥ÀÌÅÍ ¾²±â ( HI, LO µ¥ÀÌÅÍ ¼ø ),
16lM, 16LM – HI WORD x 10000 + LO WORD Çü½ÄÀÇ 8 BYTE ´ÜÀ§ÀÇ µ¥ÀÌÅÍ ¾²±â ( LO, HI µ¥ÀÌÅÍ ¼ø ),
16lm, 16Lm – HI WORD x 10000 + LO WORD Çü½ÄÀÇ 8 BYTE ´ÜÀ§ÀÇ µ¥ÀÌÅÍ ¾²±â ( HI, LO µ¥ÀÌÅÍ ¼ø ),
16s – 16 BYTE BCD ASCII µ¥ÀÌÅÍ ¾²±â,
16F – FLOAT ´ÜÀ§ÀÇ µ¥ÀÌÅÍ ¾²±â ( LO, HI µ¥ÀÌÅÍ ¼ø ),
16F2 – FLOAT ´ÜÀ§ÀÇ µ¥ÀÌÅÍ ¾²±â ( LO, HI µ¥ÀÌÅÍ ¼ø 2 ),
16f – FLOAT ´ÜÀ§ÀÇ µ¥ÀÌÅÍ ¾²±â ( HI, LO µ¥ÀÌÅÍ ¼ø ),
16f2 – FLOAT ´ÜÀ§ÀÇ µ¥ÀÌÅÍ ¾²±â ( HI, LO µ¥ÀÌÅÍ ¼ø 2 ),
16B – BYTE ´ÜÀ§ÀÇ µ¥ÀÌÅÍ ¾²±â,
16H_TIME – HICM Àåºñ¿¡ ÄÄÇ»ÅÍÀÇ ÇöÀç½Ã°£ Àü¼Û. (³â, ¿ù, ÀÏ, ½Ã, ºÐ, ÃÊ, °¢ 1¿öµå¾¿ 6¿öµå¸¦ Àü¼Û, ¾Æ³¯·Î±× ¾²±â¸¸ »ç¿ë)
5) Extra2 ¸ÖƼ ¾Æ³¯·Î±× °ª ¾²±â/ºñ±³ ¼³Á¤
1 = ¸ÖƼ ¾²±â °ª ÀúÀå, ( Extar1 ¿µ¿ªÀº »ó°ü¾ÈÇÔ )
2 = ÇöÀç ÀúÀåµÈ °ªÀ¸·Î ¸ÖƼ ¾²±â °ª ¾²±â, ( ÇöÀç ¼³Á¤ÇÑ ¹øÁöºÎÅÍ ÀúÀåµÈ °³¼ö ¸¸Å ¿¬¼Ó ¾²±â )
3 = ¸ÖƼ ¾²±â °ªÀ¸·Î ÀúÀåµÈ ¸ðµç ³»¿ëÀ» »èÁ¦, ( Extar1 ¿µ¿ªÀº »ó°ü¾ÈÇÔ )
4 = ÇöÀç ÀúÀåµÈ °ª°ú PLC ¸Þ¸ð¸® ¹øÁö °ªÀ» ºñ±³, ( ÇöÀç ¼³Á¤ÇÑ ¹øÁöºÎÅÍ ÀúÀåµÈ °³¼ö ¸¸Å ¿¬¼Ó ¾²±â )
±âŸ °ª( 0 ¶Ç´Â 4º¸´Ù Ŭ ¶§ ) = ÀϹÝ( ÇϳªÀÇ ) ¾Æ³¯·Î±× °ª ¾²±â
¿¹1) Station : 1 Address : 0100 Extra1 : 16, EXTRA2 : ºóÄÀ¸·Î ¼³Á¤ÇÏ°í ¾Æ³¯·Î±× Ãâ·ÂÀ» Çϸé 1¹ø Station PVZ108-MODBUS ÀåºñÀÇ 100 ¹øÁö ( 101 Modbus ¹øÁö ) °ªÀ» ¼³Á¤ÇÑ °ªÀ¸·Î º¯°æÇÒ ¼ö ÀÖ´Ù.
¿¹2) Station : 1 Address : 5000 Extra1 : 16d, EXTRA2 : ºóÄÀ¸·Î ¼³Á¤ÇÏ°í ¾Æ³¯·Î±× Ãâ·ÂÀ» Çϸé 1¹ø Station PVZ108-MODBUS ÀåºñÀÇ 5000 ¹øÁö ( 5001 Modbus ¹øÁö ) °ªÀ» ¼³Á¤ÇÑ °ªÀ¸·Î º¯°æÇÒ ¼ö ÀÖ´Ù.
¸ÖƼ ¿öµå ¾²±â ¼³Á¤À» À§ÇÑ ½ºÅ©¸³Æ® ÀÛ¼º ¿¹)
$AO_0000.Extra2 = 3; // ÀÌÀü¿¡ ÀúÀåµÈ ¸ÖƼ ¾²±â °ª »èÁ¦
@SetTagValue("AO_0000", 0);
$AO_0000.Extra2 = 1; // ¸ÖƼ ¾²±â °ª ÀúÀåÀ¸·Î ¼³Á¤
for(i = 0; i < 50; i = i + 1) {
@sprintf($AO_0000.Extra1, "%03d", i); // Extra1 ¿¡ ÀÓÀÇÀÇ °ªÀ» ³Ö¾î¼ µ¿ÀÏÇÑ µ¥ÀÌÅ͸¦ ¹«½ÃÇÏÁö ¾Êµµ·Ï ¼³Á¤
@SetTagValue("AO_0000", 5000); // ½ÇÁ¦ Ãâ·Â °ª ÀúÀå, ¿©±â¼´Â 5000 À¸·Î ÀÓÀÇ ÀúÀå
}
@sprintf($AO_0000.Extra1, "16"); // Ãâ·ÂÇÒ µ¥ÀÌÅÍ Á¾·ù = WORD ´ÜÀ§·Î ¼³Á¤
$AO_0000.Extra2 = 2; // ¸ÖƼ °ª ¾²±â ÁöÁ¤
@SetTagValue("AO_0000", 1); // °ª ¾²±â, 50°³ °ªÀ» ÁöÁ¤ÇÑ ¹øÁöºÎÅÍ Ãâ·Â
PLC¿¡ ÇöÀç °ª°ú ¸Þ¸ð¸® °ªÀÌ µ¿ÀÏÇÑÁö¸¦ È®ÀÎÇϱâ À§ÇÑ ½ºÅ©¸³Æ® ÀÛ¼º ¿¹)
$AO_CHECK_MEM_SET = 2; // ºñ±³¿Ï·á È®ÀÎÀ» À§ÇÑ WORD ¹øÁö¸¦ 2·Î ¼³Á¤
for(i = 0; i < 1; ) {
if($AI_CHECK_WRITE_STATUS == 2) i = 10; // 2ÀÇ °ª ¾²±â°¡ ¿Ï·áµÇ¾ú´Ù.
@TagCheckLoop(); // ÅÂ±× °ª º¯°æ È®ÀÎ ÇÔ¼ö
}
$AO_0000.Extra2 = 3; // ÀÌÀü¿¡ ÀúÀåµÈ µ¥ÀÌÅÍ °ª »èÁ¦
@SetTagValue("AO_0000", 0);
$AO_0000.Extra2 = 1; // µ¥ÀÌÅÍ °ª ÀúÀåÀ¸·Î ¼³Á¤
for(i = 0; i < 50; i = i + 1) {
@sprintf($AO_0000.Extra1, "%03d", i); // Extra1 ¿¡ ÀÓÀÇÀÇ °ªÀ» ³Ö¾î¼ µ¿ÀÏÇÑ µ¥ÀÌÅ͸¦ ¹«½ÃÇÏÁö ¾Êµµ·Ï ¼³Á¤
@SetTagValue("AO_0000", 5000); // ºñ±³ÇÒ °ª ÀúÀå, ¿©±â¼´Â 5000 À¸·Î ÀÓÀÇ ÀúÀå
}
@sprintf($AO_0000.Extra1, "16"); // ºñ±³ÇÒ µ¥ÀÌÅÍ Á¾·ù = WORD·Î ¼³Á¤
$AO_0000.Extra2 = 4; // ÀÚ·á °ª ºñ±³ ÁöÁ¤
@SetTagValue("AO_0000", 1); // ÁöÁ¤ÇÑ ¹øÁöºÎÅÍ, ÀÔ·ÂÇÑ ¼ö ¸¸ÅÀÇ µ¥ÀÌÅ͸¦ ºñ±³Ç϶ó´Â ¸í·É
for(i = 0; i < 1; ) {
if($AI_CHECK_WRITE_STATUS == 1) i = 10; // ºñ±³ÇÑ °á°ú 1 = µ¿ÀÏ µ¥ÀÌÅÍ
if($AI_CHECK_WRITE_STATUS == 0) { // ºñ±³ÇÑ °á°ú 0 = ´Ù¸¥ µ¥ÀÌÅÍ Á¸Àç
@MessageBox("ºñ±³ ÀÚ·áÀÇ ³»¿ëÀÌ ¼·Î ´Ù¸¨´Ï´Ù.", "ÀÚ·áºñ±³ ¿¡·¯", MB_OK);
return;
}
@TagCheckLoop(); // ÅÂ±× °ª º¯°æ È®ÀÎ ÇÔ¼ö
}
@MessageBox("ºñ±³ÇÑ ÀÚ·áÀÇ ³»¿ëÀÌ µ¿ÀÏÇÕ´Ï´Ù.", "ÀÚ·áºñ±³ ¿Ï·á", MB_OK);
ºñ±³¸¦ À§ÇÑ ½ºÅ©¸³Æ® ÀÛ¼º ½Ã ÁÖÀÇÁ¡)
1) ºñ±³ °á°ú´Â ¿É¼Ç¿¡¼ ¼³Á¤ÇÑ WORD ¸Þ¸ð¸® ¹øÁö¿¡ 1 ( µ¿ÀÏ µ¥ÀÌÅÍ ), 0 ( ¼·Î ´Ù¸¥ µ¥ÀÌÅÍ )À¸·Î ÀúÀå.
2) ÀåºñÀÇ ÇöÀç °ª°ú ºñ±³Çϱâ Àü¿¡ ¼³Á¤ÇÑ WORD ¹øÁö¿¡ 1, 0 ÀÌ¿ÜÀÇ °ªÀ»( ¿¹ ¿¡¼´Â 2ÀÇ °ª ) ¸ÕÀú ÀÔ·ÂÇÏ¿© ºñ±³°á°ú¸¦ È®ÀÎ.
3) AO_CHECK_MEM_SET ¾Æ³¯·Î±× Ãâ·Âű״ ¿É¼Ç¿¡¼ ¼³Á¤ÇÑ WORD ¹øÁö¸¦ °Á¦·Î Ãâ·ÂÇϵµ·Ï ¼³Á¤ ( Extra1 = #MEM# À¸·Î ¼³Á¤ )
4) AI_CHECK_WRITE_STATUS ¾Æ³¯·Î±× ÀÔ·Âű״ PLC_SCAN ű׷Π¼³Á¤ÇÑ WORD ¹øÁö¿¡ ¸ÂÃá´Ù.
ºí·Ï ¾²±â
ºí·Ï¾²±â´Â ½ºÅ©¸³Æ®ÀÇ PlcScanWriteBlock ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÑ´Ù.
½ºÅ©¸³Æ® À̸§°ú Çü½Ä : @PlcScanWriteBlock(int port, int station, int address, string extra1, string extra2, object array_value, int array_size);
½ºÅ©¸³Æ® ÀÛ¼º ¿¹
ushort writeVal[5];
writeVal[0] = 1;
writeVal[1] = 2;
writeVal[2] = 3;
writeVal[3] = 4;
writeVal[4] = 5;
@PlcScanWriteBlock(0, 1, 5, ¡°16¡±, ¡°¡±, writeVal, 5);
Modbus Åë½Å µå¶óÀ̺êÀÇ ºí·Ï ¾²±âÀÇ Extra1 ÀÎÀÚ´Â ´ÙÀ½°ú °°Àº Á¾·ù Áß¿¡¼ ¼³Á¤ÇÑ´Ù. (16 ÀÌ¿ÜÀÇ Function µµ ¼³Á¤ °¡´É, Function ÀÌ ¡®0¡¯ ÀÌ¸é ±âº»À¸·Î 16( 10h )À¸·Î ¼³Á¤ÇÔ)
16 – WORD ´ÜÀ§ÀÇ ºí·Ï µ¥ÀÌÅÍ ¾²±â,
16D – DWORD ´ÜÀ§ÀÇ ºí·Ï µ¥ÀÌÅÍ ¾²±â ( LO, HI µ¥ÀÌÅÍ ¼ø ),
16d – DWORD ´ÜÀ§ÀÇ ºí·Ï µ¥ÀÌÅÍ ¾²±â ( HI, LO µ¥ÀÌÅÍ ¼ø ),
16lD, 16LD – 8 BYTE ´ÜÀ§ÀÇ ºí·Ï µ¥ÀÌÅÍ ¾²±â ( LO, HI µ¥ÀÌÅÍ ¼ø ),
16ld, 16Ld – 8 BYTE ´ÜÀ§ÀÇ ºí·Ï µ¥ÀÌÅÍ ¾²±â ( HI, LO µ¥ÀÌÅÍ ¼ø ),
16M – HI WORD x 10000 + LO WORD Çü½ÄÀÇ DWORD ºí·Ï µ¥ÀÌÅÍ ¾²±â ( LO, HI µ¥ÀÌÅÍ ¼ø ),
16m – HI WORD x 10000 + LO WORD Çü½ÄÀÇ DWORD ºí·Ï µ¥ÀÌÅÍ ¾²±â ( HI, LO µ¥ÀÌÅÍ ¼ø ),
16lM, 16LM – HI WORD x 10000 + LO WORD Çü½ÄÀÇ 8 BYTE ´ÜÀ§ÀÇ ºí·Ï µ¥ÀÌÅÍ ¾²±â ( LO, HI µ¥ÀÌÅÍ ¼ø ),
16lm, 16Lm – HI WORD x 10000 + LO WORD Çü½ÄÀÇ 8 BYTE ´ÜÀ§ÀÇ ºí·Ï µ¥ÀÌÅÍ ¾²±â ( HI, LO µ¥ÀÌÅÍ ¼ø ),
16F – FLOAT ´ÜÀ§ÀÇ ºí·Ï µ¥ÀÌÅÍ ¾²±â ( LO, HI µ¥ÀÌÅÍ ¼ø ),
16F2 – FLOAT ´ÜÀ§ÀÇ ºí·Ï µ¥ÀÌÅÍ ¾²±â ( LO, HI µ¥ÀÌÅÍ ¼ø 2 ),
16f – FLOAT ´ÜÀ§ÀÇ ºí·Ï µ¥ÀÌÅÍ ¾²±â ( HI, LO µ¥ÀÌÅÍ ¼ø ),
16f2 – FLOAT ´ÜÀ§ÀÇ ºí·Ï µ¥ÀÌÅÍ ¾²±â ( HI, LO µ¥ÀÌÅÍ ¼ø 2 ),
16B – BYTE ´ÜÀ§ÀÇ ºí·Ï µ¥ÀÌÅÍ ¾²±â,
Áß¿ä) ºí·Ï ¾²±â´Â 10.1.4.3 ÀÌ»óÀÇ ÇÁ·Î±×·¥¿¡¼¸¸ Áö¿øÇÑ´Ù. Çѹø¿¡ ÃÖ´ë 250°³ÀÇ µ¥ÀÌÅÍ ¾²±â°¡ °¡´ÉÇÕ´Ï´Ù.
<±×¸² 4>´Â PVZ108 ÀåºñÀÇ ¸ð½ÀÀÌ´Ù.
<±×¸² 4> PVZ108 ÀåºñÀÇ ¸ð½À