子程序中可以添加定時(shí)么?
劉玉蓉
發(fā)布于2014-11-25 17:49
75
0
標(biāo)簽:
子程序中定時(shí)器是只在子程序被調(diào)用的時(shí)候計(jì)時(shí),還是只要被調(diào)用過(guò),而且定時(shí)器線圈能流一直保持的話就不停計(jì)時(shí)?
例如一個(gè)溫度處理的子程序:
LD SM0.0
CALL 溫度液位報(bào)警判斷:SBR1
在SBR1的內(nèi)容如下:
LD SM0.0
LPS
AN T7_2_F:V501.2
AR>= T7:VD558, T7_2:VD634
TON T123, 50
LPP
A T123
S T7_2_F:V501.2, 1
其功能是實(shí)際采集到的溫度T7高于高溫報(bào)警設(shè)定值T7_2時(shí)開(kāi)始計(jì)時(shí),如果連續(xù)5秒鐘一直保持高于設(shè)定值則將T7的超溫報(bào)警標(biāo)志T7_2_F置位。
這樣的功能可以實(shí)現(xiàn)么?
佳答案
在條件調(diào)用子程序的主程序中,當(dāng)停止子程序調(diào)用時(shí),如果定時(shí)器已經(jīng)激活正在計(jì)時(shí),停止調(diào)用這個(gè)子程序會(huì)造成定時(shí)器的失控。不管此時(shí)定時(shí)器前面的激活條件如何變化,定時(shí)器(1ms、10ms 時(shí)基的)會(huì)一直走到大值,定時(shí)器輸出也會(huì)在達(dá)到設(shè)定值時(shí)接通;(100ms 時(shí)基的定時(shí)器會(huì)在上述情況下停止計(jì)時(shí),但在邏輯上處于失控狀態(tài))。
如果用 SM0.0 調(diào)用子程序;或者在控制邏輯的時(shí)序上做到能夠保證定時(shí)功能完整執(zhí)行,定時(shí)器會(huì)正常運(yùn)行。使用條件調(diào)用含有定時(shí)器的子程序時(shí),一定要注意時(shí)序邏輯,以免造成程序運(yùn)行錯(cuò)誤。
參考資料:西門(mén)子 S7-200 · LOGO! · SITOP 參考 Beta Version 1.1