数控系统的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输入以及位置反馈输入,它实际上是数控系统控制卡的设备驱动模块,其优先级在数控系统的各实时任务中为Zui级。根据其硬件特征以及运动控制要求,其响应周期为100μs,响应时钟周期由PC机I/O接口卡上的硬件定时器产生。根据RT-Linux系统对硬件中断的响应机制,输入输出控制任务的实时性是可以保证的,这一点在我们的数控系统已经得到验证。
6ES7518-4AP00-0AB0 | CPU 1518-4 PN/DP,3 MB 程序,10 MB数据, 集成3PN,1DP | |
6ES7517-3AP00-0AB0 | CPU 1517-3 PN/DP, 2MB程序,集成 2PN接口,1 以太网接口,1DP 接口 | |
6ES7516-3AN00-0AB0 | 6ES7516-3AN01-0AB0 | CPU 1516-3PN/DP:1 MB 程序,5 MB 数据;10 ns ;集成 2PN 接口,1 以太网接口,1DP 接口 |
6ES7515-2AM00-0AB0 | 6ES7515-2AM01-0AB0 | CPU 1515-2 PN,500K程序,3M数据,集成 2PN接口 |
6ES7513-1AL00-0AB0 | 6ES7513-1AL01-0AB0 | CPU 1513-1PN:300 KB 程序,1.5 MB 数据;40 ns;集成 2PN 接口, |
6ES7511-1AK00-0AB0 | 6ES7511-1AK01-0AB0 | CPU 1511-1PN:150 KB 程序,1 MB 数据;60 ns;集成 2PN 接口, |
6ES7512-1DK00-0AB0 | 6ES7512-1DK01-0AB0 | CPU 1512SP-1 PN, 200KB 程序,1MB数据 |
6ES7510-1DJ00-0AB0 | 6ES7510-1DJ01-0AB0 | CPU 1510SP-1 PN, 100KB 程序,750KB数据 |
6ES7507-0RA00-0AB0 | PS:60 W,额定输入电压 AC/DC 120/230 V | |
6ES7505-0RA00-0AB0 | PS:60 W, 额定输入电压 DC 24/48/60 V | |
6ES7505-0KA00-0AB0 | PS:25 W,额定输入电压 DC 24 V | |
6ES7532-5HF00-0AB0 | AQ 8:模拟输出模块,8AQ,U/I ,高速 | |
6ES7532-5NB00-0AB0 | AQ 2: 模拟输出模块,2 AQXU/I ,标准型,25mm,包含前连接器 | |
6ES7532-5HD00-0AB0 | AQ 4:模拟输出模块,4AQ,U/I | |
6ES7531-7NF10-0AB0 | AI 8:模拟输入模块,8AI,U/I,高速 | |
6ES7531-7QD00-0AB0 | AI 4: 模拟输出模块:XU/I/RTD/TC ST, 25mm,包含前连接器 | |
6ES7531-7KF00-0AB0 | AI 8:模拟输入模块,8AI,U/I/RTD/TC | |
6ES7534-7QE00-0AB0 | AI4/AQ2:模拟量输入/输出模块4AI,2AO,标准型,25mm,包含前连接器 | |
6ES7523-1BL00-0AA0 | DI/DQ 16X24CDV/16X24VDC/0.5A BA,包含前连接器. | |
6ES7522-5HF00-0AB0 | DQ 8:数字输出模块,8DQ,继电器,230 V AC/ 5A | |
6ES7522-5FF00-0AB0 | DQ 8:数字输出模块,8DQ,可控硅,230V AC/ 2A | |
6ES7522-1BL00-0AB0 | DQ 32:数字输出模块,32DQ,晶体管,24 V DC/ 0.5A | |
6ES7522-1BH00-0AB0 | DQ 16:数字输出模块,16DQ,晶体管,24 V DC/ 0.5A | |
6ES7522-1BF00-0AB0 | DQ 8:数字输出模块,高性能 8DQ,晶体管,24V DC/2A | |
6ES7522-1BL10-0AA0 | DQ 32x24VDC/0.5A BA ,包含前连接器 |
中PLC控制主要是完成数控系统的PLC控制功能,其任务优先级低于适配卡输入输出,也低于数控系统的精插补实时任务和位置伺服实时任务。根据通用数控系统的PLC控制要求,确定其响应周期为5ms,响应周期由RT-Linux的软件定时器产生,根据RT-Linux系统的实时多任务调度机制,PLC控制任务的实时性是可以保证的。在实际应用中也得到验证。
嵌入式PLC的实时任务模块数据通讯
完成数控系统PLC控制的两个实时任务之间由于需要输入输出的数据量(一般情况下为64输入,64输出,但输入输出根据需要还可以扩展)不太大,采用共享内存的通讯方式,在适配卡输入输出和PLC控制
两个实时任务之间开两块共享内存,一块用于适配卡向PLC控制传输I/O口状态信息,另一块用于PLC控制向适配卡输入输出任务传输经PLC逻辑处理后的控制信息。