安全集成SPL的程序分为PLC部分和NC部分(SAFE.SPF),举个我们机床的实际例子,$A_OUTSI[2]的输出,PLC与NC的程序如下:




1、PLC的第一段中DB115.DBX100.1是MCP上的一个按钮,这个按钮的输入给到$A_PLCSIIN[26],这个PLCSIIN信号作为内部的PLC给NC的信号,在NC的SAFE.SPF中直接作为输入信号使用,没有相应的输出。
2、PLC的第二段是个中间输出过渡,先不考虑,
3、$A_INSEP[12]这个信号来自于外部ET200S的安全输入模块,是双通道输入,只要2个输入通道不同到达设定时间,$A_INSE[12]及$A_INSEP[12]就会为0,如果2个通道状态相同,那么$A_INSE[12]及$A_INSEP[12]的状态等同于2个通道的状态。 从这里能得出结论:$A_INSE[12]及$A_INSEP[12]的状态无论何时都会一样。而且这里双通道的比较也不属于SPL的交叉校验,是ET200S安全模块本身的属性。
4、最后就是这个$A_OUTSI[2]的输出,上面3条是他的逻辑条件,但从上面可以看出这些逻辑条件的地址状态任何时刻NC侧和PLC侧都是一样的,那NC和PLC之间的这个SPL交叉校验还有什么用呢?
不考虑系统启动时以及NC和PLC任意一方停止时,因为这种交叉校验我认为肯定是NC和PLC正常运行时的一种安全措施,但是我看不出在NC和PLC正常运行时,还会有那种情况会造成NC SPL和PLC SPL结果的不同?
从交叉校验的目的来看,我感觉$A_OUTSI[2[这种输出信号前面的任意一个信号,NC侧和PLC侧都应该会有不同状态的时候,不然SPL的编程前面这些逻辑条件就没有意义了。