田玉超宋冰飞刘新锋刘聪杨琦
(1.山东建筑大学 计算机科学与技术学院,山东 济南 250101;2.积成能源有限公司,山东 济南 250101;3.山东理工大学 计算机科学与技术学院,山东 淄博 255000)
在煤炭、天然气等不可再生能源日益紧张的情况下,风能越来越受到重视。风力发电作为清洁能源利用的重要方式,具有无污染、可再生、方便采集等特点,近几年得到快速发展[1]。我国风电产业发展迅速,新增风电装机量刷新历史记录。据统计,截至2020年6月底,全国风电累计装机2.17亿kW。仅2020年上半年,风电发电量达到了2379亿kW·h,同比增长了10.9%。预计到2060年,中国风电装机将达到20.07亿kW,约为2020年的7.1倍[2]。
风电运行过程中需要开展大量的故障处理、预警和巡检维修等工作,工作票制度可有效地保证电力的安全生产以及人员安全。工作票是检修人员进行设备安装、检修和维护等作业的书面依据,是检修、运行人员双方共同持有,并且强制遵守的书面安全约定。
传统的工作票操作流程自动化程度低,主要依靠手动处理。同时风电场分布范围广,使得传统的运维方式不利于审批和监控,不能及时根据现场情况变更流程、业务和人员,导致工作效率低且容易出错,不利于后期的统计分析与流程优化,因此,需要采用工作流进行业务的自动流转。工作流是业务过程的部分或整体在计算机应用环境下的自动化,是将一组任务组织起来完成某个流程,针对此流程及其各个步骤之间的流转规则进行概括性的描述[3]。使用工作流技术[4]可实现业务数据在各个工作环节中的自动传递与流转。
目前,针对业务流程系统设计的研究较多。卢珊[5]针对传统电力系统开发出两票调度系统,提出一种工作流两票管理系统的设计思路及实现原理,完成了调度两票和生产计划的工作流程设计,提高了工作效率,降低了生产成本,但是此方法并不适用于分布式风电运维系统。杨源等[6]搭建了海上风电场智慧运维管理系统,侧重于保障船舶和人员管理安全。赵轩等[7]依靠智能移动终端设备,实现了风电场两票业务信息系统的运行,规范了两票业务流程,但是没有针对告警信息和设备管理提出有效的处理措施。杨艳华[8]基于工作流技术完成了对办公自动化系统的设计,提高了办公室业务流程的运作效率。康磊等[9]构建大型风电场生产集中管控中心枢纽,建立层级流程化的风电生产集控管理模式,然而该设计中并没有涉及工作票与流程结合的相关内容。
文章引入工作流技术,基于其定义和管理结合电气操作的特殊性,可视化配置了流程和表单;通过定时巡检、人工故障发起和实时数据告警发起实现电气一种票、二种票和检修票自动化流转;实时发送告警信息,将风电运维中产生的各种信息衔接起来,帮助用户管理风电运维流程,避免出现错误,减少工作人员工作的复杂性,提高转票操作效率和考核业务处理的效率,进而改善企业运作的灵活性和适应性。
文章针对业务流程和数据进行分析并建模,将具体业务与工作流程结合起来,根据不同的目标由不同的人分别完成一系列活动。基于自定义工作流的风电流程运维系统实现风电线上运维,针对业务流程建模以及业务数据建模给出详细的设计过程。
根据具体的业务需求,系统设计针对故障告警维护流程和计划检修流程2种主要的业务流程给出详细的业务需求分析。
1.1.1 故障告警维护流程
系统的告警模块主要用来处理故障流转,共有故障采集、主动发起和缺陷登记3种操作会发起系统告警处理。(1)故障采集 当现场设备发生故障时,系统会通过物联网自动采集告警信息,触发故障处理方案并进入工作票的选择。(2)主动发起 根据需要主动发起故障处理,填写故障信息,并选择工作票。(3)缺陷记录 现场工作人员主动添加缺陷信息进行处理。
以上3种发起告警处理流程途径的整体流程图如图1所示。其中,转电气一种票、二种票、检修票分别为子流程,如图2~4所示。
图1 告警处理流程图
“转电气一种票”节点对应的子流程包含开票子流程、人员变动子流程、延期子流程和终结子流程,每一种子流程下又包含填写、签发、批准确认和许可等活动节点,具体的电气一种票操作流程如图2所示。
图2 电气一种票操作流程图
“转电气二种票”节点对应的流转子流程如图3所示。其中,与电气一种票流程相比,缺少人员变动子流程。
图3 电气二种票操作流程图
“转电气检修票”节点对应的流转子流程如图4所示。其中,在开票子流程中增加了工作班组成员签名确认活动。
图4 电气检修票操作流程图
1.1.2 计划检修流程
计划检修是按照计划对机器设备日常维护、检查等。计划检修流程则是指计划检修过程中开票处理时,引发的一系列有顺序的活动。
检修计划和主动发起会发起计划检修流程,计划检修工作整体流程如图5所示。其中检修计划需要根据已定计划发起,主动发起强调发起的即时性。
图5 计划检修工作流程图
为了方便分析员的理解,采用业务流程建模语言(Business Process Modeling Notation,BPMN)[10]为故障告警维护流程、计划检修流程进行可视化的业务流程建模,具体BPMN业务流程如图6所示。该模型包含了工作票的开票、签发、批准、延期、人员变更、终结等活动以及各分支之间的关联关系。
图6 BPMN业务流程图
以电气一种票流程为例,描述自定义工作流的设计和实现。
管理者选择需要处理的信息条目,通过故障处理方案进入开票流程,此处选择电气一种票。填写票据相关信息,提交后根据流程规则进入工作人员签发步骤。下一活动操作者可以查看并处理当前要处理的数据,将通过或驳回的处理结果插入到流程处理表中。若驳回,则返回上一活动节点;若通过,则流程进行下一步骤的处理。逐级运转后最终进入工作票的批准工作,由负责人审批提交进入工作票的终结工作,负责人确认后该流程结束。在实际的业务中,会遇到工作组成员或负责人的变动,此时需要激活人员变更流程。具体的业务流程如图7所示。
图7 电气一种票BPMN流程图
业务流程指过程节点以及执行方式组成的工作过程。活动之间有严格的先后顺序,并且活动的内容、方式和责任也有明确的界定,从而使不同活动在不同的角色之间进行逐级递转。在系统中主要有故障告警维护流程和计划检修流程2种业务流程的流转涉及工作票的选择。
工作人员每天都要面对大量的业务流程数据,信息临时更改频繁。将业务流程数据可视化,便于工作人员处理不同的数据,将复杂数据简单化。
在一个业务流程系统中主要涉及对电气一种票、电气二种票以及电气检修票的操作,需要对3种票据的数据进行建模。根据具体的工作票流程数据,抽取了业务数据的通用信息,如业务信息、签名信息、时间信息、措施等,主要数据表结构见表1。
表1 业务数据基础信息表
根据具体应用场景选择对应的票据。电气一种票主要用于高压作业,而电气二种票主要用于无需将设备停电的操作,电气检修票主要是针对设备维护所需的票据。在业务流程中具体工作票的选择情况如图8所示。
图8 工作票选择思维导图
每一种票据对应不同的应用场景,采取的具体措施也不同。每一种票据的详细措施信息如下:
(1)电气一种票
针对电气一种票应用场景,其开票过程中输入的措施需要先进行停电处理,具体实施的措施信息有作业前先停电验电;拉断路器(开关)、隔离开关(刀闸);装接地线、合接地刀闸;设遮拦、挂标示牌及防止二次回路误碰等。
(2)电气二种票
电气二种票对应的应用场景中,不需要停电处理,因此需要注意与带电设备的安全距离。其开票过程中输入的措施信息与电气一种票存在不同,具体的措施信息包括未经站内人员许可,严禁扩大工作范围;使用专用调试电脑及闪存盘,不得私自将未经许可的设备接入站内电力系统等。
(3)电气检修票
电气检修票用于计划检修,要求工作人员具备高空作业资质或经过培训,具体的措施信息包含检查所有吊具、吊带和工具袋;拆刹车保护罩时确认刹车盘处于刹车状态,机舱外工作时须确认有安全绳和机身相连,保障人身安全;切断远控操作,机组进入就地模式,按下“急停”按钮,挂警示牌等。
工作票是业务流程中最主要的数据,将工作票操作转移到线上,通过流程的运转进行票据的处理,利用该过程中产生的大量数据可以进行预警和性能分析[11]。
系统所有的业务操作均是围绕工作流展开的。工作流是实现工程任务全过程管理的核心支撑部分。通过自定义工作流可以实现风电运维过程中转票操作的线上自动化流转,进行智能化的数据交互[12]。即通过工作流规范实现相应的工作流[13],管理一系列的工作活动以及相关人员、资源、信息技术资料来提供业务处理程序上的自动控制。
在实际业务流程处理过程中,一个流程实例表示一次完整的业务流程流转。根据当前应用的流程规则,控制活动状态的变迁,处理形成的各种子流程,如工作票的延期、终结流程。其中,流程规则包括顺序、并行、拒绝、同步。顺序规则是指一个活动结束后另一个活动开始,如在轨迹<a,b>中,b跟在a后面执行,公式化关系式表示为f∈ea→eb,其中f表示a和b之间的顺序关系;ea为e流程实例中的a活动;并行规则是指两个活动在同一个活动之后执行;拒绝规则是指在一个活动之后不执行所选择的活动;同步规则是两个活动必须都执行结束才能执行下一活动。具体步骤如下:
(1)流程实例开始执行,初始活动被激活;
(2)记录活动相关信息,包括开始时间、完成时间、状态等;
(3)选择与当前活动状态相对应的流程规则进行流程的流转;
(4)重复以上过程;
(5)无被激活活动,该流程结束。
在系统的开发与实现中,数据库设计具有重要的地位。通过数据库和终端的交互可以实现数据的动态交互[14]。文章系统以自定义工作流为核心配置业务,工作流的配置过程中涉及工作流实例、流程类型、状态以及流程步骤等,其中工作流实例还会涉及多种流程活动。风电流程运维系统通过数据调试和操作业务流程,从而实现业务流程的流转。自定义工作流相关数据库模型如图9所示,包含流程实例表、流程活动表、表单表、流程规则表和操作者数据表。
图9 数据库模型图
其中,编码(Identify Document,ID)作为数据表的唯一标识;外键约束(Foreign Key,FK)用于建立表之间的联系。流程实例表是指在工作流运转过程中会涉及不同的实例,所有的实例对应流程实例表;流程活动表涉及流程配置中的活动结点;流程规则表对应流程配置中的流转规则,每一步之间的流转均为单向,根据每一步的判断条件完成下一步的选择;表单对应流程运转过程中的票据记录;操作者则对应系统的用户信息。
针对业务流程的复杂性,文章提出了一种基于广度遍历算法和僵枝切除的工作流实现方法,其步骤为(1)可视化流程的配置,包括节点配置和连接线配置;(2)自定义表单;(3)调用工作流进行工作流流转。
基于过程模型Petri网的工作流设计是切实可行的[15],但李建军[16]未考虑Petri网对事务状态描述的庞杂性,容易造成工作人员工作量的增加。因此,文章系统的开发过程中舍弃Petri网,采用顶点活动网(Activity On Vertex,AOV),基于AOV抽象出工作流模型,进行流程节点的处理[17]。算法1展示了系统设计中AOV网络节点的构建方法。给定一个序列L,遍历其中的节点,节点共有休眠、激活、完成、僵死4个状态。其中,休眠表示该活动节点还没有执行,可随时被激活;激活表示该活动节点正在执行还没有完成;僵死表示该活动节点所在的分支抛弃,永远不会被执行。如果父亲节点休眠数量和激活数量>0,则保持原状态;如果父亲节点已经全部僵死,则节点类型(C.Type)转化为僵死状态,并更新该节点的子节点父亲僵死数目(DeadNum);如果父亲节点完成数量>0,更新子节点父分支激活数目(ActiveNum)。
算法1构建AOV网络
输入:活动节点Ci
输出:AOV网络A
在工作流的设计中,根据是否完成当前活动的所有工作项,判断下一步是否设置活动状态。如果活动为中间节点,则获取并遍历所有的就绪活动。如果就绪活动的前置活动已经完成,则激活该就绪活动,否则不做处理,而交给工作流引擎进行处理。
从AOV网络的根节点开始分层搜索,节点的入度(inEdges)为0则压入栈A中,同期入栈的为并行活动。A中元素个数不为空则进行出栈操作,将栈顶元素出栈放入拓扑序列(listOut)中,并将邻接顶点入度减1,遍历需要激活的节点,根据节点状态判断是否设置该活动节点为结束。具体流程如图10所示。
图10 节点处理流程图
所构建的AOV网络同一层中可能存在多个流程节点指向同一个子节点的情况,在到达该子节点时,其前一层所有的父节点均执行完毕才会执行该节点,如图11所示,a1的子节点a5、a6、a7和a8同属一层,需要等待a5、a6、a7和a8同时处于完成或僵死状态才会继续执行下一节点。针对僵死节点需要进行剪枝操作,如图12所示,若不执行a8,则判为僵死节点,将剪除该分支。
图11 广度遍历流程图
图12 僵枝切除流程图
运维系统主要工作为线上开票操作,主要的业务单元包括人工发起故障信息、系统自动发起故障信息以及流程变更。工作人员根据自己的需要选择对应的转票操作,实现开票流程的自动化流转。总体架构主要包括监控层、数据层、服务层、应用层,如图13所示。
图13 总体架构图
监控层用于监控风电场的设备,采集实时数据并发送告警信息,实现数据的上传下达[18]。通过监控层能够查看并管理所有工作,包括对工作活动节点、工作项进行查看、删除和回滚等基本操作。数据层是指运维过程中形成的各种数据和信息[19],包括实时数据库和关系数据库,分别用于存储开票操作和物资管理过程中产生的数据,以及用户、设备和其他有关联关系的数据信息。服务层用于提供用户和设备的权限管理,通过分析应用层的功能需求,提取所需业务流程,以轻量级工作流为模型推动活动,完成活动的流转,实现智能化管理。应用层基于浏览器/服务器(Brower/Server,B/S)模式进行终端访问,客户端在浏览器访问系统实现风电两票操作的智能运维管理,可以进行缺陷记录登记、开票操作、检修处理及设备管理工作,能够监测某个业务目前流转到哪个环节,提供有效的信息以及方便快捷的处理流程。
结合系统中的具体应用,以计划检修子流程实例为例展开详细描述。(1)开票流程 故障处理方案转入电气检修票的开票流程,由工作人员填写工作票,包含电厂信息、开票时间、措施等信息;工作票填写完成后进入工作票的签发、许可工作;再由值班人员安措布置工作,工作班组成员签名确认;业务工作线下完成后由值班人员完成安措恢复,开票流程终结。(2)延期流程 由于执行不及时等原因会出现流程的延期,需要执行工作票的延期流程,填写工作票延期信息后提交延期批准工作。(3)验收流程 工作票延期流程审核通过后,开始工作票的验收流程,包括工作票的终结申请、终结审批工作,流程结束形成工作验收单,工作票进入终结状态。
每一种业务流程在运转过程中都会生成对应的事件日志文件,其主要事件日志信息见表2。该事件日志可以帮助工作人员监控系统中发生的事件,还可以帮助分析员分析发生错误的原因。在后续的工作中,将采用事件日志进行流程下一任务预测以及流程剩余时间预测[20]等。
表2 电气检修票事件日志表
文章基于自定义工作流搭建了新能源风电场运维系统,能够实现风电运维的动态管理,完整支持了多数据源发起、电气一种票、电气二种票、电气检修票多种工作票选择以及业务流程对接、流转、变更,有效地解决了流程发起、变更、运转以及业务数据与流程相结合的复杂性问题,避免了误操作,保证了转票操作的安全性,提升了工作效率,并能够将流程运行的结果数据进行结构化存储。后续可利用机器学习方法完成对流程剩余时间预测以及业务流程检查,进一步加强对流程过程的监控。