触摸屏变量数的扩展设计与工程应用
2021-04-28黄少荣江旺庭王玉海
黄少荣 江旺庭 王玉海
(中核四O 四有限公司第四分公司)
随着核科技的进步与发展, 核工业在国防建设和经济建设中发挥着越来越重要的作用。笔者所在单位作为我国特大型核工业联合企业及核技术生产、科研基地,承担着核燃料生产、后处理及核设施退役治理等重大任务。 由于排风系统对安全生产较为重要, 因此在核燃料工艺生产设计和技术改造中, 对它有效运行的要求日益严格。
排风系统按其作用范围可以分为局部排风系统和全面排风系统。 某子项排风系统包括局排1~7 和全排1~4,共有21 台风机。 该系统出厂设计时只将每台风机的风量与风压变量按要求在触摸屏上进行编程,变量共有42 个。 后来因生产需求发生变化,要求在触摸屏上额外增加过滤器压差、风机轴温等变量,变量由原来的42 个扩展至78 个, 但由于PQ20 桥接模块的内存相对较小,无法在原有变量传输基础上增加变量传输数量。 为此笔者基于节约生产成本和改进设计的考虑,重新设计并编程完成了触摸屏传输变量个数的扩展,最终实现了排风系统控制功能的优化改进。
1 系统组成
该子项排风系统现场使用的是ABB AC800F控制器和施耐德公司生产的XBTGT5330 触摸屏,通过编写软件程序来实现数据采集、数据处理和触摸屏的监控。
1.1 硬件实现
ABB AC800F 控制器通过Profibus-DP 总线与CI801 通信模块、S800I/O 模块和PQ20 桥接模块构成现场总线系统,AC800F 控制器作为Profibus-DP 总线的主设备,CI801 通信模块与PQ20 桥接模块作为Profibus-DP 总线的从设备进行总线通信,PQ20 桥接模块通过RS485 串行总线与触摸屏连接。
整个控制系统如图1 所示。
1.1.1 PQ20 桥接模块
PQ20 桥接模块具有Profibus-DP 和RS485 通信功能,可实现触摸屏与主站的通信,采用对触摸屏RAM 区域的固定映射方式完成通信协议的转换。 它的输入/输出各为180Bytes 内任意长度字符,采用串行总线RS232、RS485 和应用系统连接, 本子项中选择与触摸屏的通信方式为RS485。拨码开关用于设置PQ20 桥接模块从站地址,通过设置确定它在控制系统里的唯一地址。
PQ20 桥接模块作为从设备与标准设备类似,具有4 个存储区,具体见表1。
1.1.2 触摸屏功能实现
触摸屏采用了Magelis 图形终端XBT GT 产品,支持Java 脚本语言,支持多串口同时与不同的控制器进行通信, 支持Web server 远程监控,支持Modbus Slave RTU(TCP/IP)[1],支持在线通信诊断,支持在线通信参数修改。
图1 控制系统示意图
表1 PQ20 桥接模块存储区
1.2 软件设计
ABB AC800F 控制器使用的是Control Build F 组态软件, 通过FBD 功能块实现组态编程;触摸屏使用的是开发软件Vijeo Designer,以Java 脚本语言为基础实现编程。
1.3 AC800F 控制器和触摸屏通信过程的实现
通过PQ20 桥接模块的设置软件设置PQ20桥接模块存储区域的变量地址,设置完成后生成GSD 文件, 将此GSD 文件导入AC800F 控制器Control Build F 组态软件, 在组态软件中即可添加PQ20 桥接模块硬件和相应的资源,通过变量组态即可实现对PQ20 桥接模块地址的读写功能[2,3]。
触摸屏的Java 脚本语言通过直接设置外部变量的地址, 即可实现对PQ20 桥接模块地址的读写功能。
2 实现过程
2.1 设计思路
2.1.1 原理分析
风量、风压、过滤器压差及风机轴温等都是整型变量, 从现场传输到AC800F 控制器处理后再传输至触摸屏,这些变量对于触摸屏来说是输入变量,传输上限为50 个,而实际应用中总共需要传输这类变量78 个, 必须通过重新编写程序来满足要求。
2.1.2 变量处理设计
不论是将变量传输给触摸屏还是从触摸屏上读取变量,这些变量在ABB 程序和触摸屏程序中都采用一个变量对应一个地址的方法进行读写,在地址够用的情况下用上述方法使得变量的读写不会出现错误,精确无误。 但是在地址不够用的情况下, 要想把这些变量全部显示出来,只有改变原来一对一的思路,采用一个地址传输多个变量,多个变量轮流占用一个地址的方法解决地址不够的问题。
在实际生产中,有的变量必须单独使用一个地址来传输,例如报警类变量,这些变量需要实时监控,出现问题及时处理,以免造成设备损坏并导致危险产生;而有的变量在短时间内不会发生很大的变化,对生产和设备也不会造成很大的影响,可以不需要实时监控,所以就可以和其他同类变量用一个地址进行传输。
就该排风系统而言,由于风量一直在不停的变化且需要实时监控, 所以21 个风量变量需要单独使用一个地址进行传输,而风压、过滤器压差、轴温这些变量短时间内变化不大且不需要实时监控,所以可以通过公用地址进行传输,共有57 个变量需要公用地址。
2.2 实施过程
2.2.1 MUX 功能块
ABB 程序块中,MUX 功能块的第1 个输入为选择变量,总是INT 数据类型,根据第1 个输入变量的值,可以选择其后的某个输入上的变量传递到输出上,如果第1 个输入变量的值为1,则选择第2 个输入引脚上的变量 (第1 个选择值)传递到输出引脚上,以此类推,最多可以从10 个变量中选择1 个传递到输出端。
除第1 个输入引脚为INT 型外,后面几个作为选择值输出的输入引脚和输出引脚的数据类型 一 致, 可 以 是REAL、BOOL、WORD、UINT、UDINT、DINT、INT、TIME 或 字 符 串 数 据 类 型(STR8~STR256)。MUX 功能块的输入引脚和输出引脚的数据类型必须一致,在数据类型一致的情况下可以用1 个地址进行传输。
2.2.2 变量分组
在该排风系统中,风压变量的量程是-1 000~2 300Pa,过滤器压差的量程是-3 000~0Pa,故这两类变量需要用INT 型进行传输。 而对于轴温来说,其量程是0~850℃,数值均为正数,故用UINT型进行传输。 总共有57 个变量需要公用地址,为了不使MUX 功能块循环时间太长并同时满足触摸屏地址个数的要求, 所以使用11 个地址传输这57 个变量,其中的9 个地址,每个地址可传输5 个变量,剩下的2 个地址,每个地址传输6 个变量,即可满足使用要求。
2.2.3 流程设计
一般情况下,ABB 系统接收现场仪表传输过来的信号,通过AC800F 控制器进行运算,将转换后的数据传输至触摸屏进行显示。 由于触摸屏地址不够用, 因此触摸屏需要哪一组数据,ABB 系统就响应触摸屏并将它所需要的那组数据传给触摸屏。
图2 地址重复使用流程
地址重复使用流程如图2 所示,在触摸屏中设一个选择变量,通过编写脚本语言,使选择变量初始化为1,传输给ABB 系统将整个程序激活并循环起来。 在程序中根据选择变量的值确定传输哪一组数据。 例如, 选择变量为1 时传输第1组数据,为2 时传输第2 组数据,以此类推下去,同时在触摸屏上通过Switch-case 语句,根据选择变量的值确定读取哪一组数据,当需要读取的数据读完之后,选择变量加1,并将选择变量传输给ABB 系统,ABB 系统执行传输下一组数据, 当选择变量的值大于所需传输的组数时将选择变量置为1,如此循环,不仅可以实现批量传输数据,而且实现了地址重复使用,传输多个变量。
2.3 程序设计
2.3.1 ABB 程序
根据MUX 功能块的说明和地址重复使用流程的描述与设计,笔者设计的ABB 程序如图3 所示。
图3 ABB 程序
在上述ABB 程序中,SV 为选择变量,通过触摸屏的脚本语言程序,SV 被赋值为1, 整个程序激活。 当SV 为1 时,将MUX 功能块第2 个输入引脚上的变量(第1 个选择值)传递到输出引脚,即第1 组数据传输至地址A1~A11 中, 并等待触摸屏读取该组数据,触摸屏读取完毕后根据脚本语言SV 会加1,即SV 此时为2,这时第2 组数据传输到A1~A11 地址中, 并等待触摸屏读取该组数据, 触摸屏读取完毕后根据脚本语言SV 会加1,即SV 此时为3,以此类推,直到读完所有的数。当所有数据都读完后, 根据if 语句进行判断,SV重新被赋值为1, 开始下一轮循环, 如此循环下去,就可以满足现场工艺要求。
2.3.2 触摸屏编程
触摸屏上的脚本程序主要是通过内部变量cent 激活ABB 程序上的选择变量SV, 然后开始根据选择变量依次读取每一组变量。 应用程序脚本1 如下:
2.3.3 ABB 程序和触摸屏功能同步的实现
选择变量的初始化是通过触摸屏的内部变量cent 实现的,内部变量cent 可以通过对话框将其初始值设定为1, 然后根据Java 脚本语言的getIntValue 语句给选择变量SV 赋值, 选择变量SV 被赋值后ABB 程序就会根据选择变量SV 的值选择相应输出,而由于触摸屏的驱动程序配置中接收超时为1s,发送等待时间为5ms,所以为了不使数据传输混乱, 触摸屏每次给SV 赋完值后都通过空循环语句等待1s,然后再执行Switchcase 语句,读取相应的输出组数值,读完之后SV的值就加1,如此循环下去,使每一组变量的值轮流占用地址实现传输。
3 结束语
通过重新设计和编写ABB 与触摸屏程序,并将它应用于核燃料工艺排风系统进行实际操作验证,结果表明改进后的系统满足排风专业的技术要求和生产需要。 经连续多年运行,系统稳定,未出现数据传输混乱的情况,进一步验证了本程序设计的有效性和长期可靠性。 笔者的设计思想和方法不仅保证了排风系统的正常运行,而且也适用于解决同行业其他工艺岗位的同类问题,这不但节约了企业额外生产成本,还具有一定的工程应用价值和推广价值。