倍福ADS通讯(一)——ADS通讯简介

本文介绍了Beckhoff TwinCAT系统中的ADS通信协议,用于软件模块间的数据交换。ADS协议位于应用层,每个设备有唯一的AdsAmsNetID和AdsPort。TwinCAT.Ads中间件用于连接和操作ADS设备,包括连接、读写数据及设备通知等功能。示例展示了如何使用TcAdsClient进行连接和操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(一)简介

在这里插入图片描述

在Beckhoff TwinCAT 系统中,各个软件模块(如TwinCAT PLC、TwinCAT NC、Windows 应用程序等)的工作模式类似于硬件设备,它们能够独立工作,各个软件模块之间的信息交换通过TwinCAT ADS 而完成。因此各个ADS 设备之间都能够交换数据和信息。

(二)ADS通讯协议概述

ADS通讯协议位于网络通讯协议的应用层
在这里插入图片描述

(三)ADS通讯协议的设备标识

1.每台ADS设备都有各自不同的AdsAmsNetID和AdsPort端口号,也是其最重要的两个属性。

2.AdsPort 指定通信的虚拟设备(ADS server),各不相同且固定不变,而ADS客户端应用程序的port则是可变的。创建plc程序的时候默认端口为851。

3.AdsAmsNetId 指定ADS路由器,是TCP IP地址的扩展。一台PC的IP为“192.168.10.10”时,AdsAmsNetId就是“192.168.10.10.1.1”。

4.ADS 客户端(ADS Client)应用程序的AdsPort 则是可变的。 不同ADS 设备的AdsPort 如下图所示:

(四)使用TwinCAT.Ads中间件

倍福腾讯需要使用TwinCAT的链接库
在这里插入图片描述
2.项目中引用链接库
在这里插入图片描述
3.添加命名空间:
using TwinCAT.Ads;

4.创建对象:
public static TwinCAT.Ads.TcAdsClient _adsClient = new TcAdsClient();

5.调用连接方法:
两种形式:包含NetID信息的和只有Port的,只有Port时,是C#应用程序运行在本地的情形,否则,需要指定NetID。正常情形下,端口号分TwinCAT3和TwinCAT2两种情形,TwinCAT3为851,TwinCAT2为801。
例:_adsClient.Connect(“192.168.10.30.1.1”, “851”);
_adsClient.Connect(iPort)

6.ADS常用方法

函数名描述函数名描述
AddDeviceNotification连接一个变量到ADS客户端ReadDevicelnfo读取ADS服务器的版本号
AddDeviceNotificationEx连接—个变量到ADS客户端ReadDevicelnfo读取ADS服务器的ADS状态和设备状态
Connect建立—个至ADS服务的连接ReadDevicelnfo读取一个变量的值,并返回object类型
CreateSymbolInfoLoader创建—个新的ReadDevicelnfo获取一个变量的信息
CreateVariableHandle生成—个ADS变量的唯一句柄ReadDevicelnfo将数据写入ADS服务器并读取数据
DeleteDeviceNotification删除设备通知ReadDevicelnfo将数据写入ADS服务器并读取数据
DeleteVariableHandle释放一个ADS变量句柄ReadDevicelnfo写入数据到ADS服务器
Read从ADS服务器读取数据ReadDevicelnfo改变ADS服务器的ADS状态和设备状态
ReadAny从ADS服务器读取数据ReadDevicelnfo写入一个变量的值

倍福官方文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值