S7-200ͨ¹ý×ÔÓÉ¿ÚMODBUSÁ¬½Ó
½ÓÏß·½·¨ÈçÏÂ
Î÷ÃÅ×ÓÔÚ Micro/WIN V4.0 SP5 ÖÐÕýÊ½ÍÆ³ö Modbus RTU Ö÷Õ¾ÐÒé¿â£¨Î÷ÃÅ×Ó±ê×¼¿âÖ¸Á¡£
ͼ 1. Î÷ÃÅ×Ó±ê×¼Ö¸Áî¿â£¨Micro/WIN V4.0 SP5£©
×¢Ò⣺
1. Modbus RTU Ö÷Õ¾Ö¸Áî¿âµÄ¹¦ÄÜÊÇͨ¹ýÔÚÓû§³ÌÐòÖе÷ÓÃÔ¤ÏȱàºÃµÄ³ÌÐò¹¦ÄÜ¿éʵÏֵģ¬¸Ã¿â¶Ô Port 0 ºÍ Port 1 ÓÐЧ¡£¸ÃÖ¸Áî¿â½«ÉèÖÃͨÐſڹ¤×÷ÔÚ×ÔÓÉ¿ÚģʽÏ¡£ 2. Modbus RTU Ö÷Õ¾Ö¸Áî¿âʹÓÃÁËһЩÓû§ÖжϹ¦ÄÜ£¬±àÆäËû³ÌÐòʱ²»ÄÜÔÚÓû§³ÌÐòÖнûÖ¹Öжϡ£
3. Modbus RTU Ö÷Õ¾¿â¶ÔCPUµÄ°æ±¾ÓÐÒªÇó¡£CPU µÄ°æ±¾±ØÐëΪ 2.00 »òÕß 2.01£¨¼´¶©»õºÅΪ 6ES721*£***23-0BA*£©£¬1.22°æ±¾Ö®Ç°£¨°üÀ¨1.22°æ±¾£©µÄ S7-200 CPU ²»Ö§³Ö¡£
ʹÓà Modbus RTU Ö÷Õ¾Ö¸Áî¿â£¬¿ÉÒÔ¶Áд Modbus RTU ´ÓÕ¾µÄÊý×ÖÁ¿¡¢Ä£ÄâÁ¿ I/O ÒÔ¼°±£³Ö¼Ä´æÆ÷¡£
ҪʹÓà Modbus RTU Ö÷Õ¾Ö¸Áî¿â£¬Ðë×ñÑÏÂÁв½Ö裺 1. °²×°Î÷ÃÅ×Ó±ê×¼Ö¸Áî¿â
2. °´ÕÕÒªÇó±àдÓû§³ÌÐòµ÷Óà Modubs RTU Ö÷Õ¾Ö¸Áî¿â
Modbus RTU Ö÷Õ¾¹¦Äܱà³Ì
1. µ÷Óà Modbus RTU Ö÷Õ¾³õʼ»¯ºÍ¿ØÖÆ×Ó³ÌÐò
ʹÓà SM0.0 µ÷Óà MBUS_CTRL Íê³ÉÖ÷Õ¾µÄ³õʼ»¯£¬²¢Æô¶¯Æä¹¦ÄÜ¿ØÖÆ£º
ͼ 2. Óà SM0.0 µ÷Óà Modbus RTU Ö÷Õ¾³õʼ»¯Óë¿ØÖÆ×Ó³ÌÐò ¸÷²ÎÊýÒâÒåÈçÏÂ:
a) EN ʹÄÜ£º ±ØÐ뱣֤ÿһɨÃèÖÜÆÚ¶¼±»Ê¹ÄÜ£¨Ê¹Óà SM0.0£©
b) Mode ģʽ£º Ϊ 1 ʱ£¬Ê¹ÄÜ Modbus ÐÒ鹦ÄÜ£»Îª 0 ʱ»Ö¸´ÎªÏµÍ³ PPI
ÐÒé
c) Baud ²¨ÌØÂÊ£º Ö§³ÖµÄͨѶ²¨ÌØÂÊΪ1200£¬2400£¬4800£¬9600£¬19200£¬
38400£¬57600£¬115200¡£
d) Parity УÑ飺 УÑ鷽ʽѡÔñ 0£½ÎÞУÑé 1£½Ææ½ÏÑé 2£½Å¼½ÏÑé
e) Timeout ³¬Ê±£º Ö÷Õ¾µÈ´ý´ÓÕ¾ÏìÓ¦µÄʱ¼ä£¬ÒÔºÁÃëΪµ¥Î»£¬µäÐ͵ÄÉèÖÃֵΪ
1000 ºÁÃ루1 Ã룩£¬ÔÊÐíÉèÖõķ¶Î§Îª 1 - 32767¡£ ×¢Ò⣺ Õâ¸öÖµ±ØÐëÉèÖÃ×ã¹»´óÒÔ±£Ö¤´ÓÕ¾ÓÐʱ¼äÏìÓ¦¡£ f) DoneÍê³Éλ£º ³õʼ»¯Íê³É£¬´Ëλ»á×Ô¶¯ÖÃ1¡£¿ÉÒÔÓøÃλÆô¶¯ MBUS_MSG
¶Áд²Ù×÷
g) Error ³õʼ»¯´íÎó´úÂ루ֻÓÐÔÚ Done λΪ1ʱÓÐЧ£©£º
0£½ ÎÞ´íÎó
1£½ УÑéÑ¡Ôñ·Ç·¨ 2£½ ²¨ÌØÂÊÑ¡Ôñ·Ç·¨ 3£½ ģʽѡÔñ·Ç·¨
2. µ÷Óà Modbus RTU Ö÷Õ¾¶Áд×Ó³ÌÐòMBUS_MSG£¬·¢ËÍÒ»¸öModbus ÇëÇó£»
ͼ 3. µ÷ÓÃModbus RTU Ö÷Õ¾¶Áд×Ó³ÌÐò
¸÷²ÎÊýÒâÒåÈçÏÂ:
a) EN ʹÄÜ£º ͬһʱ¿ÌÖ»ÄÜÓÐÒ»¸ö¶Áд¹¦ÄÜ£¨¼´ MBUS_MSG£©Ê¹ÄÜ
×¢Ò⣺½¨Òéÿһ¸ö¶Áд¹¦ÄÜ£¨¼´ MBUS_MSG£©¶¼ÓÃÉÏÒ»¸ö MBUS_MSG Ö¸ÁîµÄ Done Íê³ÉλÀ´¼¤»î£¬ÒÔ±£Ö¤ËùÓжÁдָÁîÑ»·½øÐУ¨¼ûÀý³Ì£©¡£ b) First ¶ÁдÇëÇóλ£º ÿһ¸öеĶÁдÇëÇó±ØÐëʹÓÃÂö³å´¥·¢ c) Slave ´ÓÕ¾µØÖ·£º ¿ÉÑ¡ÔñµÄ·¶Î§ 1 ¨C 247 d) RW ´ÓÕ¾µØÖ·£º 0 £½ ¶Á£¬ 1 £½ д
×¢Ò⣺ ¹ØÁ¿Êä³öºÍ±£³Ö¼Ä´æÆ÷Ö§³Ö¶ÁºÍд¹¦ÄÜ
ÊäÈëºÍÄ£ÄâÁ¿ÊäÈëÖ»Ö§³Ö¶Á¹¦ÄÜ
e) Addr ¶Áд´ÓÕ¾µÄ Ñ¡Ôñ¶ÁдµÄÊý¾ÝÀàÐÍ
Êý¾ÝµØÖ·£º 00001 ÖÁ 0xxxx - ¿ª¹ØÁ¿Êä³ö 10001 ÖÁ 1xxxx - ¿ª¹ØÁ¿ÊäÈë 30001 ÖÁ 3xxxx - Ä£ÄâÁ¿ÊäÈë 40001 ÖÁ 4xxxx - ±£³Ö¼Ä´æÆ÷
f) Count Êý¾Ý¸öÊý ͨѶµÄÊý¾Ý¸öÊý£¨Î»»ò×ֵĸöÊý£©
×¢Ò⣺ ModbusÖ÷Õ¾¿É¶Á/дµÄ×î´óÊý¾ÝÁ¿Îª120¸ö×Ö£¨ÊÇָÿһ¸ö MBUS_MSG Ö¸Á
g) g. DataPtr Êý¾ÝÖ¸Õ룺 Èç¹ûÊǶÁÖ¸Á¶Á»ØµÄÊý¾Ý·Åµ½Õâ¸öÊý¾ÝÇøÖÐ
Èç¹ûÊÇдָÁҪд³öµÄÊý¾Ý·Åµ½Õâ¸öÊý¾ÝÇøÖÐ
h) Done Íê³Éλ ¶Áд¹¦ÄÜÍê³Éλ
i) Error ´íÎó´úÂ룺 Ö»ÓÐÔÚ Done λΪ1ʱ£¬´íÎó´úÂë²ÅÓÐЧ
0 £½ ÎÞ´íÎó
1 £½ ÏìӦУÑé´íÎó 2 £½ δÓÃ
3 £½ ½ÓÊÕ³¬Ê±£¨´ÓÕ¾ÎÞÏìÓ¦£© 4 £½ ÇëÇó²ÎÊý´íÎó£¨slave address, Modbus address, count, RW£©
5 £½ Modbus/×ÔÓÉ¿ÚδʹÄÜ 6 £½ ModbusÕýÔÚæÓÚÆäËüÇëÇó
7 £½ ÏìÓ¦´íÎó£¨ÏìÓ¦²»ÊÇÇëÇóµÄ²Ù×÷£© 8 £½ ÏìÓ¦CRCУÑéºÍ´íÎó -