在电力、油田燃气、供水管网等工业自己主动化领域Web SCADA的概念已经提出了多年,早先年的Web SCADA前端技术大部分还是基于Flex、Silverlight甚至Applet这种重client方案,在HTML5流行前VML和SVG算是真正纯种Web方案也是有不少应用。近些年随着HTML5的流行,加上移动终端对HTML5支持的普及,越来越多新项目開始採用真正纯HTML5的方案。更详细的说大数据量应用性能高于SVG的Canvas方案,已经逐渐成为当今Web SCADA前端技术的首选标配方案。

http://www.hightopo.com/demo/2deditor_20151010/HT-2D-Editor.html

近期客户採用HT for Web图形界面组件,实现了油田燃气管网和供水管网等工控SCADA的HMI人机界面。并将系统执行在平板和手机等Android和iOS移动终端,在此我们在技术支持过程中的一些知识点进行些梳理和分享,希望对有志于Web SCADA领域的伙伴们提供些帮助。

技术选项阶段用户提出过SVG的技术路线。毕竟在早期电力领域SVG还是有一定的标准和应用,但SVG在比較老的Android终端上支持并不好,并且SVG组件的方式导致图元过多时性能差的问题,最终决定採用HT for Web提供的矢量技术方案,HT的矢量技术方案在《HT全矢量化的图形组件设计》和《HT图形组件设计之道(二)》有详细介绍可參考之。并且採用HT的矢量方案不仅得到了缩放不失真的有点,还具备的动态数据绑定的强大功能,这对于工控领域须要依据实时数据驱动如风扇旋转、管道流动、开关开闭等控制功能尤其方便。

 

对于SCADA的HMI人机界面管网拓扑图网络载入的问题,用户採用了我们建议的Webclient缓存方案,非常好的攻克了较多网络拓扑图切换打开网络载入慢的问题,可參考《HTML5 Web client五种离线存储方式汇总》的文章,依据自己的详细项目情况选择合适你的本地存储方案,事实上Web本地存储方案已经出现了众多领域的千奇百怪应用黑魔法,有人应用LocalStorage存储Web Font,游戏领域利用Webclient存储游戏资源等等,Webclient存储还远未被全然挖掘发挥起来。

