Beckhoff ADS (Automation DeviceSpecification)提供一个应用程序之间互相通信的接口,在TW3系统中,TwinCAT PLC,TwinCAT NC等被设计成虚拟的自动化设备,类似于实际的物理设备与设备之间通过基于TCP协议的路由来交换信息,参考下面的图示
ADS设备最重要的两个属性就是端口号和AdsAmsNetId
? AdsPortNr 指定通信的虚拟设备(ADS server),比如PLC,NC
? AdsAmsNetId 指定ADS路由器,是TCP IP地址的扩展
ADS 设备之间的通讯有多种方式,不同方式有不同的特点。
1.一般的ADS 通讯(General ADS Services)
- 异步方式(Asynchronous)
ADS 客户端向ADS 服务器发送ADS 请求,同时客户端继续自己的工作。ADS 服务器处理请求后,把响应以Call-back 函数方式发给客户端。
- 通知方式(Notification)
ADS 客户端向ADS 服务器发送ADS 请求,ADS 服务器以Call-back 函数的方式不断向客户端发送响应,直到客户端取消该请求。PLC变量不更新,就不会向客户端相应,类似于OPC通信的订阅。
这两种通讯方式的效率高,但需求复杂的客户端程序。
优点:不会造成系统堵塞
缺点:不能确保每次请求都有返回
2.特殊的ADS 通讯(Specific ADS Services)
TwinCATADS 设备和Windows应用程序(例如VB、VC 应用程序等)之间的通讯除了可以采用一般的ADS 通讯方式外,还可以采用特殊的通讯方式,即同步通讯方式。
- 同步方式(Synchronous)
ADS 客户端向ADS 服务器发送ADS 请求,在通讯过程中客户端程序停止执行,直到获得ADS 服务器返回的响应。
这种通讯方式不需求复杂的客户端程序,但其轮循的通讯方式给系统带来比较大的负载,因此通讯效率较低。
优点:能即时返回结果
缺点:如果通讯故障会造成系统堵塞
TwinCAT ADS访问变量有两种方式:
1.地址方式
一个PLC变量的地址由两部分组成:GroupIndex和OffsetIndex:
GroupIndex一般用于区别寄存器类型,在TwinCAT ADS设备中为常量,具体内容可以参考Information System(后附常用的GroupIndex值)。
OffsetIndex为变量的偏移地址,在PLC中为该变量的地址。
2.变量名方式
在TwinCAT ADS设备中每个变量都有一个句柄(Handle)。
适用变量名访问变量首先需要得到该变量的句柄。(不同的高级语言方式略有不同)
本文暂时没有评论,来添加一个吧(●'◡'●)