2

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

 1 year ago
source link: https://www.cnblogs.com/lsjwq/p/16942377.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

目       录

1.      概述... 2

2.      实时采集开停状态... 2

3.      增加虚拟设备... 2

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

5.      设备运行时长报表... 7


 1.   概述

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

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

2.   实时采集开停状态

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

279374-20221201184647944-1867825545.png

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

279374-20221201184705964-71944124.png

  3.   增加虚拟设备

  (1)增加虚拟设备

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

279374-20221201184730264-940259609.png

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

279374-20221201184748818-766445865.png

    (2)增加虚拟数据点

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

279374-20221201184804516-1995064368.png

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

279374-20221201184830992-40809405.png

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

279374-20221201184849462-1793404415.png

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

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

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

279374-20221201184908786-707432417.png

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

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

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

279374-20221201185015105-10817752.png

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

279374-20221201185030454-733593535.png

5.   设备运行时长报表

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

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

279374-20221201185050598-994638614.png

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

279374-20221201185124162-695477150.png

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

279374-20221201185139150-364989855.png

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

279374-20221201185150876-165733951.png

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

279374-20221201185208436-1500127483.png

    最终呈现效果,如下图:

279374-20221201185224267-1773273253.png

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


物联网&大数据技术 QQ群:54256083

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

279374-20221114160316911-267202606.png


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

279374-20221114160356094-1776711555.png

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK