用力控报表功能实现显示设备启动、停止时间和运行时长的方法 点击:6393 | 回复:12



zhongxxx

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:10帖 | 20回
  • 年度积分:11
  • 历史总积分:274
  • 注册:2007年1月02日
发表于:2012-04-28 15:28:55
楼主

之前写了一篇文章是《用组态王报表功能实现显示设备启动、停止时间和运行时长的方法》,最近闲来无事将其翻译成了力控的版本,思路都是一样的,只是脚本略有不同,希望能给需要的人以帮助。

1.建立报表

2.编写获取当前日期,时间的自定义函数

*******************************************

//Function name: GetCurrentDateTime
//Parameters:
strY=IntToStr($Year,10);
strM=IntToStr($Month, 10 );
strD=IntToStr($Day, 10 );

strH=IntToStr($Hour, 10 );
strMi=IntToStr($Minute, 10 );
strS=IntToStr($Second, 10 );

////确定日期的格式,并使长度和位置固定
if($Month<10) then  strM="0"+strM; ENDIF
if($Day<10) then strD="0"+strD;  ENDIF
if($Hour<10) then strH="0"+strH; ENDIF
if($Minute<10) then strMi="0"+strMi; ENDIF
if($Second<10) then strS="0"+strS; ENDIF

//组合,定义格式
RETURN strY+"/"+strM+"/"+strD+" "+strH+":"+strMi+":"+strS;

***************************************************************

3.编写填充报表的自定义函数

**********************************************

//启动设备时,将“序号”、“名称”、“启动时间”填充到报表中
strDate=GetCurrentDateTime();

if(var==1) then
num=currentRow-2;
id=IntToStr(num, 10 );

#DRAW1.#ReportHis.SetCellString(-1,currentRow,1,id,1);//序号
#DRAW1.#ReportHis.SetCellString(-1,currentRow,2,text,1);//名称
#DRAW1.#ReportHis.SetCellString(-1,currentRow,3,strDate,1);//开始时间

row=currentRow;//所在行=报表当前行
currentRow=currentRow+1;
   //停止设备时
else
startStr=#DRAW1.#ReportHis.GetCellString(-1,row,3);

startTime=LongTime(startStr);
endTime=LongTime(strDate);
////计算时间差
timeLength=endTime-startTime;//单位秒
////秒转换为小时
endStr=IntToStr( timeLength, 10 )+"秒";
////将“停止时间”和“运行时长”填充到报表中
#DRAW1.#ReportHis.SetCellString(-1,row,4,strDate,1);
#DRAW1.#ReportHis.SetCellString(-1,row,5,endStr,1);
endif

************************************************************

4.脚本中用到的中间变量

5.在数据改变动作中,引用自定义函数。

6.运行




楼主最近还看过



白开

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 3回
  • 年度积分:0
  • 历史总积分:29
  • 注册:2009年4月01日
发表于:2012-06-04 16:30:40
1楼
第一个函数怎么显示该函数无返回值呀,

艾诺樱桃帮v

  • 精华:0帖
  • 求助:1帖
  • 帖子:37帖 | 1555回
  • 年度积分:0
  • 历史总积分:1539
  • 注册:2012年3月02日
发表于:2012-06-25 22:27:48
2楼
路过,学习                                      

工控智能机器人

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 38回
  • 年度积分:0
  • 历史总积分:165
  • 注册:2011年8月19日
发表于:2012-07-01 07:54:32
3楼
      销售国产完全兼容西门子系列合信科创思PLC以及PLC周边产品(STS7-200 & ABB )Fameview组态软件 销售各种模块例如通信模块、温度PID控制模块、运动模块、称重模块等等模块欢迎咨询! HMI人机触摸屏界面 UK防雷信号隔离器(电流\电压型)提供行业技术支持 最有效的技术培训

FAMEVIEW在北京奥运会中的应用 

点击查看原图


在沥青搅拌站的应用

点击查看原图

在水处理中的应用

点击查看原图

在首都机场T3航站楼应用

Fameview组态软件是个神奇的组态软件,欢迎广大工控好友加我免费索要组态软件,报表功能强大,稳定。
欢迎加入QQ一起交流1447019954 809484545      电话13638647629  18062045939 中冶自动化唐文

工控智能机器人

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 38回
  • 年度积分:0
  • 历史总积分:165
  • 注册:2011年8月19日
发表于:2012-07-01 08:02:04
4楼
FAMEVIEW组态软件支持以下运行环境欢迎加QQ一起交流1447019954  809484545   电话13638647629  18062045939
市场技术部客户经理  唐文

协议

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 72回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2012-08-16 18:29:33
5楼
                            哈哈,太好了,顶

协议

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 72回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2012-08-16 18:31:30
6楼
       能否把工程文件发给我呢?谢谢,173977643@qq.com

YSC1

  • 精华:3帖
  • 求助:3帖
  • 帖子:149帖 | 2498回
  • 年度积分:500
  • 历史总积分:8547
  • 注册:2002年6月07日
发表于:2012-08-25 14:18:48
7楼
楼主你好,按照你留下的组态王工程说明做完,期间虽出现不少错误提示(自己编写不正确造成),都修整完,可就是不能运行。指的是报表内没有时间显示等内容。不知问题出在那里?恳请楼主指点一二。

xiamaomaoxue

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 25回
  • 年度积分:0
  • 历史总积分:10
  • 注册:2014年1月10日
发表于:2014-05-07 21:14:05
8楼

学习学习························

yanxiaojun8

  • 精华:0帖
  • 求助:2帖
  • 帖子:7帖 | 50回
  • 年度积分:0
  • 历史总积分:251
  • 注册:2011年2月21日
发表于:2014-09-25 23:51:08
9楼

感谢楼主分享。。。。

毛线

  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 38回
  • 年度积分:0
  • 历史总积分:1679
  • 注册:2015年12月15日
发表于:2019-11-29 13:55:18
10楼

您好,能否把工程文件发一下呢?谢谢,289038167@qq.com

天空5561

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:74
  • 注册:2013年7月10日
发表于:2020-05-24 16:55:51
11楼

回复内容:

对:协议                             哈哈,太好了,顶     内容的回复:

怎么按着写,用不了呢

轻轻原上草

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2021年8月16日
发表于:2021-09-17 13:49:57
12楼

楼主你好,可否把样板工程分享下,2968086745@qq.com


热门招聘
相关主题

官方公众号

智造工程师