移动终端呈现方面。HMI界面布局应用和游戏领域有相似的问题。一般对横版或者竖版会有更好的布局效果,比如有些游戏仅仅支持横版的玩法,这对于採用Native的App应用来说不成问题,可将App配置成仅仅能横向或者纵向布局。但对于移动终端浏览器就有点尴尬,眼下大部分终端你是不能限制用户旋转平面导致布局变化。为此我们给用户提供了HTML5游戏领域常规的解决方式,通过window.addEventListener(‘orientationchange’简单手机方向变化,当处于你不支持的方向时,全屏显示一张提示用户旋转屏幕后再进行正常操作的图片,该方案看似简单。但整个用户体验比起毫无提示旋转出布局一塌糊涂的界面体验好了非常多,这个简单方案降低了非常多无聊的客服工作,再也没客户责备界面不能用,但界面方向不正确时,提示图片让人自然而然就知道旋转屏幕就能够。

纯HTML5方案默认方案肯定会弱于Native方案,但HTML5浏览器标准也一直在完好。近期提出的screen.orientation.lock(‘landscape’) or screen.orientation.lock(‘portrait’)函数已经得到了Android上的Chrome浏览器支持,可參考http://caniuse.com/#feat=screen-orientation 正好我们的用户使用的就是Android平板,安装上较新的Chrome浏览器后就能前置要求浏览器锁定布局方向。

对于部分HTML5的应用页面,用户须要嵌入Native App的WebView和Native应用界面做集成。以前这种方案特别是在Android端总会让我发毛,老的Android的WebView组件集成的奇烂的Chromium老版本号。还无法控制其升级,甚至以前一度採用过自打包Chromium新版本号到App的方案,结果搞得整个App加大了好几十m的问题。只是现在随着Android4.*的发展一切有了质变。Google最终放开了Android WebView的Chromium版本号。默认现在都已经是足够搞的30以上的版本号了,将来还能自己主动升级。更详细的可參考这篇文章 http://www.quirksmode.org/blog/archives/2015/02/android_webview.html

Before Android 4.4 all devices run Android WebKit as their WebView. (Is this the same Android WebKit as their default browser?

Don’t know yet.)
From Android 4.4 the WebView is Chromium 30.
From Android 4.4.3 the WebView is Chromium 33.
From Android 5 the WebView is Chromium 37. In addition, the promise is that the Android 5 WebView will be updated to newer versions app-wise, i.e. without a firmware update. I will keep an eye on that.

在iOS也不是没有坑。我们发现因为HT for Web为支持视网膜精度,会依据设备window.devicePixelRatio參数控制拓扑图Canvas的内存画布大小。常遇到用户未设置meta的viewport上的width參数。或者该參数设置过大导致iOS终端浏览器无法显示拓扑图内容的情况,这种情况也不会报错但就是没内容,遇到这种情况简单的方案就是先让用户<meta name=”viewport” content=”user-scalable=no, width=600″>设置上一定的width參数进行试验定位是否是该问题导致,或者强制设置ht.Default.devicePixelRatio的HT參数。比如将其设置为1,当然这样就损失了视网膜设备下的精细效果,所以一般还是建议调小viewport的width參数,毕竟界面缩小太多操作控制button太小也是无法正常操作。

HTML5应用的渗透力在去年基于HTML5的神经猫游戏。在微信中的病毒式高速传播已被业界真正认识到其力量,现在微信已经成为游戏、广告等各行各业应用的重要入口,相同基于HT for Web的Web SCADA工控移动应用也可在微信中传播使用,下面附上几张基于HT for Web客户项目的应用抓图。是的基于HTML5。监控能够如此简单,真正做到在你掌控之内:

http://www.hightopo.com/demo/2deditor_20151010/HT-2D-Editor.html

 

基于HTML5的Web SCADA工控移动应用相关推荐

  1. 基于HT for Web的Web SCADA工控移动应用

    在电力.油田燃气.供水管网等工业自动化领域Web SCADA的概念已经提出了多年,早先年的Web SCADA前端技术大部分还是基于Flex.Silverlight甚至Applet这样的重客户端方案,在 ...

  2. 电力 Web SCADA 工控组态编辑器

    SVG 并非仅仅是一种图像格式, 由于它是一种基于 XML 的语言,也就意味着它继承了 XML 的跨平台性和可扩展性,从而在图形可重用性上迈出了一大步.如 SVG 可以内嵌于其他的 XML 文档中,而 ...

  3. 基于HTML5 Canvas 实现矢量工控风机叶轮旋转

    之前在拓扑上的应用都是些静态的图元,今天我们将在拓扑上设计一个会动的图元--叶轮旋转. 先看看最后我们实现的效果:http://www.hightopo.com/demo/fan/index.html ...

  4. background 旋转_基于HTML5 Canvas 实现矢量工控风机叶轮旋转

    之前在拓扑上的应用都是些静态的图元,今天我们将在拓扑上设计一个会动的图元--叶轮旋转. 先看看最后我们实现的效果 我们先来看下这个叶轮模型长什么样 从模型上看,这个叶轮模型有三个叶片,每一个叶片都是不 ...

  5. 基于HTML5 WebGL实现 json工控风机叶轮旋转

    2019独角兽企业重金招聘Python工程师标准>>> 突然有个想法,如果能把一些用到不同的知识点放到同一个界面上,并且放到一个盒子里,这样我如果要看什么东西就可以很直接显示出来,而 ...

  6. 基于 HTML5 WebGL 的 3D 工控裙房系统

    前言 工业物联网在中国的发展如火如荼,网络基础设施建设,以及工业升级的迫切需要都为工业物联网发展提供了很大的机遇.中国工业物联网企业目前呈现两种发展形式并存状况:一方面是大型通讯.IT企业的布局:一方 ...

  7. 快速搭建 物联网电力检测,web SCADA 工控组态

    效果展示: 电力检测所需的硬件拓扑图 设备层: 智能仪表 等 检测设备状态 传输层 :通讯网关 协议转换 交互层: 现场检测 大屏展示 远程维护 硬件部署好之后我们就可以在平台上搭建我们需要的系统了 ...

  8. 基于 HTML5 WebGL 的计量站三维可视化监控系统 Web 组态工控应用

    前言 得益于 HTML5 WebGL 技术的成熟,从技术上对工控管理的可视化,数据可视化变得简单易行!完成对工控设备的管理效率,资源管理,风险管理等的大幅度提高,同时也对国家工业4.0计划作出有力响应 ...

  9. 基于 HTML5 的计量站三维可视化监控系统 Web 组态工控应用

    得益于 HTML5 WebGL 技术的成熟,从技术上对工控管理的可视化,数据可视化变得简单易行!完成对工控设备的管理效率,资源管理,风险管理等的大幅度提高,同时也对国家工业4.0计划作出有力响应! 如 ...

最新文章

  1. 【BZOJ】1607: [Usaco2008 Dec]Patting Heads 轻拍牛头
  2. boost::mpl模块实现single_view相关的测试程序
  3. 推荐VSCode12个比较实用的插件
  4. Java代码块的基本使用
  5. docker常用参数详解,docker run常用参数详解(精)
  6. Spring Security 示例教程
  7. kafka消息确认机制
  8. 如何在复杂的分布式系统中做测试
  9. ps去水印教程_叫板 PS!去水印、抠图、加滤镜,这款超强修图应用到底什么来头...
  10. matlab 7.0电路图,基于Multisim10和Matlab7.0的正弦稳态电路分析
  11. python 科研作图_科研作图软件(11种)
  12. 自己动手 DIY 一个读写200MB/s 的高速 U 盘
  13. [Luogu P3704] [BZOJ 4816] [SDOI2017]数字表格
  14. wps序号打乱重新排序_wps序号怎么自动排列
  15. 全球及中国DIN筒夹行业运营前景与投资决策建议报告2022版
  16. Android版本名称
  17. 短诗整理1——奋进+惜时
  18. python按字典顺序输出单词频率_用python编写一段程序,输入若干单词,按照单词长短进行排序,并统计所有单词中每个字母(a-z)出现的次数...
  19. 1. 什么是元组(tuple).md day07
  20. 人力资源管理系统面向对象建模分析

热门文章

  1. hive 修改分桶数 分桶表_疯狂Hive之DDL操作二(三)
  2. 2012高等学校计算机等级考试试卷二级 vb.net程序设计,2012上海市高等校计算机等级考试试卷二级VBNET程序设计.docx...
  3. html转义 在线,HTML转义工具 [Javascript版]
  4. 无法连接到远程网络连接到服务器失败怎么办,无法远程桌面连接到服务器怎么办(连接失败原因和解决法)...
  5. mysql数据迁移到teradata_TERADATA数据库中SELECT的使用
  6. java匿名类对象的坏处_java匿名内部类的使用注意事项
  7. python mmap
  8. php图片滑动的属性,JavaScript_javascript图片滑动效果实现,本文为大家分享了javascript图片 - phpStudy...
  9. 双侧检验的p值和单侧检验_【单侧检验和双侧检验的区别】_怎么检验_如何检验-大众养生网...
  10. php 模板 自定义函数调用,thinkphp模板中使用自定义函数