APP下载

PLC软件工程化的管理实践

2017-01-24黄明陈华

中小企业管理与科技·中旬刊 2016年12期
关键词:管理实践工程化

黄明++陈华

摘 要:质量是国家竞争力的核心要素,“质量强国”已上升为国家战略。对于武器装备,质量对提高军队战斗力水平、维护国家安全利益意义重大。现代武器装备融合多学科技术,软硬件功能占比不断提高,软件质量对武器装备的可靠性、安全性及综合性能越发重要。为了加强软件研制过程管理,建立与产品特点相适应的管理体系,各国防军工单位先后启动军用软件研制能力成熟度模型认证工作,切实提高了软件工程化水平和软件质量。但对软硬件耦合性强、测试配套依赖性大等特点的PLC软件,传统的软件工程化方法及规范,难以直接应用并匹配于PLC软件研发与管理。

关键词:PLC软件;工程化;管理实践

中图分类号: TU71 文献标识码: A 文章编号: 1673-1069(2016)35-23-2

0 引言

本文结合本单位装检类设备及高端工艺装备中PLC软件特点,推广深化GJB5000A体系应用,对PLC软件工程化管理进行了初步探索与实践,提出了PLC软件工程化管理方法与规范,管控关键性过程活动和文档质量,以测试推动PLC软件工程化,提升PLC软件的综合效能,有效支撑本单位装检设备及高端工艺装备的高质量研制与管理。

1 PLC软件工程化管理的迫切需求

软件工程化管理是提高软件研制质量的必经之路,不仅能降低开发成本,缩短开发周期,更能降低软件研制风险,提高软件的质量和可靠性,增强软件的可维护性。作为工业控制系统的重要组成部分,PLC软件的工程化管理对于保障控制系统安全与可靠运行、提升效能和增值等具有重要作用。

PLC(Programmable Logic Controller),即可编程逻辑控制器,应用于自动化、高可靠性要求的工业环境,成为工业控制系统的重要单元,广泛应用于逻辑控制、运动控制、工艺过程控制、信号测试与诊断等领域,因此广义上的PLC,亦包括可编程自动化控制器、可编程控制器。

相对于PLC硬件的固态化与显性化,PLC软件具备更灵活的柔性与更强的扩展性,成为PLC产品功能实现与性能提升的关键载体,因此,PLC软件质量亦成为工业控制系统质量与可靠性的关键。PLC软件广泛应用于各类测试设备、实验装置、装检设备以及高端工艺装备等,在自动化与智能化控制、安全性与可靠性等方面发挥着重要作用。

集成化装检设备离不开PLC软件。实现装检自动化,包括实现传感仪表信号检测、流程自动控制、状态监控、应急安全处理及报警等需要高质量、高可靠性的PLC软件。因此PLC软件是实现装检自动化与智能化的保障,可以显著提升产品质量可靠性、提高应急响应能力和环境适应能力、降低劳动强度和操作技能要求、减少人体危害风险等。

面向超精密加工领域研发的高端工艺装备,几乎均涉及PLC控制,如金刚车系列机床、磁流变抛光系列机床、激光焊接机床等,实现电机与仪表驱动、人机交互、运动控制、加工工艺过程控制、数据采集、通信及故障诊断等。

在高端工艺装备中,PLC软件作为控制系统的重要组成部分,从功能看, 它是实现运动(协调)控制、开关量逻辑控制、工艺参数与工艺过程控制、数据处理及通信的重要载体;从性能看,它是实现高端工艺装备安全性、可靠性的重要技术手段。

综前所述,PLC软件在当前和未来均存在巨大的现实和潜在需求。相对于PLC软件技术的不断发展,需要在PLC软件管理方面与时俱进。经过分析,以下方面制约了PLC软件的质量与研发进度。

①使用的PLC产品种类繁多,各PLC产品技术差异性大,包括平台架构方式、编程与测试方法等,导致PLC软件设计差异性大,尚未结合本单位产品特点形成相应的PLC软件技术规范。

②PLC软件开发人员分工不明确,设计、编码与测试多由同一人承担,软件质量与开发进度无法保证,人员更替对项目研发和后期维护影响较大。

