天津港爆炸事件后,除了安置群众、追究事故责任外,人们最关心的莫过于爆炸污染物对于周边环境的影响,其中最重要的一块就是饮用水的安全。所幸的是,水源的安全监测是实实在在有据可依的。环保单位和供水企业在建设自己的饮用水水源监控系统,实时的监控民生水源安全。

最近我们承接了一个水源地自动化监控系统的项目。由于水源地一般都会远离生产、生活区,例如各地的水库、地下水、井等,派驻人员实时进入水源腹地进行数据监测,是不实际的,为了增强监测的实效性,远程的自动化水源监控系统是必不可少的。该系统除了能够监控各种水质指标外,还可以远程监测水源井的工作情况,远程监控水泵工作状态,同时还可以将监测指标以图形显示方式发布到各级监管单位或者管理领导的工作平台或者移动工作终端(平板、手机等)。

自动化监控产品并不少见,这次项目真正吸引客户眼球的是3D呈现效果。以往的监控系统都是以平面的方式来呈现,例如下图:

或者是这样的假3D效果:

传统的平面方式除了越来越难以满足客户日渐提高的要求之外,的确也难以直观展现出水源井结构、泵体安装位置和工作状态。3D模型本身不具备交互功能,通常需要做大量的开发工作,并且需要在系统中安装插件。这次的项目,我们采用了Legolas开发平台,结合TWaver IOT平台完成了模型构建和数据驱动,不但实现了监控场景的3D化,还能同步显示各类监控指标,让调度、管理人员对于水源井的水质和工作情况一目了然,提升了管理效率,并能有效增强各级工作的服务质量。

上一张手持设备截图:

这不是一张死图,而是可以旋转、拖拽、可交互的3D场景,水位的高低、阀门的开关,都会根据实际采集上的数据变化。水源井模型包含了以下部分:井、泵,传感器、阀门和管道。模型的构建可以通过直接导入3D文件,或者用TWaver Mono Design建模工具生成。

例如,我们找美工mm在3DMax中,对泵进行建模后导出obj文件,引入到场景中:

{type: 'obj',src: 'pump',size: [100,200,100],translate: [320,-380,80],rotation: [0, 90, 0],specularStrength: 4,color: '#FF1700',
},
loadObj: function(box, json){
var loader = new mono.OBJMTLLoader();
varsrc = json.src;
var size = json.size;
varpos = json.translate;
var style = json.style;
var rotation = json.rotation;loader.load("images/"+src+".obj", "images/"+src+".mtl", json.images || "", function (object) {
var bb = object.getBoundingBoxWithChildren();
var max = bb.max, min = bb.min, w = max.x - min.x, h = max.y-min.y, l = max.z - min.z;
object.getDescendants().forEach(function(child, i){
child.setEditable(false);});
box.addByDescendant(object);
object.setPosition(pos[0],pos[1],pos[2]);
varos = {'x': w,'y':h,'z':l};
object.setScale(size[0]/os.x,size[1]/os.y,size[2]/os.z);
if(style){object.s(style);}if(rotation){var f = demo.Util.getArc;object.setRotation(f(rotation[0]), f(rotation[1]), f(rotation[2]));}});
},

大致如下图所示:

对于较为简单的阀门对象,我们使用了自己的MONO Design编辑器,可视化构建了阀门模型,并转换为相关JSON文件:

{type: 'mono',url: 'resource/yali.json',scale: [0.5,0.5,0.5],translate: [-250, -155,0],rotation: [0, -90, 0],
},
well.Default.registerFilter('mono', function(box, json){initModelLib();mono.Toolkits.loadTemplateUrl(box, json.url, null, null, function(object){var translate = json.translate;object.setPosition(translate[0], translate[1], translate[2]);var scale = json.scale;if(scale){object.setScale(scale[0], scale[1], scale[2]);}var rotation = json.rotation;if(rotation){var f = demo.Util.getArc;object.setRotation(f(rotation[0]), f(rotation[1]), f(rotation[2]));}if(json.color){object.getDescendants().forEach(function(child){
child.s({'m.color': json.color,'m.ambient': json.color,});});}});
});

阀门的模型如下:

对于井体对象,由于其结构较为简单,并且用户也很关注该井体的环境结构,我们直接使用TWaver3D的API代码来生成模型,并采用了光照贴图等技术来增强其环境效果。

{type: 'cable',color: '#BEC9BE',direction: 0.05,repeat: [10,1],data:[[-320, -180, 0],[800, -180, 0],[800, -1200, 0],[1500, -1200, 0],],},
well.Default.registerFilter('cable', function(box, json){       var path = demo.Default.create3DPath(json.data);path = mono.PathNode.prototype.adjustPath(path, 5);var cable=new mono.PathNode(path, 100, 10);var repeat = json.repeat || [10,1];cable.s({'m.type': 'phong','m.specularStrength': 4,'m.color': json.color,'m.ambient': json.color,        'm.texture.image': 'images/w002.jpg','m.texture.repeat': new mono.Vec2(repeat[0], repeat[1]),'m.texture.offset': new mono.Vec2(0,0.7),});cable.setClient('flow', json.flow);cable.setStartCap('plain');cable.setEndCap('plain');box.add(cable);
});

场景中水管都是通过API方式创建的,其中罐体、水位、挡板这些模型涉及到模型的加减,通过mono design或API都可以生成。

静态模型和场景搭建完毕后,通过TWaver的IOT平台完成了境内采集数据的绑定,已经可以用实时数据来驱动场景中的对象了。用户希望能有更加逼真的交互效果,希望我们能增加一些动画支持。水的流动,泵的启停,水位的升降这些动作使用水井内的工作状态更形象逼真。

下面是模型的动画的使用方式举例:

varoffsetAnimate = new twaver.Animate({from: 0 ,to: 1,type: 'number',dur: 3000,repeat:Number.POSITIVE_INFINITY,reverse: false,onUpdate: function(value){cable.s({'m.texture.offset': new mono.Vec2(value, 0),});},});offsetAnimate.play();

数据驱动是借助TWaver的IOT平台完成的数据采集、分发、控制和数据绑定,这里就先不赘述了。感兴趣的朋友可以给我们发邮件:tw-service@servasoft.com, 多多交流和沟通想法和意见。

转载于:https://www.cnblogs.com/twaver/p/4991693.html

Legolas工业自动化平台案例 —— 水源地自动化监控系统相关推荐

  1. Legolas工业自动化平台入门(一)搭建应用

    前两篇给大家介绍了TWaver家族的新面孔--Legolas工业自动化平台,通过两个应用案例钻井平台工程用车和水源地监控系统,相信大家对Legolas已经有了一定程度的了解.这几篇文章,我们会逐步介绍 ...

  2. 【能效管理】变电站综合自动化监控系统在35kV变电站中应用

    摘要:Acrel-1000变电站综合自动化系统,是我司根据电力系统自动化及无人值守的要求,总结国内外的研究和生产的先进经验,专门研制出的新一代电力监控系统.本系统具有保护.遥测.遥信.遥脉.遥调.遥控 ...

  3. Acrel-1000变电站综合自动化监控系统在某物流园35kV变电站中应用

    安科瑞王丹丹acrel2021 摘要:Acrel-1000变电站综合自动化系统,是我司根据电力系统自动化及无人值守的要求,总结国内外的研究和生产的先进经验,专门研制出的新一代电力监控系统.本系统具有保 ...

  4. 基于EasyDarwin流媒体云平台的智能视频监控系统框架

    基于EasyDarwin流媒体云平台的智能视频监控系统框架 EasyDarwin云平台作为国内较有影响力的开源流媒体平台,集流媒体分发,录像,信令交互为一体,目前已经被广泛应用到监控互联网各个领域:从 ...

  5. Legolas工业自动化平台入门(二)数据响应动作

    在上一篇文章Legolas工业自动化平台入门(一)搭建应用里,我们简单地提到了"动作"的概念.不清楚的童鞋不要着急,这篇我们就来介绍如何在Legolas平台上添加动作,并应用动作. ...

  6. Legolas工业自动化平台入门(三)交互事件响应动作

    在上一篇Legolas工业自动化平台入门(二)数据响应动作 一文中,我们介绍了"动作"相关内容,了解到"动作"分为多种,各种动作的添加方式相同,但是应用方式各自 ...

  7. ncs计算机监控系统,变电站综合自动化监控系统NCS培训

    <变电站综合自动化监控系统NCS培训>由会员分享,可在线阅读,更多相关<变电站综合自动化监控系统NCS培训(34页珍藏版)>请在人人文库网上搜索. 1.Date:2021-5- ...

  8. 城市自来水公司生产过程自动化监控系统(原创)

    城市自来水公司生产过程自动化监控系统 在我国经济建设飞速发展的今天,综合国力一天一天增强,随着WTO的加入,标志着我国各行各业必须以最快的速度与国际接轨.对我国中小城市自来水公司而言,采用现代电子信息 ...

  9. 浅析SkeyeVSS视频融合平台在无人值守变电站监控系统中的应用

    一.系统概述 随着经济的发展,对用电的需求也增加.尤其是夏季高负荷的用电量更是一次次地刷新了历史记录.很多变电站分布在无人居住的地方,地处荒僻,一些重要设备也经常被盗窃或破坏,同时极端天气频发影响电网 ...

最新文章

  1. 【Vue】新建一个Vue3项目
  2. 《javascript设计模式》笔记之第十章 和 第十一章:门面模式和适配器模式
  3. 使用device.js检测设备并实现不同设备展示不同网页
  4. python3.7怎么设置中文_解决 Bug · Python3.7.3官方文档 简体中文 · 看云
  5. grep 显示包含两个关键字_linux三剑客之-grep
  6. oracle 12c pl/sql语言,ORACLE 12C SQL语句中通过with 定义PL/SQL 函数
  7. Oracle命令--如何查看oracle中创建的所有目录
  8. 接口规范 14.转码接口
  9. arduino 读取当前时间_Arduino使用DS1302读取时间
  10. jquery name选择器_jQuery学习(1)
  11. Adobe Flash离线安装包下载
  12. TransE, TransR
  13. HTTP长连接---requests的长连接
  14. 计算理论导引重点知识回顾
  15. 计算机专业毕业设计题目大全(持续更新)
  16. 读万卷书,行万里路,写万行Code
  17. 什么叫前复权。什么叫后复权。什么是不复权
  18. 输入中文错误:\xE4\xBB\x8E\xE5\x85\xA5...‘ for column ‘detail‘ at row 1
  19. 阿里云访问控制简要说明
  20. oracle 月份中日的值必须介于 1 和当月最后一日之间,ora-01847:月份中日的值必须介于 1 和当月最后一日之间...

热门文章

  1. 在UE4中改变枢轴位置
  2. OpenCV—python 图像相似度算法(dHash,方差)
  3. C++ 内存泄漏调试
  4. GIS 地质灾害评价——易发性评价方法的选择
  5. 大学计算机实验实验报告,大学计算机实验3 实验报告.doc
  6. 7-50 近似求PI (15分)
  7. 产品架构能力之一 业务架构图
  8. 第12年双11|技术总指挥汤兴:淘宝确实变了
  9. 狂神Elasticsearch笔记
  10. 云端搭建linux学习环境——手把手教学,赶紧收藏以后使用