系统架构
One 是一款分层控制器。每一层从上一层接收指令,经过处理后,向下一层发送命令。实时活动(如伺服循环)在较低层级处理,时间要求较低的活动(如程序编辑与显示)则在较高层级处理。以下软件组件按从最高层到最低层的顺序列出,请参考图:系统架构图。
第四层:Windows 应用程序
第三层:编程接口
第二层:控制器运行时
第一层:驱动器与现场硬件
随 One 控制器提供的基础软件包包含 .NET SDK、C API 以及 Coretech 实用程序。您可使用 C API 以 C 或 C++ 语言开发定制应用程序,也可通过 .NET SDK 以C#或任何其他 .NET 语言创建定制应用。实用程序则用于配置、故障排查及操作控制器。
MotionCoder、DigitalScope应用程序以及自定义应用程序可以同时在 PC 上运行,并可以同时连接同一台控制器。
图:系统架构图
表:第4层 Windows 应用程序
| 应用 | 描述 |
|---|---|
| 配置管理器 | 编辑参数、配置轴,查看系统状态的主程序。 |
| 运动编程器 | 开发 OneScript 程序、点动轴并查看状态。 |
| 数字示波器 | 收集并分析控制器实时数据,创建一维和二维图表。 |
| 定制应用 | 一个用户编写的应用程序,它使用一个或多个提供的软件接口。 |
表:第3层 编程接口
| 接口 | 描述 |
|---|---|
| .NET SDK | 使用 C#等 .NET 语言为 One 开发自定义应用程序的主接口,提供命令、参数、变量、任务与事件的完整对象模型。有关详细信息,请参阅 One 编程帮助文件中的 .NET 部分。 |
| C API | 使用 C 或 C++ 语言为 One 开发自定义应用程序的原生接口。.NET SDK 亦构建于其上。有关详细信息,请参阅 One 编程帮助文件中的 C 库部分。 |
表:第2层 控制器运行时
| 组件 | 描述 |
|---|---|
| One 服务 | 以 Windows 服务方式运行的监管进程:启动并监护控制器进程,同时托管独立的固件更新通道。 |
| 控制器 | 面向所有 Windows 应用程序的命令服务:执行 OneScript 程序、管理参数与 EtherCAT 网络配置,并将运动指令下达给实时内核。 |
| 实时内核 | 运行在 PC 实时环境中的确定性实时组件,以实时周期执行运动任务、生成轨迹并与所有网络驱动器通信。实时内核的优先级高于 PC 上运行的所有 Windows 进程。 |
表:第1层 驱动器与现场硬件
| 组件 | 描述 |
|---|---|
| 实时总线 | 连接控制器与所有现场设备的实时现场总线,周期性地交换过程数据,最多支持 32 轴。 |
| 驱动器 | Coretech 智能驱动器,在驱动器本地完成伺服控制与电流环,固件通常已预装在硬件上。 |
| 电机与编码器 | 电机包括无刷伺服电机、直驱电机等;反馈支持旋变与各类编码器。 |
表:通信通道
| 通道 | 描述 |
|---|---|
| 命令与数据通道 | 基于以太网的 UDP 通道,承载 Windows 软件层与控制器运行时之间的所有命令、状态与数据交换。 |
| 固件更新通道 | 独立于命令通道的以太网 UDP 通道,仅用于固件包的下载、校验与应用。 |
| EtherCAT 现场总线 | 控制器运行时与驱动器之间的实时周期通信通道。 |
在实时分工上,Windows 应用程序只负责界面与程序编辑,不承担任何实时职责;实时内核以确定实时周期完成任务调度、轨迹插补与总线交换;驱动器则在本地以更高的频率闭合伺服环与电流环。因此,上层应用的负载不会影响运动的确定性执行。