RAS扩展功能包是acontis公司在EC-Master EtherCAT主站基础上提供的一套基于TCP/IP的客户端/服务器架构的Remote API。Remote API旨在远程API提供了一个接口,解决在操作系统中当第二个进程(例如OPC服务器)可能访问EtherCAT总线的数据或在EtherCAT主站上执行操作。在两个不同的操作系统或者某些操作系统下的两个应用程序(EXE–文件)无法访问彼此的内存,因此Remote API通过TCP/IP连接并提供了两个应用程序的完整交互机制。
由于Remote API基于客户端/服务器的架构,如果需要实现此功能时连接设备的两端均要通过初始化实现连接功能。Remote API Server功能已经在EC-Master EtherCAT主站中默认集成并完成初始化。远程应用程序使用时需要注意的是同样需要初始化Remote API的操作,Remote API的封装库中包含EC-Master远程服务器的连接和抽象。连接初始化连接后,远程客户端上所有调用都可以像操作“本地”EtherCAT主站协议站一样。
连接状态机
Remote API除了实现EC-Master的远程映射和远程调用外,还考虑到为用户提供一个更为合理的用户应用调用状态机,以方便用户应用程序集成和连接管理。
使用远程连接时,在某些情况下需要注意远程API连接的内部结构。例如Remote API支持在临时断开连接(例如断线)时会在固定时间内尝试重新连接到Remote Server,如果重新连接失败,并会通知一个错误。如果在指定时间内无法恢复连接,再次重连时Remote API会重新注册客户端。这样Remote API Server确保主站远离未使用的内存,并且提供尽可能高的稳定性和对主站集成的实时应用程序(例如 PLC 运行时系统)的最小影响。
下图显示了连接生命周期中使用的各种状态。通过Remote API中产生的状态机变化,使用Remote API的开发者可以通过图状态机变化更合理管理和集成应用程序。
Remote API应用案例
Acontis EC-Engineer网络配置工具中集成了Remote API Client,EC-Engineer可以通过TCP/IP快速连接到EC-Master EtherCAT主站或者EC-Simulator从站仿真软件中。通过EC-Engineer的远程访问功能,可能查看连接到设备上的每个从站PDO周期变化,并向指定从站发送EtherCAT操作指令。