Apros 仿真软件可以有各种目的的用法,例如:支持工艺过程和自动化设计,测试,操作员培训,操作,重新设计和维护。 对于系统生命周期中的不同阶段,都有许多其他应用程序用于执行计算,可视化结果,连接到电厂测量等。Apros与这些应用程序之间的重要连接可轻松配置,且高效、可靠。 Apros提供了几种可将外部软件连接到仿真引擎的备选方案,例如 OPC,Apros通信库(ACL),外部模型,SCL用户组件以及格式化的数据和序列文件。
OPC 接口
Windows客户端可以通过OPC接口访问Apros模型数据。 OPC是一种工业事实上的通信标准,它规定了例如数据和事件交换的接口。该规范得到了自动化系统和可视化工具提供商的广泛支持。
图?1. ?Apros?通讯
有关OPC的信息,例如所有已发布规范的列表,可从OPC基金会的网页(http:/www.opcoundation.org)获得。
目前,Apros提供OPC UA,DA和XML DA接口。Apros利用这些接口,提供了浏览其地址空间以及向其读取和写入数据项的方法。
Apros还提供使用与OPC相同的通信协议的自定义接口,但提供特定于模拟器的功能。这些接口包括例如:用于启动和停止仿真,故障处理,仿真运行记录和调整仿真速度的路径。
在OPC兼容工具可用的情况下,OPC通信是一个很好的选择。OPC的好处在于,通过使用兼容工具,可以链接Apros数据,无需任何编程即可在其他软件中使用。
ACL – Apros 通讯库
Apros通信库(ACL)是一个低级库,使客户端软件能够提供Apros命令和交换数据。 该库的实现建立在TCP / IP协议之上,并且可以在可以使用Apros的相同硬件和操作系统平台上使用。该库的头文件有C,C ++和FORTRAN三种语言版本。
ACL中有两种类型的通道。 命令通道接受格式化的ASCII数据,其中包含用Apros命令语言编写的命令。 不同类型的数据通道以非常高的速率向Apros传入数据和从Apros导出数据。
如果定制代码需要作为单独的可执行程序实现,ACL是一个很好的选择,并且由于某种原因,不能使用OPC接口。 可能的原因是高性能要求,需要移植到除Windows以外的其他平台,或需要提供Apros命令。
外部模型
在Apros仿真引擎中定制的计算模型可以直接链接在仿真周期中。该特征可以用于例如:用于将单元模型、反应或相关性插入到Apros仿真或与其他通信工具中。最终用户可以完全隐藏实现的模型,因为不需要提供源代码来使用模型。
外部模型的开发很简单,用户可以直接使用包含Apros 示例代码作为自己代码一部分。
当仿真开始后,模型将会加载相应的库,并在每一个时间步长结束时会调用其中的路径。类似的功能可以在仿真开始时实现外部模型初始化,并在仿真运行结束时进行清理。外部模型库是在仿真运行期间发布的,这使得开发这些模型变得更加容易。
可以使用任何支持实现stdcall函数和构建动态可链接(共享)库的编程工具。 Apros 本身提供了使用标准C和FORTRAN语言的示例实现。
当需要Apros模型和自定义代码之间进行极端通信性能或严格执行同步时,外部模型是一个不错的选择。 另一个好处是最终的软件架构相对简单,因为不需要进程间通信。 这是一个主要优势,特别是如果在仿真中存在大量用户制造的模型。
SCL 用户组件
SCL用户组件的功能是可以定义自己的用户组件,该组件可以使用通用Apros?组件,定义自己的属性并包含使用SCL编码的其他功能。 SCL是Apros 特定的功能脚本语言。 它提供了典型的编程语言结构以及用于配置模型和运行仿真机实验的Apros?特定路径。
格式化数据和顺序文件
Apros 还可以通过格式化的数据文件与其他程序通信。这些数据文件可包含例如:模型配置数据或时间序列数据。文件可以由Apros 生成,也可以由Apros 读取。
图2. SCL用户组件案例。用户组件包含 1个管道。
仿真模型配置可以用SCL语言编写。这些数据库定义可以由其他软件产生,例如: CAD系统,将其读入仿真引擎。
可以使用SCL语言或命令队列文件编写仿真序列。这些可以定义仿真实验期间发生的所有事件。事件可能是例如故障,模型参数的更改或读取或写入操作等。此外,还可以使用SCL标准实现更复杂的功能,例如结束仿真或优化周期。
Apros 仿真引擎可以读取和写入时间系列的数据文件。 输出的时间系列文件可用于任何合适的数据系列处理软件(例如Excel),以进行可视化或进一步分析。输入的时间系列文件可以配置形成与仿真模型中时间相关的边界条件。