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·

