登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:S7-1200 PLC的ModbusRTU通讯

点击:8023 回复:8

要在S7-1200里面使用ModbusRTU通讯,必须在硬件组态中加入CM1241 RS422/485模块,最多可支持三个这样的串口通讯模块
附件 A.jpg
添加了CM1241模块后,需要在模块属性中组态通讯端口的参数,波特率、数据位、停止位和奇偶校验等
附件 B.jpg
通讯端口初始化指令 MB_COMM_LOAD ,其中的参数含义:PORT-端口硬件标识;BAUD-波特率;PARITY-奇偶校验;MB_DB-主从站指令的背景数据块,另外,EN为使能端,REG为上升沿触发端。
下图的指令建议在StartUp(启动组织块)中调用,因为端口的初始化只需要执行一次就可以了,频繁的调用这条指令会使正在发送的数据丢失。
附件 C.jpg
主站指令,参数的含义:MB_ADDR-从站地址;MODE-读写功能码,这个功能码与标准的Modbus功能码有所不同,详细的可以看帮助文档;DATA_ADDR-从站里面读写数据的起始地址;DATA_LEN-从站里面读写数据的长度,单位是字;DATA_PTR-主站当中用来通讯的数据的缓存地址的指针;
附件 D.jpg
从站指令,参数含义:MB_ADDR-PLC作为从站的地址;MB_HOLD_REG-允许主站访问的地址范围
附件 E.jpg
最后修改:2016/3/14 20:52:57
16-03-14 20:36
楼主厉害呀  都搞1200了
16-03-14 22:31
初学乍练
16-03-14 23:06

。。。。。。 我也在学习1200 , 希望以后多多看到楼主的技术帖子
16-03-17 14:26
BK7,相互学习嘛
16-03-17 17:00
楼主你的1200编程软件是哪个,我也要用1200了
16-04-02 15:55

引用 lawrense 在 2016/4/2 15:55:27 发言【内容省略】

博图Portal
16-05-03 17:41
楼主你好,请教你个问题,我用1200plc通过CM1241控制伟创变频器,由于设备布局问题,几台变频器相隔很远,需要两个1241模块,请问应该怎样编写程序
16-10-13 14:01
调用这个主从站存放指针的DB块怎么编程啊?DATA_PTR和MB_HOLD_REG怎么来的?
16-10-25 15:27

工控新闻

更多新闻资讯