worker02
级别: 略有小成
精华主题: 0
发帖数量: 114 个
工控威望: 292 点
下载积分: 718 分
在线时间: 279(小时)
注册时间: 2008-08-01
最后登录: 2024-11-01
查看worker02的 主题 / 回贴
楼主  发表于: 45天前
图片:
为什么不能重复计时。问题出在那里。就只能第一次计5S。
sail88
傻傻滴什么都不懂
级别: 略有小成
精华主题: 0
发帖数量: 178 个
工控威望: 280 点
下载积分: 3219 分
在线时间: 416(小时)
注册时间: 2020-08-09
最后登录: 2024-11-12
查看sail88的 主题 / 回贴
1楼  发表于: 45天前
ST不是累计时器吗,你都没清
heiheiwodeai
级别: 略有小成
精华主题: 0
发帖数量: 245 个
工控威望: 367 点
下载积分: 974 分
在线时间: 329(小时)
注册时间: 2013-03-26
最后登录: 2024-11-12
查看heiheiwodeai的 主题 / 回贴
2楼  发表于: 45天前
还不如直接调用时间继电器
worker02
级别: 略有小成
精华主题: 0
发帖数量: 114 个
工控威望: 292 点
下载积分: 718 分
在线时间: 279(小时)
注册时间: 2008-08-01
最后登录: 2024-11-01
查看worker02的 主题 / 回贴
3楼  发表于: 45天前
数据类型TON不是延时计时器功能吗?条件断后不是重新计时吗?
worker02
级别: 略有小成
精华主题: 0
发帖数量: 114 个
工控威望: 292 点
下载积分: 718 分
在线时间: 279(小时)
注册时间: 2008-08-01
最后登录: 2024-11-01
查看worker02的 主题 / 回贴
4楼  发表于: 45天前
已经可以了!
[ 此帖被worker02在2024-09-29 16:29重新编辑 ]
worker02
级别: 略有小成
精华主题: 0
发帖数量: 114 个
工控威望: 292 点
下载积分: 718 分
在线时间: 279(小时)
注册时间: 2008-08-01
最后登录: 2024-11-01
查看worker02的 主题 / 回贴
5楼  发表于: 45天前
图片:
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_灯数长度) THEN
    
     Temp_Counts:=0;

END_IF;

IF (Int0_功能块使能)AND(当前点亮编号=Int1_灯数长度) AND (LDP(1,T_ON)) THEN
    
    亮点起始位[当前点亮编号-1]:=0; 当前点亮编号:=0;
  
END_IF;

IF (Int0_功能块使能)AND (LDP(1,Int5_更改确认))AND(Int4_随机点灯号>0 AND Int4_随机点灯号<=Int1_灯数长度) THEN
      
        Temp_Data:=Int4_随机点灯号;
      
END_IF;
(*//////////////////////////////////////////////////点亮开始 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*)

IF (Int0_功能块使能)AND(Int1_灯数长度>0) AND(NOT Int3_停止)AND (LDP(1,T_ON))AND(当前点亮编号<Int1_灯数长度) 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;    
            
220522
级别: 家园常客
精华主题: 0
发帖数量: 48 个
工控威望: 621 点
下载积分: 3771 分
在线时间: 118(小时)
注册时间: 2021-08-05
最后登录: 2024-10-24
查看220522的 主题 / 回贴
6楼  发表于: 44天前