| 作者 | 主题 |
|---|---|
|
夏夏 游民 经验值:67 发帖数:57 精华帖:0 |
楼主
主题:wincc时间问题
wincc可不可以根据一个二进制变量的变化的上升沿取时间,就是说我要取的时间是当这个变量有上升沿时时间改变,下降沿时时间不变化。
共同学习,共同进步
|
|
有谁共鸣 侠圣 经验值:3112 发帖数:2153 精华帖:21 |
楼
主题:回复: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的上一个周期的状态! 这东西以前单片机做过了,那时侯周期短点!
雄关漫道真如铁,而今迈步从头越!
|