技术论坛

 回复:wincc时间问题

返回主题列表
作者 主题
夏夏
游民

经验值:67
发帖数:57
精华帖:0
楼主    2006-06-02 15:45:29
主题:wincc时间问题
wincc可不可以根据一个二进制变量的变化的上升沿取时间,就是说我要取的时间是当这个变量有上升沿时时间改变,下降沿时时间不变化。
共同学习,共同进步
有谁共鸣
侠圣

经验值:3112
发帖数:2153
精华帖:21
    2006-06-03 15:01:25
精华帖  主题:回复:wincc时间问题
可以啊!
用C脚本:
#pragma code ("kernel32.dll")
VOID GetLocalTime(LPSYSTEMTIME lpSystemTime);
#pragma code ()
unsigned short H;
unsigned short M;
unsigned short S;

if ((GetTagBit("chang")==1)&&(GetTagBit("chang2")==0))
{
SYSTEMTIME sysTime;
GetLocalTime(&sysTime);
H=sysTime.wHour;
M=sysTime.wMinute;
S=sysTime.wSecond;

SetTagWord("Hour",(unsigned short) H);
SetTagWord("Minute",(unsigned short) M);
SetTagWord("Second",(unsigned short) S);
}
SetTagBit("chang2",GetTagBit("chang"));

Hour,Minute,Second分别为wincc无符号16位内部变量。
chang是二进制内部变量,是要监控它的上升沿!
chang2是用于储存chang的上一个周期的状态!
这东西以前单片机做过了,那时侯周期短点!
雄关漫道真如铁,而今迈步从头越!
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。