海川化工论坛-800f系统io软冗余

上传人:子 文档编号:42803824 上传时间:2018-06-03 格式:DOC 页数:12 大小:596KB
返回 下载 相关 举报
海川化工论坛-800f系统io软冗余_第1页
第1页 / 共12页
海川化工论坛-800f系统io软冗余_第2页
第2页 / 共12页
海川化工论坛-800f系统io软冗余_第3页
第3页 / 共12页
海川化工论坛-800f系统io软冗余_第4页
第4页 / 共12页
海川化工论坛-800f系统io软冗余_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《海川化工论坛-800f系统io软冗余》由会员分享,可在线阅读,更多相关《海川化工论坛-800f系统io软冗余(12页珍藏版)》请在金锄头文库上搜索。

1、Freelace 800F 系统中通过系统中通过 S800 标准标准 I/O 做软冗余做软冗余为了降低成本,在对 IO 冗余要求不高的地方,可以使用标准的 S800 非冗余 IO 模件,通过外 部线路,并在程序中对 IO 通道的状态进行判断,以实现 IO 软冗余。本文给出 AI810、AO810、DI810、DO810 模件 IO 软冗余的外部硬件线路和 CBF 程序,为了方便用户使用, 将软冗余程序做成自定义功能块。一、一、AI810(TU810)接)接 4-20mA 输入信号的输入信号的 IO 软冗余软冗余 1.硬件线路硬件线路 对于 4-20mA 电流信号,先通过一个 500 的精密电阻

2、将电流信号转换为 2-10V 的电压信 号,再并联接到冗余的两个 AI 通道。下面分别给出 2 线制、3 线制和 4 线制仪表的连接图。 两个 IO 模件的外部供电端子 L1+,L2+和 L-接相同的 24VDC 电源。图 1. 2 线制 4-20mA 仪表信号软冗余 IO 接线图模件 1模件 224V+24V24V+4-20mA500图 2. 3 线制 4-20mA 仪表信号软冗余 IO 接线图图 3. 4 线制 4-20mA 仪表信号软冗余 IO 接线图模件 1模件 224V+24V24V+4-20mA500模件 1模件 224V+24V24V+4-20mA5002.硬件结构组态硬件结构组

3、态 在 CBF 中插入 AI810 模件(可以在同一个 I/O 站,也可以在不同的 I/O 站) ,设置需要冗 余的通道的信号类型为 2-10V 电压:拆分 IO 通道并连接变量,AI810 输入地址的最后一个字节 BYTE16 为通道状态,有 8 个 标志位,分别代表 8 个模拟量输入通道的状态,正常情况下为“0” ,故障状态下为“1” 。3.自定义自定义 AI 软冗余功能块软冗余功能块插入一个用户自定义功能块类,命名为 AIR,定义功能块的输入输出引脚:名称数据类型存储类型说明ST1BOOLIN模件 1 的 IO 通道状态ST2BOOLIN模件 2 的 IO 通道状态IN1INTIN模件

4、1 的 IO 通道输入值IN2INTIN模件 2 的 IO 通道输入值AIINTOUT冗余 IO 输入过程数据取值ECINTOUT故障代码(0-无故障,1-模件 1 通道故障,2-模件 2 通道故障,3-两个模件通道均有故障)编写自定义功能开程序代码:首先通过一个“打包 BOOL 到 BYTE”二进制数据转换函数 PBOBY,将两个 I/O 通道的 状态位 ST1、ST2 打包到一个 BYTE 中,再通过两个数据类型转换函数,将其转换为值为 0-3 的一个整型数。将该整型数加 1,作为多路选择器 MUX 的选择条件和功能块的故障代码。 两个模拟量输入 IN1 连接到多路选择器的第 1 个和第

5、3 个被选引脚,IN2 连接到 MUX 的 第 2 个被选引脚,由 EC 所对应的选择条件来选择其中的一个输出。缺省情况下,模件 1 为主模件,模件 2 为 Backup 模件。当模件 1 正常,ST1 状态为 0, 多路选择器 MUX 的选择条件为 1 或 3,过程数据 AI 取模件 1 的 IO 通道输入值 IN1,当模件 1 故障,ST1 状态为 1,这时如果模件 2 正常(ST2=0) ,MUX 的选择条件为 2,过程数据 AI 取模件 2 的 IO 通道输入值 IN2,如果这时模件 2 也处于故障状态(ST2=1) ,MUX 的选择条 件为 4,过程数据 AI 去值为整型数“0” 。

