第 1 章 OPC简介
OPC UA(OPC Unified Architecture)是为了在工业自动化等行业安全可靠地进行数据交换而制定的开放式国际标准规格。由OPC Foundation于2008年发布,之后制定了国际标准IEC62541,跨越设备的种类、操作系统(OS)、制造商的壁垒,可以安全地进行高可靠性的数据交换,作为标准通信协议得到了Industrie4.0的推荐,并以此为契机,一举赢得了热切关注。而且与PLC的国际标准 IEC61131-3进行了整合,能以高可靠性与上位(IT)监视控制系统(SCADA)或生产管理系统(MES)交换制造现场(FA)的信息,在各个行业得到了普及。
第 2章 以太网、WIFI、LORA设备与OPC通讯
本章介绍综科智控以太网、WIFI、LORA等模块与OPC通讯的设置方法。
2.1DI/DO/AI/AO 接入
以 ZKA-4488-WIFI为例说明 DI\DO\AI\AO 如何接入组态王使用,ZKA-4488-WIFI 是8路数字量输入(DI)和 8
路数字量输出(DO)和4路模拟量输入(AI)采集以及4路模拟量输出(AO)输出控制设备,采用标准的
Modbus TCP 通讯协议,可以通过 WIFI无线网络远程采集模拟量数据。
ZK模块 IP 为:192.168.0.106
TCP 端口为:10001
(注意:我们模块出厂时默认端口为10001,客户也可以通过ZK模块的配置文件把ZK通讯端口改成modbus-tcp的
默认端口502)
2.1.1添加设备
添加设备 > 选对应的驱动 > 自定义设备的名称
如下图所示:
选中设备ZKD-测试,右键,添加通道
设置通到的名称,IP,端口号
如下图所示:
选中 Channel_1 右键设置设备的属性,一般默认,确认
如下图所示:
选中 ZK 右键添加 标签
设置点的名称,储存器类型,数据类型,储存器的地址 确认
如下图所示:
2.2读取 DI 状态
以 ZKA-4488-WIFI 为例:
DI寄存器地址: DI1~DI8 10001~10008
2.3输出/读取 DO 状态
以 ZKA-4488-WIFI 为例:
DO寄存器地址:DO1~DO8 00001~00008
2.4读取AI值
以 ZKA-4488-WIFI 为例:
AI寄存器地址:AI1~AI4 30001~30008
ZKA-4488-WIFI 的 4 路 AI(模拟量输入)寄存器为 30001~30008,因为ZKA模块采用的是32位AD芯片,
所以每个模拟量通道占用 2 个寄存器,共4 个字节(32bit),其中高两个字节为采集结果的高16bit,低两个字
为采集结果的低16bit,模块出厂时为保证高精度,滤波后输出16bit,所以用户实际使用时只需要读取低16bit采集结果即可,,
也就是读取30002,30004,30006,30008地址上的寄存器数据。
第 1 通道电流值为 10000读数 x 0.0003125ma/读数=3.125ma
注意:ZKA模块采集输出的是模拟量输入通道的原始AD读数,客户需要在此基础上乘以一个量纲系数才能得出
想要的量纲读数,例如,0.0003125ma/读数这个是ZKA模块在16bit采集模式下和对应的AI输入电流ma数之间
的量纲系数,假如采集到的读数是10000,那么此时可以算出,该AI通道上当前输入的电流值为:
10000读数 x 0.0003125ma/读数=3.125ma。
2.5输出/读取AO值
以 ZKA-4488-WIFI 为例:
AO寄存器地址:AIO~AO4 40001~40004
ZKA-4488-WIFI 的 4 路 AO(模拟量输出)寄存器为 40001~40004,每个模拟量通道占用 1个寄存器,
共1 个字节(16bit)。
第 1 通道输出电流值为 10000x0.0003125=3.125mA
注意:ZKA模块AO输出寄存器是AO的原始值,客户需要在此基础上乘以一个量纲系数才能得出想要的量纲读数,
例如,电流的型AO输出的量纲系数为0.0003125,如果想要输出3.125ma,则要设置AO寄存器为10000,依次
类推。
第 3 章 ZK串口模块与OPC通讯
1.1DI/DO/AI/AO 接入
以 ZKB-2R1L串口转LORA网关 为例,介绍综科智控串口RS232、R485设备与 OPC 进行通讯的步骤设置。
以 ZKB-2R1L 出厂默认通讯参数如下:
站号:01
波特率:115200
数据格式:8,N,1
与电脑连接的端口:客户查看电脑设备管理器中的COM口,选择实际使用的端口
1.1.1添加设备
选择:新建> 驱动 [ModbusRTUClient] > 自定义设备名称,
如下图所示:
选择“确认”出现设备串口通讯参数设置,
自定义通道的名称 > 设置通讯串口参数 ,
如下图所示:
选择“确认”右键,出现设备串口通讯参数设置(一般默认)
如下图所示:
选择“确认”右键,添加标签
自定义点名 > 数据类型 > 数据的地址
如下图所示
就会出现添加数据,启动监控,就可以看数据了
1.2读取 DI 状态
以 ZKA-4488-RS485为例:
8路 DI的 寄存器为 10001~10008
1.3输出/读取 DO 状态
以 ZKA-4488-RS485为例
8路 DO 寄存器为 00001~00008
1.4读取 AI 值
ZKA-4488-RS485 的 4 路 AI(模拟量输入)寄存器为 30001~30008,因为ZKA模块采用的是32位AD芯片,
所以每个模拟量通道占用 2 个寄存器,共4 个字节(32bit),其中高两个字节为采集结果的高16bit,低两个
字为采集结果的低16bit,模块出厂时为保证高精度,滤波后输出16bit,所以用户实际使用时只需要读取低16bit
采集结果即可,也就是读取30002,30004,30006,30008地址上的寄存器数据,数据类型为 无符号UShort。
第 1 通道电流值为 10000x0.0003125=3.125mA
注意:ZKA模块采集输出的是模拟量输入通道的原始AD读数,客户需要在此基础上乘以一个量纲系数才能得出
想要的量纲读数,例如,0.0003125ma/读数这个是ZKA模块在16bit采集模式下和对应的AI输入电流ma数之间
的量纲系数,假如采集到的读数是10000,那么此时可以算出,该AI通道上当前输入的电流值为:
10000读数 x 0.0003125ma/读数=3.125ma。
1.5输出/读取AO的值
ZKA-4488-RS485 的 4 路 AO(模拟量输出)寄存器为 40001~40004,每个模拟量通道占用 1个寄存器,共
1 个字节(16bit)。
第 1 通道输出电流值为 10000x0.0003125=3.125mA
注意:ZKA模块AO输出寄存器是AO的原始值,客户需要在此基础上乘以一个量纲系数才能得出想要的量纲读数,
例如,电流的型AO输出的量纲系数为0.0003125,如果想要输出3.125ma,则要设置AO寄存器为10000,依次
类推。
楼主最近还看过