1200与200进行MODBUS通讯,1200作为Master,200作为从站;现1200需读写200的I/O,200作为从站,除了编写对MODBUS从站的初始化和调用外,还需要编写其他程序吗?有没有人能提供段调试过后的程序呢?对于西门子关于200与1200的MODBUS通讯的文档,怎么设置都看懂了,但是到底怎么读写I/O还没有弄明白,做为下位机的200是否还需要编写其他程序呢?新手请大家多指点下
最佳答案
参照《如何通过Modbus协议实现 S7-1200与S7-200通讯.pdf》
200作为从站,其程序如上述资料的图14所示,不需编写其他程序。
1200作为主站,其编程也如资料中所述,只需修改图11中所示的MB_MASTER块中的如下参数:
MODE, DATA_ADDR, DATA_LEN, DATA_PTR
1.若设 MODE = 0, DATA_ADDR = 10001, DATA_LEN = 8,
DATA_PTR指向数据区地址2000
则编译下载RUN后,在地址=2000的数据区的第一个字节的8bit
即是主站1200从从站200读回的I0.0-I0.7。
2.若设 MODE = 1, DATA_ADDR = 00001, DATA_LEN = 8,
DATA_PTR指向数据区地址2000,并在该地址装入55h
则编译下载RUN后,使得从站200的Q0.0-Q0.7 = 01010101
进一步还需了解MODBUS协议的具体内容和MODBUS测试软件如
ModScan32.exe,ModbusSlave.exe,sscom32.exe
提问者对于答案的评价:
谢谢~
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc214513.html