6、 表 2 用户功能块的输入输出如下表所示通道 1 状态 ST1通道 2 状态 ST2过程数据 AI故障代码 EC00AI=IN1110AI=IN2201AI=IN1311AI=044.AI 软冗余用户程序软冗余用户程序在用户任务列表中插入一个周期短,优先级高的用户任务(本例中任务周期为 50ms,优 先级为 58) ,在该任务下调用自定义功能块,编写 AI 软冗余的 FBD 程序。先用两个解包 Byte 到 Bool 的二进制数据转换功能块(UPBYBO)将两个模块的状态字节 拆成每个通道的状态位,再调用自定义功能块(AIR) ,连接互为冗余的两个 AI 通道的变量 AI1_CH1,AI2_C

7、H1 以及相应的状态标志位 AI1_ST1,AI2_ST1。功能块的输出连接的变量 AIR1_AI 即冗余 AI 模件两个通道的过程数据取值。二、二、AO810(TU810)接)接 4-20mA 输出信号的输出信号的 IO 软冗余软冗余 1.硬件线路硬件线路对于 4-20mA 输出的电流信号,当互为冗余的 2 个通道都正常时,每个通道各输出 50% 的电流,其中一个通道发生故障,则由另外一个正常的通道承担 100%的电流输出。为了防止 通道间的电流反灌,在每个通道的输出端接一个单向导通的二级管。如下图所示:图 4. 4-20mA 输出信号软冗余 IO 接线图2.硬件结构组态硬件结构组态 在 C

8、BF 中插入 AO810 模件(可以在同一个 I/O 站,也可以在不同的 I/O 站) ,为了在 0% 时两个 AO 通道各输出 2mA,需要设置冗余通道的信号类型为 0-20mA:拆分 IO 通道并连接变量,AO810 的输出数据有 16 个字节,代表 8 个通道的过程数据 (每个通道占 2 个字节) ,输入数据有一个字节 Byte0,为通道状态,有 8 个标志位,分别代 表 8 个模拟量输出通道的状态,正常情况下为“0” ,故障状态下为“1” 。24V+ 24V-4-20mA4-20mA模件 1模件 2AO 通道值 I/O 编辑AO 通道状态字节 I/O 编辑3.自定义自定义 AO 软冗余

9、功能块软冗余功能块插入一个用户自定义功能块类,命名为 AOR,定义功能块的输入输出引脚:名称数据类型存储类型说明ST1BOOLVAR_IN模件 1 的 IO 通道状态ST2BOOLVAR_IN模件 2 的 IO 通道状态INREALVAR_IN模拟量输出值 0-100%AOREALVAR_DPS模拟量输出转换值 5659.0-28480.0AO1INTVAR_OUT模件 1 的 IO 通道输出值AO2INTVAR_OUT模件 2 的 IO 通道输出值ECINTVAR_OUT故障代码(0-无故障,1-模件 1 通道故障,2-模件 2 通道故障,3-两个模件通道均有故障)编写自定义功能开程序代码:

10、程序中用到一个量程转换功能块,将 0-100%的信号转换到 5659.0-28480.0,对应于 AO 模件通道输出 4-20mA(AO 通道在硬件结构中设置信号类型为 0-20mA) 。当互为冗余的 2 个模件都正常时,ST1=0,ST2=0,两个模件的 IO 通道 AO1 和 AO2 各 输出过程变量的 50%,如果其中一个模件出现故障(ST1 或 ST2 为 1) ,则出现故障的模件通 道输出为对应 1mA 的值,另一个正常模件的通道输出为过程变量的 100%。如下表所示:通道 1 状态ST1通道 2 状态ST2通道 1 输出AO1通道 2 输出AO2故障代码EC0050%50%1101

11、mA100%201100%1mA3111mA1mA44.AO 软冗余用户程序软冗余用户程序在前面插入的用户任务下调用 AO 冗余自定义功能块,编写 AO 软冗余的 FBD 程序。先用两个解包 Byte 到 Bool 的二进制数据转换功能块(UPBYBO)将两个模块的状态字节 拆成每个通道的状态位,再调用自定义功能块(AOR) ,连接模拟量输出过程变量 AOR1_IN 和互为冗余的两个 AO 通道的变量 AO1_CH1,AO2_CH1 以及相应的状态标志位 AO1_ST1,AO2_ST1。5.AO 软冗余测试软冗余测试 将冗余的 AO 输出信号接入一个 4-20mA 的 AI 模件通道,在 Di

