咨询电话:17359299796
手机:17359299796

— 新闻中心 —

联系我们/ CONTACT US
全国免费客服电话 17359299796
漳州风云电气

邮箱:A3669372910@163.com

手机:17359299796

电话:17359299796

地址:福建省漳州市龙文区朝阳北路1号办公楼205室

行业动态

S7-1200串口CM1241的Modus-RTU通讯要点

发布时间:2023-11-03 16:12:45 人气:

最近在用1200通过Modbus-RTU采集某流量传感器的数据,西门子侧选择的是CM1241(RS422/485)(订货号是6ES7 241-1CH32-0XB0,固件版本V2.2),CPU是1214C,固件版本是V4.2,自认为调试应该很简单,但是却花费了很多时间,并查阅了很多资料、视频,才实现了通讯。下面逐步介绍一下步骤,可能的坑及解决办法。


1、硬件接线


通讯卡9针插座的3和8针用于485通讯(Modbus的通讯),西门子手册上标识为:3+(B),8-(A),流量传感器上标识为A+、B-。通讯不通时,我在这儿折腾了很久,后来用万用表直接测量电压搞定,原则:不用理会AB,直接测量电压,+对+,-对-即可。未通讯时,电压在3-5VDC之间。


2、硬件配置


基本配置(要与从站保持一致),记下硬件标识符:这里是269。


3、端口初始化编程


注意选择V3.1这一套程序,不要与下面的V2.2程序混用(注意这套程序的版本限制“使用CM1241 自固件版本V2.1起...”)。


2.初始化程序放置在OB1循环调用的子程序里,官方提醒不要放在OB100(启动程序里),设置好参数(与硬件里的基本一致),自动生成顶部的背景数据块(这里是DB1)。


打开DB1,将里面的MODE修改成4,其他保持默认值(这也是个大坑,谁会想着去修改背景数据块?所有需要修改的应该都通过接口参数开放出来呀!)。



MB_DB要与后面的Modbus_Master的背景数据块保持一致,在创建Modbus_Master时,会自动生成,然后再回过头来修改,我这边为DB2。


4、创建读写指令


我这边用到了轮询,所以,程序相对复杂,会调用多个Modbus_Master模块(注意:他们必须用相同的背景数据块,不要每次都新建)。如果只是单站读取,REQ端用时钟脉冲即可。REQ是上升沿触发,如果常置位,则只会进行一次读取,因此用时钟脉冲可以周期读取。


MB_ADDR是从站地址,MODE是模式,与DATA_ADDR配合,在后台生成标准的MODBUS指令,比如,我要实现传感器厂家的指令帧:


相关推荐

在线客服
服务热线

服务热线

tel:17359299796

微信咨询
漳州风云电气
返回顶部
X漳州风云电气

截屏,微信识别二维码

微信号:17359299796

(点击微信号复制,添加好友)

  打开微信

微信号已复制,请打开微信添加咨询详情!