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

[复制链接]
查看98075 | 回复0 | 2024-3-18 12:46:46 | 显示全部楼层 |阅读模式
西门子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通讯正常。



本帖子中包含更多资源

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

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

本版积分规则