中海创WEB组态水污染处理组态实战案例

简介: 使用中海创WEB组态产品,完成组态效果,下面以"水污染处理"为例,用海创微联采集设备数据上传到阿里云,中海创web可视化开发端获取阿里云的数据进行展示以及反馈变更的设备数据到阿里云。

使用中海创WEB组态产品,完成组态效果,下面以"水污染处理"为例,用海创微联采集设备数据上传到阿里云,中海创web可视化开发端获取阿里云的数据进行展示以及反馈变更的设备数据到阿里云。

1574067697.png

水污染处理的组态看板如下图所示:
20191122_163128.gif

水污染处理的具体工艺流程如下:
1574409643.png
这个组态实现的功能有:

  • 数据展示
  • 水管水流等级控制

前期准备

阿里云

中海创物联网

一、创建产品设备和规则引擎

我们打开阿里云,注册一个账号并登录,进入阿里云物联网平台。
1573525571.png

1.1 产品创建

在左边设备管理中找到产品,创建后点击保存。
1573525482.png

然后打开创建的产品,点击功能定义,根据实际设备的数据在自定义功能中添加原水池水位、厌氧池温度、厌氧池orp等。
1573525679.png

1573525794.png

1.2 设备创建

接着我们在产品中添加一个设备。
1573526310.png

创建完成后有弹窗显示设备的三个唯一标识,点击一键复制,备用。
1573526515.png

此时查看设备状态是未激活状态,查看设备,在设备运行状态中也能看到需要采集的数据暂时为空。
1573526634.png

1573526700.png

1.3 规则引擎创建

1.3.1 创建

1573526968.png

1.3.2 设置规则
  • 处理数据

    1573527331.png

  • 转发数据

    1573527559.png

  • 启动

    1573527638.png

二、数据采集和上传

登录海创web可视化开发平台,点击“服务开发”,选择项目(提示:创建的微服务要和组态看板在同一个项目下,数据绑定的时候才可以选到对应的微服务),创建微服务“ali水污染处理”。从左边的节点列表中拖出海创IOT、阿里云IOT、function、switch和调试节点,按下图连接,注意节点连线的端口
1574410383.png

2.1 节点配置

关于各个节点的配置说明请参考文档海创微联

  • 定时器

    1574402953.png

  • function

    阿里云或者海创云节点接收数据格式相似,两者之间可以直接传递数据,由于本次组态看板中的报表和折线图需要设备所有的数据,所以以下的function是将接收的阿里云的数据进行整合后存储,再传递给可视化平台。

1574410206.png

  • 阿里云IOT

    1574301816.png

  • switch

    添加switch的原因在于阿里云IOT下发的数据有两个包,一个是设备数据包,另一个是创建规则引擎产生的包,我们需要的是设备数据包

1574410879.png

1573529016.png

  • 可视化平台

    根据阿里下发的数据可知,我们需要产品设备数据包里的items对象,这里存储着设备数据。

用于接收:
1574403837.png
用于反馈:
此节点不需要编辑,连接即可。
1574404083.png

  • 调试

    用于显示当前连接的节点下发的数据内容,默认显示msg.payload,便于调试和查看数据。

1574404398.png
全部完成后点击部署。
1573530142.png

1574404617.png

返回阿里云查看数据状态,说明连接成功。
1573530311.png

1573530403.png

三、web可视化数据绑定和反馈

3.1 创建应用

创建一个组态看板“ali水污染处理”,如下:
1573530684.png

3.1 绘制图标

创建应用后,点击“在线编辑”进入,在“设计”栏新建一个文件夹“水污染处理”,用于存放自己设计的图标,这里选择几个图标进行举例说明:

3.1.1 按钮

1、在“水污染处理”文件夹下新建一个图标“按钮”,选择圆角矩形拖拽至编辑框中并设置属性
1573538875.png
将文字拖拽至编辑框并设置属性
1573539375.png
选择矩形,点击“事件处理”,选择按下和离开,编辑脚本
1573539490.png

  • 按下事件
data.a('Reset_bc', 'rgb(142,194,250)');//data指的是当前的矩形,表示设置矩形的背景色
data.a('Reset_pc', 'rgb(97,163,232)');//表示设置矩形的渐进色
  • 离开事件
data.a('Reset_bc', '#1080bb');//data指的是当前的矩形,表示设置矩形的背景色
data.a('Reset_pc', 'rgb(97,163,232)');//表示设置矩形的渐进色
  • 数据绑定并保存

    1573540093.png

效果图:

20191112_143448.gif

3.1.2 水管

将管道拖拽至编辑框并设置属性

1573541774.png

设置拐弯:

20191112_150228.gif

3.1.3 公共图标复制并使用

