WinCC V7.2 Modbus TCP 通讯 |
您所在的位置:网站首页 › TCP设备 › WinCC V7.2 Modbus TCP 通讯 |
概述
从版本WinCC V7.0 开始,WinCC支持Modbus TCP通讯,WinCC中的Modbus TCP驱动主要是针对施耐德PLC开发的,支持的PLC类型如下: 图1 本文档以Quantum CPU651和 Premium P57为例,介绍WinCC V7.2 的Modbus TCP通讯的组态步骤。并在最后列出WinCC和第三方Modbus TCP设备通讯的注意事项。 WinCC和Quantum PLC通讯 2.1 PLC组态2.1.1 硬件配置 在PLC的编程软件Unity Pro中按如下配置硬件: 图2 图3 2.1.2网络配置 在通讯à网络下创建新网络: 图4 双击新建的网络,配置IP地址及网络类型: 图5 在硬件配置中,为CPU上的以太网口分配网络: 图6 2.1.3 创建数据表 Quantum PLC寄存器编址从1开始,与Modbus地址的对应关系为:%m对应 0X, % i 对应1X, %iw 对应3x, %mw 对应4x。 例如:%i1对应100001; %m对应000001;%iw1对应300001; %mw1对应400001。 图7 2.2 WinCC组态2.2.1 组态连接 右键“变量管理”选择“打开”: 图8 图9 右键“Modbus TCP/IP Unit #1”选择“新建连接”: 图10 为新建的连接命名,并右键“连接参数”,设置连接属性: 图11 图12 CPU类型:不同CPU的字和位的关系、寄存器起始地址存在不同,所以选择不同的CPU类型, WinCC变量地址设定及数据处理会有些不同。 这里选择“Compact,Quantum,Momentum”。 服务器:PLC作为Modbus TCP通讯的服务器,WinCC作为客户机。这里输入PLC的以太网IP地址。 端口:Modbus TCP通讯默认端口为502 远程从站的地址:使用桥接器(例如MB+到Modbus TCPIP)时,此处输入远程控制器的从站地址。如果未使用桥接器,则必须输入默认值 255 或 0 作为地址。 转换字类型数据为16位数值:此处翻译有点问题,应该为“交换 32 位值中的字”(Swap words in 32-bit values)。 图13 此选择只影响“有符号 32 位数”“无符号 32 位数”和“浮点数 32 位 IEEE 754”三种数据类型。 连接施耐德PLC时,此处不要选择。 2.2.2创建变量 “Modbus TCPIP”通道支持以下数据类型:二进制变量、有符号 16 位数、无符号 16 位数、有符号 32 位数、无符号 32 位数、浮点数 32 位 IEEE 754、文本变量 8 位字符集、文本变量 16 位字符集。 在Modbus连接下创建以下变量: 图14 其中“tag_i01”地址%i1,对应modbus地址100001: 图15 “tag_m1”地址%m1,对应modbus地址000001: 图16 “tag _iw1”地址%iw1,对应modbus地址300001: 图17 “tag _mw1”地址%mw1,对应modbus地址400001: 图18 2.2.3运行结果 下载项目到PLC,打开unity pro项目中的数据表,在线监视PLC变量 的值: 图19 运行WinCC: 图20 在WinCC中修改变量的值: 图21 PLC的数值发生相应变化: 图22 2.2.4按位访问字寄存器 WinCC二进制变量地址可以设定为4x(或者3x)的某一位,例如: 图23 关于这种访问方式,有两点需要注意: 1、位与字的关系 Quantum PLC、WinCC Modbus中的位与字的对应关系如下表: 表1 2、对于写操作 在更改指定位后,整个字将写回 PLC。 但期间并不检查字中的其它位是否已改变。
2.2.5 实数、32位整数变量 PLC中的DINT和REAL变量: 图24 WinCC创建相应变量: 图25 运行WinCC: 图26 2.2.6 Modbus TCPIP字符串变量 创建如下的字符串变量: 图27 运行: 图28 在unity pro数据表中监视(把显示格式改为ASCII): 图29
WinCC和Premium PLC通讯 3.1 PLC组态 3.1.1 硬件配置 在PLC的编程软件Unity Pro中按如下配置硬件: 图30 图31 3.1.2网络配置 在通讯à网络下创建新网络,并配置网络IP地址及网络类型: 图32 在硬件配置中,为以太网口分配网络: 图33 Premium PLC只支持0x和4x,也就是Modbus TCPIP客户端只能读取Premium PLC的%m和%mw区。 另外,Premium PLC的各寄存器编址从0开始。 图34 3.2 WinCC组态3.2.1 创建连接 在Modbus TCPIP下新建连接,选择CPU类型为“Premium, Micro”: 图35 图36 3.2.2 创建变量 在WinCC中创建变量,变量地址中直接输入对应的地址,而不是Modbus标准地址。 图37 图38 这里需要说明两点: 虽然Premium PLC只支持0x和4x,但CPU类型选择“Premium, Micro”时,WinCC Modbus TCPIP驱动也可以读取1x和3x类型的数据(连接第三方Modbus TCPIP设备时)。 Premium PLC 各存储器地址从0开始编址,并且WinCC变量地址对应的是PLC的直接地址,但其和标准Modbus也是对应的。例如%m0对应000001,%mw0对应400001 。 WinCC所有变量创建如下: 图39 3.2.3运行WinCC: 图40 WinCC和第三方Modbus TCPIP设备通讯当使用WinCC和第三方Modbus TCPIP设备通讯时,需要注意以下两方面: 4.1、WinCC使用的Modbus功能码如下表所示: 表2 4.2、WinCC Modbus TCPIP中各CPU类型的区别 双字、字、位的关系 当在连接参数中没有选择“Swap words in 32-bit values”时,不同CPU 类型的双字、字、位之间的关系如下: "984" 和 "Compact, Quantum,Momentum": 表3 "Premium,Micro": 表4 WinCC Modbus TCPIP 驱动将按照以上关系来处理读到的字和位。 当在连接参数中选择“Swap words in 32-bit values”时,WinCC会相应交换高字和低字的顺序之后再赋值给对应的双字变量(包括实数)。
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |