关于延时函数 点击:347 | 回复:6



wonendie

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 0回
  • 年度积分:75
  • 历史总积分:75
  • 注册:2023年2月09日
发表于:2023-02-09 23:48:33
楼主
求助帖30分-未结帖

想用st语言写一个循环累加的程序,但是不知道怎么把延时函数放进循环,有大佬能解答下疑惑吗



楼主最近还看过



yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10219回
  • 年度积分:3353
  • 历史总积分:48938
  • 注册:2005年4月22日
发表于:2023-02-10 08:49:30
1楼

延时是不应该放入循环的,因为这将触发WDT故障。


标准的做法是在循环外使用定时器,在循环内进行定时器的触发。


HAVE FUN!

风中百合哈哈

  • 精华:0帖
  • 求助:16帖
  • 帖子:43帖 | 746回
  • 年度积分:1739
  • 历史总积分:7397
  • 注册:2009年12月07日
发表于:2023-02-10 13:30:48
2楼

使用定时器进行记录循环比较合理

billyz

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 31回
  • 年度积分:32
  • 历史总积分:49
  • 注册:2002年1月22日
发表于:2023-02-10 18:30:50
3楼
我用的个小程序“工控圈子”也能发帖求助的,即时通讯的,可以去试试

121111115

  • [版主]
  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 378回
  • 年度积分:594
  • 历史总积分:21966
  • 注册:2016年1月20日
发表于:2023-02-13 10:52:23
4楼

累加就累加,延时就延时,你这不会是想记录延时的次数吧,类似于长定时那样通过定时器和计数器配合来实现较长时间的定时操作。如果是这样的话一楼的方案是最佳方案。

还有支持ST语言的PLC,那也不是地摊货,定时器精度有多种选择,没必要放延时函数(计算半天不说还有误差),累加就FOR循环或者while,在上述两个循环函数之外放定时器,比如10秒触发一次循环,而循环内则进行累加一次的操作,累加操作完成以后立刻复位定时器,重新计时,然后退出循环,等待定时器时间到再次进入循环去累加。

gk2017

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 22回
  • 年度积分:155
  • 历史总积分:209
  • 注册:2017年9月18日
发表于:2023-02-18 13:12:32
5楼

在ST语言中,建议不要在循环中使用延时函数,因为这可能会导致程序无法及时响应其他事件。相反,建议使用计时器或者定时器来实现延时操作。下面是一个使用计时器实现循环累加的程序示例:

VAR
    nCounter : INT := 0; // 循环计数器
    nSum : INT := 0;     // 累加和
    tDelay : TON;        // 计时器END_VAR

tDelay(IN:= TRUE, PT:= T#1000ms); // 1秒钟的延时计时器IF tDelay.Q THEN // 判断计时器是否到达
    nCounter := nCounter + 1; // 循环计数器自增
    nSum := nSum + nCounter;  // 累加
    tDelay(IN:= TRUE, PT:= T#1000ms); // 重新启动计时器END_IF

在这个程序中,使用了一个循环计数器 nCounter 和一个累加和 nSum,每隔1秒钟,程序会自动累加计数器并计算累加和。在每次累加之前,程序会检查计时器是否到达,并重新启动计时器。这个程序可以通过修改 T#1000ms 来调整延时时间。


Smile-lyc

  • [管理员]
  • 精华:128帖
  • 求助:50帖
  • 帖子:3484帖 | 22331回
  • 年度积分:1963
  • 历史总积分:145694
  • 注册:2006年8月04日
发表于:2023-03-25 10:03:22
6楼

感谢求助者和答疑者对求助答疑板块的厚爱,赠人玫瑰,手留余香。

对于求助者要求:

1、请在一个月内自行结贴,把悬赏积分(如果设置积分悬赏求助)发放给答疑者;

2、如果在求助答疑过程中,自己已经有效解决问题,建议大家把解决问题方法在自己求助帖分享,有效分享可以获得50积分奖励。

3、求助答疑板块版主结贴时间一般滞后30~45天,以方便大家对求助问题答疑足够时间,也为了每一个优秀答疑人员都可以获取到自己的积分和MP奖励。

4、2023加油!!




热门招聘
相关主题

官方公众号

智造工程师