③PLC软件开发过程活动、软件相关开发文档和软件版本,未进行有效管控,导致PLC软件质量与开发进度成为项目发展的瓶颈之一。

④针对PLC软件的测试平台和测试手段较为欠缺,测试过程缺乏规范。

大量研究和实践表明,软件工程化是提高软件开发质量的必经之路。中国工程物理研究院机械制造工艺研究所在软件工程化管理方面开展了体系研究,于2015年11月通过GJB5000A二级正式评价,形成了软件工程管理手册、管理规范和技术规范,切实提高了本单位软件工程化水平。

但本单位软件工程化管理尚未涵盖PLC软件。有别于其他软件,PLC软件与硬件耦合度高,对硬件平台依赖性大;PLC软件驱动硬件单元,对系统综合性能影响大;PLC软件测试难度大,包括测试平台的搭建、真实工况与异常工况的模拟等;PLC软件涉及更多的接口,包括与机械结构、电气硬件、上位软件及复杂的现场工况。因此,实施PLC软件工程化,加强PLC软件质量控制,确保其有效推动提高PLC软件质量和开发进度,需探索与PLC特点和本单位工业控制系统相适宜的管理办法。

2 PLC软件工程化管理调研

为探索PLC软件工程化管理方法,我们对国内相关单位的PLC软件管理进行了调研。根据调研初步情况,国内还没有单位将PLC软件纳入GJB5000A体系进行管理,尚未针对PLC软件形成工程体系化的管理方法和规范。一般均将PLC软件纳入电气控制系统管理,存在与电气硬件强耦合、开发角色分工不明确等带来的一些问题,包括PLC软件规格需求不清晰、开发过程无法有效跟踪和控制、测试不规范、PLC软件质量对人的依赖性大等。但从调研单位的工程实践看,有诸多可供加强PLC软件质量控制的有效手段。

机床厂专机的控制软件,与本单位PLC软件具有较大相似度。机床厂对专机在控制软件界定及分类管理、设计原则和技术要求、评审与软件验证、软件版本管理等方面,进行了规范与要求。

同为下位控制的PLC软件,可借鉴FPGA软件管理。虽然FPGA软件面向芯片级、侧重时序逻辑,而PLC软件面向控制系统集成,两者在技术上差异性较大,但在管理方面具有较大的相似性。该院对FPGA软件质量进行了有效的体系管理,形成了设计准则及测试规范等,相关管理经验包括配置、需求、角色分配、评审与测试规范等方面,对于PLC软件管理均是有益的参考。

重视软件测试。PLC软件测试,包括测试平台的搭建和测试方法的构建、PLC程序的执行效率、PLC软件的配置与移植、PLC软件对硬件变化或性能衰减的适应性、PLC软件对控制系统总体的安全性和可靠性影响等内容。从调研情况看,分阶段(包括单元测试、接口测试、集成测试)、多方法(包括数字仿真、硬件在回路、形式化验证等)测试是有益的,同时,编制测试规范、测试计划及测试过程需要对相关控制软硬件知识的深入认识。

3 PLC软件工程化管理初探

作为总装备部组织国内专家制定、用于指导军用软件研制机构改善软件过程和加强软件开发过程控制与管理的标准,GJB5000A对提升软件研制质量和管理水平、实现软件研制能力由基于个人的能力转变为组织的能力,提供了科学管理理念和做法。本单位在高端工艺装备多个软件项目开发中推行GJB5000A,切实提升了上位控制软件的研制质量。鉴于国内尚未将GJB5000A涵盖PLC软件管理的现状,本单位PLC软件管理遵循GJB5000A“服务于本单位组织目标和质量目标、追求有效性和适用性,渐进推进”的思想,结合本单位PLC软件和组织特点,对PLC软件工程化管理进行了初步探索与管理实践。