公共图标能修改的属性比较少,如果你想引用一个图标,同时要添加自己的一些特色进去,可以选择将这个图标复制到自己的文件夹里再去更改属性、保存(例如:你想更改这个图标的颜色)
20191112_144343.gif

3.2 页面排版

在“ali水污染处理”页面,将准备好的素材全部拖入调整。
1573625489.png

3.2.1 组合块

获取组合块标签后,能获取块内所有图标的属性,或者通过简单的脚本去设置图标属性,方便图标的统一管理,例如:要实现多个图标的显示隐藏如下:
20191113_160516.gif

3.3 页面功能介绍

3.3.1 点击按钮切换页面

将同一个页面的图标组成块后,设置块的标签,在监听视图事件方法内控制对应块的显示和隐藏,具体代码参考用户脚本。
1573633039.png

例如,点击主页面按钮,对应的脚本为:

if(tagName=='one'){//如果单击主页面按钮
    zy.s("2d.visible",true);//主页面块显示
    history.s("2d.visible",false);//实时数据页面块隐藏
    dataTable.s("2d.visible",false);//数据报表页面块隐藏
    PAnalysis.s("2d.visible",false);//工艺解析页面块隐藏
    Anim.resume();//水管流动和风扇转动继续
}
3.3.1 主页面
  • 数据显示

    我们需要对组态界面的所有展示数据进行设备数据绑定,以原水池水位为例:

    • 绑定设备

      1573542902.png

    • 绑定字段

      1573543014.png

  • 水管流动和数据反馈
    • 设置标签

给每根水管设置标签:
lin0-line12

1573627219.png

1573627127.png

    • “确定”按钮绑定设备并且添加脚本

      1574233259.png

3.3.2 实时数据页面
  • 下拉框

    绑定设备后,在改变事件里添加脚本:

dm.lineChart.a('seriesData')[0].name=newValue;//将newValue的值赋值给折线图的标签
if(oldValue!=newValue &&newValue!=''){//如果下拉选择的是新值
    var lineData = '';
    for(key in waterNew[0]){//循环遍历waterNew[0]对象
        if(key==newValue){//如果waterNew[0]的key和下拉值相同
             lineData = waterNew[0][key];//将key的值赋值给lineData
        }
    }
    var time = util.formatDate(new Date(),'mm:ss');//获取当前时间的分秒
    dataInsert(dm,lineData,time);//调用方法,将当前获取的值插入折线图Y轴数据,具体定义请查看用户脚本
    dm.lineChart.iv();//强制刷新折线图
}
    • 效果

      20191113_145417.gif

  • 折线图

    绑定设备和字段后,在属性“数据参数”的数据插入前添加脚本

1573628732.png

    • 脚本
function(val){
    waterNew.push(val);//将获取到的所有设备数据存入waterNew数组
    var selectName=dm.Dropdown.a('hc.value');//下拉框选择的设备属性名称
    var lineData = '';
    for(key in val){
        if(key==selectName){//如果名称和val里的属性名称一致
             lineData = val[key];//将这个属性对应的值赋给lineData
        }
    }
    var time = util.formatDate(new Date(),'mm:ss');//获取当前时间分秒
    dataInsert(dm,lineData,time);//调用方法
    //折线图接收Y轴的数据格式如下,更改数据后再返回值
    var insertDatas=[
        {
            "name": selectName,
            "type": "line",
            "data": dataY,
            "smooth": true,
            "areaStyle": {}
        }
    ]
    return insertDatas;
}
3.3.3 数据报表页面

这个页面能实时查看所有数据的变更情况,表格绑定设备后,属性“行数据”再绑定字段即可。
1573631631.png

3.3.1 工艺解析页面

通过这个页面你能实了解水污染处理工艺流程的整体信息,没有配置难点,这里不介绍了。

3.4 用户脚本

1573551803.png

中海创可视化开发平台不仅提供丰富的可视化看板素材,还有强大的2D、3D编辑平台,现提供以下几个简单点的组态看板功能供大家参阅:
锅炉控制系统
20191121_154717.gif
海创进料系统
20191121_155135.gif
换热站远程监控系统
20191121_155135.gif

想要了解更多欢迎登陆中海创物联网

