随着信息技术在军工、制造业等领域的不断普及和快速发展,各行业信息系统软件的研制正在由传统的重复、烟囱式开发模式向以系统顶层设计为指导,以标准化、组件化、集成化软件开发为重点的模式逐步转变。其中,图形化人机交互界面是信息系统软件的重要组成部分。然而,目前企业在人机界面软件开发方面普遍面临以下问题:

  • 面向行业的图形控件库的积累与复用尚未形成,缺乏有效的工具支撑
  • 缺少基于已有图形控件库的快速开发手段,多为代码级复用
  • 跨平台、自主可控改造成本及技术门槛高
  • 缺乏快速构建有效的行业软件人机界面原型的方法,需求沟通困难(传统的快速原型工具往往无法完全满足领域化需求)
  • 系统可维护性差,软件部署升级困难

针对上述问题,阿共凭借多年在人机界面软件开发领域的经验和技术积累,设计研发了Blue HMI人机界面开发平台,并在实践中进行了大量应用验证,产品应用效果显著。一、 产品概述Blue HMI是一款多平台的人机界面软件开发环境和运行平台,支持用户使用灵活的拖拽、配置方式快速设计和开发桌面软件。Blue HMI通过标准化的图形控件开发规范约束、可灵活扩展的图形控件库、简单易用的代码生成与工程管理等辅助工具,大大提升了人机界面开发的效率和质量。产品采用开放式、可扩展技术体系架构,支持国产化、跨平台,支持数据与显示分离,运行效率高,具有良好的扩展性和维护。Blue HMI产品组成如下:平台组成Blue HMI产品提供了简单高效的使用方法:用户通过行业控件的积累可以快速丰富图形控件库,而基于强大的控件库又可以方便地完成业务软件的快速开发与部署。具体使用流程如下:平台使用流程二、 产品功能1. 可视化界面设计Blue HMI提供基于图形控件库的可视化开发手段,可通过简单的拖拽布局等操作,快速实现界面开发。Blue HMI支持控件的拖拽、缩放、旋转,恢复/撤销、复制/粘贴、剪切等图形编辑功能,支持控件属性设置,以及动画设定、动画绑点等功能,所见即所得,能支撑用户快速完成人机界面的设计与编辑,并将设计结果保存为图形页面进行管理。Blue HMI软件界面简洁,易操作,具有流畅的人机交互体验。基于图形控件库的界面开发2. 数据管理除图形界面设计外,Blue HMI还提供对数据的管理功能,支持用户对系统变量和用户变量的键/值对进行管理,支持数据绑定,实现数据与图形的关联。2.1 变量管理数据变量分为系统变量和用户变量。其中,系统变量是为了满足用户更多的个性化需求而设置的可选扩展数据,如系统时间、流量监控等信息;用户变量是开放给用户进行自定义的数据项。变量管理主要实现对数据变量的增加、删除、修改等操作。在设备状态监控场景下,Blue HMI为用户提供了相关变量报警机制的设定。变量管理界面2.2 数据绑定Blue HMI提供数据变量与图形控件的关联关系编辑功能,实现数据与图形控件变量的绑定,从而达到数据驱动界面的效果,实现了图形界面与数据的松耦合。数据变量与图形控件的绑定界面3. 调试运行Blue HMI提供方便、快捷的图形界面本地化调试运行手段,方便用户快速查看、调试软件界面设计与运行效果,进行故障排查。界面调试运行4. 工程管理与部署Blue HMI可将用户创建的一组图形页面,通过“工程”的方式集成起来进行管理,实现系统参数设置、页面管理、数据管理、工程发布与运行等功能。工程管理界面用户可通过平台对编辑后的工程实现分布式一键部署的功能,后台服务自动加载,并通过客户端图形引擎自动下载和运行工程页面,极大提高了系统部署和升级效率。工程发布界面

5.丰富的图形控件库

Blue HMI内置大量精美图形控件,并支持自定义开发控件。控件采用动态插件机制,具备强大的扩展性和复用性,支持控件即插即用。

