您现在所在的是:

西门子SIEMENS

回帖:0个,阅读:709 [上一页] [1] [下一页]
2245
vesapro
文章数:469
年度积分:51
历史总积分:2245
注册时间:2007/1/8
发站内信
发表于:2011/8/4 13:52:24
#0楼
我做的用户归档脚本,用于实现整点,当班的归档操作,但是,有时候整点归档会连续动作两次,请帮我看看问题出在哪里



程序如下:





脚本1:



               if  (GetTagWord("minute")==0) SetTagBit("tmp_bit_3",1); //Return-Type:  WORD  

else  SetTagBit("tmp_bit_3",0);    //小时触发,  每时0分



if  ((GetTagWord("tmp_hour")  !=  GetTagWord("hour"))  &  ((GetTagWord("hour")-GetTagWord("tmp_hour"))==1  |  (GetTagWord("hour")-GetTagWord("tmp_hour"))==  -23)) SetTagBit("tmp_bit_8",1);

else  SetTagBit("tmp_bit_8",0);//小时脉冲

SetTagWord("tmp_hour",GetTagWord("hour");

if  (GetTagBit("tmp_bit_3")  &  GetTagBit("tmp_bit_8")) SetTagBit("tmp_bit_15",1);  





脚本2:



#include  "apdefap.h"



int  gscAction(  void  )

{





         if  (GetTagBit("tmp_bit_15"))

{

                     if    (!GetTagBit("tmp_bit_25"))            //  &  (GetTagWord("tmp_time_hour")  !=  GetTagWord("hour")))                      //若出现小时归档的缺少,极有可能是因为此句条件不满足,直接跳到了SHIFT



         { //int  tmp;

SetTagWord("tmp_time_hour",GetTagWord("hour"));

SetTagSDWord("hour_archive_id",-1);

SetTagSDWord("hour_archive_job",6);



                                                                                             //此处为正点归档的累计,省略

SetTagBit("tmp_bit_25",1); //hour归档中。。。。。



       }



if  (GetTagSDWord("hour_archive_job")  !=  6  &  GetTagSDWord("@UA_total_Job")  !=  6  &  GetTagBit("tmp_bit_25")  )    

{    



                                           SetTagBit("tmp_bit_15",0);  

//                               SetTagBit("tmp_bit_20",0);  

             if  (GetTagBit("tmp_bit_18")  |  GetTagBit("tmp_bit_17")) SetTagBit("tmp_bit_21",1); //hour动作完成,若有班归档的信号,转移归档操作

// else  SetTagBit("tmp_bit_21",0);

             SetTagBit("tmp_bit_25",0); //hour归档完毕

   

             }    

 }



return  0;  

}

注:

hour取自SYSTEM  INFO中系统时间小时值,minute为分值,tmp_hour为一个内部变量  ,用于存储上次执行时的小时值。

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

31.2002