[西门子] 西门子S7-1200与S7-1200之间的MODBUS TCP通信典型案例(请关注、收藏、分享

[复制链接]
查看78 | 回复0 | 2024-5-15 07:34:18 | 显示全部楼层 |阅读模式
硬件组成:

使用两个CPU1214C,AC/DC/RLY 来完成本案例的调试
博途软件版本:
采用博途V15版本(只要是V13SP1以上的各个版本差别不大)

要实现的任务要求:

工艺要求:实现如下功能。
1、S7-1200PLC客户端发送(写)从MW100开始的五个数分别是77、77、77、77、77;

S7-1200PLC服务器接收来自S7-1200客户端发送过来的5个数,分别存入DB1.DBW0-DB1.DBW8连续五个字中,验证是否可以在S7-1200服务器数据块DB1中接收到对应的五个数77、77、77、77、77;

2、从S7-1200服务器发送五个数,通过MW200-MW208,对应的五个数分别是22、22、22、22、22

在S7-1200PLC客户端读取来自S7-1200服务器发过来的五个数字,存入S7-1200PLC客户端中的DB1.DBW0-DB1.DBW8中,看是否能接收到22、22、22、22、22,如果在S7-1200客户端可以读取到上述数字,表明通信正常。
第一部分:编写程序
1、点新建创建项目给项目命名:

2、添加新设备,创建S7-1200PLC站点(客户端):


3、设置客户端CPU的IP地址:


4、设置系统与时钟存储器

5、添加新设备,添加S7-1200PLC系统(服务器)

添加S7-1200PLC连接的通信模块(本通信模块与本案例MODBUS TCP通信无关),既然与CPU相连就要组态。

6、设置S7-1200(服务器)CPU模块IP地址

7、在S7-1200PLC站点(客户端),添加全局数据块DB1(RECEIVE)


8、在S7-1200PLC(客户端)中继续添加全局数据块DB2(客户端通信参数)

9、编写S7-1200客户端PLC中刚刚创建的DB2数据块,定义端口参数

10、添加新全局数据块DB3,用于定义读取服务器时,客户端的端口定义。

11、编写定义读取数据端口定义DB3

12、在1200PLC服务器站点添加新块DB1

13、编写刚刚创建的S7-1200服务器端的全局数据块DB1

14、添加S7-1200服务器接收端口定义全局数据块DB2

15、编辑服务器端全局数据块DB2,接收端口定义


16、在S7-1200PLC服务器端添加全局数据块DB3,用于定义发送数据通信端口

17、编辑服务器端接收端口定义的端口参数全局数据块DB3

18、在S7-1200PLC客户端,在OB1中编写程序


19、在1200客户端,创建监控表,用于验证客户端与服务器之间发送接收数据是否正确。

客户端S7-1200PLC站点,OB1中程序编写完毕。
20、在服务器端S7-1200中,OB1主程序中编写程序


21、在服务器端创建监控表,用于监控客户端与服务器之间的发送与接收数据是否正常。

22、分别编译、保存、下载S7-1200客户端与服务端的程序至CPU中。
23、在线调试验证客户端与服务器双侧的接收数据与发送数据是否正常。


24、总结:通过在线测试,以上编程、组态、在线调试验证通信正常


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则