所谓的I/O冗余是指传感器/执行器的信号要连接到位于不同I/O站上的两个模块上。其中,传感器/执行器可以是一个——信号分成两路;也可以是两个——各自提供一路信号。也就是说,信号是冗余的,IO模块也是冗余的。
S7-1500R/H系统已经在控制器层,网络层都实现了冗余,可以满足大多数应用的需求。但仍然有一些领域,需要在现场层或者模块层提高可用性,本文将介绍基于TIA博途的库功能实现I/O冗余。
*特别提示:
本文所介绍的I/O冗余解决方案,具有经济性和便利性的优点,基于TIA博途的库以及常规的I/O模块即可实现。
以ET200SP为例,具体信号连接形式如下:
基本原理及软件实现
利用ET200SP/MP I/O模块具有的值状态功能,即信号质量标识,来检测信号的质量。
标准型(ST)以上的模块都具有该功能,在博途软件中勾选启用,一个通道的信号质量用一个位表示。这样就可以判断每对冗余I/O通道的状态。
LRedIO库中的Red_IO块对冗余I/O的两个通道值状态进行评估:
如果冗余的两个通道信号质量都正常,则按双通道操作
如果只有一个通道信号质量OK,则切到单通道工作
如果双通道信号都不正常,则按预定义的状态操作(保持上次的值状态/替换值/钝化)
四种RedIO的块如下,分别对应DI,DO,AI,AO:(具体管脚参数,请参考附件中的手册)
可能大家会对实际冗余的I/O硬件如何工作感到疑惑,冗余的通道如何协调工作?
对于开关量来说
不管是DI还是DO,双通道工作还是比较容易理解。正常工作的两个输入通道得到的数据是没有差异的,都是‘0’或者‘1’,程序处理起来很容易;对于输出来说‘0’代表输出没有电压(实际当中有弱电流输出,用于检测线路),输出为‘1’,则是并联的两路24V信号,额定电流是0.5A*2=1A,一般对负载来说也没问题。
对于模拟量来说则有些不同
尤其是两个AI的传感器的测量值会存在一些偏差,那如何取值呢?在RedAI的块中,可以配置为采用平均值、较小值或较大值3种不同的选择;对于AO来说,以4-20mA信号为例,两路冗余的输出通道平均分配输出,相当于各自输出2~10mA的电流。
以上就是对I/O冗余原理上的一个简单介绍,这套解决方案不仅适用于S7-1500R/H系统,也可用于标准的S7-1500CPU;采用的I/O模块可以是ET 200SP或者ET200MP,根据实际需要可以选择标准型(ST)或者高性能型(HF)。
在2023年工博会上展出的S7-1500HR1 Demo中,也有I/O冗余功能的展示: