你自己做,HMI

技术更新:你应该建立或购买一个人机界面(HMI)?开发基于pc的HMI软件似乎是一项简单的任务,但其中存在陷阱。配置购买的HMI软件包通常是更好的长期选择。一个表比较了HMI软件开发和配置。

通过理查德•克拉克 2015年6月8日

基于pc的人机界面(HMI)软件在20世纪80年代由Wonderware公司首次推出。机器制造商、原始设备制造商(oem)、系统集成商和终端用户立即看到了它的潜力,催生了许多额外的HMI软件公司的成功。

但许多用户也看到了开发自己的基于pc的HMI应用程序的潜力,其主要动机是希望避免HMI开发软件包和运行时许可的前期成本。

现在我们已经经历了几十年的这些发展,我们可以看看每种方法并评估优点和缺点。虽然购买对许多人来说是有意义的,但在某些情况下,制作是一种可行的方法。

何时在内部开发软件

虽然创建HMI应用程序对于有经验的程序员来说似乎相对简单,但长期维护软件不可避免地会变成一项重大工作。因此,只有在满足以下条件时,才可以进行人机界面软件的内部开发。

首先,内部开发通常对终端用户没有意义,因为根本没有足够的部署来分摊开发成本。对于机械制造商OEM来说,这可能是有意义的,但仅在某些情况下。

  • OEM必须大量生产机器,以在多个单元上摊销开发成本。
  • HMI应用程序应该相对简单,以降低开发和维护成本。
  • 公司内部必须至少有两个有能力的人机界面程序员。

需要两个或更多的程序员,因为依赖一个人不是一个好主意,因为HMI应用程序在第一台机器启动并运行后并没有完成,而是必须在机器的生命周期内(通常长达几十年)进行维护。如果只有一个程序员,并且这个人离开了公司,维护就成了问题。如果有两个或两个以上的程序员,软件维护可以联合处理,这是一种更安全的方法。新加入公司的程序员也必须经过充分的培训,以保持连续性。

嵌入式方法

如果所有这些条件都满足,内部开发人机界面软件是一个可行的选择,但还有一个因素应该考虑。如果HMI应用相对简单,这是内部开发的要求,购买嵌入式HMI软件可能是比内部开发或购买基于pc的平台更好的选择。

使用嵌入式方法,OEM购买的显示硬件已经安装了HMI运行时许可(见图2)。虽然嵌入式HMI可能不具备基于pc的HMI的所有功能,但大多数产品肯定足以满足许多OEM应用,而且无论从前期还是长期来看,它们总是比基于pc的HMI便宜得多。但是,如果嵌入式HMI方法由于某些原因无法工作,并且OEM决定在内部开发应用程序,则必须解决这些问题。

更新的并发症

人机界面软件的内部开发比几十年前简单多了,这主要是由于出现了更好的编程语言,如Visual Basic。这些语言中的大多数都可以运行在基于Linux或微软windows的平台上。

Linux将是较便宜的选择,因为它的软件比Windows便宜,而且Linux的机顶盒也比PC便宜。但是使用Linux会增加等式的复杂性,所以下面只讨论基于pc的方法。

基于pc的方法的问题通常在第一个应用程序运行完初始机器应用程序的生命周期之后出现。这时,将引入一台新的或升级的机器,并且必须更新软件。由于新版本的操作系统或硬件平台不再支持现有代码,可能会出现其他问题。

如果原来的程序员还在,为一台新的或升级的机器更新HMI软件可能不是太困难。不仅可以升级软件,还可以添加新功能,并且可以修复错误。

当操作系统或硬件平台过时时也是如此,但在这种情况下,内部方法的缺点与购买的HMI软件相比。

对于购买的软件,供应商通常会在引入新的操作系统时准备好软件的新版本。一些供应商提供导入功能,因此旧的HMI应用程序可以很容易地升级到新的操作系统,使这项任务相对简单。

当软件在内部开发时,确保与新操作系统兼容的任务就落在了内部资源的肩上,这大大增加了成本。

如果原始开发人员不再与OEM合作,特别是如果代码没有正确地记录,则这些升级问题将显著加剧。

转移所有权

如果HMI软件的原始开发人员都没有留下来,那么就需要一个或多个新的开发人员来接管现有的和新的应用程序。通常需要大量时间来确定如何修复或更改功能集。

在创建和整合新功能并测试结果以确保没有引入新问题时也是如此。Bug修复尤其有问题,因为这项任务通常需要对HMI软件有深入的了解。

