iNeuOS工业互联网操作系统,脚本化实现设备运行时长和效率计算与统计

目       录

1.      概述... 2
2.      实时采集开停状态... 2
3.      增加虚拟设备... 2
4.      脚本统计和计算设备运行时长... 4
5.      设备运行时长报表... 7




 1.   概述

  有一个煤矿项目,使用iNeuOS系统时有一个需要是:要统计设备的运行时长,进一步统计设备运行效率。主要是有效分析设备运行状态,合理的进行节能。

  iNeuOS本身具备强大的脚本能力,需要现场实施人员有一定脚本编写能力,如果不具备脚本编写能力,那么下面的模板修改相应的参数即可。

2.   实时采集开停状态

  首先能够实时读取到相应设备的开停状态,读取数据点的参数根据现场实际设备情况设置。如下图:

8f58d97e5cd8ad1ee88d20e74a21d4e8.png

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

8caceb61fda07988899304505d939af3.png

  3.   增加虚拟设备

  (1)增加虚拟设备

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

75816302ffda7268529c8853fe2401f6.png

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

674f9faebcbb212c90206322dee24afd.png

    (2)增加虚拟数据点

  编辑相应的设备,在【数据点】选卡上添加数据点,如下图:

7e1a3f2c48e4dda37c007cf69564763a.png

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

4f1955b3756e4b21bd581b741ff67d9a.png

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

169d3553d3115fb4060977196bf4f5ef.png

     需要统计设备运行时长都按上面的流程配置,虚拟设备层级可以灵活调整。

4.   脚本统计和计算设备运行时长

  在系统桌面打开【流程控制】功能,如下图:

4d3ca337f76c02a877799fb022fede3d.png

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

0fade7b1fa61d6bff18f4d8d8b9900b9.png

    统计设备时长的脚本模板,如下脚本:

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.TotalHoursdouble run_minute_num = ts.TotalMinutes;//保存运行时长save("i386181860411183104","device_run_minute_num",run_minute_num.ToString());
}

  选择【保存】,设置流程控制名称、流程描述、是否启动和间隔时长。如下图:

19ce4bd034a60964acaf7465f784d5ef.png

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

4a75781163d31e1ead1408a82dd5f33e.png

5.   设备运行时长报表

  报表应用操作参见:《iNeuOS工业互联网操作系统,在线报表(Excel)开发工具》。

  在桌面打开【报表设计】,如下图:

b734c2189ae32ce8e4a32f55f6d581a2.png

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

f7007415e15120fca88ed7db30a1ae97.png

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

09a5092db1d3c660e2a507990b6bd867.png

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

24ead6a4e3c96df35cf81fbf2d3cf245.png

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

f382de96af546d6e1026aea245d09bed.png

    最终呈现效果,如下图:

807785e7aee47de61408e89b24169688.png

    注:一个开启和停止应该显示在一行上,这块我们再优化。




物联网&大数据技术 QQ群:54256083
物联网&大数据项目 QQ群:727664080
QQ:504547114
微信:wxzz0151
博客:https://www.cnblogs.com/lsjwq
微信公众号:iNeuOS

3387abb4a2c155641d87b3c78074641b.png


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

e35a7a51e82bbdffae4ba37d299e72f0.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/280697.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

webpack二(以webpack4.x起步)

一.基本安装首先我们要创建一个目录,初始化npm,以及在本地安装webpack:复制代码mkdir webpackapp && cd webpackapp复制代码npm init -y复制代码npm install --save-dev webapck复制代码现在我们看一下我们创建的目录以及目录下的结构…

阿里云中间件是什么-阿里云中间件介绍

阿里云中间件是什么?这其实是一个比较虚的概念。广义的中间件范围很广。起沟通作用的都可以认为是中间件。甚至ODBC这样的东西你也可以认为是中间件。 使用了中间件之后,以前直接连接的前台应用程序和数据库之前就多了个中间件,现在前台程序把请求发给…

C# 图片、文件等加入Project Resources

一、目的 1.编译后,只想有一个exe文件,不想外部文件引用,直接运行exe文件即可。 2.不会出现文件丢失情况。 二、操作 1.右击project ->properties->Resource,左上角选择Image(或其他类型) 2. 点击…

jfinal使用shiro注解大体流程

2019独角兽企业重金招聘Python工程师标准>>> 上一篇答题梳理了jfinal整合shiro的流程,jfinal读取shiro注解,这一篇将作为补充。 1.JFinalShiroPlugin作者为shiro的RequiresRoles,RequiresPermissions, RequiresAuthent…

chrome 快捷键取消_如何使用键盘快捷键在Chrome和Firefox中固定和取消固定选项卡...

chrome 快捷键取消If you tend to open a lot of tabs in your browser, it can become difficult to find the tabs with your most used websites. Pinning tabs in your browser moves those tabs to the left and shrinks the tabs to only show the favicon, and you can …

