

|
1.概述 在zai某mou些xie設she備bei控kong製zhi程cheng序xu中zhong可ke能neng要yao求qiu定ding時shi器qi在zai計ji時shi的de過guo程cheng中zhong具ju備bei暫zan停ting計ji時shi的de功gong能neng,在zai計ji時shi期qi間jian,如ru果guo暫zan停ting信xin號hao為wei高gao電dian平ping,計ji時shi器qi停ting止zhi工gong作zuo,但dan其qi當dang前qian計ji時shi值zhi需xu要yao保bao留liu,當暫停信號為低電平時,定時器在暫停前的計時值基礎上繼續計時。 大部分PLC沒有提供具備暫停功能的定時器,這就需要編程者自己通過程序來實現這一功能。當然,PLC本(ben)身(shen)的(de)靈(ling)活(huo)的(de)可(ke)編(bian)程(cheng)性(xing)能(neng)為(wei)實(shi)現(xian)這(zhe)一(yi)功(gong)能(neng)提(ti)供(gong)了(le)很(hen)多(duo)解(jie)決(jue)方(fang)案(an),例(li)如(ru)可(ke)以(yi)用(yong)定(ding)時(shi)器(qi)與(yu)計(ji)數(shu)器(qi)配(pei)合(he),將(jiang)暫(zan)停(ting)信(xin)號(hao)串(chuan)在(zai)計(ji)數(shu)器(qi)的(de)計(ji)數(shu)端(duan),就(jiu)能(neng)完(wan)成(cheng)帶(dai)暫(zan)停(ting)功(gong)能(neng)的(de)計(ji)時(shi)器(qi)功(gong)能(neng)。 2 在Twido係列PLC中的實現方法 在Twido PLC中可以使用周期事件來實現具備暫停功能的定時/計時器。Twido具有一路周期可在5~255ms間調整的周期事件功能,也就是時間在5~255ms之間的一個定時中斷。首先看一下周期事件的設置:
上麵配置了一個100ms的周期事件(定時中斷),在此事件/中斷中調用0號子程序,超級定時器的實現程序就放在這個子程序中。
上麵程序段中使用的變量: %M0 超級定時器使能 %M1 超級定時器暫停 %M2 超級定時器複位 %M3 超級定時器輸出 %MW10 超級定時器計時值 %MW11 超級定時器設置值 在程序使用這個自製的超級定時器:
需要注意之處(如果在程序使用了子程序,必須在主程序結束處加END指令):
程序的指令表源碼: (* 設置超級定時器定時時間值 *) LD 1 [ %MW11 := 100 ] (* 超級定時器時間到後輸出 *) LD %M3 ST %Q0.0.0 (* 超級定時器的便能、暫停及複位 *) LD 1 MPS AND %I0.0.0 ST %M0 MRD AND %I0.0.1 ST %M1 MPP AND %I0.0.2 ST %M2 (* 如果在程序使用了子程序,必須在主程序結束處加END指令 *) END (* 一個時基為100MS的超級定時器 *) SR0: LD 1 MPS AND %M0 MPS ANDN %M1 AND [ %MW10 < %MW11 ] [ INC %MW10 ] MPP AND [ %MW10 >= %MW11 ] ST %M3 MPP AND %M2 [ %MW10 := 0 ] RET 如果需要,在周期中斷程序中可以做出多個類似的定時器。
|