数控系统的PLC控制模块实时性要求较高,必须在系统的实时域内运行。根据通用数控系统的PLC控制以及数控系统软件模块化设计的要求,将数控系统的PLC控制模块作为RT-Linux系统的实时任务之一,其优先级和调用周期取决于数控系统各任务的实时性要求以及控制要求的响应时间。PLC控制模块主要完成数控系统的逻辑控制,而被控制的输入输出也就是I/O的输入输出由PC机I/O接口卡输入输出模块来完成,即完成数控系统的PLC控制需要两个RT-Linux实时任务,如图3所示,这两个任务分别为RT-Task1(以下称“适配卡输入输出”)、RT-Task2(以下称“PLC控制”)。
硬件中断
通过硬件中断可以监控过程信号,并且可以触发对信号变化的响应。
数字量输入模块:
根据具体参数设置,该模块可在信号状态变化的上升沿、下降沿或上升沿和下降沿上为每个通道组触发硬件中断。CPU将中断用户程序或低优先级任务的处理,并处理相关诊断中断块 (OB 40)。信号模块可以每个通道缓冲一个中断。
模拟量输入模块:
通过设置上限值和下限值,可以定义工作范围。模块将数字化测量值与这些限值进行比较。若测量值违反其中任何一个限值,就会触发硬件中断。CPU将中断用户程序或低优先级任务的处理,并处理相关诊断中断块 (OB40)。若限值高于/低于过量程/欠量程值,则不进行进行比较。
S7-300F
工作模式S7-300F 的安全功能包含在 CPU 的 F程序中,并且位于故障安全信号模块之内。
信号模块通过差异分析和测试信号注入来监控输出和输入信号。
通过定期自检、命令测试以及按时间顺序执行的逻辑程序执行检查,CPU可检查控制器的运行是否正常。通过状态监视 (sign-of-life) 请求,还可以检查 I/O 状况。
若在系统中诊断出故障,则将系统切换到安全状态。
CPU 1211C,紧凑型 CPU,DC/DC/DC,板载 I/O: 6 DI 24V DC;4 DO 24 VDC;2 AI 0 - 10V DC 或 0 - 20MA,电源: DC 20.4 - 28.8 VDC,程序/数据存储器: 25 KB 6ES7211-1AE31-0XB06ES7 211-1AE40-0XB0CPU 1211C,紧凑型 CPU,AC/DC/继电器,板载 I/O: 6 DI 24V DC;4 DO继电器 0.5A;2 AI 0 - 10V DC 或 0 - 20MA,电源: AC 85 - 264 V AC @47 - 63 HZ,程序/数据存储器: 25 KB6ES7211-1BE31-0XB06ES7 211-1BE40-0XB0CPU 1211C,紧凑型 CPU,DC/DC/继电器,板载 I/O: 6 DI 24V DC;4 DO继电器 0.5A;2 AI 0 - 10V DC 或 0 - 20MA,电源: AC 20.4 - 28.8 VDC,程序/数据存储器: 25 KB6ES7211-1HE31-0XB06ES7 211-1HE40-0XB0CPU1212C,紧凑型 CPU,DC/DC/DC,板载 I/O: 8 DI 24V DC;6 DO 24 V DC;2 AI 0 - 10V DC 或 0 - 20MA,电源: DC 20.4 - 28.8 V DC,程序/数据存储器: 25KB6ES7212-1AE31-0XB06ES7 212-1AE40-0XB0CPU 1212C,紧凑型CPU,AC/DC/继电器,板载 I/O: 8 DI 24V DC;6 DO 继电器 0.5A;2 AI 0 - 10VDC 或 0 - 20MA,电源: AC 85 - 264 V AC @ 47 - 63 HZ,程序/数据存储器: 25KB6ES7212-1BE31-0XB06ES7 212-1BE40-0XB0CPU 1212C,紧凑型CPU,DC/DC/继电器,板载 I/O: 8 DI 24V DC;6 DO 继电器 0.5A;2 AI 0 - 10VDC 或 0 - 20MA,电源: AC 20.4 - 28.8 V DC,程序/数据存储器: 25KB6ES7212-1HE31-0XB06ES7 212-1HE40-0XB0CPU 1214C,紧凑型CPU,DC/DC/DC,板载 I/O: 14 DI 24V DC;10 DO 24 V DC;2 AI 0 - 10VDC 或 0 - 20MA,电源: DC 20.4 - 28.8 V DC,程序/数据存储器: 50KB6ES7214-1AG31-0XB06ES7 214-1AG40-0XB0CPU 1214C,紧凑型CPU,AC/DC/继电器,板载 I/O: 14 DI 24V DC;10 DO 继电器 0.5A;2 AI 0 -10V DC 或 0 - 20MA,电源: AC 85 - 264 V AC @ 47 - 63 HZ,程序/数据存储器: 50 KB6ES7214-1AG31-0XB06ES7 214-1BG40-0XB0CPU1214C,紧凑型 CPU,DC/DC/继电器,板载 I/O: 14 DI 24V DC;10 DO 继电器 0.5A;2 AI 0 - 10V DC 或 0 - 20MA,电源: AC 20.4 - 28.8 V DC,程序/数据存储器:50 KB6ES7214-1HG31-0XB06ES7 214-1HG40-0XB0SIMATIC S7-1200,firmare V4.0,CPU 1215C AC/DC/Rly,14输入/10输出,集成2AI/2AO6ES7 215-1BG31-0XB06ES7 215-1BG40-0XB0SIMATIC S7-1200,firmare V4.0,CPU 1215C DC/DC/DC,14输入/10输出,集成2AI/2AO6ES7 215-1AG31-0XB06ES7 215-1AG40-0XB0SIMATIC S7-1200,firmare V4.0,CPU 1215C DC/DC/Rly,14输入/10输出,集成2AI/2AO6ES7 215-1AG31-0XB06ES7 215-1HG40-0XB0
编程
CPU 315F 与安全有关的程序采用 STEP 7语言的梯形图(LAD)和功能图(FBD)编制。与运行有关的功能范围和数据类型均限于在此处设置。编译时使用特定的格式和参数,可以创建安全相关程序。在单个CPU中,标准程序可以与故障安全程序一起运行(共存),无任何限制。
该软件包的另一个组件是F库,配有TUV认可的安全相关功能的编程实例。这些编程实例可以更改,但更改必须认证。
S7 F分布式安全选项软件包
编制安全相关的程序段时,必须使用选项软件包“S7 F DistributedSafety”。该软件包含有创建 F 程序所需要的全部功能和块。运行S7 F DistributedSafety必须安装不低于V5.1SP3版的STEP 7。
图3中PLC控制主要是完成数控系统的PLC控制功能,其任务优先级低于适配卡输入输出,也低于数控系统的精插补实时任务和位置伺服实时任务。根据通用数控系统的PLC控制要求,确定其响应周期为5ms,响应周期由RT-Linux的软件定时器产生,根据RT-Linux系统的实时多任务调度机制,PLC控制任务的实时性是可以保证的。在实际应用中也得到验证。
嵌入式PLC的实时任务模块数据通讯
完成数控系统PLC控制的两个实时任务之间由于需要输入输出的数据量(一般情况下为64输入,64输出,但输入输出根据需要还可以扩展)不太大,采用共享内存的通讯方式,在适配卡输入输出和PLC控制
两个实时任务之间开两块共享内存,一块用于适配卡向PLC控制传输I/O口状态信息,另一块用于PLC控制向适配卡输入输出任务传输经PLC逻辑处理后的控制信息。