开源人机界面(HMI)软件可行吗?
发布时间:2023-03-01 来源:控制工程网
图片来源 :西门子
开源HMI软件可以大大缩短开发时间,但需要企业内部具有专业技术人员,可以在未来进行修改或修复。
我们设计和建造的所有包装设备上的人机界面(HMI)传统上都是由软件决定的。随着客户不断要求提高所有组件的互操作性,我们正在研究开源HMI软件。它的优点和缺点是什么?还有可能需要哪些额外的硬件?
01 定义HMI:它还是硬件吗?
在每个人的口袋里都有智能手机之前,工业人机界面(HMI)可能是人们与触摸屏设备的唯一交互方式。这很疯狂,对吧?在那个年代,HMI是一个严格意义上的硬件,通过你最喜欢的现场总线连接到PLC。
两端的开发都是通过专有软件进行的,工程师们成为了如何正确映射数据寄存器的专家,而且非常固执己见。如今,人机界面可以有多种形式。许多传统的HMI已经存在多年,但对现代界面、互操作性和可移植性的需求意味着专用的HMI模式正在受到威胁。
许多用户更喜欢熟悉的手机或平板电脑界面,以及现代应用程序设计的流畅美感。如果你是一名设施操作员,你需要HMI是直观和高效的;如果你是一个原始设备制造商,HMI可能是你与客户最频繁接触的点,也是你的机器设备的代言人。
那么,为什么要开源呢?难道因为它是免费的吗?显然并不全是。
首先,让我们来定义一下 “开源” 这个词。简单地说,开源通常是指免费提供原始源代码的软件,并可以重新分发和修改。开源的一个流行说法是,它代表自由和准入,并不意味着是没有成本,因为使用开源工具的责任转移到了负责实施这些工具的开发者身上。这需要理解、经验和时间。
许多为Web应用程序、超级计算机甚至互联网本身提供动力的技术都是开源的。这包括大量的开发工作,如Linux和Node-RED。Node-RED这样的平台正在改变我们对用户界面开发的看法。它为许多想要使用最新工具来构建他们的机器可视化,但缺乏编写HTML5或typescript的技能和经验的用户提供了访问权限。
Node-RED是一个低代码量的环境,它使用Node.js,一个基于JavaScript编程语言的运行环境。这个环境使用了HTML5、Vue.js、React.js。它是如此容易使用,以至于开发人员可以在几分钟内完成从首次互动到概念验证的过程。
开源的真正力量在于它可以像搭积木一样工作。例如,可视化需要数据,而这些数据需要被储存在某个地方,这些数据也需要被运输。
有很多工具可以使用,例如Eclipse Mosquitto,一个实现了消息队列遥测传输协议(MQTT)的开源消息代理;以及InfluxDB,一个时间序列数据库。所有这些都在Linux上运行,协同工作以构建令人惊叹的交互式工业界面。
再加上易于配置的仪表盘工具,如Grafana或Chronograf;它们都是可扩展的,并且可以从大量使用它们的社区中获得可用的贡献。也许对HMI平台最重要的演变是引入了Linux,它提供了一个重要的画布来创建一个多样化和高功能的界面。
那么,如何开始? “如果你已经使用Linux和浏览器实现设备,那么你就可以马上开始了,不需要其他硬件。”万可公司Linux 和 IIoT 高级应用工程师Jesse Cox说,“安装Node-RED,并开始用一个简单的基于浏览器的集成开发环境(IDE)构建界面。导入仪表板节点以将组件添加到Web用户界面(UI),你将惊讶于构建交互式UI的速度之快。如果你的HMI有一个浏览器,那么你可以把它指向你的Node-RED实例,然后你可能永远不会再以同样的方式看待闭源HMI解决方案了。”
02 节省预算和开发时间
在HMI中使用开源软件有三个优势。
首先,也是最明显的一点是,很多开源软件(OSS)是免费的,这为用户带来了直接的预算节省。
其次,在节省预算的同时,减少了编程/开发时间。一旦开发出应用程序,就可以很容易地将其转换为共享相同软件的不同硬件平台。
最后是能够从几个潜在的硬件平台中自由选择,为更广泛的产品范围打开大门,用户可能能够找到真正完全符合他们需求的非常具体的硬件,如具有IP67的设备或食品和饮料批准的设备(图1)。
▲图 1:开源软件可以为食品和饮料设备中使用的硬件平台或特殊设备提供更多灵活性。
对于工业HMI应用来说,需要考虑的最大缺点可能是技术支持。图尔克公司产品经理Roberto Solis认为,对于授权软件,与开发该产品的供应商有一个直接的技术支持联系是相当普遍的。该供应商可以帮助用户加快解决问题,并处理过程中出现的任何问题,而使用开放源码软件可能更难找到一个具体的联系人来提供支持。在购买之前要考虑这一点,是否明确指出了谁来提供支持?
03 硬币的另外一面
毫无疑问,开源软件,更确切地说,自由和开源软件(FOSS)运动给自动化专业人员提供了很多新的选择。但在选择适合的开源软件解决方案时,其中的陷阱和缺点也需要注意。
并不是所有的开源软件都是零成本的,而且有时零成本的解决方案最终可能是最昂贵的。许多公司提供混合型产品,其中既有免费的社区版,也有收费的功能更丰富的版本。或者他们会提供有偿的支持。这些选择中有许多是优秀的解决方案,但其背后的公司有明显的动机鼓励用户迁移到付费版本。如果付费版本的成本太高,从长远来看,迁移到免费版本可能是浪费精力。
对于那些确实是零成本的解决方案,而且有许多非常有用和强大的例子,值得花一些时间考虑谁在支持这个项目以及为什么。此外,你需要评估一下,你愿意在多大程度上深入了解。
当出现问题时,你将不得不依靠内部资源或围绕项目的社区。许多这样的项目都有一个活跃的社区随时准备提供帮助,但有些项目会随着时间的推移而失败,在这种情况下,您必须自己维护或忍受转换为其他问题的痛苦。
这些问题当然也存在于闭源项目中。在闭源解决方案中,没有办法自己修复一些东西;你完全依赖供应商提供的更新。如果你访问许多开源项目的源代码库,通常会发现一长串需要修复的bug。对于一个闭源项目来说,毫无疑问,类似的清单也是存在的;您只是没有机会接触到它,也没有可能自己跳进去修复某些问题。
硬件是另一种考量。Maple Systems公司工程师Mike Sheldon谈道,闭源软件往往将用户锁定在一个特定的硬件供应商。而开源解决方案,您可以货比三家,使您的产品来源多样化,并有可能降低成本。然而,这也需要用户承担起验证兼容性的责任。企业需要什么样的操作系统?是否有驱动程序或软件包需要安装?处理器的速度和结构是否足够?使用一个需要特定硬件的闭源解决方案,可以省去一些决策环节。
04 开源需要内部专业知识
对于所有类型的应用,包括工业HMI软件,与使用专有软件相比,开源软件可以提供很多优势,例如,用户可以自由地修改源代码,使他们有完全的灵活性来根据环境定制应用程序;通常情况下,任何许可和维护费用都比市面上的软件成本低。但用户也需要在使用开源方法之前意识到其缺点。
开源的主要缺点,包括:修改源代码需要专业技能;用户可能需要为文档、媒介和支持付费。用户必须意识到开源软件许可有不同的变体,其中一些比其他的更具限制性。需要进行仔细的软件许可证审查,以便清楚地了解人们可以用开源软件做什么和不能做什么。
此外,维护成本也可能是一个问题,因为用户要依靠开源社区来支持该软件。在生产环境中,业务中断的风险很高,缺乏即时支持可能是一个大问题。如果社区不支持新的操作系统、驱动程序、功能、硬件平台和安全漏洞的修复,那么维护软件的责任就落在了终端用户身上。
另一个重要的问题是,开源软件有许多选择,并且有许多不同的组合。终端用户必须建立一个软件标准,以确保整个公司都在同一个版本上,这样就很容易维护开源软件。
同样,版本控制也是开源软件应该考虑的另一个因素。新的开源软件发布频率很高,有时是每周发布一次。每个新版本都必须与现有的应用程序和硬件进行测试,以确保解决方案适当地运行。另一项任务是验证新版本不包含任何病毒或恶意软件。
与开源软件相比,ADISRA公司首席技术官Bruno Crepaldi认为,专有软件有其优势,即供应商负责维护该软件及其与其他软件包(如数据库)的整合。供应商还为客户提供专业的主题资源,如培训、支持和咨询。这对于终端用户可能需要参与额外支持的HMI项目非常重要。
专有软件的另一个优势是,供应商因为与许多客户交流,并了解最新的软件趋势,因此会定期添加新的功能和需求,从而使得软件能够不断发展。对于HMI软件,这有助于确保最重要的功能始终可用(图2)。
▲图 2:HMI 软件为部署和连接提供了开放的灵活性,但需要确保最终用户得到技术和安全更新的支持。
此外,专有软件供应商还负责支持新的操作系统、驱动程序、功能和硬件平台,并解决任何安全问题。他们对客户负责,以确保有一条通向新平台或添加HMI软件功能的升级路径。
05 平衡总拥有成本
设计的关键要素之一是了解终端用户喜欢什么。在许多情况下,企业希望根据以前安装的设备或熟悉的程度来选择特定的HMI。在考虑开源开发平台时,这可能会限制可用的选择,因为大多数HMI是特制的,需要一个特定的、商业上可用的开发平台。
当有使用开源开发平台的需求时,有两个关键优势:灵活性和许可成本。由于可以获得开发软件的源代码,因此可以对软件进行全面控制和配置。一个技术娴熟的工程师将能够根据更独特的最终用户体验创建软件,或根据客户要求定制解决方案。
开源软件通常意味着没有开发软件的许可费用。这可能是一个优势,但将取决于实施情况。大多数开源解决方案将需要一个以进程间通信(IPC)为中心的解决方案,这可能需要额外的设备,如不间断电源、数据集中器、主机或屏幕,这将抵消节省的费用。
对于开发者和终端用户来说,在考虑开源平台时,BW Packaging Systems公司数字创新项目经理Joe Ambrose认为,总拥有成本(TCO)始终很重要。有必要考虑一个组织是否有合适的软件和控制工程师来支持系统的开发和维护,因为从长远来看,这可能是一笔很大的开支。对团队进行培训并适当配备人员可能会占用解决方案开发的大量资源。
除了成本之外,可能还有一些其他的技术考虑,包括容错性、安全性和附加软件。例如,开源软件可能不支持所需要的PLC通信协议,需要额外的软件将其转换为所支持的格式。
06 考虑开源项目的必要性
在考虑采用任何技术时,重要的是要权衡取舍。对于开源项目来说尤其如此。评估功能的好处和使用现有代码库的风险是很重要的,因为你的专业知识可能有限。有一些稳定的开源代码库(如MQTT)是很好的例子,它们具有广泛的市场应用。
在考虑开源时,罗克韦尔自动化公司可视化平台负责人Steve Briant建议,应当询问可用的功能是否能满足你的需求或是否需要扩展。如果它需要扩展,问问自己,开放源码是否有很好的文档,你是否有专业知识来扩展它?
你还需要考虑许可模式。一些开源项目要求将任何修改贡献给该开源项目。你还应该考虑开源项目的采用情况或受欢迎程度。采用率有限的开源项目可能会很慢,无法做出任何改变或改进。除非您准备为项目提供资源以解决这些问题,否则无论功能如何,开源可能不是最适合的方法。
07 开放系统的测试和认证
开源 HMI 软件使任何人都可以查看和更改驱动 HMI 功能的源代码。理论上,它将允许机器设计者,甚至是客户,有能力对HMI的功能和它可能具有的功能进行修改。
传统的HMI通常有一个封闭系统。在这个封闭的系统中,只有HMI的制造商可以修改底层的源代码,改变特性和功能。与开放系统相比,客户对操作选项的选择更为有限。
虽然可以更改底层源代码,使HMI功能听起来很吸引人,但有充分的理由表明,今天使用的大多数HMI都是封闭系统。欧姆龙 HMI、IPC、控制器和软件产品经理Clark Kromenaker认为,开源意味着任何受过任何水平训练的人都可以修改HMI的操作方式,这可能为引入低级编程错误、函数错误或恶意软件提供了机会。
在开放系统中,大多数情况下,功能测试、安全、功能批准和任何认证将由开放系统设计者决定。在封闭系统中,这是由HMI制造商负责处理的。
通过购买包括来自同一制造商的控制系统、HMI、I/O 和其他组件的系统解决方案,可以获得最佳的互操作性和安全性。完整解决方案提供商将确保对所有可用功能的最佳访问。刻意将不同厂家的控制器、开放式或封闭式HMI或I/O混合在一起,将使集成和使用每个控制组件的最佳功能的能力变得复杂。
对于开源HMI系统,可能需要Visual Basic、c++等开发工具或底层编程工具,甚至可能需要开发PC机。对于封闭式HMI系统,通常使用更高级别的配置包来选择系统需要的对象和功能。(作者 | Anna Townshend)
关键概念:
■ 开源 HMI 软件使任何人都可以查看和更改驱动 HMI功能的源代码。
■ 并不是所有的开源软件都是零成本的。
思考一下:
您会在工厂中部署开源 HMI 系统吗?