worker02
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 114 個
工控威望: 292 點
下載積分: 718 分
在線時間: 279(小時)
注冊時間: 2008-08-01
最后登錄: 2024-10-19
查看worker02的 主題 / 回貼
樓主  發(fā)表于: 24天前
圖片:
為什么不能重復計時。問題出在那里。就只能第一次計5S。
worker02
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 114 個
工控威望: 292 點
下載積分: 718 分
在線時間: 279(小時)
注冊時間: 2008-08-01
最后登錄: 2024-10-19
查看worker02的 主題 / 回貼
1樓  發(fā)表于: 24天前
數(shù)據(jù)類型TON不是延時計時器功能嗎?條件斷后不是重新計時嗎?
worker02
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 114 個
工控威望: 292 點
下載積分: 718 分
在線時間: 279(小時)
注冊時間: 2008-08-01
最后登錄: 2024-10-19
查看worker02的 主題 / 回貼
2樓  發(fā)表于: 24天前
已經(jīng)可以了!
[ 此帖被worker02在2024-09-29 16:29重新編輯 ]
worker02
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 114 個
工控威望: 292 點
下載積分: 718 分
在線時間: 279(小時)
注冊時間: 2008-08-01
最后登錄: 2024-10-19
查看worker02的 主題 / 回貼
3樓  發(fā)表于: 24天前
圖片:
IF ldp (1,Int6_重置) THEN
     亮點起始位[Temp_Counts]:=0;  Temp_Counts:=0;  當前點亮編號:=0; T_ON:=0;
  END_IF;

  IF (Int0_功能塊使能) AND (Temp_Dtb) THEN
        
         Int2_開始:=TRUE;       Temp_Dtb:=FALSE;
      
  END_IF;
  Temp_LDP:=(T_ON) AND(NOT Temp_LDPS);
                        Temp_LDPS:=T_ON;            
IF Temp_LDP THEN
            
             Int2_開始:=FALSE;  T_ON:=FALSE; Temp_Dtb:=TRUE;

END_IF;

IF  (Int0_功能塊使能)AND(NOT Int3_停止)THEN
          
          Timer_T (IN:=Int2_開始,PT:=Int7_間隔時間,Q:=T_ON,ET:=Out_當前點亮時間) ;

END_IF;    

IF( 當前點亮編號=0)OR(當前點亮編號=Int1_燈數(shù)長度) THEN
    
     Temp_Counts:=0;

END_IF;

IF (Int0_功能塊使能)AND(當前點亮編號=Int1_燈數(shù)長度) AND (LDP(1,T_ON)) THEN
    
    亮點起始位[當前點亮編號-1]:=0; 當前點亮編號:=0;
  
END_IF;

IF (Int0_功能塊使能)AND (LDP(1,Int5_更改確認))AND(Int4_隨機點燈號>0 AND Int4_隨機點燈號<=Int1_燈數(shù)長度) THEN
      
        Temp_Data:=Int4_隨機點燈號;
      
END_IF;
(*//////////////////////////////////////////////////點亮開始 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*)

IF (Int0_功能塊使能)AND(Int1_燈數(shù)長度>0) AND(NOT Int3_停止)AND (LDP(1,T_ON))AND(當前點亮編號<Int1_燈數(shù)長度) AND(NOT Int6_重置) THEN
    
        IF (Temp_Counts=0) AND(  當前點亮編號=0) AND  (Temp_data=0)THEN  
        
            亮點起始位[Temp_Counts]:=1;    當前點亮編號:=Temp_Counts+1;

                
        ELSE
              
              IF( Temp_Data=0) THEN
                  
                  Temp_Counts:=Temp_Counts+1;    亮點起始位[Temp_Counts]:=1;      亮點起始位[Temp_Counts-1]:=0;   當前點亮編號:=Temp_Counts+1;
                      
              ELSE
                    
                   亮點起始位[Temp_Counts]:=0;    Temp_Counts:=Temp_Data-1;        亮點起始位[Temp_Counts]:=1;         當前點亮編號:=Temp_Counts+1;
                              
                   Temp_Data:=0;
                            
                           END_IF;                
                                  
        END_IF;    
                      
END_IF;