图形控件包括基础图元、基础控件、行业控件和自定义控件四大类。

5.1 基础图元

基础图元是指最基础的矢量图形。Blue HMI提供了包括直线、曲线、圆形、矩形、椭圆、三角形、星形等常用的矢量图形库。

5.2 基础控件

基础控件是指按钮、输入框、文本框、各类仪表、滑杆、调色板、图片等基础通用类型图形控件。

5.3 行业控件

Blue HMI在工业控制、船舶制造、舰船综合平台管理、各类舰船信息系统等领域积累了大量图形控件,并且支持面向各行业定制和扩展领域化控件库,实现了行业控件标准化,以及软件资产的有效积累和复用。

5.4 自定义控件

Blue HMI支持各类复杂图形控件的自定义,包括工控图形控件、领域化业务图形控件等。Blue HMI提供控件代码自动生成功能,编译产生的控件可直接自动加入到系统控件库,实现了一站式开发。用户只需专注于业务层功能开发,大大减少了控件代码创建和编写工作量,最大限度降低了自定义控件开发技术门槛,能有效满足企业个性化定制需求。丰富的图形控件库控件代码自动生成

三、产品开发与运行环境

Blue HMI基于标准C++语言,采用Qt进行封装,便于组件开发和跨平台移植。产品支持的主流平台及编译环境如下表所示(可根据需要快速适配新环境):

四、产品优势

  • 强大的多平台支持。支持中标麒麟、Linux、Windows、VxWorks、道等操作系统,一个平台开发,多个平台运行

  • 所见即所得的界面开发模式。支持拖拽式人机界面开发,支持控件拖拽、缩放、复制粘贴、组合等图形操作

  • 丰富的图形控件库。提供丰富的矢量图元、基础常用图形控件,支持控件属性封装与编辑

  • 个性化的控件开发。支持用户自由扩展自定义图形控件;提供代码自动生成功能,支撑行业级图形控件库的积累与复用

  • 标准化的控件业务封装。除控件图形元素及属性封装外,提供了标准化的控件计算业务封装及生命周期管理服务,完美支撑系统软件的面向任务集成与动态调度

  • 可在线部署和升级。能对网络内设备进行一键在线软件部署和升级,实现灵活、快捷的工程实施

  • 丰富的动画设定。可自由设定和组合形状动画、颜色动画、轨迹动画、文本动画,可自定义设定动画时间等参数

  • 强大的页面组合能力。可对设计好的图形页面自由地进行布局、分组、切换设计,随心所欲设计复杂图形软件界面

五、应用价值

Blue HMI在船舶、航空、航天等行业的大型平台设备、各类指控、电子对抗信息系统中,以及工业控制、智慧城市、智慧家居、智慧农业等领域,具有广阔的应用前景,实现如下价值:

  • 统一的开发规范与平台,有力支撑大型复杂信息系统的总体集成工作
  • 有利于图形控件库的积累与复用,实现行业知识沉淀
  • 有利于提高软件开发效率与质量,降低软件研发投入
  • 有利于加快系统升级迭代速度,降低系统运维成本
  • 助力企业实现信息系统的国产化与自主可控

六、典型案例与控件效果

船体健康管理系统自定义控件自定义控件行业控件



