¡¡¡¡MODBUS/TCPÊǼòµ¥µÄ¡¢ÖÐÁ¢³§É̵ÄÓÃÓÚ¹ÜÀíºÍ¿ØÖÆ×Ô¶¯»¯É豸µÄMODBUSϵÁÐͨѶÐÒéµÄÅÉÉú²úÆ·¡£ÏÔ¶øÒ×¼û£¬Ëü¸²¸ÇÁËʹÓÃTCP/IPÐÒéµÄ ¡°Intranet¡±ºÍ¡°Internet¡±»·¾³ÖÐMODBUS±¨ÎĵÄÓÃ;¡£ÐÒéµÄ×îͨÓÃÓÃ;ÊÇΪÖîÈçPLC¡¯s£¬I/OÄ£¿é£¬ÒÔ¼°Á¬½ÓÆäËü¼òµ¥Óò×ÜÏß»ò I/OÄ£¿éµÄÍø¹Ø·þÎñµÄ¡£
¡¡¡¡ModbusÊÇÓÉModicon(ÏÖΪʩÄ͵µçÆø¹«Ë¾µÄÒ»¸öÆ·ÅÆ)ÔÚ1979Äê·¢Ã÷µÄ£¬ÊÇÈ«ÇòµÚÒ»¸öÕæÕýÓÃÓÚ¹¤ÒµÏÖ³¡µÄ×ÜÏßÐÒ顣Ϊ¸üºÃµØÆÕ¼°ºÍÍƶ¯ModbusÔÚ»ùÓÚÒÔÌ«ÍøÉϵķֲ¼Ê½Ó¦Óã¬Ä¿Ç°Ê©Ä͵¹«Ë¾Òѽ«ModbusÐÒéµÄËùÓÐȨÒƽ»¸øIDA(Interface for Distributed Automation£¬·Ö²¼Ê½×Ô¶¯»¯½Ó¿Ú)×éÖ¯£¬²¢³ÉÁ¢ÁËModbus-IDA×éÖ¯£¬ÎªModbus½ñºóµÄ·¢Õ¹µì¶¨ÁË»ù´¡¡£ÔÚÎÒ¹ú£¬ModbusÒѾ³ÉΪ¹ú¼Ò±ê×¼GB/T19582-2008¡£¾Ý²»Íêȫͳ¼Æ£º½ØÖ¹µ½2007Ä꣬ModbusµÄ½Úµã°²×°ÊýÁ¿ÒѾ³¬¹ýÁË1000Íò¸ö¡£
¡¡¡¡Modbus ÐÒéÊÇÓ¦ÓÃÓÚµç×Ó¿ØÖÆÆ÷ÉϵÄÒ»ÖÖͨÓÃÓïÑÔ¡£Í¨¹ý´ËÐÒ飬¿ØÖÆÆ÷Ï໥֮¼ä¡¢¿ØÖÆÆ÷¾ÓÉÍøÂç(ÀýÈçÒÔÌ«Íø)ºÍÆäËüÉ豸֮¼ä¿ÉÒÔͨÐÅ¡£ËüÒѾ³ÉΪһͨÓù¤Òµ±ê×¼¡£ÓÐÁËËü,²»Í¬³§ÉÌÉú²úµÄ¿ØÖÆÉ豸¿ÉÒÔÁ¬³É¹¤ÒµÍøÂç,½øÐм¯Öмà¿Ø¡£´ËÐÒ鶨ÒåÁËÒ»¸ö¿ØÖÆÆ÷ÄÜÈÏʶʹÓõÄÏûÏ¢½á¹¹£¬¶ø²»¹ÜËüÃÇÊǾ¹ýºÎÖÖÍøÂç½øÐÐͨÐŵġ£ËüÃèÊöÁËÒ»¿ØÖÆÆ÷ÇëÇó·ÃÎÊÆäËüÉ豸µÄ¹ý³Ì,ÈçºÎ»ØÓ¦À´×ÔÆäËüÉ豸µÄÇëÇó£¬ÒÔ¼°ÔõÑùÕì²â´íÎ󲢼Ǽ¡£ËüÖƶ¨ÁËÏûÏ¢Óò¸ñ¾ÖºÍÄÚÈݵĹ«¹²¸ñʽ¡£
¡¡¡¡
¡¡¡¡
¡¡¡¡MODBUS/TCPÐÒéÊÇ×÷ΪһÖÖ(ʵ¼ÊµÄ)×Ô¶¯»¯±ê×¼·¢Ðеġ£ModbusÐÒéÊÇÒ»ÖÖÒѹ㷺ӦÓÃÓÚµ±½ñ¹¤Òµ¿ØÖÆÁìÓòµÄͨÓÃͨѶÐÒ顣ͨ¹ý´ËÐÒ飬¿ØÖÆÆ÷Ï໥֮¼ä¡¢»ò¿ØÖÆÆ÷¾ÓÉÍøÂç(ÈçÒÔÌ«Íø)¿ÉÒÔºÍÆäËüÉ豸֮¼ä½øÐÐͨÐÅ¡£ModbusÐÒéʹÓõÄÊÇÖ÷´ÓͨѶ¼¼Êõ£¬¼´ÓÉÖ÷É豸Ö÷¶¯²éѯºÍ²Ù×÷´ÓÉ豸¡£Ò»°ã½«Ö÷¿ØÉ豸·½ËùʹÓõÄÐÒé³ÆΪModbus Master£¬´ÓÉ豸·½Ê¹ÓõÄÐÒé³ÆΪModbus Slave¡£µäÐ͵ÄÖ÷É豸°üÀ¨¹¤¿Ø»úºÍ¹¤Òµ¿ØÖÆÆ÷µÈ;µäÐ͵ĴÓÉ豸ÈçPLC¿É±à³Ì¿ØÖÆÆ÷µÈ¡£ModbusͨѶÎïÀí½Ó¿Ú¿ÉÒÔÑ¡Óô®¿Ú(°üÀ¨RS232ºÍRS485)£¬Ò²¿ÉÒÔÑ¡ÔñÒÔÌ«Íø¿Ú¡£ÆäͨÐÅ×ñÑÒÔϵĹý³Ì£º
¡¡¡¡¡ñ¡¡Ö÷É豸Ïò´ÓÉ豸·¢ËÍÇëÇó
¡¡¡¡¡ñ¡¡´ÓÉ豸·ÖÎö²¢´¦ÀíÖ÷É豸µÄÇëÇó£¬È»ºóÏòÖ÷É豸·¢Ëͽá¹û
¡¡¡¡¡ñ¡¡Èç¹û³öÏÖÈκβî´í£¬´ÓÉ豸½«·µ»ØÒ»¸öÒì³£¹¦ÄÜÂë
¡¡¡¡Modbus ͨÐÅÐÒéÌصã
¡¡¡¡Modbus ÐÒ鶨ÒåÁËÒ»¸ö¿ØÖÆÆ÷Äܹ»ÈÏʶʹÓõÄÏûÏ¢½á¹¹£¬¶ø²»¹ÜËüÃÇÊǾ¹ýºÎÖÖÍøÂç½øÐÐͨÐŵġ£Òò´Ë£¬µ×²ãͨÐÅ·½Ê½¿ÉÒÔʹÓà RS232£¬RS485 µÈ´®ÐÐÁ´Â·£¬Ò²¿ÉÒÔʹÓà TCP/IP ÒÔÌ«ÍøÁ´Â·¡£ÏÖÔÚ Modbus ÍøÂçÉÏͨÐÅʱ£¬¿ØÖÆÆ÷±ØÐëÒªÖªµÀ¸ÃÍøÂçÖÐÆäËûÉ豸µÄµØÖ·£¬²ÅÄÜʶ±ð°´µØÖ··¢À´µÄÏûÏ¢£¬²¢×÷³öÏàÓ¦ÐÐΪ¡£
¡¡¡¡¼òµ¥À´Ëµ£¬Modbus ͨÐÅÐÒé¾ßÓÐÒÔϼ¸¸öÌص㣺
¡¡¡¡Modbus ÐÒé±ê×¼¿ª·Å¡¢¹«¿ª·¢²¼ÇÒÎÞ°æË°ÒªÇó£¬Óû§¿ÉÒÔÃâ·Ñ»ñÈ¡²¢Ê¹Óà Modbus ÐÒ飬²»ÐèÒª½ÉÄÉÐí¿ÉÖ¤·ÑÓÃ;
¡¡¡¡Modbus ×ʼʹÓà RS232£¬RS485 µÈ´®ÐÐÁ´Â·×÷Ϊµ×²ãͨÐÅ·½Ê½£¬´®ÐÐ×ÜÏߵĽӿÚоƬ³É±¾µÍ£¬¶øÇÒ²¼ÏßÒ²¼òµ¥·½±ã;
¡¡¡¡Modbus ÐÒéÖ»Ö§³Ö¶àÖÖµçÆø½Ó¿Ú£¬Èç RS232¡¢RS485¡¢TCP/IP µÈ£¬»¹¿ÉÒÔÔÚ¸÷ÖÖ½éÖÊÉÏ´«Ê䣬ÈçË«½ÊÏß¡¢¹âÏË¡¢ºìÍâ¡¢ÎÞÏßµçµÈ;
¡¡¡¡Modbus ÊǼòµ¥µÄÓ¦ÓòãÐÒ飬ÆäÐÒéÏûÏ¢¸ñʽ¼òµ¥¡¢½ô´Õ¡¢Í¨Ë×Ò׶®£¬±ãÓÚÓû§Àí½âºÍʹÓᢳ§ÉÌ¿ª·¢ºÍ¼¯³É£¬·½±ãÐγɹ¤Òµ¿ØÖÆÍøÂç¡£
¡¡¡¡MODBUSÖ§³ÖµÄ²¿·Ö¹¦ÄÜ´úÂ룺
¡¡¡¡
¡¡¡¡
¡¡¡¡ÒÔÊ®½øÖƱíʾ¡£¹¦ÄÜÂë¿ÉÒÔ·ÖΪλ²Ù×÷ºÍ×Ö²Ù×÷Á½Àࡣλ²Ù×÷µÄ×îСµ¥Î»ÎªBIT£¬×Ö²Ù×÷µÄ×îСµ¥Î»ÎªÁ½¸ö×Ö½Ú¡£
¡¡¡¡¡¾Î»²Ù×÷Ö¸Áî¡¿ ¶ÁÏßȦ״̬01H£¬¶Á(ÀëÉ¢)ÊäÈë״̬02H£¬Ð´µ¥¸öÏßȦ06HºÍд¶à¸öÏßȦ0FH¡£
¡¡¡¡¡¾×Ö²Ù×÷Ö¸Áî¡¿ ¶Á±£³Ö¼Ä´æÆ÷03H£¬Ð´µ¥¸ö¼Ä´æÆ÷06H£¬Ð´¶à¸ö±£³Ö¼Ä´æÆ÷10H¡£
¡¡¡¡MODBUS±¨ÎÄÄ£ÐÍ
¡¡¡¡
¡¡¡¡
¡¡¡¡ÕâÀïÒªÃ÷°×Á½¸öËõÂÔ´Ê£º¡°ADU¡±¡°PDU¡±
¡¡¡¡ADU£º Ó¦ÓÃÊý¾Ýµ¥Ôª
¡¡¡¡PDU£º ÐÒéÊý¾Ýµ¥Ôª
¡¡¡¡ModbusÐÒéÁ½ÖÖ´«Ê䷽ʽ
¡¡¡¡³£ÓõÄMODBUSͨѶ¹æÔ¼ÓÐÁ½ÖÖ£¬Ò»ÖÖÊÇMODBUS ASCII£¬Ò»ÖÖÊÇMODBUS RTU¡£Ã¿¸öÉ豸±ØÐ붼ÓÐÏàͬµÄ´«Êäģʽ¡£ËùÓÐÉ豸¶¼Ö§³ÖRTUģʽ£¬ASCII´«ÊäģʽÊÇÑ¡Ïî¡£
¡¡¡¡(1)ASCII´«Ê䷽ʽ
¡¡¡¡Modbus´®ÐÐÁ´Â·µÄÉ豸±»ÅäÖÃΪʹÓÃASCIIģʽͨÐÅʱ£¬±¨ÎÄÖеÄÿ8λ×Ö½ÚÒÔÁ½¸öASCII×Ö·û·¢ËÍ¡£Àý£º×Ö½Ú0X5B»á±»±àÂëΪÁ½¸ö×Ö·û£º0x35ºÍ0x42½øÐд«ËÍ(ASCII±àÂë0x35="5"£¬0x42="B")£¬ÕâÑù´«ÊäЧÂʻήµÍ¡£
¡¡¡¡ÔÚASCIIģʽ£¬±¨ÎÄÓÃÌØÊâµÄ×Ö·ûÇø·ÖÖ¡ÆðʼºÍÖ¡½áÊø¡£Ò»¸ö±¨ÎıØÐëÒÔÒ»¸ö¡®Ã°ºÅ¡¯(£º)(ASCIIÊ®Áù½øÖÆ3A)Æðʼ£¬ÒÔ¡®»Ø³µ-»»ÐС¯(CRLF)¶Ô(ASCIIÊ®Áù½øÖÆ0DºÍ0A)½áÊø¡£É豸Á¬ÐøµÄ¼àÊÓ×ÜÏßÉϵġ®Ã°ºÅ¡¯×Ö·û¡£µ±ÊÕµ½Õâ¸ö×Ö·ûºó£¬Ã¿¸öÉ豸½âÂëºóÐøµÄ×Ö·ûÒ»Ö±µ½Ö¡½áÊø¡£±¨ÎÄÖÐ×Ö·û¼äµÄʱ¼ä¼ä¸ô¿ÉÒÔ´ïÒ»Ãë¡£Èç¹ûÓиü´óµÄ¼ä¸ô£¬Ôò½ÓÊÜÉ豸ÈÏΪ·¢ÉúÁË´íÎó¡£
¡¡¡¡(2)RTU´«Ê䷽ʽ
¡¡¡¡µ±É豸ʹÓÃRTU(RemoteTerminalUnit)ģʽÔÚModbus´®ÐÐÁ´Â·Í¨ÐÅ£¬±¨ÎÄÖÐÿ¸ö8λ×Ö½Úº¬ÓÐÁ½¸ö4λʮÁù½øÖÆ×Ö·û¡£ÕâÖÖģʽµÄÖ÷ÒªÓŵãÊǽϸߵÄÊý¾ÝÃܶȣ¬ÔÚÏàͬµÄ²¨ÌØÂÊϱÈASCIIģʽÓиü¸ßµÄ´«ÊäЧÂÊ¡£Ã¿¸ö±¨ÎıØÐëÒÔÁ¬ÐøµÄ×Ö·ûÁ÷´«ËÍ¡£
¡¡¡¡ModbusÎïÁªÍøÔÆƽ̨ÔÚÉ豸ºÍÓû§Ö®¼ä½¨Á¢¿ªÏä¼´ÓõÄÔÆƽ̨ºÍÔÆÓ¦Óã¬ÊµÏÖÊý¾Ý²É¼¯¡¢ÊµÊ±¿ØÖÆ¡¢Êý¾Ý¿ÉÊÓ»¯¡¢¿ª·Å API£¬¹¹½¨Áé»îÇ¿´óµÄÎïÁªÍøÓ¦Óá£ModbusÔÆƽ̨֧³ÖÊг¡ÉÏ99%ÒÔÉÏModbusÉ豸½ÓÈ룬±ÈÈ繤ҵÒÇÆ÷ÒÇ±í£¬¹¤Òµ´«¸ÐÆ÷£¬Modbus PLCÉ豸µÈ¡£Óû§¿ÉÒÔÔÚÈκεط½Ô¶³Ì·ÃÎÊÈκεط½µÄModbusÉ豸£¬²¢¶ÔÔ¶³ÌÉ豸µÄÊý¾Ý½øÐÐʵʱ²É¼¯¼à¿Ø¡¢Ô¶³Ì¿ØÖÆ¡¢ÖÇÄÜÒôÏìС¶È¡¢Ìì辫Á顢С°®Í¬Ñ§ÓïÒô¿ØÖÆ¡¢Õï¶Ï¡¢Í¨Ñ¶¼°µ÷ÊԵȡ£
¡¡¡¡ModbusÎïÁªÍøÔÆƽ̨ÊÇÒ»¸ö¿ª·ÅµÄÎïÁªÍøÔÆƽ̨£¬Óû§Ö»Ðè°´²½ÖèÍê³É×¢²á¼´¿ÉÃâ·ÑʹÓÃModbusÎïÁªÍøÔÆƽ̨ ¡£Ö§³ÖPC¡¢Android¡¢iOS¶àƽ̨Öնˡ£Óû§¿ÉÒÔÔÚÈκεط½Ô¶³Ì·ÃÎÊÈκεط½µÄ´®¿ÚÉ豸£¬²¢¶ÔÔ¶³ÌÉ豸µÄÊý¾Ý½øÐÐʵʱ²É¼¯¼à¿Ø¡¢Ô¶³Ì¿ØÖÆ¡¢Õï¶Ï¡¢Í¨Ñ¶¼°µ÷ÊԵȡ£ModbusÎïÁªÍøÔÆƽ̨֧³Ö΢ÐŹØÁª£¬Óû§¿ÉÒÔ½èÖúÊÖ»ú¶ËµÄ΢ÐŹ«ÖںŽøÐÐÔ¶³Ì²é¿´É豸µÄÔËÐÐ״̬£¬Í¨Ñ¶Êý¾ÝºÍ±¨¾¯ÐÅÏ¢µÈ£¬ÊµÏÖËæʱËæµØÇáËÉÕÆ¿Ø£¬·½±ã¿ì½Ý¡£