首页 > 其他分享 >LabVIEW通过ADS OCX实现与倍福TwinCAT3的通信测试

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

时间:2023-08-04 10:25:10浏览次数:33  
标签:读取 NetId TwinCAT3 Twincat3 OCX 地址 PLC ADS

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的触发即可实现变量的读取。

 

标签:读取,NetId,TwinCAT3,Twincat3,OCX,地址,PLC,ADS
From: https://www.cnblogs.com/ybqjymy/p/17605175.html

相关文章

  • TwinCAT3中松下伺服A6BF的全闭环设置步骤
    以TwinCAT3和A6BF进行全闭环测试,带有编码器和绝对式光栅尺,实测有效;扫描硬件首先安装EtherCAT网口驱动:点击安装网卡驱动(TWINCAT-ShowRealtimeEthercatCompatibelDevices,然后选中某个设备,点击Install;将官网下载的Panasonic_MINAS-A6BF_V1_3.xml文件导入D:\TwinCAT\3.1\Confi......
  • TwinCAT3 PLC中在Action中控制电机运动的教训
    -目的在Action中编写逻辑,控制任意电机的启停运动。-错误案例逻辑和电机控制在两个Action中,发现电机不运行,不知何故。-正确案例注意:1.开头bComPoweOn一定放在外面用来使能;2.用Case语句时,下面的必须加在初始0上;rDistance[1]:=0.0;rVelocity[1]:=0.0;bComMoveRela[1]:=FALSE......
  • 倍福Beckhoff TWinCAT ADS PLC编程
    一、倍福TWinCATADS简述在BeckhoffTwinCAT系统中,各个软件模块(如TwinCATPLC、TwinCATNC、Windows应用程序等)及硬件系统CX、BX、BC系列控制器中包含TwinCAT信息路由器。因此各个ADS设备之间都能够交换数据和信息。二、TWinCatADS设备标识每台TwinCATADS设备都有各自不......
  • Qt 通过ADS实现倍福TwinCAT通信
    ADS通信分为两种:同步方式和异步方式。同步方式ADS客户端向ADS服务器发送ADS请求,在通信过程中客户端程序停止执行,直到获得ADS服务器返回的响应又可分为变量名方式和地址方式异步方式ADS客户端向ADS服务器发送ADS请求,同时客户端继续自己的工作。ADS服务器处理......
  • Qt 调用倍福TwinCAT通讯模块(TcAdsDll)
    Qt实现TwinCAT通讯目前这种方式是通过调用TwinCAT提供的AdsApi与倍福PLC通讯的。要求本机安装TwinCAT(无需作为主机,但是可能这个api依赖TwinCAT的一些服务)。关于AdsApi的官方资料请看这里,有函数的详细解释,还有例子。你值得拥有。https://infosys.beckhoff.com/english.php?conte......
  • Qt TwinCAT3中的变量回调函数的时间戳读取方式
    官网提供了例程,官网真是个宝库。基本ADS的操作都里面有例程了,但是可能会稍微分散一点,不过多看几遍,也就慢慢整理你所需要的东西出来了。https://infosys.beckhoff.com/index_en.htm1#include<Windows.h>2#include<conio.h>3#include<winbase.h>45#include<TcA......
  • Qt ADS中通过变量名访问变量的值
    在倍福提供的TwinCATADS的库的C(C++)接口中,有两种方式可以访问到PLC中的变量:根据地址访问、根据变量名访问。根据地址来访问的代码如下:1...2QStringhostNetId="192.168.12.51.1.1";3inthostPort=851;4AmsAddrtargetAddr=createAddr(hostNetId,hostPort);//这个......
  • This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its de 错
    这是我们开启了bin-log,我们就必须指定我们的函数是否是1DETERMINISTIC不确定的2NOSQL没有SQl语句,当然也不会修改数据3READSSQLDATA只是读取数据,当然也不会修改数据4MODIFIESSQLDATA要修改数据5 CONTAINS SQL包含了SQL语句其中在function里面,只有DETERMINISTIC,......
  • DSP、双核AD21573WCBCZ402、ADSP-21573KBCZ-5属于SHARC系列处理器产品
    概述:ADSP-2157x处理器属于SHARC系列产品。ADSP-2157xSHARC处理器属于单指令多数据(SIMD)SHARC系列数字信号处理器(DSP),采用ADI公司的SuperHarvard架构。这些32/40/64位浮点处理器针对高性能音频/浮点应用进行了优化,具有大容量片内静态随机存取存储器(SRAM),可消除输入/输出(I/O)......
  • json 包 转字符串为dict json.loads(data_str)
    importjson##假设有一个JSON对象#data={#"name":"John",#"age":30,#"city":"NewYork"#}###将JSON对象转换为字符串#json_str=json.dumps(data)##print(json_str)#str转json类型是字典data_......