12、giVis 上组态一个趋势曲线显 示,当拆下一个 AO 模件和重新装上后的曲线显示如下图所示:从上图可以看出,当拆下一个 AO 时,曲线缓慢下降,最大降幅约 3%,从开始下降到重 新恢复到原始输出,所用时间约 2s。当恢复拆下的 AO 后,曲线缓慢上升,最大升幅约 3%, 从开始上升到重新恢复到原始输出,所用时间也是 2s 左右。拆一个 AO恢复拆下的 AO三、三、DI810(TU810)数字量输入信号的)数字量输入信号的 IO 软冗余软冗余 1.硬件线路硬件线路数字量输入 DI 信号软冗余的外部硬件线路比较简单,只需将 DI 信号并联到两个 DI 通道上即可。2.硬件结构组态硬件结构组态 在

13、 CBF 中插入 DI810 模件(可以在同一个 I/O 站,也可以在不同的 I/O 站) ,设置模件的 用户参数。 拆分 IO 通道并连接变量,DI810 的输入数据有 4 个字节,其中 2 个字节代表 16 个 DI 通 道的过程数据,2 个代表 16 个 DI 通道的状态数据,DI 通道的数据可以按 BOOL 数据类型一 位一位地拆分,也可以批量拆分为一个 WORD(本例按 WORD 拆分) 。通道的状态,正常情 况下为“0” ,故障状态下为“1” 。3.自定义自定义 DI 软冗余功能块软冗余功能块插入一个用户自定义功能块类,命名为 DIR,定义功能块的输入输出引脚:名称数据类型存储类型

14、说明ST1BOOLIN模件 1 的 IO 通道状态ST2BOOLIN模件 2 的 IO 通道状态IN1BOOLIN模件 1 的 IO 通道数字量输入值IN2BOOLIN模件 2 的 IO 通道数字量输入值DIBOOLOUT冗余 IO 数字量输入过程数据取值ECINTOUT故障代码(0-无故障,1-模件 1 通道故障,2-模件 2 通道故障,3-两个模件通道均有故障)模件 1模件 124V+24V-编写自定义功能开程序代码:4.DI 软冗余用户程序软冗余用户程序在前面插入的周期短,优先级高的用户任务下调用自定义功能块,编写 DI 软冗余的 FBD 程序。先用 4 个解包 WORD 到 Bool

15、的二进制数据转换功能块(UPWOBO)将两个模块的通道过 程数据和通道状态数据拆成每个通道的数字量输入值和状态位,再调用自定义功能块(DIR) , 连接数字量过程变量值和通道状态位到功能块的输入引脚,功能块的输出引脚连接冗余数字 量输入过程取值变量 DIR1_DI。四、四、DO810(TU810)数字量输出信号的)数字量输出信号的 IO 软冗余软冗余 1.硬件线路硬件线路将两个 DO810 的输出通道经单向二级管后并联,再接负载,如下图所示:2.硬件结构组态硬件结构组态 在 CBF 中插入 DO810 模件(可以在同一个 I/O 站,也可以在不同的 I/O 站) ,设置模件的 用户参数。 拆分

16、 IO 通道并连接变量,DO810 的输入数据有 2 个字节,代表 16 个 DO 通道的状态数 据,输出数据有 2 个字节,代表 16 个 DO 通道的过程数据,DO 通道的数据可以按 BOOL 数 据类型一位一位地拆分,也可以批量拆分为一个 WORD(本例按 WORD 拆分) 。通道的状态, 正常情况下为“0” ,故障状态下为“1” 。模件 1模件 23.自定义自定义 DO 软冗余功能块软冗余功能块插入一个用户自定义功能块类,命名为 DOR,定义功能块的输入输出引脚:名称数据类型存储类型说明ST1BOOLIN模件 1 的 IO 通道状态ST2BOOLIN模件 2 的 IO 通道状态INBOOLIN数字量输出值DO1BOOLOUT模件 1 的 IO 通道数字量输出值DO2BOOLOUT模件 2 的 IO 通道数字量输出值ECINTOUT故障代码(0-无故障,1-模件 1 通道故障,2-模件 2 通道故障,3-两个模件通道均有故障)编写自定义功能开程序代码:4.DO 软冗余用户程序软冗余用户程序在前面插入的周期短,优先级高的用

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号