用于HMI应用的工具
操作员界面似乎比以往任何时候都要更加复杂和成熟,但它们之间的差别却在于屏幕背后的东西。
为您的操作构建一种有效的人机界面(HMI)纯粹是一种个人行为,因为每一种安装都不一样,都具有不同的要求、目标及需求。因此为您的操作创建一种合适的人机界面,意味着需先彻底了解您的过程及其周边系统....然后再从能对它们进行监控及调整的角度来创建对这些过程的反映。
这项工作既简单又复杂,之所以说它简单,是因为今天的 HMI 软件内容丰富而且用户友好,并能完成多种现成功能。但需清楚,很少有应用能用一种切甜饼的方式来进行处理,但今天的大多数HMI软件已能进行广泛的定制,因此可针对具体要求对应用进行裁减。
选择一种工具
HMI软件可集成多种工具来帮助简化今天的界面系统开发。无论是Excel、XML、VB,还是OPC、C++或C#,都能按用户的想象或要求来使用。这些标准编程语言可用来创建生动的过程、渗透过防火墙、在互联网上冲浪以及处理数据等等。
选择何种方式来创建或加强您的HMI,在很大程度上取决于您个人的偏好及能力,永远都不会有“唯一”的方式。因此有人可能会用VB来创建应用,但需要将OPC用于运行时间通信。简单应用可能只需要现成的配置,但较为精细的系统则可能需要用C++或C#来进行详细的加强。适合于大多数HMI软件、以及可充当添加件的符号库及ActiveX控制,可用来进一步帮助您定制应用。一些供应商还为特定行业提供特定套装软件,半导体及汽车行业就是其中两个很好的例子。
编程工具的选择可委托供应商进行,企业常常需要一种能跨整个企业建立一致性的公共编程工具或方法。例如,大型企业一般都会为其遍布全球的工厂开发一系列企业标准,并且其政策还规定必须用一致的方式来开发标准HMI以外的相关应用,以及必须将开发出的程序移植回工厂已安装的HMI软件中来增加所需的界面。
用来创建可通过HMI进行逻辑访问的开发语言,一般都具有它们自己的特性。梯形逻辑对于北美很多人来说是直接和易于理解的;而VB则很直观,而且通过它更容易学会大多数编程语言;但C++不能进行交互、且更复杂而且确实很难使用;XML的广泛使用使其成为一种常见及普通的开发工具,它只有很少的语法因此相当容易学习,而且还能用来跨行业构建各种不同类型的HMI。
但并非总是需要对HMI进行编程。今天大多数HMI都是面向配置设计的,因此非编程人员或只拥有很少编程背景的人员,都能用很少的工作来创建相当有效的系统。通过用户友好的GUI(图形用户界面)、填空式屏幕及一些培训,大多数工程师即很容易使用配置及专用脚本工具来完成他们所期望的工作。
西门子自动化部HMI产品营销经理Paul Shelton是这样看的:“无论软件是生成VBA、XML还是生成其他什么东西,用户都不应该必须去关心采用什么样的代码。我们希望能使配置时间最少,并提供一组易于配置的工具,而且如果应用需要的话,还能对这些工具还进行扩展”。西门子开发出的两种主要HMI软件解决方案包括:具有全SCADA(监视控制及数据采集)特性的WinCC及其既往产品,以及面板配置工具ProTool。
“如果我们用配置工具来完成我们的工作,则能减少我们完成项目所需的定制数额。有了HMI配置软件,你就能说,OK,这是一个泵,我只需在屏幕上拖放一个智能对象,然后再敲入一个参数就可以了。如果你想要访问其他属性或者增加脚本,则不难访问到高级配置层次。当配置完成后,你也很容易将新的定制对象增加到你的库中。另外,公开公共配置参数可缩短你的开发时间。但如果我想访问其他细节的话,我也拥有这样的能力--如果我需要的话”。
配置、脚本及程序
如果这些现成的配置工具还不够用,那么你可以通过增加简单的脚本并将其放入可用添加件中,即可获得所需要的结果。“脚本语言使我们能做更多的事情”,Omron Electronics培训师Thad McCoy指出,ActiveX控制程序就是一个这样的例子,“你可以从互联网上下载一个MP3 ActiveX控制程序,并将其脚本编成:‘当条件满足时特定播放器才会启动并播放指定的MP3文件’。这种形式的添加对于建立像告警这样的特性非常有用,因为它工作得很好”。
ActiveX控制使用户很容易用他们自己的HMI来完成更多的工作。这些包含图形组件的容器可用来显示或运行过程。它们可从许多来源上得到,并可用作允许用户启用或运行第三方程序的桥梁。ActiveX控制可用于数据库访问、告警、基本趋势及更多。
如果脚本语言具有足够综合的功能,则大多数应用可以只使用脚本来进行构建,因为你并非总是需要编程,Wonderware公司可视化产品经理Keith Jones解释说,但每一种应用都需要有一定数量的定制。“因为任何一种操作都需要增添其自己的画面及组件”,他说,“所以你总是需要编制少量的脚本,即使它是一行用来在你按下按钮时启动一个应用这样简单的指令。Wonderware公司提供的InTouch就采用了通常比编程更易于使用的脚本语言”。
InTouch被设计用来为操作员及管理人员提供可接近过程的工厂可视化,并与工厂控制设备进行接口和连接。“用户可配置使他能看见过程并与其进行交互的任何东西。如果用户想要转动一条传送带,则他可使用InTouch中的WindowMaker(窗口产生器)来自己完成,或者从现有库中取出一个这样的程序,今天有很多这样的库可以使用。你可以将一个项目拖放到你的应用中,并将它与几个I/O点或标签进行挂钩,这样,当传送带活动动时它也跟着移动”。
InTouch软件的SymbolFactory(符号工厂)拥有3000条项目,从简单的管子到熔炉等。而第三方供应商则能提供数千条以上的项目。
当需要更多东西时
与容易用最少的编程来创建应用同样重要的是,在需要时要能对应用进行扩展。“没有哪种现成的HMI软件可满足所有用户的需求”,Rockwell Software HMI产品业务经理Pradeep David承认,“因此我们所有的产品都允许使用VB,因为我们嵌入了Visual Basic for Applications (VBA)。例如钢铁行业中的应用经常会使用计算,而VB则能提供扩展HMI所需的工具。在我们这种情况下,如果你想要完成比我们的HMI所提供的现成功能更多的事情,则RSView拥有能使你通过VBA来创建标签/屏幕以及从外部修改HMI行为的对象模型。这是一种使HMI能完成起初并未赋予它的某些功能的强大而有效的方法”。
诚然,人们要求HMI软件能做更多的事情,但关键在于它如何通过自动功能以及为用户提供增加特性来完成这些事情。National Instruments公司的LabVIEW平台经理Norma Dorst给出了这样的评述:“灵活的软件使系统集成尽可能容易进行,它必须在最底层实现I/O集成,亦即从PLC及仪表到DAQ系统等,HMI都必须能与这一层进行集成”。
HMI还必须能与通信及系统管理层进行集成,她继续说,像XML、.Net及ActiveX这样的工具,都在这一层起作用,以帮助实现所有的集成及HMI中所需的集成。她指出,NI公司提供的LabVIEW,即可帮助实现HMI与XML电子表格的通话,并在互联网上进行通信。“如果你不需要这种经过精心设计的通信,那么你不必为这些特性操心,但有些SCADA系统却需要有这样的特性。大多数HMI供应商都在担心管理层,但嵌入层也一样重要”。
除创建应用外,HMI系统还必须能公开地与各种元素进行通信。这种供应商多样性及设备差异性,使得用户今天必须强制使用其他软件工具(如由OPC基金提供的软件工具等)。以客户机及服务器能力,OPC规范可将对象与设备相连,并充当各系统间的仲裁及桥梁。OPC服务器通过从客户机(或程序)上获取信息并将其转化成可理解的格式,实现了第三方软件与完全不同硬件之间的通信。
Rockwell公司的Pradeep David评述说:“所有HMI软件都需要成为OPC服务器及客户程序,因为很少有用户能确切知道他的系统需要与哪家或多少供应商提供的硬件进行通信。很多HMI都需要进行上至MES层、下至设备或部件层的通信,OPC即是一个可完成这种任务的机制”。
扩展应用
GE Fanuc公司Intellution产品部HMI/SCADA产品市场总监Roy Kok建议在HMI软件中寻求灵活性,但重要的是要能集成尽可能多的功能。用户希望能将我们的标准软件完全转换成他们唯一拥有的程序。GE Fanuc Automation提供两种HMI软件套装:面向离散的Complicity HMI--一种由事件驱动且更适合于汽车及机器控制应用的软件,以及面向过程的iFix--一种由时间驱动且针对过程应用中常见的分析及连续控制应用(如石油天然气、供水及废水处理行业中的控制应用等)的软件。这两种产品都支持像食品饮料、建筑物管理及电力供应这样的混合市场。
Kok认为,你应该能使用一种像Cimplicity HMI这样的标准HMI软件,将它安装在一台机器上,且不用自己去编程。“你不必去编脚本或用VBA来完成一个应用”,他坚持说,“你要做的就是指向和点击鼠标、选择标签名称、拖动图标并链接操作。从理论上说,市场需要简单易用的产品”。
“但我们正在看到系统越来越多的集成,HMI已不再仅仅是监视工厂运行”,他继续说,“它还带有关系数据库,因此它能提供定单或进度信息,它还能进行上下通信及交互。我们甚至有客户希望他们的HMI产品能为其业务运营提供一个有关所有操作员的视图”。
Omron的McCoy评述说,“大多数HMI产品都有增加插件及创建程序的渠道,以便用户能增强或扩展其HMI的功能”。 Omron开发的HMI软件--CX自动化套件系列,可提供基于Microsoft Window技术的模块化集成HMI解决方案。其工具覆盖编程、仿真、通信、SCADA及应用功能。利用CX-Supervisor模块,用户能定制HMI系统中的所有元素。它具有类似的结构且感觉起来像VB,McCoy说,“它非常直观,且试图使用户能一步接一步地通过整个过程。ActiveX控制件还使我们能与特定设备进行链接和通信”。
由于拥有大多数程序,CX自动化套件允许将第三方ActiveX控制件集成到HMI软件中。而用户也可用VB来编写一小段程序以执行一个操作。所提供的ActiveX控件使用户很容易从Microsoft Excel及Visual Basic上进行可靠的通信。
向零编程HMI方向发展
HMI会向哪个方向发展?
“相互依赖”是一个操作用词。HMI是整个自动化系统中的一个--也仅仅是一个--方面,而且必须将它放在整个自动化系统中来考虑,它是所有其他工厂自动化功能的一个关键数据基础。
GE公司的Kok认为HMI系统正在向从一个软件包上提供业务运营的一个操作员视图方向发展。为做到这一点,HMI将在其图形界面中托管许多第三方的内容,“HMI软件需要成为可靠而又安全的ActiveX容器。如果你的图形容器中拥有第三方内容的话,那么你可能需要考虑牺牲你HMI环境的部分可靠性。我可能会从网上购买和下载ActiveX控制,并将它安装到我的图形界面中。我们还从来没有在我们的系统中测试过它,也没有在执行其他所有功能时试用过它,因此它有可能使我的系统崩溃。容器需要捕获和隔离开发中的问题,并使它们不至于影响到应用的其他方面”,Kok说。
人们今天已经能构建真正令人不可思议的HMI,NI公司的Dorst评述说,“我们现在真的在HMI成熟度上不再具有任何限制”,但她警告说,“如果你不向操作员示范一些有用的东西--如果它仅仅是漂亮的话--那它就毫无意义。但当它向操作员展示在精确性及对实时情况的掌握上有不同之处时,则它就是操作员所需要的。你示范得越好,你的最终工厂或机器设计也就越好”。
Dorst还相信,微软公司的Visual Studio .Net已经将一种全新的观念带到HMI开发中。“VB及VC++(Microsoft Visual C++)用户希望能用一种更加结构化的语言来构建更加成熟的应用。Visual Studio .Net其实是功能更强大的VB与更容易使用的C及C++之间的折衷。人们会缓慢但确实地转向Visual Studio .Net,而且我相信未来你将会看到它被人们更多地使用”。
总之,未来将允许“更多”及“更少”。人们无疑将会看到HMI开发过程的进一步简化,这是一个被Rockwell公司的David称为“零编程HMI”的概念。系统正在被开发成完全“无标签”,David解释说,“你不用去创建标签,你只需概念地在程序中创建一个像 [Autodesk Auto] CAD或 [Microsoft] Visio这样的块,然后这个块会通过特定接口被翻译成梯形逻辑或其他HMI程序。从某种意义上说,它为你工作,因此用户只需花很少的时间来开发HMI。很明显,我们还没有做到这一点,但我相信你会看到在这方面将有大的动作”。
相反,随着最终用户变得更加成熟以及对HMI产品更加了解,他们将通过修改现成的软件来针对其过程及系统进行更多的定制,以便能适合其业务运营。HMI软件的结构为用户提供了这样的机会和手段。
应该从HMI软件中寻找什么?
以下是您在检查HMI软件及其工具时需要记住的几个要点:
■ 使用是否方便?
■ 配置过程是否简单?
■ 是否能进行扩展?是否接受用户开发的组件以及将这些组件集成到已经完成的应用中?
■ 是否能与未来版本兼容?
■ 是否耐用?是否是一种系统集成员容易使用的程序?
■ 是否方便实现I/O连接?
■ 是否能进行扩展?是否能模块化地扩展你创建的组件?
■ 程序块是否能重复使用?
Linux 如何?
基于Linux的HMI最近受到了人们的极大关注,其中的原因很多,不仅仅是因为它的成本。Linux最初是由Linus Torvalds在全世界开发人员的帮助下所创建的一种自由开放式Unix操作系统。在GNU通用公共许可证下开发的Linux源代码,对任何人都是公开的(详情请访问下面列出的网站)
尽管已有几家供应商在提供或计划提供基于Linux的设备,但人们对HMI所使用操作系统的适用性及可用性的观点很不一样。从Web 服务的观点上讲,Linux的功能极为强大。Rockwell Automation公司的Pradeep David说,“我认为Linux在服务器端可发挥巨大的作用,而服务器成本现在已经很低。但从客户端角度来说,HMI则是一种胖客户机,且到目前为止,Windows操作系统仍是桌面台式机的首选,但Linux将给制造环境带来重大的冲击”。
然而,应用似乎正在进行合并,而且一些厂商将很快会拥有安装在某台机器上的Linux HMI系统。Kemet电子公司的Joe Jansen相信,我们将很快看到一些用Linux完成的清蛋白液盒PC控制。“从那儿起,进入嵌入式市场就会是一种自然的扩展”,他说,“基于Linux的HMI屏幕确实存在,而且在许可证方面的情况也极好,它是免许可的”。
好了,几乎完全免费。西门子公司的Paul Shelton同意Linux在服务器端表现得很好,而且他估计Linux在服务器端的存在将会进一步向前发展。至于说到成本,Paul Shelton指出:“如果注意一下部分硬件的总拥有成本,其中有操作系统成本及应用和维护成本,但从'免费'操作系统上获得的成本节省,将在以后长期的维护及技术支持中逐渐消失。Microsoft操作系统目前是HMI行业的标准,这种标准化使开发人员能将精力集中在易于共享信息的富特性应用上”。
免费还是不免费并没有明确的界定,正如Wonderware公司的Keith Jones所指出的,“我们的产品目前完全处于Windows环境下,而且我们也对此作出了承诺。我们目前还没有任何改变或开发基于Linux系统的计划,但我们正在与用户合作来共同开发基于嵌入式Linux硬件的瘦客户机,然后再将它们与一台InTouch服务器相连。这是一种极可嵌入的技术而且还免费,它对于那些想要构建这种HMI屏幕的OEM们具有极大的吸引力,但这是我们用Linux所作的仅有一点工作”。
GE Fanuc公司的Roy Kok同意这一观点,“自动化世界长期受Microsoft技术的驱动,人们希望在他们开发及使用HMI系统时能利用Excel以及其他应用。你可以将一个带有基本信息的文件输入到Excel中,并将Excel用作一个开发工具,然后再将它移植回HMI系统中。而这些工作在Linux环境下就很难完成,因此兼容性开发工具其实并不存在”。
“在操作系统不是关键因素的地方--瘦客户机终端就是一个极好的例子--我们可以利用像Microsoft Terminal Services (微软终端服务)这样的技术。Linux在这些应用中具有优势,这非常像CE”。
(编选,2004,6,)
linux相关文章:linux教程
c++相关文章:c++教程
评论