设备通信配置
通信链路连接
通信连接可使用TCP以太网连接,或RS485总线连接,具体以设备通信方式为准。以下说明2种常规连接方式。
● 以太网,使用T568B网线线序。
● RS485,使用双绞屏蔽线连接。
配套提供的计算机,DB9串口是针型,接线如下图。如使用自购计算机,串口的针脚定 义以实物为准。
RS485设备连接到一只孔型的DB9中,再插入配套计算机侧的D-Sub(DB9),接线参考下图。
使用其他针脚的RS485串口或USB-RS485转换器,设备连接线分别对应如图的485+和485-。
● RS232连接。
计算机自带RS232串口,针型(公头)。
使用标准RS232连接,两台计算机使用RS232互连时,参考下图连接。
1. OPC UA
OPC UA用于与具有OPC UA服务功能的PLC设备及其他各类计算机系统设备进行通信。
1.1 通道配置
1)通道创建
在"变量管理"的外部变量,点击"添加",进入 "新增外部设备通道" 界面,在左侧通道驱动列表中,展开 "标准协议" 目录,选择**「标准协议 > OPC > OPC_UA」**驱动。
2)通道配置
在右侧 通道信息 区域,填写通道的标识信息:
● 通道名称:输入自定义名称(如"智能印刷机#1"),用于唯一标识该通信通道。
● 通道描述:(可选)输入通道的描述文字,便于后续管理维护。
3)基础配置参数
在基础配置标签页中,设置 PLC 的通信核心参数:
● 连接名:自定义连接的标识名称(如"连接 1"),用于区分不同连接。
● 连接地址:填写 OPC UA 服务器的网络连接地址,格式为 opc.tcp://[IP地址]:[端口](示例中为 opc.tcp://192.168.1.1:4840),端口号默认为4840。
● 安全模式:选择通信的安全级别,包含以下选项(需与 OPC UA 服务器侧配置一致):
○ None:无安全保护(不签名、不加密);
○ Sign:仅对通信内容进行签名(确保数据完整性,防篡改);
○ SignAndEncrypt:对通信内容同时进行签名和加密(既防篡改,又保护数据隐私)。
● 安全策略:选择加密 / 签名算法策略,包含 None、Basic128Rsa15、Basic256、Basic256Sha256 等(需与 OPC UA 服务器侧支持的策略匹配)。
● 验证方式:选择 OPC UA 服务器的身份验证方式,"匿名"和"验证登录"。匿名(无需用户名密码即可连接);若服务器启用 "用户名密码验证",需选择对应方式,并填写用户名和密码。
4)高级配置参数
切换到高级配置标签页,可根据需求调整参数(若无需特殊配置,可保持默认值):
● 组订阅模式:选择「启用」时,将多个变量按 "组" 批量订阅,提升大规模变量通信的效率,主要用于数组较多时;若数组数量少,也可选择 "禁用"。
(注意:如果PLC使用的数组索引不是从0开始,启用会按索引从0开始,数组元素发生偏移。当数组有很多,长度很大且PLC性能并不高,启用后可能会发生PLC资源耗尽宕机的现象。)**
● 组数据下发:控制 "组订阅" 模式下,是否支持对组内变量进行写操作下发(适用于数组节点无法展开的情况),会下发整个数组。
● 订阅监测项数量:设置单次可订阅的最大变量数量(默认 512),需根据实际需采集的变量规模调整,过小将限制可监测的变量总数。
● 静态仿真:可选「启用」或「禁用」。启用后进入仿真模式,可用于离线测试通道配置( 不实际连接 PLC),在有实际PLC设备连接时,务必禁用。
5)添加外部变量
选中创建好的通道,在窗口中点击添加,创建通信变量。
OPC UA协议支持自动加载标签的方式添加变量地址,由于不同设备的OPC UA节点地址格式有差异,使用自动加载标签功能,在窗口中勾选变量标签。
1.2 OPC UA服务器的配置
具有OPC UA服务功能的设备与安装CMS的PC通过以太网连接,保证正常通信的物理线路连接正常。
OPC UA功能打开与激活,以下以台达AX8系列的PLC和西门子S7-1500PLC做说明,其余系统参考设备的使用手册。
💡 提示:其他设备OPC UA功能的使用参考各设备的功能使用手册。
✧ 台达AX8系列:
➢ 打开DIADesigner编程软件,打开工程项目。
➢ 创建全局变量。
➢ 在Application右键——添加对象——符号配置。
➢ 双击打开符号配置,点击编译。
➢ 在更新后的符号表中,勾选需要OPC UA发布的标签
➢ 双击打开符号配置,在弹出的窗口中点击编译。
➢ 点开设置,勾选支持OPC UA功能。
➢ 在菜单栏点击编译——生成代码,在线——登录,将程序下载进PLC。
✧ 西门子S7-1500:
➢ 打开博图TIA编程软件,打开工程项目。
➢ 创建DB块及变量。
➢ 打开需要连接CMS软件的PLC设备组态;
➢ 在属性的PROFINET接口中,设置PLC的IP地址,并检查安装CMS软件的PC电脑的IP地址设置,保证二者的IP处于相同网络段,IP地址唯一。
➢ 在OPC UA勾选激活OPC UA服务器,编译工程,下载到PLC。
➢ 另外,西门子可根据PLC的级别与性能,在服务器选项中选择合适的发布间隔与节点数量,缩短发布间 隔,通信的实时性更高。
2. Modbus
Modbus协议用于与具有Modbus通讯功能的PLC设备、仪表及其他各类计算机系统设备进行通信。
2.1 Modbus_TCP 协议配置
2.1.1 通道配置
1)通道创建
在"变量管理"的外部变量,点击"添加",进入 "新增外部设备通道" 界面,在左侧通道驱动列表中,展开 "标准协议" 目录,选择**「标准协议 >Modbus > Modbus_TCP」**驱动。
2)通道配置
在右侧 通道信息 区域,填写通道的标识信息:
● 通道名称:输入自定义名称,用于唯一标识该通信通道。
● 通道描述:(可选)输入通道的描述性文字,如设备名称或生产线名称,便于后续管理维护。
3)基础配置参数
在基础配置标签页中,设置通信核心参数:
● 设备IP:填写Modbus服务器的IP地址。
● 设备ID:填写Modbus服务器的ID号。
● 端口号:默认为502,根据服务端设置。
● 首地址:寄存器的起始地址,根据从站设备的寄存器首地址选择,部分从站是从40000开始,首地址则选择0,如保持默认1,变量地址需要偏移。
● 连接超时:默认3秒,连接超时,驱动将降低连接请求频率。
● 响应超时:向PLC发出PDU后,PLC未在规定时间内回应,响应超时<连接超时。
4)高级配置参数
切换到高级配置标签页,可根据需求调整参数(若无需特殊配置,可保持默认值):
● 字节顺序:根据实际数据结构,调整数据的字节顺序,保障数据读写一致。
● 独立链路:启用后,该通道将使用独立的通信链路,避免与其他通道共享链路时的资源竞争,独立链路会消耗一定的计算机资源。
● PDU 诊断算法:启用后,系统会对协议数据单元(PDU)进行诊断,便于排查通信异常。
● PDU长度:设置 PDU 的最大长度(默认值220)。根据通信数据量大小和 PLC 的支持能力调整,过大会增加通信负担,过小可能无法传输大段的数据。
● PDU立即提交:SIOT采集到数据之后立即推送,不等待相同属性设置的其他变量。
● 静态仿真:可选「启用」或「禁用」。启用后进入仿真模式,可用于离线测试通道配置(不连接实际设备 ),在有实际设备连接时,务必禁用。
2.1.2 地址格式与数据类型
| PLC数据类型 | Modbus数据类型 | SIOT/CMS数据类型 | SIOT地址格式举例 |
|---|---|---|---|
| Bool | 线圈 (Coils) | 二进制变量 | 000001 |
| 离散输入(Discrete Inputs) | 100001 | ||
| 输入寄存器(Input Registers) | 300001.0 | ||
| 保持寄存器(Holding Registers) | 400001.0 | ||
| Int | 输入寄存器(Input Registers) 保持寄存器(Holding Registers) | 有符号16位整型 | 300001 400001 |
| Uint | 无符号16位整型 | ||
| Word | 无符号16位整型 | ||
| Dint | 有符号32位整型 | ||
| Udint | 无符号32位整型 | ||
| Dword | 无符号32位整型 | ||
| Lint | 有符号64位整型 | ||
| Ulint | 无符号64位整型 | ||
| Lword | 无符号64位整型 | ||
| Real | F32位浮点数IEEE754 | ||
| Lreal | F64位浮点数IEEE754 | ||
| String | 字符串(字符长度最大255) | ||
| Wstring | 宽字符串(字符长度最大255) |
SIOT的Modbus变量地址支持寄 存器0~65536,且使用扩展地址,例如:部分Modbus设备的寄存器地址是40001,在SIOT中需要填入400001。
2.2 Modbus_RTU 协议配置
2.2.1 通道配置
1)通道创建
在"变量管理"的外部变量,点击"添加",进入 "新增外部设备通道" 界面,在左侧通道驱动列表中,展开 "标准协议" 目录,选择**「标准协议 >Modbus > Modbus_RTU」**驱动。
2)通道配置
在右侧 通道信息 区域,填写通道的标识信息:
● 通道名称:输入自定义名称,用于唯一标识该通信通道。
● 通道描述:(可选)输入串口通道的描述性文字,便于后续管理维护。
3)基础配置参数
在基础配置标签页中,设置 PLC 通信核心参数:
● 端口:选择计算机与从站通讯的串口编号。
● 波特率:默认为9600,与从站一致。
● 数据位:设置与从站一致。
● 停止位:设置与从站一致。
● 校验位:可选无(none)、奇(odd)、偶(even),设置与从站一致。
● 模式:固定为RTU。
● 扫描周期:报文请求的时间,建议设置在50~100ms。
● 响应超时:从站响应时间,多从站时,请求的从站异常或不在线,超时后,开始请求下一个从站。超时设置大,将导致多从站链路的其他从站请求时间过长,建议设置200~500ms。
2.2.2 从站配置
在创建的Modbus_RTU串口通道上,右键-添加站点,Modbus_RTU使用RS485总线链路时,可以创建多个从站站点,从站数量超过32个将降低性能。
添加站点,每个从站站点都可以独立配置首地址和字节顺序:
● 站点名称:输入自定义站点名。
● Addr站号:输入从站设备的站号(地址或ID号)。
● 首地址:寄存器的起始地址,根据从站设备的寄存器首地址选择,部分从站是从40000开始,首地址则选择0,如保持默认1,变量地址需要偏移。
● 数据位:设置与从站一致。
● 字节顺序:根据实际数据结构,调整数据的字节顺序,保障数据读写一致。
在创建的从站上添加变量组或者直接添加变量元素。
2.2.3 地址格式与数据类型
| PLC数据类型 | Modbus数据类型 | SIOT/CMS数据类型 | SIOT地址格式举例 |
|---|---|---|---|
| Bool | 线圈 (Coils) | 二进制变量 | 000001 |
| 离散输入(Discrete Inputs) | 100001 | ||
| 输入寄存器(Input Registers) | 300001.0 | ||
| 保持寄存器(Holding Registers) | 400001.0 | ||
| Int | 输入寄存器(Input Registers) | 有符号16位整型 | 300001 |
| 保持寄存器(Holding Registers) | 400001 | ||
| Uint | 无符号16位整型 | ||
| Word | 无符号16位整型 | ||
| Dint | 有符号32位整型 | ||
| Udint | 无符号32位整型 | ||
| Dword | 无符号32位整型 | ||
| Lint | 有符号64位整型 | ||
| Ulint | 无符号64位整型 | ||
| Lword | 无符号64位整型 | ||
| Real | F32位浮点数IEEE754 | ||
| Lreal | F64位浮点数IEEE754 | ||
| String | 字符串(字符长度最大255) | ||
| Wstring | 宽字符串(字符长度最大255) |
SIOT的Modbus变量地址支持寄存器0~65536,且使用扩展地址,例如:部分Modbus设备的寄存器地址是40001,在SIOT中需要填入400001。
2.2.4 RS485线路连接
● RS485,使用双绞屏蔽线连接。
配套提供的计算机,DB9串口是针型,接线如下图。如使用自购计算机,串口的针脚定义以实物为准。
RS485设备连接到一只孔型的DB9中,再插入配套计算机侧的D-Sub(DB9),接线参考下图。
使用其他针脚的RS485串口或USB-RS485转换器,设备连接线分别对应如图的485+和485-。
3.西门子 (SIEMENS)
在CMS支持的数据地址区与数据类型
➢ S7-1200/S7-1500系列
| 地址区域 | 数据类型 | 读写属性 |
|---|---|---|
| I | Bool | 只读 |
| Byte, SInt, USInt, Char | 只读 | |
| Word, Int, UInt, WChar | 只读 | |
| DWord, DInt, UDInt, Real | 只读 | |
| LWord, LInt, ULInt*, LReal | 只读 | |
| Q | Bool | 读写 |
| Byte, SInt, USInt, Char | 读写 | |
| Word, Int, UInt, WChar | 读写 | |
| DWord, DInt, UDInt, Real | 读写 | |
| LWord, LInt, ULInt*, LReal | 读写 | |
| M | Bool | 读写 |
| Byte, SInt, USInt, Char | 读写 | |
| Word, Int, UInt, WChar | 读写 | |
| DWord, DInt, UDInt, Real, Time, Date, Time_of_Date, Date_and_Time* | 读写 | |
| LWord, LInt, ULInt*, LReal | 读写 | |
| DTL | 读写 | |
| DB | Bool | 读写 |
| Byte, SInt, USInt, Char | 读写 | |
| Word, Int, UInt, WChar | 读写 | |
| DWord, DInt, UDInt, Real, Time, Date, Time_of_Date, Date_and_Time* | 读写 | |
| LWord, LInt, ULInt*, LReal | 读写 | |
| DTL, String, WString | 读写 |
➢ S7-300/S7-400系列
| 地址区域 | 数据类型 | 读写属性 |
|---|---|---|
| I | Bool | 只读 |
| Byte, Char | 只读 | |
| Word, Int | 只读 | |
| DWord, DInt, Real | 只读 | |
| Q | Bool | 读写 |
| Byte, Char | 读写 | |
| Word, Int | 读写 | |
| DWord, DInt, Real | 读写 | |
| M | Bool | 读写 |
| Byte, Char | 读写 | |
| Word, Int | 读写 | |
| DWord, DInt, Real, Time | 读写 | |
| Date, Time_of_Date, Date_and_Time | 读写 | |
| DB | Bool | 读写 |
| Byte, Char | 读写 | |
| Word, Int | 读写 | |
| DWord, DInt, Real | 读写 | |
| Time, Date, Time_of_Date, Date_and_Time, String | 读写 |
➢ S7-200SMART系列
| PLC数据类型 | 数据区域 | SIOT/CMS数据类型 | 变量地址举例 |
|---|---|---|---|
| bool | I, Q, C, T, M, V, | 二进制变量 | I0.0, M0.0, V0.0, T0, C0 |
| Byte | I, Q, M, V | 无符号8位整型 | IB0, MB0, VB0 |
| Int | I, Q, M, V | 有符号16位整型 | IW0, MW0, VW0 |
| Word | I, Q, C, T, M, V | 无符号16位整型 | IW0, MW0, VW0, CW0, TW0 |
| Dword | I, Q, M, V | 无符号32位整型 | ID0, MD0, VD0 |
| Dint | I, Q, M, V | 有符号32位整型 | ID0, MD0, VD0 |
| Real | I, Q, M, V | F32位浮点数IEEE754 | ID0, MD0, VD0 |
| Char | I, Q, M, V | 文本变量8位字符集 | IB0, MB0, VB0 |
| String | I, Q, M, V | 字符串 | IB0, MB0. VB0 |
3.1 S7_TCP 协议
S7_TCP驱动程序实现了CMS与西门子PLC通过以太网进行通信的协议。下面以S7-1500为例说明。
(S7-1200/S7-300/S7-400/S7-200SMART系列的通道在CMS配置是一致的。)
3.1.1 CMS配置
1)通道创建
在“变量管理”的外部变量,点击“添加”,进入 “新增外部设备通道” 界面,在左侧通道驱动列表中,展开 “PLC”——“西门子 (SIEMENS)” 目录,根据待连接的 PLC 型号(如 S7-1500、S7-1200 等),选择对应层级下的S7_TCP驱动(选择[西门子 (SIEMENS) > S7-1500 > S7_TCP])。
2)通道配置
在右侧通道信息区域,填写通道的标识信息:
● 通道名称:输入自定义名称(如 “西门子 S7-1500”),用于唯一标识该通信通道。
● 通道描述:可选,输入通道的描述文字(如 “连接车间 A 的 S7-1500 PLC”),便于后续管理维护。
3)基础配置参数
在基础配置标签页中,设置 PLC 的通信核心参数:
● 设备 IP:输入 PLC 的网络 IP 地址(例如PLC的IP地址为192.168.1.108)。需确保 CMS软件所在设备与 PLC 处于同一网络,且网络连通性正常。
●