我有一个设备需要做运行时间记录,用全局动作读取wincc系统时间.想在wincc上做一个按钮,用鼠标点一下,启动设备运行时间开始记录,在点一下按钮时间停止清零,用原始数据类型
最佳答案
干嘛要点一下再记时,运行就自动记时不行吗,做了一个分 分/小时/天的,按钮C动作-SetTagBit("bb",(SHORT)!GetTagBit("bb"));
,全为内部变量,做得不好请大家包涵,定时器设1分
#include "apdefap.h"
int gscAction( void )
{
int a;float a1;float a2;float a3;
a=GetTagBit("bb");
a1=GetTagFloat("m");
a2=GetTagFloat("h");
a3=GetTagFloat("d");
if(a==1)
{
a1++;
}
if(a1>=60)
{
a2++;
a1=0;
}
if(a2>=24)
{
a3++;
a2=0;
}
if(a==0)
{
a1=0;
a2=0;
a3=0;
}
SetTagFloat("m",a1);
SetTagFloat("h",a2);
SetTagFloat("d",a3);
return 0;
}
在点一下按钮时间停止清零,不好意思,没理解和楼上们一样的意思,试了一下也好办,做2个I/O,M的显示为否,设显示动态框—变量BB,是为显示,否为不显示,H的不动,把H覆盖M,按钮BB不动,定时器设S/M都可
int gscAction( void )
{
int a;float a1;float a2;
a=GetTagBit("bb");
a1=GetTagFloat("m");
a2=GetTagFloat("h");
if(a==1)
{
a1++;
a2=a1;
}
if(a==0)
{
a1=0;
}
SetTagFloat("m",a1);
SetTagFloat("h",a2);
return 0;
}
提问者对于答案的评价:
ok
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc274704.html