巧用求余法编写“时 分 秒”格式计时程序 点击:599 | 回复:7



tj_bear

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 13回
  • 年度积分:0
  • 历史总积分:169
  • 注册:2014年10月14日
发表于:2022-01-12 13:57:27
楼主

第一次发帖,纯属尝试尝试,献丑了!

程序:

VAR_INPUT

    Run : BOOL;

    Sec : BOOL;(*Sec,1秒为TRUE一次*)

END_VAR


VAR (* VAR_DPS *)

    TimerSx : UDINT;(*秒计时器*)

    RTH : UDINT;(*运行时间-时*)

    RTM : UDINT;(*运行时间-分*)

    RTS : UDINT;(*运行时间-秒*)

END_VAR 


IF Run THEN

    IF Sec THEN

       TimerSx :=TimerSx + 1;

    END_IF;

    RTH :=TimerSx/3600;

    RTM :=(TimerSx MOD 3600)/60;

    RTS :=TimerSx MOD 60;

ELSE

    TimerSx :=0;

END_IF;

人机界面显示:

image.png



楼主最近还看过



fighting2021

  • [管理员]
  • 精华:4帖
  • 求助:4帖
  • 帖子:1024帖 | 7244回
  • 年度积分:1290
  • 历史总积分:18898
  • 注册:2008年11月11日
发表于:2022-01-13 14:41:34
1楼

感谢分享哦

tj_bear

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 13回
  • 年度积分:0
  • 历史总积分:169
  • 注册:2014年10月14日
发表于:2022-01-22 13:22:18
2楼

"fighting2021" 的回复,发表在1楼
        对内容: 【感谢分享哦】进行回复:

这个是Sec变量程序,希望对你有帮助!

        -----------------------------------------------------------------

FUNCTION_BLOCK TimerS_P


VAR_INPUT

    Sec : INT;

END_VAR


VAR_OUTPUT

    SeD : BOOL;

END_VAR


VAR (* VAR_DPS *)

    LastTime : INT;

    CurTime : INT;

END_VAR


CurTime :=Sec;

IF LastTime <> CurTime THEN

    SeD :=TRUE;

    LastTime :=CurTime;

ELSE

    SeD :=FALSE;

END_IF;

    

END_FUNCTION_BLOCK 


wgq7396

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 13回
  • 年度积分:0
  • 历史总积分:748
  • 注册:2009年7月22日
发表于:2022-01-25 15:26:22
3楼

感谢分享哦

w12工控怪

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 249回
  • 年度积分:99
  • 历史总积分:192
  • 注册:2021年7月01日
发表于:2022-02-08 14:05:12
4楼

感谢分享哦

oisimple

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 34回
  • 年度积分:0
  • 历史总积分:56
  • 注册:2015年12月29日
发表于:2022-02-18 16:22:17
5楼

思路不错,应该要在1秒的循环中断中调用,最大能记录100多年

请叫我王老湿

  • [版主]
  • 精华:0帖
  • 求助:0帖
  • 帖子:622帖 | 8548回
  • 年度积分:24
  • 历史总积分:335295
  • 注册:2011年4月25日
发表于:2022-02-22 10:58:16
6楼

100多年后估计PLC更牛逼了

Smile-lyc

  • [管理员]
  • 精华:127帖
  • 求助:50帖
  • 帖子:3482帖 | 22331回
  • 年度积分:1963
  • 历史总积分:145694
  • 注册:2006年8月04日
发表于:2022-03-08 15:27:04
7楼

引用 "oisimple" 的回复,发表在5楼
        内容: 思路不错,应该要在1秒的循环中断中调用,最大能记录100多年

这个真不错

热门招聘
相关主题

官方公众号

智造工程师