目录
相关文章
|
2月前
|
存储 前端开发 Java
【JAVA】Java 项目实战之 Java Web 在线商城项目开发实战指南
本文介绍基于Java Web的在线商城技术方案与实现,涵盖三层架构设计、MySQL数据库建模及核心功能开发。通过Spring MVC + MyBatis + Thymeleaf实现商品展示、购物车等模块,提供完整代码示例,助力掌握Java Web项目实战技能。(238字)
323 0
|
6月前
|
Java 数据库 网络架构
菜鸟之路Day36一一Web开发综合案例(部门管理)
本文详细记录了基于Spring Boot的Web开发综合案例——部门管理功能的实现过程。从环境搭建到功能开发,涵盖数据库表设计、Spring Boot项目创建、依赖引入、配置文件设置以及Mapper、Service、Controller的基础结构构建。文章重点讲解了查询、删除、新增和修改部门信息的业务逻辑实现,遵循RESTful规范设计接口,并通过统一响应结果类`Result`优化前后端交互体验。借助Spring的IoC容器管理与MyBatis的SQL映射,实现了高效的数据操作与业务处理,最终完成部门管理的全功能开发。
221 12
|
2月前
|
存储 JavaScript 安全
Web渗透-XSS漏洞深入及xss-labs靶场实战
XSS(跨站脚本攻击)是常见的Web安全漏洞,通过在网页中注入恶意脚本,窃取用户信息或执行非法操作。本文介绍其原理、分类(反射型、存储型、DOM型)、测试方法及xss-labs靶场实战案例,帮助理解与防御XSS攻击。
807 1
Web渗透-XSS漏洞深入及xss-labs靶场实战
|
2月前
|
安全 Linux PHP
Web渗透-命令执行漏洞-及常见靶场检测实战
命令执行漏洞(RCE)指应用程序调用系统命令时,用户可控制输入参数,导致恶意命令被拼接执行,从而危害系统安全。常见于PHP的system、exec等函数。攻击者可通过命令连接符在目标系统上执行任意命令,造成数据泄露或服务瘫痪。漏洞成因包括代码层过滤不严、第三方组件缺陷等。可通过参数过滤、最小权限运行等方式防御。本文还介绍了绕过方式、靶场测试及复现过程。
900 0
|
5月前
|
XML SQL 前端开发
菜鸟之路Day37一一Web开发综合案例(员工管理)
本文介绍了基于Web开发的员工管理综合案例,涵盖分页查询、条件分页查询、删除员工和新增员工四大功能模块。通过前后端交互,前端传递参数(如页码、每页记录数、查询条件等),后端使用MyBatis与PageHelper插件处理数据查询与操作。代码结构清晰,包括Controller层接收请求、Service层业务逻辑处理以及Mapper层数据访问,并结合XML动态SQL实现灵活的条件查询。此外,新增与删除功能分别通过POST与DELETE请求完成,确保系统功能完整且高效。
196 7
|
5月前
|
存储 前端开发 Java
菜鸟之路Day38一一Web开发综合案例(三)
本文介绍了Web开发中的文件上传与员工信息修改的综合案例,涵盖前端到后端的完整流程。重点讲解了阿里云OSS的集成,包括Bucket创建、密钥获取及SDK使用,并通过Spring Boot实现文件上传功能。同时,详细描述了员工信息查询与修改的操作逻辑,涉及Controller、Service和Mapper层代码实现。最后探讨了配置文件的优化,对比@Value与@ConfigurationProperties注解,展示了如何通过实体类批量注入配置参数,提升代码可维护性与灵活性。
166 1
|
6月前
|
Web App开发 前端开发 JavaScript
鸿蒙5开发宝藏案例分享---Web适配一多开发实践
这是一份实用的鸿蒙Web多设备适配开发指南,针对开发者在不同屏幕尺寸下的布局难题提供了解决方案。文章通过三大法宝(相对单位、媒体查询和窗口监听)详细介绍如何实现智能适配,并提供了多个实战案例,如宫格布局、对话框变形和自适应轮播图等。此外,还分享了调试技巧及工具推荐,帮助开发者快速上手并优化性能。最后鼓励读者实践探索,并提示更多官方资源等待发现。
|
8月前
|
机器学习/深度学习 开发框架 API
Python 高级编程与实战:深入理解 Web 开发与 API 设计
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化、调试技巧以及数据科学和机器学习。本文将深入探讨 Python 在 Web 开发和 API 设计中的应用,并通过实战项目帮助你掌握这些技术。
|
11月前
|
弹性计算 Java 数据库
Web应用上云经典架构实战
本课程详细介绍了Web应用上云的经典架构实战,涵盖前期准备、配置ALB、创建服务器组和监听、验证ECS公网能力、环境配置(JDK、Maven、Node、Git)、下载并运行若依框架、操作第二台ECS以及验证高可用性。通过具体步骤和命令,帮助学员快速掌握云上部署的全流程。
285 1
|
11月前
|
安全 应用服务中间件 网络安全
实战经验分享:利用免费SSL证书构建安全可靠的Web应用
本文分享了利用免费SSL证书构建安全Web应用的实战经验,涵盖选择合适的证书颁发机构、申请与获取证书、配置Web服务器、优化安全性及实际案例。帮助开发者提升应用安全性,增强用户信任。

热门文章

最新文章

下一篇
oss云网关配置