0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【插针机HMI开发】用AWTK开发人机界面

ZLG致远电子 2024-04-19 08:23 次阅读

插针机中有两个重要的部件HMI和PLC,HMI提供用户操作和界面显示,而PLC则控制电机的运动逻辑。致远电子的ZTP800和AWTK-HMI解决方案可以快速开发插针机或其他设备的HMI界面。

14f0a22c-fde3-11ee-9118-92fbcf53809c.jpg  AWTK介绍致远电子的AWTK是开源GUI引擎,提供了AWTK-C、AWTK-MVVM和AWTK-HMI等多种解决方案来实现界面编程。其中AWTK-C解决方案使用C语言来开发GUI,灵活度最高,但是学习使用门槛也较高。AWTK-MVVM解决方案则进一步简化C的编程,支持控件与变量绑定联动,让界面和业务开发分离。而AWTK-HMI解决方案使用最简单,内置Modbus通信模块,不用写C代码,只需使用AWStudio软件拖拽控件和配置属性即可实现HMI界面,因此本次也是使用AWTK-HMI方案来实现插针机的上位机


14e503fe-fde3-11ee-9118-92fbcf53809c.jpg  插针机系统介绍

本次使用ZTP800作为插针机的HMI设备,中间使用Modbus协议与PLC通信。ZTP800中内置的AWTK-HMI运行时引擎,让用户无需额外编写C代码即可实现插针机的人机交互界面。

15051464-fde3-11ee-9118-92fbcf53809c.png

图2插针机系统介绍

注:AWTK-HMI是开源的HMI运行时引擎,如想了解编译方法请参考AWTK-HMI仓库的说明文档,在ZTP800的部署AWTK可以参考ZTP800在线文档的AWTK移植章节。


14e503fe-fde3-11ee-9118-92fbcf53809c.jpg  插针机HMI开发流程

只需要3步:

在PC配置好Modbus的通信点表文件;

使用AWStudio软件通过简单拖拽做界面设计;

最后把工程下载到ZTP800运行。

1. 定义Modbus寄存器点表先定义一个Modbus寄存器点表来约定HMI和PLC的通信规范,HMI作为Modbus主机,PLC作为从机。该表格需要根据插针机的需求来定,例如:手动移动托板,手动移动主轴,调整主轴/托板速度等。15138daa-fde3-11ee-9118-92fbcf53809c.png图3 Modbus 寄存器只读表格图

151ad95c-fde3-11ee-9118-92fbcf53809c.png

图4 Modbus寄存器写入表格图22. 创建AWTK-HMI的Modbus配置文件

AWTK-HMI要使用Modbus通信功能,需要用户创建一个配置文件modbus_model.json。

151e4718-fde3-11ee-9118-92fbcf53809c.png

图5 modbus_model.json配置文件

modbus_model.json主要用于配置Modbus通信的寄存器和AWTK变量对象的映射关系,每个channel(通道)用于表示一片读写Modbus寄存器区域,而variables定义了AWTK变量对象和channel的关系。3. AWTK-HMI界面开发

在AWStudio创建一个新AWTK工程,如下图:

1530142a-fde3-11ee-9118-92fbcf53809c.png

图6 插针机首页开发界面

把需要显示的控件从工具栏拖放到页面上:

15342876-fde3-11ee-9118-92fbcf53809c.png

图7 插针机操作界面

首先,需要给窗口配置v-model属性,启用Modbus功能。在窗口增加一个自定义属性v-model,属性值设置为【modbus_client(name=modbus_model,share=true)】,代表该页面使用modbus_model.json的通信配置。如下图:1537ef60-fde3-11ee-9118-92fbcf53809c.png

图8 变量绑定规则界面

下一步,把上面modbus_model.json映射好的变量绑定到控件上面,让Label控件根据变量当前值自动改变显示内容,或自动把Edit控件设置的参数下发给下位机。

例如要让Label控件显示补针状态,可以给这个Label控件添加自定义属性【v-data:text】,属性值设置为【g_is_needle_model?”补针状态”:”非补针状态”】,代表控件的text属性会跟随g_is_needle_model变量变化。如下图:

1546e696-fde3-11ee-9118-92fbcf53809c.png图9 添加自定义属性界面例如要把设置托板速度的Edit控件的输入数值下发到下位机,可以给这个Edit控件添加自定义属性【v-data:text】,属性值设置为【g_plane_speed】,代表控件的text属性改变后会立即更新g_plane_speed变量。如下图:155f4c5e-fde3-11ee-9118-92fbcf53809c.png图10 添加自定义属性界面2

Modbus模块会自动同步g_is_needle_model、g_plane_speed等变量,并周期读写从机,因此上面控件显示就会周期性的更新,或周期性的把输入值写入从机。
用户甚至可以把变量值立即写入从机,在控件的事件响应脚本中增加代码【exec('update', 'write_registers')】即可,其中write_registers就是modbus_model.json定义的通道名。

