西门子1200PLC之间的ModbusTCP通讯如何实现?

工业控制

1165人已加入

描述

西门子1200PLC通过以太网通讯与其它设备进行数据交互,西门子1200PLC可以和西门子系列plc进行通讯,例如S7-300/S7-1200/S7-1500等,使用ModbusTCP、s7、Profinet等通讯协议

西门子1200PLC支持1个编程设备(PG)的连接,

西门子1200PLC支持12个HMI设备的连接

西门子1200PLC可以和机器人、相机等第三方设备进行通讯,使用ModbusTCP、Profinet等通讯协议

ModBus协议

西门子1200PLC使用ModbusTCP通讯时,1200PLC可以做客户端主站,也可以做服务器从站,做客户端时主动请求连接并发送命令,做服务器时被动等待连接并反馈状态

客户端使用MB_CLIENT指令,服务器使用MB_SERVER指令。

ModBus协议

1200PLC ModbusTCP通讯编程:

1、打开博途软件,创建新项目,添加两个1200PLC,一个做客户端一个做服务器,添加两个触摸屏

2、在客户端PLC中,创建一个函数块并命名,再创建两个数据块并命令,数据块属性中勾掉“优化的块访问”选项,在数据块中分别定义8个整型数据类型的变量。

3、指令中找到ModbusTCP客户端通讯指令MB_CLENT,这里要注意通讯指令的版本,V4.0以上版本的指令使用方法与V3.1版本是不同的,具体使用方法请参考相关的帮助文件。

ModBus协议

4、创建两个相同背景数据块的MB_CLIENT指令,输入个引脚关联的变量。

MB_CLIENT指令每个引脚的功能说明:

ModBus协议

4、触摸屏上组态8个数值输入框,关联PLC中“发送”数据中的变量,用于输入要发送到服务器的数据,组态8个数值显示框,关联PLC“接收”数据块中的变量,用于显示从服务器读取到的数据

ModBus协议

在服务器PLC中,创建一个函数块并命名,再创建一个数据块并命令,数据块属性中勾掉“优化的块访问”选项,在数据块中定义16个整型数据类型的变量。

创建ModbusTCP服务器通讯指令MB_SERVER,输入个引脚关联的变量

MB_SERVER指令每个引脚的功能说明:

ModBus协议

服务器Modbus数据寄存器的长度要大于等于客户端收发数据的总长度。

触摸屏上组态8个数值输入框,关联PLC中“通讯”数据中的S1-S8变量,用于输入要发送到客户端的数据,组态8个数值显示框,关联PLC“通讯”数据块中的G1-G8变量,用于显示接收到客户端的数据,

ModBus协议

下载PLC程序和触摸屏程序

PLC编程完成后,进行通讯测试,

客户端触摸屏上输入发送的数据,查看服务器触摸屏上接收到的数据

服务器触摸屏上输入发送的数据,查看客户端触摸屏上接收到的数据,数据正确说明两个1200PLC之间使用ModbusTCP通讯正常。

ModBus协议

ModBus协议






审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分