边框 S7 (边框style属性)

S7-1200根据CPU的版本不同,使用的MODBUS-TCP通讯指令是不一样的,本节介绍V4.1及以上版本的CPUMODBUS-TCP通讯方法。

1. 建立项目,组态好CPU硬件

注意CPU版本V4.1及以上,打开CPU属性。

2. 打开OB1,调用服务器指令

  • DISCONNECT:断开连接,1断开连接,0通讯继续
  • MB_HOLD_REG:数据存储区(如:PDB1.DBX0.0 WORD 10,注意DB不能优化)
  • CONNECT:这个针脚比较坑爹,下面有具体解释
  • NDR:服务器被写入数据指示,1被写入数据,0没有
  • DR:服务器被读取数据指示,1被读取数据,0没有,这个参数存储的是网络数据,大家要自己建立一个共享DB,然后建立一个变量,数据类型是:TCON_IP_V4(这个数据类型比较坑爹不能选择,只能人工输入)
  • ID:连接ID,你自己输入一个数字就行,不要重叠,记一下,到客户机的时候要填写
  • ConnectionType:连接类型,默认160B就是MODBUS-TCP的意思
  • ActiveEstablished:是否主动建立连接(服务器0不主动,客户机1主动)
  • RemoteAddress:服务器连接的客户机IP地址,要是想这个服务器啥客户机都能连就输入0.0.0.0(注意16格式的)
  • RemotePort:远程的端口号,默认0
  • LocalPort:本地的端口号,默认502

3. 服务器指令详解

3.1 CONNECT

CONNECT指令是用来建立或断开连接的,参数中需要注意的是:

  • ID:连接ID,你自己输入一个数字就行,不要重叠,记一下,到客户机的时候要填写
  • ConnectionType:连接类型,默认160B就是MODBUS-TCP的意思
  • ActiveEstablished:是否主动建立连接(服务器0不主动,客户机1主动)
  • RemoteAddress:服务器连接的客户机IP地址,要是想这个服务器啥客户机都能连就输入0.0.0.0(注意16格式的)
  • RemotePort:远程的端口号,默认0
  • LocalPort:本地的端口号,默认502

3.2 NDR

NDR指令用来指示服务器端是否被写入数据,参数中需要关注的是:

  • NDR:服务器被写入数据指示,1被写入数据,0没有
  • MB_HOLD_REG:数据存储区(如:PDB1.DBX0.0 WORD 10,注意DB不能优化)

3.3 DR

DR指令用来指示服务器端是否被读取数据,参数中需要关注的是:

  • DR:服务器被读取数据指示,1被读取数据,0没有
  • MB_HOLD_REG:数据存储区(如:PDB1.DBX0.0 WORD 10,注意DB不能优化)

4. 实战案例

以下是一个简单的S7-1200的ModbusTCP服务器的例子:

``` // OB1 DISCONNECT 1 CONNECT 1, 160B, 0, 1600000000, 0, 502 // OB100 IF NDR = 1 THEN PDB1.DBX0.0 = MB_HOLD_REG NDR = 0 END_IF IF DR = 1 THEN MB_HOLD_REG = PDB1.DBX0.0 DR = 0 END_IF ``` 在这个例子中,OB1负责建立和断开连接,OB100负责处理数据读写。PDB1.DBX0.0是用于存储数据的变量。

5. 注意点

  • DB不能优化
  • TCON_IP_V4数据类型只能人工输入
  • ID不能重叠

本文原创来源:电气TV网,欢迎收藏本网址,收藏不迷路哦!

相关阅读

添加新评论