安全工作理念下的AS-i 安全型总线是安全总线与标准总线“两线合一”的。根本原因在于安全从站也使用标准AS-i 报文与主站进行通信。图1 是主站请求以及安全从站应答的报文结构,如果将它与标准从站的报文结构相对比就可以发现,两者没有任何不同。此外,安全从站的报文无论在编码、译码还是传送波特率上也都与标准从站的报文完全相同。这些使得在主站看来,安全从站与标准从站没有任何分别。

图11 AS-i 主站请求与从站应答的报文结构
但是“两线合一”也带来两个问题:既然报文结构都相同,AS-i 总线是如何获知哪些是安全从站、哪些是标准从站的呢?安全从站又是如何通过相同的报文结构实现安全功能的呢?
第一个问题的答案是,AS-i 对安全从站的获知是通过安全监测器实现的。安全监测器在投入使用之前,先要通过软件对其进行配置,这其中很重要的一项就是告诉其总线上有多少从站,哪些地址的从站是标准从站,哪些地址的从站是安全从站等等。这样一来,安全监测器在运行时自然能过滤掉标准从站的信息,而只对安全从站的信息进行分析和处理了。
第二个问题涉及了AS-i 安全型总线原理的核心。应该指出,虽然安全从站与标准从站的报文结构相同,但是报文的内容,即信息位的内容却大不相同。如图2 所示,每个安全从站都拥有一个32 位的动态码,该动态码在安全从站生产的时候就被储存在其内部的一个4×8 位的内存里,一旦写入就无法更改。在没有故障危险的情况下,每个AS-i周期,安全从站通过应答报文将内存中的密码表四位四位循环不断地发送到总线上去。一旦发生危险,密码表的ON部分立刻与安全从站的发送单元断开连接,而OFF部分取而代之,这时安全从站通过应答报文将“0000”接连不断地发送到总线上去。也就是说,在AS-i总线上安全监测器只要连续8 个周期收到从安全从站传来的信息都为“0000”,就表示安全输入模块被激活,有危险发生了,安全监测器就会按予先在配置时设定的程序开始动作,切断执行回路的电源,避免故障危险的发生。图12 的安全从站部分还表明,有的安全从站不只拥有一个安全通道,比如P+F公司的VAA-2E-G4-SN型安全模块就有两个通道。对于这类安全从站来说,密码表被划分为两组,每组为2×8 位,每个通道只影响各自组别的密码表的发送。即如果通道1 的安全传感器被激活,而通道2 的安全传感器未被激活,则每个AS-i周期,安全从站通过应答报文将“00**”发送到总线上去——前两位总是“00”,表示通道1 被激活,出现了危险;后两位则按照密码表的后两位循环不断地传送。同样地,如果通道2 的安全传感器被激活,而通道1 的安全传感器未被激活,则每个AS-i周期,安全从站通过应答报文将“**00”发送到总线上去。所以,规定在AS-i总线上连续8 个周期收到不论是“0000”,还是“00**”、“**00”,都认为发生了危险。只不过分别表明两个通道或通道1或通道2发生了危险。

图12 安全组件内部结构图
下面将问题的重点转到安全监测器上来。刚才提到,软件在配置安全监测器的时候,会将总线上安全从站的数目、地址等信息告诉安全监测器;其实不仅如此,安全监测器还能获知安全从站的密码表,并且储存在它的内存中,这便形成了图12 中安全监测器的密码表。当然安全监测器的内存要有一定的容量,因为在一条AS-i总线上,最多能安装31 个安全从站,所以安全监测器的内存要足够存储31 张密码表才可以。安全从站应答的报文在总线上传输,被AS-i主站获得,但AS-i主站在软件在配置时只有常规的从站地址,因此它不能接收到安全从站的报文。而安全监测器却能接收到安全从站的报文。它将报文中的动态码与已经储存在自己内存中的密码核对,如果相同,则表示总线是安全的,安全执行回路关闭;如果收到连续8 个周期的“0000”或“00**”或“**00”,而且第9个周期仍为上面所讲的为“0000”或“00**”或“**00”,则表示发生了危险,安全执行回路开启並动作。
当然,安全执行回路动作还有可能是由以下的一些特殊情况而导至产生错误:
事实上,对安全从站来说虽然有安全、危险和错误三种状态,但是对安全监测器来说,只需要识别安全和非安全两种状态就够了。
对于AS-i 安全型总线的通信原理,有以下几个数字方面的信息需要补充:
-
32 位动态码使密码表的可能性超过40 亿种。虽然其中只有不超过95 万种被实际用到,只占总可能性的四千分之一,但既使是这个数目的密码表也足以保证在同一条总线中不会出现两个密码表完全相同的安全从站。
-
响应时间是衡量一个系统好坏与否的重要参数之一,对于安全系统更是如此。从按下安全紧急开关按钮到机器仃止其操作的时间,对于AS-i,在最坏的情况下,是35ms。参看图13。该响应时间是这样计算出的:主站用最多5 ms定时询问系统,又用最多5 ms将数据传回主站。如果传输中有错误发生,另一个5 ms用来重新传输。此后,安全监测器处理数据用去5 ms,并且要花15 ms的时间让继电器关闭整个系统。常年工作于安全系统的工程师认为响应时间在20ms到25ms之间是最典型的。

图13 AS-i 安全型总线中对安全紧急开关的响应时间
-
不安全启动错误
指从站的报文为正常的32 位动态码时,安全监测器误以为总线有危险故障,而启动了执行回路的动作。按照设计要求,安全监测器本应该等收到一套完整的32 位动态码后并再收到一次首先获得的四位动态码的值——即9 个周期正确的动态码——之后,才可以启动执行回路动动作,切断运行机器的电源来保证安全。经理论分析,不安全启动错误在最坏情况下的概率小于10 /h。
-
启动执行回路动作错误
指从站的报文已经是“0000”、“00**”或者“**00”时,安全监测器仍误以为总线是安全的,而没有及时启动执行回路的动作。经理论分析,关闭操作失败错误在最坏情况下的概率小于9×10 /h。
|