vue拖拽控件生成界面代码_Blue HMI人机界面开发平台相关推荐

  1. js 拖拽生成html,js拖拽插件 js 拖拽控件生成自定义表单 怎么实现

    想请教一个js的问题,拖拽控件 js 拖拽控件生成自定义表单 怎么实现 说说步骤吧 监听mousedown事件 - 获取鼠标点击元素,判断是否可拖拽 - 设置flag做标记 - 建一个tempDOM, ...

  2. winform窗体自由拖拽控件

    源码地址:https://download.csdn.net/download/horseroll/10906640 以上链接是用积分下载的,如果没有积分,可以用以下链接付费下载:https://do ...

  3. Silverlight 游戏开发:可重用的拖拽控件

    游戏中有各种各样的拖拽需求,大到窗口,小到图标,在游戏界面操作中,点击和拖拽占据了用户操作的大部分行为,如何做好一个拖拽控件至关重要,做一个可重用的拖拽控件更加重要,我的这些实现方法可能比较另类,但只 ...

  4. .net中实现拖拽控件

    在.net中实现拖拽控件主要用到以下函数: MouseDown(object sender, MouseEventArgs e) MouseUp(object sender, MouseEventAr ...

  5. Flutter拖拽控件Draggable

    Draggable 最近做了一个Flutter项目,其中有一个需求是做出三个可以互相拖拽的任务列表,平时在做Android项目时,拖动的控件基本上都是自定义View来实现的,想看看在Fluter上大家 ...

  6. Java拖拽控件数据库_java实现鼠标拖放功能代码实例

    java实现鼠标拖放功能代码实例 利用鼠标的拖放来交换程序的数据,即所谓的鼠标拖放功能.鼠标的拖放功能在图形化系统中非常常用,Java 提供了java.awt.dnd 和java.awt.datatr ...

  7. H5实现多图片预览上传,可点击可拖拽控件介绍

    在做图片上传时发现一个蛮好用的控件,支持多张图片同时上传,可以点击选择图片,也可以将图片拖拽到上传框直接上传,方便,好用,接口也简单,基本可以直接放到项目里使用. 先看看他的样式: 选择图片后: $( ...

  8. C# Winform平台下实现自由拖拽控件

    C#控件拖动 1.场景需求 有时候,我们在编写PC上位机软件的时候,不免需要将所定义的控件可以自由的拖拽到任意地方.为了实现此一需求,我尝试了很多种方法,比如使用Mouse_Leave,Mouse_D ...

  9. Android 拖拽控件交换位置

    距离上次写博客已快有一月,中间也动过几次写博客的心思,但却因为懒,耽搁了下来.                         --萧洛 在网上搜寻了许久,实在是没有找到可用的demo,无奈只好自己写 ...

最新文章

  1. 用AI创造AI,人工智能无代码时代来临
  2. Flutter开发之布局-1-Column(15)
  3. java 滚动条 滚动_广告条随滚动条的移动而移动
  4. LeetCode--160--相交链表
  5. pytorch forward_pytorch使用hook打印中间特征图、计算网络算力等
  6. c++ new一个结构体_「C/C++」构造类型及应用:数组、结构体、共用体、枚举类型...
  7. 苹果抛弃 OpenGL!
  8. 关于JavaScript的词法作用域及变量提升的个人理解
  9. 松本行弘:Ruby之父
  10. oracle集群如何搭建,Oracle集群搭建步骤.docx
  11. JavaScript 原生js实现自定义消息提示框
  12. GeoTools-WKT\GeoJson相互转换
  13. JavaScript-射击比赛成绩单编程
  14. 最大熵模型(ME)和最大熵马尔可夫模型(MEMM)
  15. multiwii 2.4配置中文注释
  16. Flash数据读取和保存
  17. Error: spawn node.cmd ENOENT node自启动工具supervisor cmd运行报错解决方法
  18. Reliable, Scalable, and Maintainable Applications 高可靠、易扩展、易运维应用
  19. 慕课学习史上最全零基础入门HTML5和CSS笔记
  20. cad2016中选择全图字体怎么操作_ps创意字体设计教程:ps怎么做海报漂亮字体

热门文章

  1. 从本地上传到hdfs上出现异常
  2. java精确除法计算,四舍五入 Java问题通用解决代码
  3. 解决chrome在ubuntu+root模式下打不开的问题
  4. java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonProcessingException(Spring使用json的异常处理)
  5. java微信公众号开发token验证失败的问题及解决办法
  6. 使用PHP将HTTP标头设置为UTF-8
  7. 解析错误:相邻的JSX元素必须包装在一个封闭标签中
  8. Sql Server'不允许保存更改'错误►防止保存需要重新创建表的更改
  9. 如何识别未使用的CSS定义[关闭]
  10. sed和awk有什么区别? [关闭]