• 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


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

     

  • 相关阅读:
    Android数据结构和算法总结-字符串相关高频面试题算法
    58.【MySQL 四种语言】
    jvm参数配置
    DC/DC开关电源学习笔记(十一)Boost升压电路原理
    图文详解Linux基础经典教程(05)——配置虚拟机静态IP
    Matlab图形绘制
    OSPF—— LSA-1和 LSA-2
    Compose Canvas饼图效果绘制
    使用GithubAction自动构建部署项目
    Python【字符串】【列表】【元组】常用操作
  • 原文地址:https://www.cnblogs.com/lsjwq/p/16942377.html