iNeuOS工业互联网操作系统,脚本化实现设备运行时长和效率计算与统计
目 录
1. 概述... 2
2. 实时采集开停状态... 2
3. 增加虚拟设备... 2
4. 脚本统计和计算设备运行时长... 4
5. 设备运行时长报表... 7
1. 概述
有一个煤矿项目,使用iNeuOS系统时有一个需要是:要统计设备的运行时长,进一步统计设备运行效率。主要是有效分析设备运行状态,合理的进行节能。
iNeuOS本身具备强大的脚本能力,需要现场实施人员有一定脚本编写能力,如果不具备脚本编写能力,那么下面的模板修改相应的参数即可。
2. 实时采集开停状态
首先能够实时读取到相应设备的开停状态,读取数据点的参数根据现场实际设备情况设置。如下图:

不iNeuKernel后台服务读取数据,如下图:

3. 增加虚拟设备
(1)增加虚拟设备
增加虚拟设备和虚拟数据点。所有虚拟设备关闭【是否启用】,如下图:

可以按实现物理层级增加相应设备一一对应的子设备,同样关闭【是否启用】,如下图:

(2)增加虚拟数据点
编辑相应的设备,在【数据点】选卡上添加数据点,如下图:

在数据点的基本信息的【点类型】选择“虚拟点”,如下图:

每台虚拟设备创新4个虚拟数据点:设备运行开始时间、设备运行停止时间、设备运行临时状态和设备运行时长。如下图:

需要统计设备运行时长都按上面的流程配置,虚拟设备层级可以灵活调整。
4. 脚本统计和计算设备运行时长
在系统桌面打开【流程控制】功能,如下图:

增加流程控制任务,如下图:

统计设备时长的脚本模板,如下脚本:
string io_signal=getvalue("i376006988762583040","signal"); //设备开停状态
//记录当前设备状态,防止重新记录
string temp_run_temp=getvalue("i386181395921375232","device_run_temp_state");
if(string.IsNullOrEmpty(temp_run_temp))
{
temp_run_temp="0";
}
if(io_signal=="1" && temp_run_temp=="0")//运行状态
{
//记录当前为开启状态
save("i386181395921375232","device_run_temp_state","1");
//记录开始运行时间点
save("i386181533603598336","device_run_sdt",DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
}
if(io_signal=="0" && temp_run_temp=="1")//停止状态
{
//记录当前为停止状态
save("i386181395921375232","device_run_temp_state","0");
//记录停止运行时间点
string edt=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
save("i386181687433891840","device_run_edt",edt);
//计算时长
//获得设备运行的开始时间节点
string sdt=getvalue("i386181533603598336","device_run_sdt");
//计算时间差
TimeSpan ts = DateTime.Parse(edt) - DateTime.Parse(sdt);
//获得运行时长,单分为分钟。如果是小时:ts.TotalHours
double run_minute_num = ts.TotalMinutes;
//保存运行时长
save("i386181860411183104","device_run_minute_num",run_minute_num.ToString());
}
选择【保存】,设置流程控制名称、流程描述、是否启动和间隔时长。如下图:

当设备状态发生变化,后台服务会根据状态计算当前设备运行时长。如下图:

5. 设备运行时长报表
报表应用操作参见:《iNeuOS工业互联网操作系统,在线报表(Excel)开发工具》。
在桌面打开【报表设计】,如下图:

选择Excel的单元格,并且在右边配置相应数据点,如下图:

在运行时长单元格配置上的【统计】选择“和值”,如下图:

在【时间跨度】按需配置时间精度,如下图:

选择【保存】,在桌面上会显示配置报表的应用。如下图:

最终呈现效果,如下图:

注:一个开启和停止应该显示在一行上,这块我们再优化。
物联网&大数据技术 QQ群:54256083
物联网&大数据项目 QQ群:727664080
QQ:504547114
微信:wxzz0151
博客:https://www.cnblogs.com/lsjwq
微信公众号:iNeuOS

购买《物联网软件架构设计与实现》:京东购买。

iNeuOS工业互联网操作系统,脚本化实现设备运行时长和效率计算与统计的更多相关文章
- iNeuOS工业互联网操作系统下发命令给iNeuLink硬件网关,进一步修改设备参数和控制设备
目 录 1. 应用场景... 1 2. DCS数据采集... 2 3. 硬件网关的配置... 2 4. 平台端配置... 3 1. 应用场景 i ...
- iNeuOS工业互联网操作系统,设备运维业务和“低代码”表单开发工具
目 录 1. 概述... 2 2. 设备运维业务... 3 3. "低代码"表单开发工具... 6 1. 概述 iNeuOS工业互联网 ...
- iNeuOS工业互联网操作系统,智慧用电测控应用案例
目 录 1. 概述... 2 2. 系统部署结构... 2 3. 用电测控终端... 3 4. 系统应用介绍... 6 1. 概述 通过物联网技 ...
- iNeuOS工业互联网操作系统,在线报表(Excel)开发工具
目 录 1. 概述... 2 2. 视频介绍... 2 3. 应用过程... 2 1. 概述 iNeuOS工业互联网操作系统在线报表(Excel)工具的开 ...
- iNeuOS工业互联网操作系统,面向4个领域颁发第一批技术认证资质
为了更好的紧密合作.利益多赢和共建生态.iNeuOS工业互联网操作系统面向:仪器仪表.双碳环保.核能科学与工程和钢铁冶金领域颁发第一批技术认证资质,一共21名同志在项目实施过程中表现突出,从iNeuO ...
- iNeuOS工业互联网操作系统部署在华为欧拉(openEuler)国产系统,vmware、openEuler、postgresql、netcore、nginx、ineuos一站式部署
目 录 1. 概述... 3 2. 创建虚拟机&安装华为欧拉(openEuler)系统... 4 2.1 创建新的虚拟机... 4 2.2 ...
- iNeuOS工业互联网操作系统,矿山动态产量计量系统和铁路车辆识别系统应用场景案例
目 录 1. 概述... 2 2. 平台演示... 2 3. 矿山动态产量计量系统... 2 4. 铁路车辆识别系统... 4 1. 概述 iN ...
- iNeuLink硬件网关与iNeuOS工业互联网操作系统互联互通应用案例
目 录 1. 应用概述... 2 2. 模拟硬件设备配置... 2 3. iNeuLink硬件网关配置... 4 3.1 硬件介绍... ...
- iNeuOS工业互联网操作系统,三维(3D)模型在线编辑应用和实时数据统计(和值、均值、众数、方差、中位数等)
目 录 1. 概述... 1 2. 三维(3D)模型在线编辑与应用... 2 3. 实时数据统计... 4 1. 概述 此次,iNeuOS工业互联网操作系 ...
- iNeuOS工业互联网操作系统,在航天和军工测控领域的应用
目 录 1. 行业概述... 2 2. 解决方案... 2 3. 解决的痛点... 6 1. 行业概述 现在国际形势异常严峻,加大了偶发武装斗争的可能性. ...
随机推荐
- 5、Math类
Math类 Math类包含用于执行基本数学运算的方法,如初等数学,对数,平方根和三角函数 常用方法 //Math 常用方法(静态方法) //1.abs 绝对值 int abs = Math.abs(- ...
- 记录一下对jdk8后的接口的一些理解
对于jdk8后的接口,接口中加入了可以定义默认方法和静态方法. 为什么要这样设计呢? 是为了在给接口扩展方法的时候,不会影响已经实现了该接口的类 加入默认方法可以解决:在添加方法的同时,不影响现有的实 ...
- Elastic:菜鸟上手指南
文章链接:https://elasticstack.blog.csdn.net/article/details/102728604
- Elasticsearch 数据建模指南
文章转载自:https://mp.weixin.qq.com/s/vSh6w3eL_oQvU1mxnxsArA 0.题记 我在做 Elasticsearch 相关咨询和培训过程中,发现大家普遍更关注实 ...
- tcp_tw_recycle参数引发的系统问题
文章转载自: https://blog.csdn.net/zhuyiquan/article/details/68925707
- 15. Fluentd输入插件:in_tail用法详解
in_tail输入插件内置于Fluentd中,无需安装. 它允许fluentd从文本文件尾部读取日志事件,其行为类似linux的tail -F命令(按文件名来tail). 这几乎是最常用的一个输入插件 ...
- js从数组中找到某个对象
handel(ide) { let that = this; console.log(that.goodCaseList); let detailData = that.goodCaseList.fi ...
- python中类与对象的命名空间(静态属性的陷阱)、__dict__ 和 dir() 在继承中使用说明
1. 面向对象的概念 1)类是一类抽象的事物,对象是一个具体的事物:用类创建对象的过程,称为实例化. 2)类就是一个模子,只知道在这个模子里有什么属性.什么方法,但是不知道这些属性.方法具体是什么: ...
- Selenium+Python系列 - 开发环境搭建
一.写在前面 我从未想过自己会写python系列的自动化文章,有些同学会问,那你现在为什么又开始写了? 不止一个人找过我,问我可以写一些Python自动化的文章吗,答案是肯定的. 笔者Java党,整P ...
- 【算法】基础DP
参考资料 背包九讲 一.线性DP 如果现在在状态 i 下,它上一步可能的状态是什么. 上一步不同的状态依赖于什么. 根据上面的分析,分析出状态和转移方程.注意:dp 不一定只有两维或者一维,一开始设计 ...