有没有函数使程序延迟10秒

有没有函数使程序延迟10秒,第1张

procedure yc_time_yh; //延时var tmpd:tdatetime; //hVar: HWND;beginwith wjyx_for do begin tmpd:=now(); repeat applicationProcessMessages ; until (now()>tmpd+10(1/24/60/60)); end;end;

软件:step7

硬件:西门子300、400系列

元件:自复位按钮启动,停止开关,分别对应I00,I01;电机启动输出Q00;用S_ODTS定时器,启动延时5S,停止延时10S。

梯形图程序如下,请参考:

延时函数很常见:

delay1ms(unsigned

int

tt)

//延时1ms

{

unsigned

char

i;

while(tt--)

for(i

=

113;

i

>

0;

i--);

}

反复多次调用即可。

但是,用软件延时,观察起来,就像死机一样,经常会误事的。

#include<reg52h> 

void d10s(void)   //延时10秒

{

   unsigned char a,b,c,d;

   for(d=0;d<10;d++)

     for(c=205;c>0;c--)

        for(b=116;b>0;b--)

           for(a=9;a>0;a--);

}

main()

{

      P1=0xfe;           //给初始化值,P1:1111 1110

      while(1)

     {

        d10s();//延时程序

        P1<<=1;      //左移一位

        P1|=0x01;    //最后一位补1

        if(P1==0xef) //检测是否移到最左端?

        P1=oxfe;

      }

 }

这是为了防止同时启动造成电压下降过大。

电机要可正反转控制。正反转启动按钮按下后,延时10秒后电机启动,且要用一个定时器实现。基于以上要点,大略分析了题主的程序,第三幅图的程序没什么问题,第一幅图、第二幅图的程序有些不妥。

两台电动机交替运行是指电动机M1运转一定时间自动停止后,电动机M2开始工作,当电动机M2运转一定时间自动停止后,电动机M1再次起动运转,如此反复循环,实现两台电动机的自动交替运行。当需要两台电动机停止运转时,按下停止按钮SB2,将PLC程序中的输入继电器常闭触点I01置“0”,即常闭触点I01断开,辅助继电器M00线圈失电,触点复位,定时器T37、T38和输出继电器Q00、Q01线圈均失电,控制PLC外接电动机接触器线圈失电,带动主电路中的主触点复位断开,切断电动机电源,电动机停止循环运转。

如果在这10秒的时间里,你的程序什么也不用做,只是等待,那么可以这样:

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Command1_Click()

Sleep 10000

MsgBox "Hello!"

End Sub

但是如果你的程序在这10秒的时间里仍然要做其他事情,比如点击其他按钮等等,那么就应该这样:

Private Sub Command1_Click()

Timer1Interval = 10000

Timer1Enabled = True

End Sub

Private Sub Timer1_Timer()

MsgBox "Hello!"

Timer1Enabled = False

End Sub

再次强调,第一种方法中,在你点击按钮后的10秒时间里,你的程序会暂时处于无反应状态。

以上就是关于有没有函数使程序延迟10秒全部的内容,包括:有没有函数使程序延迟10秒、按照PLC系统设计的步骤,设计一个能实现电机延时5秒启动,延时10秒停止的系统、51单片机的10ms延时C语言程序~~~急啊!!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9504284.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存