如果原始软件和所有后续的更改都以结构化的方式进行,并有详细的文档记录,所有权的转移就会更容易,但这并不典型。在大多数情况下,HMI软件的开发和维护有些杂乱无章,这使得新程序员很难甚至不可能维护应用程序。

在许多情况下,如果不是大多数情况下,内部开发的HMI通常依赖于许多程序员不熟悉的编程工具和方法,最终它的可行性开始依赖于创建HMI的那个人。如果那个人已经不在了,新的程序员必须对代码进行逆向工程,这是一项耗时且非常困难的任务。

为了避免这些问题和其他问题,更好的选择可能是从已建立的供应商购买HMI软件,然后为特定的应用程序配置该软件。虽然配置购买的HMI软件确实需要一些专业知识,但这比从头开始编写代码要简单得多。

购买而不是制造

虽然内部开发的HMI程序在某些应用中取得了成功,但与VB相比,Wonderware InTouch Machine Edition等软件包的配置学习曲线较短。NET和c#代码的开发、部署和维护。

现代HMI软件包提供直观的接口来开发最必要的功能(参见图3)。它们通常还包含以各种协议与大多数现实硬件设备接口所需的连接性,从而简化了系统配置。

购买的HMI开发软件,其内置的高级工具,有助于减少新用户遇到的许多问题。使用填空面板配置功能和通信可以减少问题和开发时间。

对于OEM来说,从头开发许多内置的HMI功能是非常困难或不可能的。购买HMI软件使OEM在配置功能齐全的HMI应用程序时不再需要“重新发明轮子”。

使用积分器

如果内部资源不足以配置购买的HMI软件,或者应用程序的复杂性非常高,则OEM可以使用系统集成商。集成商应由HMI供应商认证,因为这将确保产品的能力水平和开发成功的HMI应用的跟踪记录。

这可能是一个谨慎的选择,因为合适的集成商将拥有资源,通过在各种应用程序和行业垂直领域拥有多年经验的工程人员提供技术支持。这可以帮助OEM快速将其设备推向市场。

如果由于某种原因无法使用同一集成商进行产品更新或改进,软件供应商可以为其他认证的集成商提供联系方式,以接管项目开发和维护。

如果OEM与不仅熟悉HMI软件,而且还熟悉OEM的特定应用程序的集成商有持续的合作关系,那么这个选项可能是一个特别好的选择。当内部资源不够时,如果没有合适的集成商,HMI软件供应商可能会提供帮助。

与供应商合作

一个更快且可能更经济的解决方案是使用HMI软件提供商的服务(见图1)。这个选项提供了直接访问经验丰富的应用程序工程师的机会,他们可以调试现有的应用程序或从头开始构建一个交钥匙解决方案。

虽然所有的HMI软件供应商都提供某种程度的支持,但相关的成本差异很大,所提供的服务范围也不同。一些供应商提供免费或低成本的支持,而其他供应商则收取相当多的费用。一些供应商提供交钥匙解决方案,而另一些则倾向于将客户推荐给集成商合作伙伴。

但是如果HMI软件供应商确实以合理的价格提供了足够多的服务,这可能是一个有吸引力的选择,因为没有人比供应商更了解软件。通常情况下,软件供应商的员工在为oem和其他客户创建安全可靠的软件应用程序方面具有丰富的经验。

虽然现在HMI软件的内部开发比过去更容易,但配置购买的HMI软件也更简单。内部开发的软件还存在其他缺陷,特别是在部署应用程序的长期维护方面(见表1)。由于许多OEM机器的寿命以几十年为单位,因此需要进行软件维护,并且使用购买的HMI软件维护配置的应用程序更简单。

——Richard Clark (Schneider Electric Wonderware的InduSoft Web Studio应用开发者);由Mark T. Hoske编辑,他是CFE Media的内容经理,控制工程mhoske@cfemedia.com

关键概念

  • 各种各样的工具使得diy hmi成为一个诱人的选择。
  • 创建HMI的成本远远超出初始投资;等待升级。
  • 使用购买的软件,维护部署的应用程序会容易得多。

考虑一下这个

在考虑到生命周期成本之后,降低自己动手软件的初始成本可能没有意义。

在线额外

Richard Clark,作为InduSoft Web Studio应用程序开发人员,负责施耐德电气Wonderware第三方产品的营销、工程、支持和安全。

-请参阅下面关于信息系统和hmi的其他故事。