ADS - TwinCAT
自动化设备规范(ADS)协议作为集成到TwinCAT系统中的传输层,由Beckhoff设计并开发。
控制器中的每个数据项都有一个独特的地址,可以通过OIBus上的ADS连接器方便地访问。
OIBus使用ads-client库来实现这一目的。
特定设置
OIBus使用ADS协议连接到AMS路由器。AMS路由器作为中介,将诸如OIBus之类的ADS客户端连接到PLC和TwinCAT运行时。这种连接性使OIBus能够访问PLC中的数据。
具体的配置可能性取决于AMS路由器的放置和位置。
与本地AMS服务器(TwinCAT运行时)
当TwinCAT安装在与OIBus相同的机器和网络上时,ADS连接器能够利用TwinCAT运行时,使用其Net ID和PLC Port与PLC直接通信(无需指定路由器地址、路由器TCP端口、客户端AMS Net ID、客户端ADS端口)。
Net ID是一个类似IP地址加上两个额外数字值的地址。通常,Net ID对应于网络中用来访问PLC的IP地址,并增加两个附加数字,以区分可通过单个AMS路由器访问的多个PLC。例如,一个示例Net ID可能看起来像是127.0.0.1.1.1
。
端口指定了AMS路由器中用于与PLC连接的通信终端,默认设置为851。
与远程AMS服务器
连接到远程AMS服务器时,您需要Net ID和PLC Port以及几个附加字段:
- 路由器地址:这是AMS路由器的IP地址或域名。
- 路由器TCP端口:AMS路由器用于通信的端口。确保此端口得到网络和操作系统防火墙的允许。
- AMS Net ID:这是用于与TwinCAT运行时建立连接的客户端标识符。
- ADS客户 端端口(可选):您可以指定客户端用于数据交换的端口。如果留空,AMS服务器将分配一个随机端口。如果您选择指定端口,请确保它不是已被其他客户端使用的端口。
要启用ADS连接器与TwinCAT运行时之间的通信,您必须使用_TwinCAT静态路由_工具配置静态路由。以下示例展示了如何使用AMS Net ID配置两条路由,它应在OIBus方使用。关键的是,AMS Net ID在与静态路由中指定的IP地址一起使用时才有效。
指定的AMSNetId必须填写在OIBus配置的AMS Net ID字段中。
OIBus一次只支持一个远程ADS连接器。如果您需要同时连接到两个不同的PLC,则可以通过使用本地AMS服务器来实现。
其他特定设置
这里还有一些额外的配置选项:
- 重试间隔:尝试重连前的等待时间。
- PLC名称:您可以指定一个添加到每个项目名称前的前缀,然后它们会被发送到北向缓存中。例如,以PLC名称为
PLC001.
(包括点),一个项目名称为MyVariable.Value
,一旦检索到值,最终的名称将是PLC001.MyVariable.Value
。这有助于区分来自不同PLC的数据。另一个PLC的结果项目名称可能类似PLC002.MyVariable.Value
。 - 枚举值:您可以选择将枚举序列化为整数还是文本。
- 布尔值:您可以选择将布尔值序列化为整数还是文本。
- 结构过滤:有关结构过滤的详细信息,请参阅特定文档。
在通过两个不同的ADS连接器检索具有共享点地址模式的类似PLC的数据并将其发送到同一个北向连接器的情况下,即使数据来自不同的PLC,最终的值可能具有相同的点ID。