|
aHR0cDovL2ZyZWVzaGlwLmNvLmty ±âº» ±â´É: ÅؽºÆ®, ÅÍÄ¡ ½ºÅ©¸°, PLC µî°ú °°Àº Ç¥ÁØ MODBUS ÀåÄ¡¸¦ Áö¿øÇÕ´Ï´Ù. 16 ä³Î ¸±·¹ÀÌ Ãâ·Â, ´ÜÀÏ °æ·Î ÃÖ´ë 5A ´Ü¹æÇâ 485 Åë½Å Æ÷Æ® (Ç¥ÁØ modbus-RTU ÇÁ·ÎÅäÄÝ Áö¿ø) Åë½Å °Ý¸®. ÄÚµå ±â´É Áö¿ø ±â´É ÄÚµå: ±â´É ÄÚµå Á¤ÀÇ ÀÛ¾÷ (ÀÌÁø) 0x02 ´Â ½ºÀ§Ä¡ ÀÔ·ÂÀ» Àаí Çϳª ÀÌ»óÀÇ ½ºÀ§Ä¡¸¦ ÀÐ°í »óÅ ÀÔ·Â µ¥ÀÌÅ͸¦ ÀнÀ´Ï´Ù. 0x01 Àº ½ºÀ§Ä¡ Ãâ·ÂÀ» Àаí Çϳª ÀÌ»óÀÇ ½ºÀ§Ä¡¸¦ ÀÐ°í »óÅ µ¥ÀÌÅ͸¦ Ãâ·ÂÇÕ´Ï´Ù. 0x03 0x04 ´Â µ¥ÀÌÅ͸¦ Àаí Çϳª ÀÌ»óÀÇ µî·Ï±â¿¡¼ µ¥ÀÌÅ͸¦ ÀнÀ´Ï´Ù. 0x05 0X0F ¾²±â ½ºÀ§Ä¡ Ãâ·Â ÇϳªÀÇ ¸±·¹ÀÌÀÇ Ãâ·ÂÀ» Á¦¾îÇÏ·Á¸é ¿©·¯ ½ºÀ§Ä¡¸¦ ¾²½Ê½Ã¿À. 0x06 Àº ´ÜÀÏ °æ·Î ·¹Áö½ºÅ͸¦ ÀÛ¼ºÇÏ°í ´ÜÀÏ ·¹Áö½ºÅÍ¿¡ ÀÌÁø µ¥ÀÌÅÍ ±×·ìÀ» ¾¹´Ï´Ù. 0x10 Àº ¿©·¯ ·¹Áö½ºÅ͸¦ ÀÛ¼ºÇÏ¿© ¿©·¯ ·¹Áö½ºÅÍ¿¡ ¿©·¯ ¹ÙÀ̳ʸ® µ¥ÀÌÅÍ ¼¼Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù. ********************************************* MODBUS ÁÖ¼Ò: 1 Àü¼Û ¼Óµµ: 9600 8 ºñÆ® µ¥ÀÌÅÍ ºñÆ® 1 ºñÆ® Á¤Áö À§Ä¡ È®ÀÎ ¾ø@@ À½ 00001 ~ 00016 16 µµ·Î ¸±·¹ÀÌ Ãâ·Â ********************************************** ¾Æ³¯·Î±× ÀÔ·Â Àбâ (0x04) È£½ºÆ® Àü¼Û: addr 04 regH regL numH numL crcH crcL. ±â°è¿¡¼ ¹Ýȯ: addr 04 len d0H d0L... DnH dnL crcH crcL ¼³¸í: µî·Ï ÁÖ¼Ò´Â 0 ¿¡¼ °è»êµÇ±â ½ÃÀÛÇϸç, numH numlÀº ÀÐÀ» ¾Æ³¯·Î±× ¼ö¸¦ ¸»Çß½À´Ï´Ù. ÀÌ Ä«µå¿¡´Â 10 bitadc¸¦ »ç¿ëÇÏ´Â 5 °³ÀÇ ¾Æ³¯·Î±× ÀÔ·ÂÀÌ ÀÖÀ¸¸ç °¢ ¾Æ³¯·Î±× µ¥ÀÌÅÍ´Â 2 ¹ÙÀÌÆ®¸¦ Â÷ÁöÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, µÎ ¹ø° °æ·Î¿Í ¼¼ ¹ø° °æ·Î¸¦ ÀÐÀ¸·Á¸é µî·Ï ÁÖ¼Ò´Â 0001 ÀÌ°í µî·Ï ¼ö´Â 0002 ÀÔ´Ï´Ù. ¸ðµç ¾Æ³¯·Î±× µ¥ÀÌÅ͸¦ 1 ºÎÅÍ 8 ±îÁö ÀÐ°í ½Í´Ù¸é µî·Ï ÁÖ¼Ò´Â 0000, µî·Ï ¹øÈ£´Â 0008 ÀÔ´Ï´Ù. 0-0x3FF ´Â ¾Æ³¯·Î±× ¾çÀÇ 0-20mA, Àб⠵¥ÀÌÅÍ´Â 18C, ¼Ò¼öÁ¡ ¼ýÀÚ´Â 396, ÇöÀç °ªÀº I = 20mA * 396/1023 = 7.742mA ÀÔ´Ï´Ù. ¼¾¼´Â ÀϹÝÀûÀ¸·Î 4-20mA ÀÔ´Ï´Ù. °ªÀÌ 4mA ¹Ì¸¸ÀÌ¸é ¿¬°á ¶óÀο¡ °áÇÔÀÌ ÀÖ½À´Ï´Ù. ¿¹: ¾Æ³¯·Î±× ±Ý¾× 1 ~ 8 ÀÏ Àбâ È£½ºÆ® Àü¼Û: 010400000008 F1 CC ±â°è¿¡¼ ¹Ýȯ: 0104 0C d0H d0L... D5H d5L crcH crcL - ¾Æ³¯·Î±× ÀÔ·Â Ãâ·Â¿ë VC ¼Ò½º ÄÚµå (¸íÈ®ÇÑ ³ëÆ®): //´ÜÀÏ µî·Ï »óÅ Àбâ // ±â°è MODBUS ÁÖ¼ÒÀÇ ip_Addr // Data_Addr µ¥ÀÌÅÍ ½ºÅ丮Áö µî·Ï ÁÖ¼Ò UInt16 readBUF (¹ÙÀÌÆ® ip_Addr, UInt16 data_Addr) {{ UInt16 CRC; / /üũ °ª ¹ÙÀÌÆ® [] MSG = »õ ¹ÙÀÌÆ® [8]; / /¸í·É ¾î·¹ÀÌ Msg[0] = ip_Addr; / /±â±â¿¡¼. Msg[1] = 0x04; / /´ÜÀÏ ·¹Áö½ºÅÍ Àбâ Msg[2] = (¹ÙÀÌÆ®) (data_Addr > 8); / /ÇÏÀÌ ·¹Áö½ºÅÍ ÁÖ¼Ò Msg[3] = data_Addr (¹ÙÀÌÆ®); / /³·Àº µî·Ï ÁÖ¼Ò Msg[4] = 0x00; / /ÀÐÀ» µ¥ÀÌÅÍÀÇ ±æÀÌ Msg[5] = 0x01; / /µ¥ÀÌÅÍ ±â¹Ý Àб⠱æÀÌ CRC = CRC16 (MSG, 6); /CRC Msg[6] = (¹ÙÀÌÆ®) (CRC > 8); / /üũ 8 Msg[7] = CRC (¹ÙÀÌÆ®); / /low 8 comm.Write (MSG); /Àб⠿äû (receive_A_Frame) Àü¼Û ÇÁ·¹ÀÓ; / /¸®ÅÏ ½ÅÈ£ ¼ö½Å ÇÁ·¹ÀÓ //¿©±â¿¡ Ãß°¡: ¹ÞÀº µ¥ÀÌÅÍ È®ÀÎ } ...... ´õ ¸¹Àº ¼Ò½º ÄÚµå, ´ÙÀ½ Wangwang ¿äûÀ» ¹ÞÀ¸½Ê½Ã¿À. -±¸¼º ¼ÒÇÁÆ®¿þ¾î ¼³Á¤ ¿¹ - -
10,10. 10,10(2)
10,10
|
|
|
|
|