基于串口、以太网、WIFI、LORA通信的io控制模块与OPC通信的方法步骤 点击:71 | 回复:0



zk周工

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 1回
  • 年度积分:111
  • 历史总积分:111
  • 注册:2023年5月18日
发表于:2023-11-15 17:12:32
楼主

第 1 章 OPC简介


OPC UA(OPC Unified Architecture)是为了在工业自动化等行业安全可靠地进行数据交换而制定的开放式国际标准规格。由OPC Foundation于2008年发布,之后制定了国际标准IEC62541,跨越设备的种类、操作系统(OS)、制造商的壁垒,可以安全地进行高可靠性的数据交换,作为标准通信协议得到了Industrie4.0的推荐,并以此为契机,一举赢得了热切关注。而且与PLC的国际标准 IEC61131-3进行了整合,能以高可靠性与上位(IT)监视控制系统(SCADA)或生产管理系统(MES)交换制造现场(FA)的信息,在各个行业得到了普及。

b814c0ba98495dec68f581b8a3ee16a0_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


83db2341a19fe75657066701ae9acdb3_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

第 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)


132d3ab388990c8e3319693e960d9699_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

2.1.1添加设备

添加设备 > 选对应的驱动 > 自定义设备的名称


如下图所示:

f67dab244756aa7e8f443e0a9b9be96b_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

选中设备ZKD-测试,右键,添加通道


设置通到的名称,IP,端口号


如下图所示:

a2ab238397a799bc2bea128ecc28040f_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


选中 Channel_1 右键设置设备的属性,一般默认,确认


如下图所示:

131f69fda9e45c0f5c52f212db60c8ce_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png



选中 ZK 右键添加  标签


设置点的名称,储存器类型,数据类型,储存器的地址  确认


 如下图所示:

38b4ad20075beaaa3ff9478cb629e805_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png



19226a0ee6a7c9a41859a8f61131bd98_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png



2.2读取 DI 状态



以 ZKA-4488-WIFI 为例:


DI寄存器地址: DI1~DI8    10001~10008

f1fe5ddfcc0f44d6005aff2f179ec020_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


2.3输出/读取 DO 状态



以 ZKA-4488-WIFI 为例:


DO寄存器地址:DO1~DO8        00001~00008


97769f20774f0da0cd0e9a21a058bb6c_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


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地址上的寄存器数据。

227d17e041a7f066ed8548a456196b5d_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


第 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)。

762cb0d96c0c700a085ae47dc487d55e_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

第 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 进行通讯的步骤设置。

ee756ccce5def8b79342cc5d76a70d0a_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

以 ZKB-2R1L 出厂默认通讯参数如下:


站号:01


波特率:115200


数据格式:8,N,1


与电脑连接的端口:客户查看电脑设备管理器中的COM口,选择实际使用的端口


1.1.1添加设备

选择:新建> 驱动 [ModbusRTUClient] > 自定义设备名称,


如下图所示:

c2afc3d33849c6e1f4bdd5ab372a2a8a_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png




选择“确认”出现设备串口通讯参数设置,


自定义通道的名称 >  设置通讯串口参数 ,


如下图所示:

4338c0f1e2f77b9ae50b80effbedcad6_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


选择“确认”右键,出现设备串口通讯参数设置(一般默认)


如下图所示:

9e937ea4e59c8eb81070718ad7dec867_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


选择“确认”右键,添加标签


自定义点名 > 数据类型 > 数据的地址


如下图所示

b3349be251343f8eb7610ed69a106e9f_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


就会出现添加数据,启动监控,就可以看数据了

19226a0ee6a7c9a41859a8f61131bd98_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

1.2读取 DI 状态

以 ZKA-4488-RS485为例:


  8路 DI的 寄存器为 10001~10008


4e51c2f958340ca8a612330508ea0a37_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

1.3输出/读取 DO 状态



以 ZKA-4488-RS485为例

b00a68909586db61e19c8fc003324ee4_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


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。

image.png


第 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)。

bbd0d60005021fd4747630dc9c028f50_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


第 1 通道输出电流值为 10000x0.0003125=3.125mA


注意:ZKA模块AO输出寄存器是AO的原始值,客户需要在此基础上乘以一个量纲系数才能得出想要的量纲读数,

例如,电流的型AO输出的量纲系数为0.0003125,如果想要输出3.125ma,则要设置AO寄存器为10000,依次

类推。























1分不嫌少!


楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师