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

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设备,再通过方法调用来读取。LabVIEW通过ADS OCX实现与倍福TwinCAT3的通信测试_第1张图片

读取变量-定时轮询-地址方式

在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。
LabVIEW通过ADS OCX实现与倍福TwinCAT3的通信测试_第2张图片
IndexGroup如下表:
LabVIEW通过ADS OCX实现与倍福TwinCAT3的通信测试_第3张图片

IndexOffset如下图寻找:在这里插入图片描述
LabVIEW通过ADS OCX实现与倍福TwinCAT3的通信测试_第4张图片

读取变量-定时轮询-变量名方式

在Twincat3的PLC程序中定义Main.PLCVar,定义为BOOL类型。
192.168.0.105.1.1为NetId的地址(通过右击右下角图标,Router-Change AMS NetId,可以找到NetId的地址)。
端口号默认为851。
首先连接到PLC设备,建立变量的句柄,再通过方法调用来读取。
LabVIEW通过ADS OCX实现与倍福TwinCAT3的通信测试_第5张图片

写入变量-定时轮询-变量名方式

在Twincat3的PLC程序中定义Main.PLCVar,定义为BOOL类型。
192.168.0.105.1.1为NetId的地址(通过右击右下角图标,Router-Change AMS NetId,可以找到NetId的地址)。
端口号默认为851。
首先连接到PLC设备,建立变量的句柄,再通过方法调用来写入变量。
LabVIEW通过ADS OCX实现与倍福TwinCAT3的通信测试_第6张图片

读取变量-事件触发-变量名方式

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

读取结构体-事件触发-变量名方式

在Twincat3的PLC程序中定义Main.stTCtoLV,定义为STRUCT类型。
192.168.0.105.1.1为NetId的地址(通过右击右下角图标,Router-Change AMS NetId,可以找到NetId的地址)。
端口号默认为851。
首先连接到PLC设备,调用方法与事件回调,通过Twincat3的触发即可实现变量的读取。
LabVIEW通过ADS OCX实现与倍福TwinCAT3的通信测试_第8张图片

参考资料:
https://infosys.beckhoff.com/english.php?content=…/content/1033/tcsample_labview/html/tcadsocx_api_labview_setup.htm&id=

你可能感兴趣的:(Beckhoff,Labview)