一种工业控制系统中点检工具的设计和应用
2022-12-02程建立朱燕萍吴小文平志明
程建立,朱燕萍,吴小文,朱 挺,平志明
(浙江中控技术股份有限公司,杭州 310053)
控制系统的全生命周期涵盖从规划、可行性研究、初步设计、施工图设计、工程施工,到投产、竣工验收、允许、维护、变更直至报废的全过程[1]。控制系统的使用过程中涉及前期的选型、采购、维保等方面[2],随着新的控制系统的发展,不同行业、不同企业都向着自动化控制发展。而多数企业的控制系统随着使用年限的增长,有必要对控制系统进行点检分析,确保安全生产。目前,点检方式可分为人工点检和点检仪点检。人工点检采用人员在现场驻守检测、观察,该方法存在人员素质参差不齐、标准不一、数据记录繁琐且易丢失等问题,将逐渐被淘汰[3]。因此,有必要对点检工具进行深化和研究。
1 现场检验现状
根据安监总管三【2014】116 号文《国家安全监管总局关于加强化工安全仪表系统管理的指导意见》,分别在项目设计阶段要求、操作维护阶段要求中提出,为保证安全仪表系统的安装完整性等级,需要确定检验测试周期、计划与规程。《安全生产法》第三十三条规定,安全设备的设计、制造、安装、使用、检测、维护、改造和报废,应当符合国家标准或者行业标准。生产经营单位必须对安全设备进行经常性维护、保养,并定期检测,保证正常运转。维护、保养、检测应当做好记录,并由有关人员签字。
目前的实施操作中存在如下问题:①检验问题记录易出现漏写。多数检验人员采用心记方式,难免忘记填写部分问题;②检验问题汇总复杂、费时[4]。点击需要记录的数据比较多,卡件类型、设备类型错综复杂,难免算错或者记错测量值;③在点检项目实施过程中,面临着工期短、限制条件多、实施风险大等诸多不利因素[5]。
2 点检工具概述
点检工具依托SPT 硬件平台对控制系统进行点检测试。它定义了点检的过程;收集点检过中的资料;检测系统运行状态;简化打点测试操作,实现打点测试结果自动收集;手动、自动系统响应时间测试;端子板配电输出、保险丝通断、采样电阻值检测等。最终,根据实际现场配置,按顺序整合各个步骤中的资料文件图片表格,生成点检报告。点检工具按项目维度区分不同控制系统,完整覆盖项目管理、权限管理、工程信息配置、软件授权管理等现场应用需求。点检工具安装环境,支持win7 系统,分辨率1920×1080。整体架构图如图1。
图1 整体架构图Fig.1 Overall architecture diagram
3 点检工具软件设计
本工具采用面向对象的方法对系统进行分析,系统使用单机系统架构,基于MFC 框架,采用纯C++语言开发,配置采用INI 文件存储。主要功能模块有:工程管理模块、系统诊断模块、文档处理模块、IO 点检测试模块、响应时间测试模块、端板检测模块、UCP 驱动模块等。组件架构图[6]如图2。
图2 组件架构图Fig.2 Component architecture diagram
3.1 工程管理模块设计
本点检软件中,所有的规程操作都是基于检验测试工程:必须先创建或者打开点检工程,然后才能在点检软件中执行其他的操作步骤。工程管理是指对点检工程本身的编辑管理功能,包括新建工程、打开工程、工程配置、保存工程、关闭工程、导出报告,以及权限管理设置等。这些功能组成了主界面的工具栏,方便使用者操作这些信息。
设计约束:
新建工程,点击后弹出新建工程的对话框,创建一个新的点检工程。
打开工程,点击后弹出打开工程的对话框,对话框中有下拉菜单可以选择需要打开的工程。
工程配置,点击后弹出工程配置的对话框,里面是工程的基本属性配置,包括用户名称、项目名称、装置工段、控制室、控制站、机笼数量、操作站等项目信息和参与项目的点检工程师基本信息。
保存工程,将当前打开的点检工程保存。
关闭工程,注销并关闭点检平台。
导出报告,合并工程文件,导出点检报告。
权限管理设置,使用用户权限登陆时,只能查看工程,不能编辑或者操作工程;使用工程师权限登陆时,可对整个工程进行任意操作。工程师站的登陆密码需设置并保存,登陆时使用密码登陆。
3.2 系统诊断模块设计
系统诊断包括两部分:一部分是被测系统的诊断,还有一部分是本测试系统的诊断。作业时,需要保证被测系统和测试系统都是正常的。因本系统和被测系统都是同一套硬件设计原理,所以软件获取诊断信息设计时考虑将两个系统合并到一个类中,使用不同类型区分不同系统。被测系统需要提供组态,通过组态获取系统的域地址、站地址,实现本软件与控制器的通讯,以获取下位机实时诊断数据。本系统的硬件设备因只有控制器和通讯卡的空组态,所以提供手动输入域地址和站地址的编辑框,然后根据输入的域地址、站地址实现通信,需要实现控制器信息上载显示的功能。上载信息包括组态一致性、控制器运行状态、系统故障信息、模块故障信息、强制信息、线路故障等。
3.3 文档处理模块设计
文档处理是比较核心的模板,其主要功能包括数据记录的保存和各个检测模块数据记录的整合成一个可输出word 文档。本设计中文档处理模块强依赖Office/WPS,即使用本软件的时候需要系统预装Office 或者WPS 增强版。实现的功能包括:创建word 文件,将检测数据通过Office/WPS 后台进程,输入word 文档,形成文字块或者表格,插入图片等。整合报告是将分散的各个word/excel 文件合并成一个最终报告。
3.4 授权管理模块设计
授权管理是通过软件狗实现的。在该模块中集成了软件狗的DLL,通过定时调用软件狗开放的接口,检测是否有软件狗。如果没有软件狗,则只允许使用10min。无软件狗时,不允许与控制系统通信。
3.5 IO点检测试模块设计
IO 点检测试是个顺序过程,点检过程为:先用DB37线连接工业控制系统被检测IO 卡件跟SPT 硬件平台的检测卡件,用点检工具生成打点值(电压值),将打点值转成ACD 码值写入被检测卡,被检测卡输出对应打点值到检测卡,点检工具读取检测卡中被检测卡输出值,转成实际电压与发送的电压值比较,测量量程的5%,25%,50%,75%,95%等,分别按H/L 比值下载。最后,根据算法判断被检测卡输出精度是否达标,将结果写入excel 表格。软件设计流程图如图3、图4。
图3 IO点检整体流程图Fig.3 Overall flow chart of IO spot check
图4 点检流程图Fig.4 Check flow chart
开始时,根据诊断模块读取的组态信息,获取工业控制系统的硬件设备信息,然后通过系统管理命令获取控制器上实际设备信息,将两者信息比较,如果一致,才允许进入检测程序,否则就报设备信息不一致的错误,退出该模块的检测程序。检测程序根据不同的卡件类型(输入模拟量、输入开关量、输出模拟量、输出开关量),自动选择匹配的测试卡件,输入卡对应PADI,输出卡对应PDO。输入卡的检测:检测卡输出信号给输入卡,然后读取输入卡上的采样值。输出卡的检测:强制输出卡输出信号给检测卡,然后读取检测卡中获取到的采样值。
功能拆分:
1)测试卡、检测卡信息读取:从控制站信息配置模块获取数据。
① 接入界面时,从控制站信息配置模块获取数据填充对应的下拉框。
② 测试卡显示需要带卡信息、机架信息、槽位信息以及左右控制器信息。
③ 检测看显示需要带卡信息、槽位信息。
2)实现声光报警控制,默认不需要报警。
3)检测测试值下发和测试结果读取:分两种情况,对应PADI 和PDO 卡。
① 联机读取组态,比较组态状态(检测卡、测试卡)。
② 选择测试通道。
③ 批量填充测试值。
④ 联机下发测试值。
⑤ 联机读取实测值。
⑥ 计算偏差。
3.6 响应时间测试模块设计
响应时间测试是逻辑程序回路的响应时间测试,具体操作为先用DB37 线分别连接被检测卡件与检测卡,选择被检测卡卡件中的输出引脚和被检测卡件中的输出引脚,用被测控制系统的逻辑程序连接。测试时,点检工具向SPT 系统发检测命名,SPT 收到信号后给被测卡件输入引脚供电,直到检测到被测卡件输出引脚发生跳变,记录下这段跳变时间,点检工具访问SPT 硬件读取响应时间显示在界面上,同一回路最大允许测试100 次。根据测试结果判断响应时间是否符合标准。软件设计流程图如图5、时序图如图6。
图5 响应时间流程图Fig.5 Response time flow chart
图6 响应时间时序图Fig.6 Response time sequence diagram
3.7 端子板点检测模块设计
端子板检测主要检测控制系统外围供电板特性,点检的项目包括外配电检测、保险丝通断检测、采用电阻值检测等,生成报告时需要考虑保险丝拔出和保险丝恢复。具体操作为先用DB37 线连接端子板和SPT 硬件平台,点检工具下发端子板类型给SPT 硬件平台,开始检测外配电,保险丝通断需要手动检测和录入。软件设计流程图如图7。
图7 端子板点检流程Fig.7 Terminal board inspection process
1)支持半自动化点检测试端子板,并提供可视化的点检报告和点检步骤。
2)支持不同端子板的点检检测功能,本机实现的端子板具体的型号包括:
TAI9010:电流输入(非配电)。
TAI9012:电流输入(配电/混合)。
TAI9020:电流输入(配电/混合)。
TDI9010:无源输入(24V)。
TDO9010:有源输出(24V)。
对应的端子板检验测试为:PTU9010。
3)支持与被测卡和检验测试的数据通信交互,支持与被测卡和检验测试的数据通信交互,实现了对工业控制系统端子板模块与SPT 检验平台硬件配置的匹配性,触发向输出点检测试数据,从检验测试回读检验数据。
PTT 软件根据对应测试端子板与检验测试的匹配性连接,该信息保存。
PTT 软件选择触发点检测试命令,根据模块测试数据,发送至PTU 模块。
PTT 软件选择回读点检输出数据,并根据模块进行点检判断。
4)主要数据说明
选择检测卡的数据来自SPT-900 系统上载的设备信息过滤后PTU 卡填充。
温度及湿度根据选择PTU 卡获取。温度和湿度存在一个正常测试区间,如果超出正常区间,需要手动选择正常区间的值下发下去(不是正常区间内的值不让下发)。
选择模块型号的值目前是硬编码固定的值,初始显示为空,选择后初始化PTU 对应型号信息。
外配电需要选择好检测卡和测试模块之后获取。进入测试需要完成的前提:温湿度下载,外配电检查。查看按检测卡和测试模块信号组成文件名查询,打开对应文件。
检测界面按自上而下的步骤测试,如果上面步骤未确认完成,后续步骤不予执行。
配电输出检测判断,本程序提供结果选择,实际由操作人员自行操作,程序提供展示窗口。
保险丝通断检测:阻值提供大于10 或小于等于10 的选择,判断值提供PASS 或者FAIL 选择。
本程序值提供检测值的定时读取显示,结果判断和操作都由操作人员自行操作。采样值采用定时开始,定时结束,一次性采集结果展示。保险丝恢复也由操作人员自行完成,本界面只提供结果选择。
3.8 响应时间测试模块设计
支持对工业控制系统逻辑程序回路的响应时间的测试,具体为:
1)检验测试平台提供对响应时间测试的输入信号,回读输出信号计算响应时间。
2)测试回路包含端子板。
3)响应时间测试结果用图状直观表示。
4)每次测试一条回路,支持执行多组测试(默认100组),以及最大值、最小值、平均值的显示。
5)所有被测卡件位于原平台上进行测试。
本机支持单个回路的响应时间,即单个输入变量与输出变量的响应时间测试。
软件设计流程图如图8、时序图如图9。
图8 响应时间测试流程图Fig.8 Response time test flow chart
图9 响应时间测试时序图Fig.9 Response time test sequence diagram
3.9 异常处理模块设计
当卡件检测发现异常时,软件发出声光报警:界面显示对应的异常信息,红色显示,同时通过扬声器发出声音报警。此功能默认状态为关闭状态,可由工程师设置是否开闭。
端子板点检检验、模块点检检验、回路响应时间检测:检测结果存在故障/FAIL 时,光点红色,并触发声光报警。检测结果通过时,光灯亮绿灯,不触发声音报警;不能使用时,光灯亮灰色,不触发声光报警。
4 结束语
点检工具通过IO 点检模块的快速打点,响应时间测试的自动化测试,端子板点检的自动数据采集,以及保存功能将采集数据转化成excel 表格,极大提高了点检工作的效率,减轻了点检人员的工作压力,减少了人工操作记录的出错率,有效地保障控制系统的可靠性、稳定性、准确性,可实现对设备点检数据的自动采集和点检数据分析,切实掌握设备状态以及劣化发展的趋势,进而保证设备安全稳定运行,是现代设备维护中一个应用方向,具有良好的经济效益和广阔的发展前景[7]。目前,该点检工具已在中控SIS 产品线进行推广和使用,比如2021年12月在淮安市某项目中实施点检。