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

打印 上一主题 下一主题

主题 492|帖子 492|积分 1476

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

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

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

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

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

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

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

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

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

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

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

    统计设备时长的脚本模板,如下脚本:
  1. string io_signal=getvalue("i376006988762583040","signal");  //设备开停状态
  2. //记录当前设备状态,防止重新记录
  3. string temp_run_temp=getvalue("i386181395921375232","device_run_temp_state");
  4. if(string.IsNullOrEmpty(temp_run_temp))
  5. {
  6.    temp_run_temp="0";
  7. }
  8. if(io_signal=="1" && temp_run_temp=="0")//运行状态
  9. {
  10.     //记录当前为开启状态
  11.     save("i386181395921375232","device_run_temp_state","1");
  12.     //记录开始运行时间点
  13.     save("i386181533603598336","device_run_sdt",DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
  14. }
  15. if(io_signal=="0" && temp_run_temp=="1")//停止状态
  16. {
  17.    //记录当前为停止状态
  18.     save("i386181395921375232","device_run_temp_state","0");
  19.     //记录停止运行时间点
  20.     string edt=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  21.     save("i386181687433891840","device_run_edt",edt);
  22.     //计算时长
  23.     //获得设备运行的开始时间节点
  24.     string sdt=getvalue("i386181533603598336","device_run_sdt");
  25.     //计算时间差
  26.     TimeSpan ts = DateTime.Parse(edt) - DateTime.Parse(sdt);
  27.     //获得运行时长,单分为分钟。如果是小时:ts.TotalHours
  28.     double run_minute_num = ts.TotalMinutes;
  29.     //保存运行时长
  30. save("i386181860411183104","device_run_minute_num",run_minute_num.ToString());
  31. }
复制代码
  选择【保存】,设置流程控制名称、流程描述、是否启动和间隔时长。如下图:

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

5.   设备运行时长报表

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

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

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

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

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

    最终呈现效果,如下图:

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

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

 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

涛声依旧在

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表