问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

西门子1200-CB1241进行MODBUS RTU 通信

创作时间:
作者:
@小白创作中心

西门子1200-CB1241进行MODBUS RTU 通信

引用
CSDN
1.
https://blog.csdn.net/qq_36167959/article/details/139030024

项目采用的是西门子1214C中插入了CB1241-RS485模块,通讯的对象是一个电能表,采集功率和电能数据。因中间没有通讯成功,使用了一个USB转485通讯线,在电脑上装了MODBUS通讯软件作为从站和PLC进行了测试通讯,接线图如下:

PLC-RS485A--------->电能表RS485B
PLC-RS485B--------->电能表RS485A
接线不要弄错!!!!!!!!!!!
首先是PLC端,组态CB1241模块后设置波特率、奇偶校验、数据位和停止位。

电能表参数需和以上参数一致,电能表的从站地址为001,如下图,
PLC的MODBUS-RTU通讯有两个,新版比旧版多出一些功能,但对于本项目来说都可以使用。

首先初始化MODBUS通讯端口

其次是进行主站通讯,因本项目需要2个MODBUS地址位置不同的数据,采用了两个主站块进行轮询。程序如下:


因本项目需要采集电压功率数据,电能表的电压MODBUS地址为2000H(16进制),转换为十进制为8192,在加上西门子MODBUS的偏移量40001,所以要写入的地址为48193,

以上完成了和电能表的MODBUS通讯。
用电脑测试软件
作为MODBUS从站和PLC通讯,可用来查找通讯不正常的原因。下载地址为Modscan和Modsim 两种Modbus调试工具使用说明-CSDN博客中。
采用了USB转RS485

接线图如下,1接PLC-RS485B,2接PLC-RS485A
首先把串口连接电脑,在设备管理器中查看串口对应的端口号,本机是COM4口。打开Modsim32软件,点击“连接设置”->“连接”->“端口4”,设置如下参数与PLC一致后确认。

点击文件-->新建,如下图设置

双击地址下的数据,就是为PLC主站读取PC测试软件从站的数据

将PLC程序DATA_ADDR修改为40001,长度为6,就可在DB23数据块中读到测试软件中的数据。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号