Page 123 - 《橡塑技术与装备》2022年12期
P. 123

工业自动化                                                   肖琴 等·基于 LabVIEW 的多通道数据通讯应用


                输出信号首先需要创建一个任务,根据需要配置通                            几种 : AdsPortOpen,用于建立 TwinCAT 信息路由
                道、定时及触发属性         [5] ,启动任务后由 DAQmx  Read         器连接 ; AdsSyncWriteReq,同步写数据到一个 ADS
                和 DAQmx Write 进行数据采集传递。根据载荷测量                     设备 ; AdsSyncReadReq,从 ADS 服务器中同步读数
                的硬件结构配置虚拟模拟量输入通道口,现有两个测                           据; AdsPortClose,关闭 TwinCAT 信息路由器的连接。
                试工位分别对应采集卡的 Dev1/ai0 和 Dev1/ai1,指                 参照各相关函数的结构定义,其中 AdsSyncWriteReq
                定测量电压的限制范围 ±10V,输入接线端配置为差                         调用库函数的设置如下图 5 所示。
                分模式,给通道口分别命名电压 _0 和电压 _1,定义
                所使用的单位 Volts。使用 DAQmx Timing 采样时钟
                配置要获取的采样数,创建所需的缓冲区,并通过
                DAQmx  Read 读取指定任务中的采样,现任务中包
                含两个虚拟模拟量输入通道,每个通道均读取多个浮
                点采样。同样载荷调节输出任务利用 DAQmx  Creat
                Virtual Channel 和 DAQmx Write 函数进行相关配置,
                其 VI 程序框图如图 3、4 所示。



                                                                        图 5 AdsSyncWriteReq 调用库函数设置

                                                                      其中 pAddr 包含在 ADS 服务器中 AmsNetld 值
                                                                  和 AdsPort 值,AmeNetld 是 TCP/IP 地址的扩展,
                                                                  默认为在 IP 基础上增加 .1.1,也可以进行修改。每
                                                                  台 ADS 设备的 AdsPort 都是各不相同且固定不变的,
                         图 3 负荷传感器数据读取程序图
                                                                  AdsPort 值的分配表如表 1 所示。
                                                                               表 1 AdsPort 值分配表
                                                                             AdsPort 值                   ADS 设备
                                                                                 301                 additional Task 1
                                                                                 302                 additional Task 2
                                                                                 …                            …
                                                                                 500                         NC
                                                                                 801            PLC RuntimeSystem 1
                                                                                 811            PLC RuntimeSystem 2
                            图 4 负荷控制输出程序图                                        821            PLC RuntimeSystem 3

                3.3 Ethernet 接口通讯                                     IndexGroup 为 变 量 所 属 的 寄 存 器 类 型,Inde
                    在 Beckhoff TwinCAT 系统中,各个软件模                  xOffset 为变量的偏移地址,在 PLC 中为该变量的地
                块之间的信息交换通过 TwinCAT ADS 完成。基于                      址,在 PLC 中常用的寄存器类型赋值分配表如表 2 所
                TCP/IP 的 TwinCAT ADS 协议,可以实现 PLC 之间               示。
                及 PLC 与第三方应用程序之间的数据通讯                 [6] 。通常                表 2 寄存器类型赋值分配表
                                                                           IndexGroup 值                寄存器类型
                LabVIEW 与 TwinCAT 进行数据交换主要有两种形                              0x00004020                   M 寄存器
                式,一是通过动态链接库 (TcAdsDll.dll) 文件,二是                            0x00004021                   MX 寄存器
                                                                            0x0000F020                    I 寄存器
                通 过 OCX 控 件 (AdsOcx.ocx), 本 文 采 用 ADS-DLL                   0x0000F021                  IX 寄存器
                的方式通讯连接。利用函数库中的调用库函数节点                                       0x0000F030                  Q 寄存器
                                                                            0x0000F031                  QX 寄存器
                (Call Library Function Node) 可调用 TcAdsDll.dll 文
                件,在调用库函数配置对话框内可以选取需调用的函                               通过调用库函数实现 PLC 数据通讯的子 VI 程序
                数名以及指定调用函数的输入参数类型和返回值的类                           框图如图 6 所示。
                型  [7] 。在 TcAdsDll 动态链接库中常用的函数有以下



                      年
                2022     第   48 卷                                                                      ·67·
   118   119   120   121   122   123   124   125   126   127   128