基于西门子S7-200smart作为客户端的modbustcp通讯

今天,接到客户的一个小项目,plc要求
1.控制电机启动和停止,并有两个光电感应器,判定进出工作区域
2.要求所有信号要通过modbustcp通讯,传送到上位机

具体PLC实施及排配和上位机modbustcp对应地址关系
1.启动按钮—I0.0 -------modbus地址:2000
2.停止按钮—I0.1 -------modbus地址:2001
3.急停按钮—I0.2 -------modbus地址:2002
4.进料感应器—I0.3 -------modbus地址:2010
5.出料感应器—I0.4 -------modbus地址:2015
6.电机运行—Q0.0 -------modbus地址:2030

好,前期铺垫已经完成,现在开始正式的写代码了,撒也不说,既然要modubstcp通讯,我们知道modubstcp的地址是从40001开始的,说以2000的地址对应的modubs地址位42000,余下一次类推
1.启动按钮—I0.0 -------modbus地址:2000 —42000
2.停止按钮—I0.1 -------modbus地址:2001 —42001
3.急停按钮—I0.2 -------modbus地址:2002 —42002
4.进料感应器—I0.3 -------modbus地址:2010 —42010
5.出料感应器—I0.4 -------modbus地址:2015 —42015
6.电机运行—Q0.0 -------modbus地址:2030 —42030

//现在开始上modbustcp程序

在这里插入图片描述
说明:服务器的ip位:192.168.1.10 端口号:502;每次传送的起始地址位42000,传送数据为42000-42030,共31个,plc内传送的数据为从vb100开始的31个字,也就是vb100-vb161(两个字节构成一个子);
M10.0–上升沿进行数据传送
M10.1–传送数据,传送完毕为1;正在传送为0
MB11—获取通讯错误的错误代码

//plc轮训程序
在这里插入图片描述
说明:这里V5594.0是客户端是否连接上服务器的指标性信号

按钮数据的传送
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
至此,全部完毕,测试效果也是相当的好,缺点就是每一回要传31个数据,太大了,改天上改进型程序

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值