改进控制系统编程

当我们考虑plc、dcs和hmi的控制系统编程时,我们通常倾向于关注“控制系统”方面,但重要的是要记住控制系统编程是编程。大多数控制系统编程使用高度专业化的语言,如阶梯逻辑、顺序功能图、过程流程图和功能框图。

通过丹尼斯·布兰德,BR&L咨询公司 二五年七月一日

当我们考虑plc、dcs和hmi的控制系统编程时,我们通常倾向于关注“控制系统”方面,但重要的是要记住控制系统编程是编程。大多数控制系统编程使用高度专业化的语言,如阶梯逻辑、顺序功能图、过程流程图和功能框图。尽管这些语言具有图形化的本质,但它们是计算机语言,图表的创建是一种编程功能。通常编程不是由程序员或软件工程师完成的,而是由化学、工业、电气或机械工程师或工业技术人员完成的,他们通过专业课程或毕业后的学校工作学会了编程。然而,仅仅因为典型的控制系统程序员不是软件工程师并不意味着他们不能使用软件工程方法来定义、监视、评估和改进他们的工作。

具有良好定义和管理流程的组织与没有良好定义和管理流程的组织之间的差异是巨大的。每年都有报告称,平均只有30%的业务IT项目按时并按预算完成。我们经常看到关于IT故障的重大新闻报道,例如FBI注销了其花费1.7亿美元、历时4年开发的虚拟案件文件系统。每千行代码的平均错误数和每天的平均代码行数是编程效率的两种常用衡量标准,在最好和最差的组织之间相差超过100倍。

具有良好定义和管理的过程的组织通常在估计项目时间和精力的+/- 20%之内,那些没有良好定义和管理的过程的组织通常会错过他们的时间和成本超过100%。

对于控制系统程序员来说,一个重要的问题是“我们有多优秀?”更具体地说,我们与班里的平均水平和最好的学生相比如何?幸运的是,有一个公认的软件能力度量标准——软件工程研究所的能力和成熟度模型(CMM)。第一版于1991年发布,作为软件公司比较实践和流程与同类最佳方法的一种方式。最新的版本被称为能力和成熟度模型集成(CMMI) (https://www.sei.cmu.edu/cmmi/),并为软件工程、系统工程、集成产品和过程开发以及供应商采购而开发。

CMMI模型有两种风格:阶段性的和连续的。连续模型侧重于组织元素,例如项目管理、支持和工程,通常适用于大型组织。分阶段模型侧重于每个层次上的活动,通常适用于较小的组织。

CMMI定义了组织成熟度的五个级别:最初,2。管理,3。定义4。5.定量管理;优化。每个级别定义了通常与该级别执行相关的活动和工件(文档、系统和培训)。每个级别包括较低级别的所有任务和工件,并从较低级别发展而来。随着组织在开发、交付和维护软件方面能力的成熟,它自然应该提高其成熟度级别。然而,尽管许多公司都在尝试,但你不能越级。 Organizations at Level 1 often have spectacular successes and failures but can’t repeat their successes. Organizations at Level 5 are on time and on budget for even the hardest of tasks; those involved know their problem spaces and how to develop solutions using continuous improvement methods.

下个月的专栏将描述每个级别。相关阅读请访问www.globalelove.com/archive, 2005年7月。

作者信息
丹尼斯·Brandldbrandl@brlconsulting.comBR&L Consulting是一家专注于制造业IT解决方案的咨询公司,总部位于北卡罗来纳州卡里(Cary)