|
aHR0cDovL2ZyZWVzaGlwLmNvLmty ±âº» ±â´É: ÅؽºÆ®, ÅÍÄ¡ ½ºÅ©¸°, plc µî°ú °°Àº Ç¥ÁØ modbus ÀåÄ¡¸¦ Áö¿øÇÕ´Ï´Ù. 32 ¿þÀÌ ½ºÀ§Ä¡ ÀÔ·Â, ȣȯ npn/pnp 2 ÀÔ·Â 1 ¿þÀÌ tcp ³×Æ®¿öÅ© Æ÷Æ® (modbus-tcp ÇÁ·ÎÅäÄÝ Áö¿ø) 1 ä³Î Ç¥ÁØ 485 Åë½Å Æ÷Æ® (modbus-rtu ÇÁ·ÎÅäÄÝ Áö¿ø) ÄÚµå ±â´É Áö¿ø ±â´É ºÎÈ£: ±â´É ºÎÈ£ Á¤ÀÇ °¡µ¿ (ÀÌÁø) 0x02 ÀÐ°í ½ºÀ§Ä¡ ÀÔ·Â Àаí Çϳª ÀÌ»óÀÇ ½ºÀ§Ä¡, ÁÖ ÀÔ·Â. 0x01 ÀÐ°í ½ºÀ§Ä¡ Ãâ·Â Àаí Çϳª ÀÌ»óÀÇ ½ºÀ§Ä¡ Ãâ·Â »óÅÂ. 0x03 0x04 ·¹Áö½ºÅÍ µ¥ÀÌÅ͸¦ Àаí Çϳª ÀÌ»óÀÇ µî·Ï±â¿¡¼ µ¥ÀÌÅ͸¦ ÀнÀ´Ï´Ù. 0x05 0X0F ¾²±â ½ºÀ§Ä¡ Ãâ·Â ÇϳªÀÇ ¸±·¹ÀÌÀÇ Ãâ·ÂÀ» Á¦¾îÇϱâ À§ÇØ ¿©·¯ ½ºÀ§Ä¡¸¦ ÀÛ¼ºÇϽʽÿÀ. 0x06 ¾¹´Ï´Ù ´ÜÀÏ °æ·Î ·¹Áö½ºÅÍ, ¾¹´Ï´Ù ±×·ì ÀÌÁø µ¥ÀÌÅÍ ´ÜÀÏ µî·Ï. 0x10 ¾¹´Ï´Ù ´Ù¼öÀÇ ·¹Áö½ºÅÍ ¾²±â ¿©·¯ ¼¼Æ® ÀÌÁø µ¥ÀÌÅÍ ¿©·¯ ·¹Áö½ºÅÍ. ********************************************* Modbus ÁÖ¼Ò: 1 (±âº»°ª, ¼öÁ¤ °¡´É) Baud ºñÀ²: 9600 (±âº»°ª, ¼öÁ¤ °¡´É) ±âº» ip ÁÖ¼Ò´Â 192.168316.31: 5050 (±âº» °ªÀº ¼öÁ¤ °¡´É) ÀÔ´Ï´Ù. 8Bit µ¥ÀÌÅÍ ºñÆ® 1 ºñÆ® Á¤Áö À§Ä¡ ¾øÀ½ üũ 1X0001 ~ 1X0020 32 ½ºÀ§Ä¡ ÀÔ·Â ********************************************** - ¾Æ³¯·Î±× ÀÔ·Â Àбâ (0x04) È£½ºÆ® Àü¼Û: addr 04 regh regl numh numl crch crcl. ±â°è¿¡¼ ¹Ýȯ: addr 04 len d0h d0l... DnH dnL crcH crcL ¼³¸í: µî·Ï ÁÖ¼Ò ¼¼±â ½ÃÀÛÇÕ´Ï´Ù 0, numH numL ¸»Çß´Ù ¹øÈ£ ¾Æ³¯·Î±× Àбâ. ÀÌ Ä«µå´Â 10 bitadc¸¦ »ç¿ëÇÏ¿© 5 ¾Æ³¯·Î±× ÀÔ·ÂÀÌ ÀÖÀ¸¸ç °¢ ¾Æ³¯·Î±× µ¥ÀÌÅÍ´Â µÎ ¹ÙÀÌÆ®¸¦ Â÷ÁöÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, µÎ ¹ø°¿Í ¼¼ ¹ø° °æ·Î¸¦ ÀÐÀ¸·Á¸é µî·Ï ÁÖ¼Ò°¡ 0001 ÀÌ°í µî·Ï±âÀÇ ¼ö´Â 0002 ÀÔ´Ï´Ù. óÀ½ºÎÅÍ 8 ÀϱîÁö ¸ðµç ¾Æ³¯·Î±× µ¥ÀÌÅ͸¦ ÀÐ°í ½Í´Ù¸é ÁÖ¼Ò¸¦ µî·ÏÇϽʽÿÀ. 0000, µî·Ï ¹øÈ£´Â 0008 ÀÔ´Ï´Ù. µ¥ÀÌÅÍ 0-0x3ff ´Â 0-20ma ÀÇ ¾Æ³¯·Î±× ±Ý¾×°ú °°Àº ¼öÁý µÈ analog ·Î±×¸¦ ´ëÇ¥Çϱâ À§ÇØ ¹Ýȯ µË´Ï´Ù, Àб⠵¥ÀÌÅÍ´Â 18c, ½ÊÁø ¹øÈ£´Â 396, ±×¸®°í ÇöÀç °ªÀº i = 20ma * 396/1023 = 7.742maÀÔ´Ï´Ù. ¼¾¼´Â ÀϹÝÀûÀ¸·Î 4-20ma ÀÔ´Ï´Ù. °ªÀÌ 4ma ¹Ì¸¸ÀÎ °æ¿ì¿¡, ¿¬°á ¼±Àº °áÇÔÀÔ´Ï´Ù. ¿¹: óÀ½ºÎÅÍ 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 (¹ÙÀÌÆ®);//üũ ·Î¿ì 8 Comm. write (msg);//Àбâ ÇÁ·¹ÀÓ º¸³»±â ¿äû (Receive_a_frame);//¹Ýȯ ½ÅÈ£ ¼ö½Å ÇÁ·¹ÀÓ //¿©±â¿¡ Ãß°¡: ¼ö½Å µ¥ÀÌÅ͸¦ ÆÇ´Ü } ......
|
|
|
|
|