TRICONEX英维斯 3706A【3706A】
TRICONEX英维斯 3706A【3706A】
实时域在设计上遵循实时操作系统的设计原则,即系统具有透明性、模块化和可扩展性。RT-Linux的实时内核由一个核心部分和多个可选部分组成,核心部分只负责高速中断处理,支持SMP操作且不会被底层同步或中断例程延迟或重入。其它功能则由可动态加载的模块扩充。RT-Linux把不影响系统实时性的操作(即非实时域的操作)都留给了非实时的Linux系统完成。基于多任务环境的Linux为软件开发提供了丰富的系统资源,如多种进程间通讯机制,灵活的内存管理机制。
嵌入式PLC的设计及实现
嵌入式PLC的模块组成
数控系统的PLC控制模块实时性要求较高,因而必须在系统的实时域内运行。根据通用数控系统的PLC控制以及数控系统软件模块化设计的要求,将数控系统的PLC控制模块作为RT-Linux系统的实时任务之一,其优先级和调用周期取决于数控系统各任务的实时性要求以及控制要求的响应时间。PLC控制模块主要完成数控系统的逻辑控制,而被控制的输入输出也就是I/O的输入输出由PC机I/O接口卡输入输出模块来完成,即完成数控系统的PLC控制需要两个RT-Linux实时任务,如图3所示,这两个任务分别为RT-Task1(以下称“适配卡输入输出”)、RT-Task2(以下称“PLC控制”)。
图3是基于RT-Linux系统的嵌入式PLC实时任务关系图,其中适配卡输入输出主要是完成数控系统的输入输出,即各轴位置控制命令的输出、I/O的输出、I/O输入以及位置反馈输入,它实际上是数控系统控制卡的设备驱动模块,其优先级在数控系统的各实时任务中为**。根据其硬件特征以及运动控制要求,其响应周期为100μs,响应时钟周期由PC机I/O接口卡上的硬件定时器产生。根据RT-Linux系统对硬件中断的响应机制,输入输出控制任务的实时性是可以保证的,这一点在我们的数控系统已经得到验证。