基于本单位的软件工程管理体系(QJZ53/54/55),结合本单位PLC软件特点、PLC软件研制管理基础等,借鉴同行相关管理方法,形成适宜于本单位PLC软件应用需求、与研发人员能力和组织管理水平相匹配的PLC软件研制管理要求,按此要求,在武器型号装检设备及高端工艺装备项目中,推行PLC软件工程化项目试点,通过项目实践及时总结评价,在实践中不断提升人员的研发和管理能力、组织管理水平,并迭代完善PLC软件研制管理要求,从而引导、促进PLC软件研制能力成熟度不断进步。

如前所述,将制约本单位当前PLC软件质量和项目进度的这些薄弱环节,设置为重要环节和节点,纳入质量目标加以规范管理,并基于GJB5000A本地化的软件工程管理体系进行裁剪简化,形成PLC软件研制管理要求,其流程:重点从项目开发的人员配置、过程重要节点管控和测试规范、文档质量等方面推进PLC软件工程化管理。

3.1 人员配置

改变设计、编码与测试由同一人承担的开发方式,软件开发人员至少由2人构成,包括需求与设计员、程序编码员(根据目前人员情况,需求与设计员和程序编码员可以由同一人承担)、程序测试员。

软件工程化总是关注过程,而过程的关键因素是人。针对当前PLC研发人员不熟悉GJB5000A体系、而掌握GJB5000A的人员又不理解PLC技术的现况,一方面开展培训,提高专业技术人员在PLC技术及软件工程化管理两方面的知识储备;另一方面,让专业技术人员参与数项PLC软件工程化试点项目,并交叉承担开发人员、QA、CM、测试人员等不同角色,在过程实践中理解各角色要求、发现问题、改进方法、形成共识,进而形成两类人员相互匹配和相互促进的持续改进过程。

3.2 重视设计文档,管控关键过程

加强并规范源头设计,重视设计文档,对关键过程活动进行管控。重点对软件研制任务书、软件需求规格说明书、软件设计说明书,进行评审确保设计文档质量。评审通过后,才能进行下环节,即根据软件研制任务书、软件需求规格说明,进行软件设计工作,形成软件设计说明书、软件测试计划与说明书,指导软件编码设计和测试工作。

简化文档形式,强化文档内容,确保设计文档能有效提升PLC软件质量和开发进度。鉴于PLC软件与子系统(包含机械结构、电气硬件和上位软件)涉及多接口,重点要求对接口详细分析和说明;要求以流程框图对控制功能模块的逻辑进行说明。

3.3 以软件测试推动PLC软件工程化

规范并加强PLC软件测试工作。PLC软件测试包括单元测试和系统集成测试,由项目组内部控制,测试前要求编制测试计划与说明书,由程序测试员根据测试计划与说明书,进行测试、迭代优化;测试后,编制软件测试报告。测试过程中,除测试软件研制任务书要求的功能与性能外,重点考察下位软件对控制系统安全性、可靠性的防护和保障,考察程序的执行效率和关键信号的实时响应性。

3.4 加强软件版本进行控制管理

参照软件工程管理手册,对PLC软件建立至少两级受控库,并进行分级受控库的配置管理。针对PLC涉及多接口及对系统影响直接,加强版本变更对影响域的详细分析与说明。

4 小结

GJB5000A对软件研制提供了一套科学管理理念和做法,这是一个结合单位实际实现软件质量持续优化、不断改进的过程,对刚起步的PLC软件工程化管理尤其如此。今后,将在GJB5000A体系涵盖PLC软件研制的基础上,结合各试点项目反馈,持续优化PLC软件的管理活动,完善PLC软件技术规范,切实加强PLC软件质量控制。

参 考 文 献

[1] 李志勇.PLC软件工程化的管理实践[J].科技创新与应用,2016(4):176.

猜你喜欢

管理实践工程化
工程化原子重力仪综述
浅议“看齐”文化的构建
以企业公民理念为导向的全面社会责任管理实践
“飞机性能课程设计”课程工程化改革研究
简述建筑工程施工质量管理实践
“直面中国管理实践”的内涵与路径
软件测试工程化模型及应用研究
管理哲学的本土化研究
玻璃纤维增强复合材料工程化应用进展
地方高校化工专业实验实行工程化、综合化的探索