LabVIEW通过ADS OCX实现与倍福TwinCAT3的通信测试

发布时间 2023-08-04 10:15:59作者: 一杯清酒邀明月

LabVIEW通过ADS实现与倍福TwinCAT3通信的方法包括:

  • ADS DLL
  • ADS OCX
  • ADS NET

对于变量的读取分为定时轮询方式和事件触发方式。又可分为按地址读取和按变量名读取。
本文介绍ADS OCX方法,分别介绍定时轮询方式和事件触发方式。

读取状态-定时轮询
192.168.0.105.1.1为NetId的地址(通过右击右下角图标,Router-Change AMS NetId,可以找到NetId的地址)。
端口号默认为851。
首先连接到PLC设备,再通过方法调用来读取。

读取变量-定时轮询-地址方式
在Twincat3的PLC程序中定义Main.PLCVar地址为PLCVar AT %MX0.0 : BOOL。
192.168.0.105.1.1为NetId的地址(通过右击右下角图标,Router-Change AMS NetId,可以找到NetId的地址)。
端口号默认为851。
首先连接到PLC设备,输入IndexGroup和IndexOffset。

 IndexGroup如下表:

 IndexOffset如下图寻找

读取变量-定时轮询-变量名方式
在Twincat3的PLC程序中定义Main.PLCVar,定义为BOOL类型。
192.168.0.105.1.1为NetId的地址(通过右击右下角图标,Router-Change AMS NetId,可以找到NetId的地址)。
端口号默认为851。
首先连接到PLC设备,建立变量的句柄,再通过方法调用来读取。

写入变量-定时轮询-变量名方式
在Twincat3的PLC程序中定义Main.PLCVar,定义为BOOL类型。
192.168.0.105.1.1为NetId的地址(通过右击右下角图标,Router-Change AMS NetId,可以找到NetId的地址)。
端口号默认为851。
首先连接到PLC设备,建立变量的句柄,再通过方法调用来写入变量。

读取变量-事件触发-变量名方式
在Twincat3的PLC程序中定义Main.testInt,定义为INT类型。
192.168.0.105.1.1为NetId的地址(通过右击右下角图标,Router-Change AMS NetId,可以找到NetId的地址)。
端口号默认为851。
首先连接到PLC设备,调用方法与事件回调,通过Twincat3的触发即可实现变量的读取。

读取结构体-事件触发-变量名方式
在Twincat3的PLC程序中定义Main.stTCtoLV,定义为STRUCT类型。
192.168.0.105.1.1为NetId的地址(通过右击右下角图标,Router-Change AMS NetId,可以找到NetId的地址)。
端口号默认为851。
首先连接到PLC设备,调用方法与事件回调,通过Twincat3的触发即可实现变量的读取。