赣榆区城乡建设局网站,郑州网站建设网页设计,小蜜蜂网站建设,学电商出来一般干什么工作人机界面#xff08;HMI#xff09;是自动化领域不可或缺重要组成部分。尽管人机界面系统的设计看上去并没有太大的技术门槛#xff0c;但是设计一个HMI系统的工作量是巨大的。如果你没有足够的耐心便完成不了一个通用的HMI系统。构建UI控件库是一个似乎永远完不成的事情HMI是自动化领域不可或缺重要组成部分。尽管人机界面系统的设计看上去并没有太大的技术门槛但是设计一个HMI系统的工作量是巨大的。如果你没有足够的耐心便完成不了一个通用的HMI系统。构建UI控件库是一个似乎永远完不成的事情用户永远觉得不够用。另一方面使用HMI的组态工具构建HMI应用也是一个十分繁琐又容易出错的地方你需要将大量的数据点与HMI上的UI对应起来。 网络上一位前辈曾经说过如果一件事情处理起来十分复杂多数是底层逻辑不正确。与其痛苦地重复别人的痛苦不如寻找新的出路。本文我们就来谈谈HMI 自动化生成的可能性以及相关技术。 什么是HMI 自动化生成技术呢通俗地讲就是放弃传统的组态工具和组态方式直接从工程设计文档生成HMI 的设计描述性文件下载到HMI 运行时HMI Runtime就能够直接运行。 在工程设计文档中增加一些HMI 的信息模型例如 每个设备的HMI 图形符号结合工程总体的布局图和其它一些设计文档例如OPC UA 信息模型就能够自动地生成HMI 设计文件。 也许有人会质疑这种方式 基于图形化的组态设计不是“少代码”的设计方式吗为什么要通过信息模型的编写HMI 这样不是增加了敲代码的工作量么 其实关键还是要看工程设计的效率如何。对于一个大型的控制系统而言组态的工作量也是巨大的。而且难以实现排错代码重用和维护时的修改。在笔者看来使用组态方式来设计工程HMI 并不是唯一的好方法。 与组态软件相类似传统的window的界面设计同样采用了基于图形的可视化方式设计与工业自动化领域的组态方式十分相似目前转向了基于XAML语言设计方法。同样地早期网页设计软件同样Adobe Dreamweaver。使用所谓可见即所得的编辑方式可现在大部分网页设计使用VS Code 编码的方式。工业自动化设计领域中同样大量地采纳了XML 语言。转换一下思路也许会产生新的设计方式。 另一方面大多数组态工具都是与厂商有关的封闭式工具并不符合开发自动化的理念。工程文件可以使用AML OPC UA 和CAD Web技术等开放的技术来实现。
HMI 的基础技术 HMI 是一个笼统的概念随着工业可视化需求的增长人机交互的应用场景也越来越普遍。设备的控制面板车间看板控制室的SCADA大数据显示墙云端Dashboards数字孪生虚拟实现仿真系统等等 HMI技术的应用几乎无处不在。 随着可视化技术的迅速发展HMI 的实现技术和表现形式也呈现多样化。
实现方式
基于PC计算机和windows通常使用C#和Windows 的WPF技术基于QT 的嵌入式C/C 实现的HMI主要实现小型的HMI设备硬件基于嵌入式ARM。基于android 基于Web技术
各种显示屏场景
根据不同的应用场景大致分为
操作面板dasboard 操作面板是操控机器的人机界面是传统的机电开关指示灯数显仪表盘示波器面板的虚拟化实现。
过程数据process data
控制系统中的变量表包括实时数据和历史数据。
数据趋势data trend
以图形的方式显示变量的趋势曲线图。
实时数据历史数据
图形库
实现技术不同图形库的方式也各有不同。
PC/Windows 平台
使用传统的Windows Form 使用XAML 组件
Web平台
SVG 图形Web WidgetVUE 组件 QT 嵌入式系统
QT Widgets
其它方式
比如过程控制PID 中使用dxf 格式。
图形的表现形式 可以分为 2D图形3D 图形等等。
HMI 自动化生成的基础 面对如此多的实现技术和表现形式要实现HMI自动化并非易事。要实现HMI 自动化生成的目的有两个必要条件
保持简单的图形界面并实现标准化 在我前一篇博文中已经讨论了相关问题。采用扁平化设计方式并且遵循ISA-101 标准的设计指南技术和理念。标准化能最大程度地实现图形对象的重复使用。而扁平化意味着普通的OT 工程师能够使用普通的作图工具或者CAD 软件来设计HMI 图形不需要专业的UI 设计师参与完成。
基于信息模型的HMI设计 在传统的HMI 组态软件中现场数据是离散化的数据点几千个数据点要通过组态的方式与可视化组件建立对应关系。这是一件非常辛苦的工作而且极其容易发生差错。 数据仅仅是一个浮点数和逻辑值它们是没有额外的含义数据不是信息。信息中包含的信息就多了例如对于一个温度值而言
名称值单位正常区间告警区间 在传统的HMI设计时上面的这些信息大多是组态时设置的。当信息模型与HMI 组件能够建立对应的关系后这些信息能够直接映射到HMI 中。 基于信息驱动的HMI 自动生成技术 在这里我们研究一个基于web技术实现的HMI 自动生成系统的实现方法。
基本思路
使用SVG 实现HMI图形每个HMI图形对应一个OPCUA 的对象每个OPCUA 对象中包含了HMI 图形SVG文件将控制现场分为若干的区域zone 每个区域内部包含了若干的设备每个区域对应了一张HMI 页面因此每个区域模型中包含了一个布局图。布局图可以使用CAD 工具或者其它作图工具实现转换成为XML 文档。
HMI 运行时是一个OPC UA Client 可以读取现场设备的OPC UA 信息模型。通过读取设备的信息模型以及SVG图形区域布局图文档就能够自动生成HMI页面。
HMI 屏幕设计原则 在HMI屏中避免使用通用的HTML 组件
在传统的HMI 组态工具中包含了许多诸如按键数据输入框滑杆表格的组态其实这些显示构建完全不需要自动化工程师去组态。完全能够使用HTML5自动的完成。 现代自动控制系统中每个对象包含的很多参数例如一个电机就包括了
变量电流电压转速功率温度
操作启动停止
告警过流过压温度 这些参数不必要放置在HMI的主界面中当操作人员需要详细查看时点击对象图标在侧边特征边栏呈现出来就可以了。而侧边特征边栏对画面的布局完全可以由HTML5 自动化生成它们并没有太多个性化需求。这样能够使HMI画面更加有层次感同时也避免了诸如按键输入框等UI的组态。