4. AWTK-HMI工程下载运行

上面的工程开发完成后,点击AWStudio上的打包按钮,在工程目录下会生成出一个res文件夹,如下图所示。把res文件夹的内容下载到ZTP800的AWTK-HMI运行时程序的对应位置,重启设备就可以顺利启动我们新开发的HMI界面。

15632874-fde3-11ee-9118-92fbcf53809c.png

图11 res文件夹156b9eb4-fde3-11ee-9118-92fbcf53809c.png图12 运行效果

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开源
    +关注

    关注

    3

    文章

    3398

    浏览量

    42686
  • HMI
    HMI
    +关注

    关注

    9

    文章

    597

    浏览量

    48702
  • awtk
    +关注

    关注

    0

    文章

    46

    浏览量

    250
收藏 人收藏

    评论

    相关推荐

    人机界面开发与应用

    人机界面开发与应用彭彦卿,厦门理工学院电子与电气工程系,厦门市厦港新村72号605,361005[摘 要] 研究人机界面主画面、参数设定与显示画面、报警显示画面的开发与应用
    发表于 11-01 09:25 21次下载

    EasyARM开发套件PC人机界面软件

    EasyARM开发套件PC人机界面软件
    发表于 07-15 15:08 48次下载

    人机界面设计与应用

    本专题为你介绍人机界面设计及相关应用。内容包括人机界面人机交互的含义与区别,人机界面硬件选型、开发软件下载,
    发表于 11-30 13:53
    <b class='flag-5'>人机界面</b>设计与应用

    使用STM32设计人机界面 (HMI)

    使用STM32设计人机界面 (HMI)
    发表于 11-25 14:49 0次下载

    基于单片的综合应用程序HMI人机界面控制步进电机【C语言】

    基于单片的综合应用程序HMI人机界面控制步进电机【C语言】
    发表于 01-06 14:22 9次下载

    基于单片的综合应用程序HMI人机界面控制步进电机(新程序)

    基于单片的综合应用程序HMI人机界面控制步进电机(新程序)【C语言】
    发表于 01-06 18:03 47次下载

    hmi人机界面包括什么_hmi人机界面设计

     HMI是Human Machine Interface的缩写,即“人机接口”,也叫人机界面HMI人机界面是系统和用户之间进行交互和信息交
    发表于 12-05 17:26 2.7w次阅读
    <b class='flag-5'>hmi</b><b class='flag-5'>人机界面</b>包括什么_<b class='flag-5'>hmi</b><b class='flag-5'>人机界面</b>设计

    人机界面HMI的8大知识点汇总

    本文开始介绍了人机界面HMI的定义及接口种类,其次阐述了HMI人机界面产品的组成与工作原理及它的基本功能,最后阐述了HMI
    发表于 03-12 10:45 5.8w次阅读
    <b class='flag-5'>人机界面</b><b class='flag-5'>HMI</b>的8大知识点汇总

    单片综合应用人机界面资料合集免费下载

    本文档的主要内容详细介绍的是单片综合应用人机界面资料合集免费下载包括了:HMI人机界面(2.4寸屏)C程序,HMI
    发表于 07-16 08:00 4次下载
    单片<b class='flag-5'>机</b>综合应用<b class='flag-5'>人机界面</b>资料合集免费下载

    人机界面(HMI)的典型应用

    HMI人机界面的简写,它为PLC控制系统、I/O模块或者其他控制系统提供一个人性化的操作界面,而人机界面则通过RS232、485、MODBUS、CAN总线等协议与这些控制系统交互数据
    发表于 09-11 14:04 6836次阅读
    <b class='flag-5'>人机界面</b>(<b class='flag-5'>HMI</b>)的典型应用

    人机界面HMI七大知识的详细介绍

    人机界面HMI七大知识你知道多少?
    发表于 02-14 09:36 2195次阅读

    人机界面编程什么语言_人机界面设计方法原则

    人机界面编程使用的语言和技术有很多,其中比较常见的包括以下几种:   C++:C++是一种高级编程语言,可以用于开发各种应用程序和操作系统,也可以用于开发人机界面。   Java
    发表于 03-16 15:29 2439次阅读

    人机界面的应用

    人机界面的应用 HMI人机界面的简写,它为PLC控制系统、I/O模块或者其他控制系统提供一个人性化的操作界面,而人机界面则通过RS232、
    发表于 04-14 11:02 538次阅读

    人机界面集成框架

    人机界面HMI)集成框架指的是一种用于构建、设计、管理和部署人机界面的软件框架,它可以帮助开发人员和系统管理员快速创建、调整和维护HMI
    发表于 04-14 15:42 910次阅读

    人机界面编程什么语言 怎么c++编写人机界面程序

    人机界面编程一般使用 HMI 软件进行编写。常见的 HMI 软件有 WinCC、ProTool、GP-Pro EX 等,这些软件提供了图形化编程界面,使得编程变得简单易懂。
    的头像 发表于 04-15 16:23 4937次阅读