图片来源:西门子
作者|安娜·汤森德
开源HMI软件可以大大缩短开发时间,但日后需要企业内部专业技术人员进行修改或修复。
我们设计和制造的所有包装设备上的人机界面 (HMI) 传统上都是由软件决定的。 随着客户不断要求提高所有组件的互操作性,我们正在开发开源 HMI 软件。 它的优点和缺点是什么? 可能需要哪些额外的硬件?
01
定义HMI:它还是硬件吗?
在每个人的口袋里都有智能手机之前,工业人机界面(HMI)可能是人们与触摸屏设备交互的唯一方式。 这太疯狂了,对吧? 在那些日子里,HMI 严格来说是一个通过您最喜欢的现场总线连接到 PLC 的硬件。
两端的开发都是使用专有软件完成的,工程师们成为了专家,并且对如何正确映射数据寄存器非常有自己的看法。 如今,人机界面可以采取多种形式。 许多传统的 HMI 已经存在多年手机驱动程序软件安装失败,但对现代界面、互操作性和可移植性的需求意味着专有的 HMI 模型正受到威胁。
许多用户更喜欢手机或平板电脑的熟悉界面以及现代应用程序设计的流畅美感。 如果您是设施操作员,您需要直观且高效的 HMI; 如果您是原始设备制造商,HMI 可能是您与客户最频繁的联系点以及机器和设备的代言人。
那么手机驱动程序软件安装失败,为什么要开源呢? 是因为它是免费的吗? 显然不是全部。
首先,让我们定义术语“开源”。 简单地说,开源通常是指原始源代码免费提供并且可以重新分发和修改的软件。 关于开源的一个流行说法是,它代表自由和访问,这并不意味着它没有成本,因为使用开源工具的责任转移到了负责实现这些工具的开发人员身上。 这需要理解、经验和时间。
许多为网络应用程序、超级计算机甚至互联网本身提供支持的技术都是开源的。 这包括 Linux 和 Node-RED 上的大量开发工作。 像 Node-RED 这样的平台正在改变我们对用户界面开发的思考方式。 它为许多想要使用最新工具构建机器可视化但缺乏编写 HTML5 或 Typescript 的技能和经验的用户提供了访问权限。
Node-RED 是一个使用 Node.js 的低代码环境,Node.js 是一种基于 Javascript 编程语言的运行时环境。 此环境使用 HTML5、Vue.js 和 React.js。 它非常易于使用,开发人员可以在几分钟内从第一次交互到概念验证。
开源的真正力量在于它像积木一样工作。 例如,可视化需要数据,而这些数据需要存储在某个地方,并且这些数据也需要被传输。
有很多可用的工具,例如 Eclipse Mosquitto,一个实现消息队列遥测传输协议 (MQTT) 的开源消息代理; 和InfluxDB,一个时间序列数据库。 所有这些都在 Linux 上运行,并共同构建令人惊叹的交互式工业界面。
加上易于配置的仪表板工具,如 Grafana 或 Chronograf; 它们都是可扩展的,并且可以得到使用它们的大型社区的贡献。 也许 HMI 平台最重要的演变是 Linux 的引入,它为创建多样化且功能强大的界面提供了重要的画布。
那么,你如何开始呢? “如果您已经在使用 Linux 和浏览器来实现您的设备,那么您可以立即开始,不需要其他硬件。” Wago 的 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) 运动,为自动化专业人士提供了许多新的选择。 但在选择正确的开源软件解决方案时也需要注意一些陷阱和缺点。
并非所有开源软件都是零成本的,有时零成本的解决方案最终可能是最昂贵的。 许多公司提供混合产品,包括免费社区版本和功能丰富的付费版本。 或者他们可能提供付费支持。 其中许多选项都是出色的解决方案,但其背后的公司有明确的动机来鼓励用户迁移到付费版本。 如果付费版本的成本太高,从长远来看迁移到免费版本可能是浪费精力。
对于那些真正零成本的解决方案,并且有许多非常有用和强大的示例,值得花一些时间思考谁在支持该项目以及为什么。 此外,您需要评估您愿意走多深。
当出现问题时,您必须依赖内部资源或项目周围的社区。 其中许多项目都有一个活跃的社区随时准备提供帮助,但有些项目会随着时间的推移而失败,在这种情况下,您必须自己维护它或忍受切换到其他项目的痛苦。
这些问题当然也存在于闭源项目中。 在闭源解决方案中,您无法自己修复某些问题; 您完全依赖供应商提供的更新。 如果您访问许多开源项目的源代码存储库,您通常会发现一长串需要修复的错误。 对于闭源项目来说,毫无疑问存在类似的列表; 您只是无法访问它,也无法亲自参与并修复某些问题。
硬件是另一个考虑因素。 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 都是封闭系统是有充分理由的。 Omron 的 HMI、IPC、控制器和软件产品经理 Clark Kromenaker 认为,开源意味着任何接受过任何级别培训的人都可以修改 HMI 的操作方式,这可能会提供引入低级编程错误、功能错误的机会或恶意软件。
在开放系统中,大多数情况下功能测试、安全性、功能批准和任何认证将由开放系统设计者决定。 在封闭系统中,这由 HMI 制造商处理。
通过购买包含来自同一制造商的控制系统、HMI、I/O 和其他组件的系统解决方案,可以实现最佳的互操作性和安全性。 完整的解决方案提供商将确保对所有可用功能的最佳访问。 故意混合来自不同制造商的控制器、开放式或封闭式 HMI 或 I/O 将使集成和使用每个控制组件的最佳功能的能力变得复杂。
对于开源HMI系统,您可能需要Visual Basic和C++等开发工具或底层编程工具,甚至可能需要开发PC。 对于封闭式HMI系统,通常使用更高级别的配置包来选择系统所需的对象和功能。
关键概念:
■开源HMI 软件允许任何人查看和更改驱动HMI 功能的源代码。
■并非所有开源软件都是零成本。
想了一下:
您会在工厂部署开源 HMI 系统吗?
-结尾-
▲本文来自《ConTROL ENGINEERING China》2023年1-2月号“技术文章”栏目:开源人机界面软件可行吗?
✦