首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

跟我学:西门子1200PLC之间的Modbus_TCP通信

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

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

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

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

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

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

1200PLC ModbusTCP通讯编程:

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

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

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

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

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

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

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

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

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

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

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

下载PLC程序和触摸屏程序

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

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

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200514A04ZC400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券