在 TwinCAT 3 中,Beckhoff 为基于 PC 的控制技术引入了更新一代的软件,通过许多强大的新功能拓展自动化产品。若用专业的术语表达,这项新技术就是:eXtended Automation(XA)。它包含 XA 架构,该架构由 XA Engineering 和 XA Runtime 组件构成。
在 TwinCAT 3 和 eXtended Automation Technology(XAT)中包含灵活的基于 PC 的控制软件,将显著扩大标准自动化领域的潜力。除了基于面向对象的 IEC 61131-3 标准语言扩展外,也可通过 C 和 C++ 使用 IT 领域的编程语言。此外,Matlab/Simulink的集成能够轻松地将自动化与科学领域联系起来。所有这些都可在一个灵活的工程环境中实现。软件模块能够在相同的运行时内以不同的语言运行。这种模块化的优点在于,它能够提高被编写并测试后的模块重用性。运行时在所需的实时条件内运行,采用多核技术,并支持 32 或 64 位操作系统。
eXtended Automation Architecture
eXtended Automation Architecture(XAA)内仍保留了为人们所熟悉的 TwinCAT 功能特点。此外,将来还可支持所有广泛使用的现场总线。当然,从 PTP到 CNC 的运动控制软件仍可使用 XAA。这种纯粹的自动化技术使得 TwinCAT 软件在科学自动化领域中的应用范围更加广泛,如机器人技术、测量技术以及工况监控。新的功能包括它能够使用更多如 C/C++ 和 Matlab/Simulink 的编程语言。
eXtended Automation Engineering
eXtended Automation Engineering environment(XAE)实质上就是广泛使用的 Microsoft Visual Studio。除了现有的 C/C++ 语言之外,Beckhoff 还将 IEC 61131-3 编程标准集成到这一获得全球认可的编程环境中。从而可将 IT 框架的优点和便利性应用到自动化领域。
TwinCAT 系统管理器 — 用于 I/O 和运动控制的配置工具 — 同样也集成到了相同的开发环境中。这样做的好处是能够轻松集成更多的编程语言或使用其它的工具,如源代码管理工具。
有两种方式可将它们集成到 Visual Studio 中。在 TwinCAT 标准版中,仅使用了 Visual Studio 的框架以及它在数据处理、与资源管理软件的链接以及帮助功能等方面所具备的所有优点。
在第二个版本中,TwinCAT 3 组件直接集成入 Visual Studio 2010(如果系统中已经安装 Visual Studio 2010)。如果没有,Visual Studio 与 TwinCAT 3 组件一起安装。在这个版本中,编程语言 C/C++ 以及通过 Matlab/Simulink Real-Time 至 WorkshopMatlab/Simulink 的接口可提供给用户。为编程语言 C/C++ 开发的带在线监控功能的调试程序扩展了 C/C++ 的标准调试功能。
eXtended Automation Runtime
在 eXtended Automation Runtime(XAR)中,所有由IEC 61131、C/C++ 或 Matlab/Simulink 编写的模块被实时处理。这里使用基于Microsoft 操作系统的成熟的TwinCAT 实时核。任务能够在 50 μs 的极小周期时间内得到处理,并且抖动量非常小。TwinCAT 实时核也得到了扩展,能够将特定的任务分配给多核 CPU 的不同内核内处理。从而更进一步提升了 PC 控制器的性能。
同时,TwinCAT 3还支持目前广泛使用的 64 位操作系统。只有使用接口清晰的模块化软件结构才能够处理用不同编程语言编写的运行时对象。这些所谓的 TcCOM 接口基于普遍的组件对象模型(Component Object Model),并已应用于自动化技术。模块可由任务通过这些接口调用,模块之间也能够相互调用,与编程语言无关。在最低层,Automation Device Drivers(ADD)也可用这一模块定义执行。例如,它们可以是用于新型现场总线的驱动程序。
TwinCAT 3 采用了多核 CPU,可在每个核上运行不同的任务,充分利用了每个核的资源,从而大幅提高了处理速度,因此,与之前的版本相比,它具有更加开放、更加灵活、更容易扩展等优点,其处理速度也比当前基于 PC 的控制器更快。TwinCAT 3 遵循的是一体化理念,将所有主流的自动化和 IT 领域中的编程语言都集成在一起,从而显著简化软件工程。
除了能够根据 IEC 61131-3 的第三个版本进行控制器编程外,使用最新的 TwinCAT 3 架构还能够使用 C 和 C++ 作为编程语言。TwinCAT 3 Runtime 已经被重构,目的是让它更加开放、更加灵活。现在,它创建了一个 TwinCAT 3 模块能够在其中运行的环境。这样,这些模块是否是 PLC、NC 或 CNC 模块,还是从 C 代码(如 Matlab/Simulink)生成的模块已不再重要。