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

项目采用的是西门子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数据块中读到测试软件中的数据。

  • 12
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
西门子S7-200可通过Modbus RTU协议与其他设备进行通信。设置步骤如下: 1. 首先确保S7-200 PLC与Modbus设备之间的通信已经建立。可以使用RS232或RS485通信口连。 2. 在S7-200 STEP 7-Micro/WIN软件中,选择适当的模块,例如CPU 226。 3. 打开软件并创建一个新的工程。定义PLC的IP地址和端口号。 4. 进入“PLC的引脚配置”选项,配置串行口。 5. 配置Modbus RTU通信参数,主要包括波特率、数据位、停止位和奇偶校验等。 6. 创建一个Modbus通信屏蔽区(communication mask),可以选择串行口或网络口。 7. 定义Modbus从站地址和设备类型。 8. 在通信屏蔽区中定义读写数据的起始地址和寄存器个数。 9. 配置Modbus命令,包括读写命令和功能码等。 10. 编写PLC程序来处理通过Modbus收和发送的数据。 11. 保存程序并上传到PLC。启动PLC并进行Modbus通信测试。 注意事项: - 在设置Modbus通信之前,需要确保PLC程序已经完成并且正确运行。 - 在配置Modbus通信时,确保Modbus设备与S7-200 PLC的通信参数一致,否则可能无法正常通信。 - 在PLC程序中,使用适当的指令来读取和写入Modbus设备的数据。 - 在使用Modbus通信时,注意处理异常情况和错误处理。 - 在进行Modbus通信测试时,可以使用串口调试工具或Modbus测试工具来验证通信是否正常。 以上是关于西门子S7-200 Modbus RTU通信设置的概述。具体步骤可能会根据实际应用和设备的不同而有所差异。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值