.NET Conf China 2022参会指南速览(内含超多福利)赶紧预约!⏰⏰⏰

12月充满惊喜各种美好节日纷至沓来似在奖励一年辛苦劳作的你12月的第一波福利.NET Conf China 承包啦立即扫码预约加入.NET年度盛宴抢12月第一波惊喜!.NET Conf China 2022 .NET Conf China 2022是面向开发人员的社区峰会,延续 .NET Conf 2022 的活动&a…

python导入模块--案例

1 导入模块 1.1 问题 本案例要求先编写一个star模块,主要要求如下: 建立工作目录 ~/bin/创建模块文件 ~/bin/star.py模块中创建pstar函数,实现打印50个星号的功能然后练习导入模块,调用模块中的函数: 在交互解释器中导…

css常用命名

常用的CSS命名 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体佈局宽度:wrapper 左右中:left right center 登录条:l…

***关于WP的邮件无法发送问题的总结(原创)

1.用FTP打开 /wp-include/class-smtp.php ,最好是下载下来,搜索一下,查找到如下的代码: $this->smtp_conn stream_socket_client($host . ":" . $port,$errno,$errstr,$timeout,STREAM_CLIENT_CONNECT,$socket_cont…

C# 简单方式运行powershell文件/使用cmd命令运行ps1

一、目的、构想 1.C# winfrom编译的tool 运行一个powershell文件。 2.只需要运行即可,不需要返回值。 3.网上部分资料需要额外添加dll。 3.已经有cmd执行命令的函数,能否直接在cmd运行? 4.在cmd黑色窗口输入powershell 能进入powershell…

​.Net 7 AOT 彻底解析下(完结篇)

楔子:本篇是承继前面三篇文章而来,分别为:.Net 7 的 AOT 和 CLR有什么区别?.Net 7 的 R2R,Crossgen2是什么?.Net 7 的AOT原理简析通过以上三篇的基础,本篇来彻底解析下AOT这门技术的底层原理。AOT此终,不再…

cmd暂停快捷键_是否有键盘快捷键可以暂停正在运行的CMD窗口的输出?

cmd暂停快捷键When running a batch script, you may need or want to pause the output in the CMD window so that you can look things over. Is there an easy way to pause, then restart the output? Today’s SuperUser Q&A post has the answer to help with a re…

bash快捷键

Ctrl h :回退一个字符Ctrl f :光标前进一个字符Ctrl b :光标后退一个字符Ctrl w :删除光标之前的一个字符串(进入剪切板)Ctrl u :删除光标前的所有字符 (进入剪切板&#xff09…

J - 青蛙的约会(扩展欧几里得)

https://vjudge.net/contest/218366#problem/J 第一步追及公式要写对:ynk-(xmk)pL > (n-m)klpx-y 可以看出扩展欧几里得原型,这里注意扩展欧几里得求出的是任意解,非最优,要推出最小解k。 (n-m)xlygcd > (n-m)(x*(x-y)/gcd)…

C# 简单方式解压Zip文件/使用VS2019自带功能

一、目的、构想 1.直接解压zip文档。 2.网上资料不少需要外部dll。 3. 找到可以不需要外部dll方法,分享。 二、code实现 using System.IO.Compression;string filePath "c:\Server\fileList"; string zipPath "C:\Server\Download\Auto.zip&quo…

在 Docker 中使用 flannel - 每天5分钟玩转 Docker 容器技术(60)

上一节我们安装和配置了 flannel,本节在 Docker 中使用 flannel。配置 Docker 连接 flannel编辑 host1 的 Docker 配置文件 /etc/systemd/system/docker.service,设置 --bip 和 --mtu。这两个参数的值必须与 /run/flannel/subnet.env 中 FLANNEL_SUBNET …

使用.NET7和C#11打造最快的序列化程序-以MemoryPack为例

译者注本文是一篇不可多得的好文,MemoryPack 的作者 neuecc 大佬通过本文解释了他是如何将序列化程序性能提升到极致的;其中从很多方面(可变长度、字符串、集合等)解释了一些性能优化的技巧,值得每一个开发人员学习,特别是框架的开…

永不丢失照片:防弹照片备份的完整指南

There’s nothing as precious and irreplaceable as your personal photos and, with a little forethought and planning, there’s no reason to ever feel the heartbreak of losing even a single one of them to theft, broken devices, or disaster. 没有比您的个人照片…

C# 检查当前系统已安装的程序app/两种方法检测

一、目的、构思 1.检测当前系统有没有安装某个程序,如果没有就重新安装。 2.在网上找到了两种方法,可惜都找不到需要检测的app。 二、code实现 1.查找注册列表方式。要在winform的project使用,在console project 貌似找不到Microsoft.Win3…

Integer源码解析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangyangzhizhou/article/details/77196626 概况 Java的Integer类主要的作用就是对基本类型int进行封装,提供了一些处理int类型的方法,比如int到Strin…