趙尚麗
【摘要】? ? 本文重點(diǎn)介紹了S7-1200定時(shí)器指令的工作原理和編程方法,并通過編程實(shí)例詳細(xì)介紹了定時(shí)器的編程應(yīng)用,為初學(xué)者提供幫助。
【關(guān)鍵詞】? ? S7-1200定時(shí)器? ? S7-200? ? PLC
S7-1200 是 S7-200 的升級產(chǎn)品,目前已成為西門子新一代小型可編程控制,并已廣泛應(yīng)用于各種中小型自動化控制系統(tǒng)中。在工業(yè)自動化控制過程中PLC定時(shí)器常用于實(shí)現(xiàn)各種計(jì)時(shí)功能,所以本文以小型S7-1200為例,介紹定時(shí)器的應(yīng)用方法,為學(xué)生學(xué)習(xí)S7-1200提供幫助,通過編程實(shí)例的講解,讓學(xué)生深入理解并靈活應(yīng)用S7-1200定時(shí)器進(jìn)行編程。
一、S7-1200定時(shí)器分類
S7-1200 CPU定時(shí)器是IEC定時(shí)器,共有生成脈沖定時(shí)器(TP)、接通延時(shí)定時(shí)器(TON)、關(guān)斷延時(shí)定時(shí)器(TOF)及時(shí)間累加器(TONR)4種。IEC定時(shí)器屬于函數(shù)塊(FB),定時(shí)器的設(shè)定值(PT)和當(dāng)前值(ET)存儲在指定的 IEC_TIMER DB 數(shù)據(jù)中,調(diào)用時(shí)需要指定配套的背景數(shù)據(jù)塊。用戶程序中可以使用的定時(shí)器數(shù)量僅僅受CPU的存儲容量限制[1]。
二、S7-1200定時(shí)器指令的工作原理
S7-200定時(shí)器有三種時(shí)基:1ms、10ms、100ms,預(yù)設(shè)時(shí)間和當(dāng)前時(shí)間以數(shù)字形式輸入,并與時(shí)基相乘,時(shí)基與定時(shí)器編號有關(guān)。而S7-1200定時(shí)器沒有編號,可用背景數(shù)據(jù)塊的名稱作為標(biāo)識符,其時(shí)基均為1ms,每1ms更新一次數(shù)據(jù)[2]。定時(shí)設(shè)置時(shí)直接輸入時(shí)間值即可。TIME 數(shù)據(jù)使用 T# 標(biāo)識符,可以用簡單時(shí)間單元(T#500ms 或 500)或復(fù)合時(shí)間單元(如T#3s_500ms)的形式輸入,最大定時(shí)值為T#24D_20H_31M_23S_647MS[3]。4種定時(shí)器指令的工作原理與對應(yīng)波形如圖1(a)、(b)、(c)、(d)所示。
圖1(a)中,當(dāng)IN端I0.1接通(信號上升沿)時(shí),脈沖定時(shí)器開始計(jì)時(shí),無論后續(xù)I0.0的信號狀態(tài)如何變化,在PT時(shí)間內(nèi)(10s)輸出Q始終置位為“1”;如果定時(shí)器正在計(jì)時(shí),即使檢測到I0.1的信號再次從“0”變?yōu)椤?”,Q的狀態(tài)也不變。當(dāng)ET≥PT值時(shí),Q復(fù)位為“0”;當(dāng)I0.1再次接通時(shí),定時(shí)器又重新計(jì)時(shí),所以生成脈沖定時(shí)器指令可以生成具有預(yù)設(shè)時(shí)間寬度的脈沖。
在圖1(b)中,當(dāng)I0.0接通時(shí),啟動定時(shí)。當(dāng)ET=PT值時(shí),定時(shí)觸發(fā),Q 置位為“1”,直到I0.0斷開或者復(fù)位信號R置位為“1”, Q復(fù)位為“0”,ET值為0。當(dāng)I0.0再次接通時(shí),重新啟動定時(shí)。圖中定時(shí)器TON接通延時(shí)時(shí)間為50s,即接通延時(shí)時(shí)間由PT值來決定。
在圖1(c)中,當(dāng)I0.0接通時(shí), Q 置位為“1”。當(dāng)I0.0斷開(信號下降沿)時(shí),定時(shí)器開始計(jì)時(shí),在 PT 時(shí)間段內(nèi),輸出 Q狀態(tài)沒有改變,直到ET= PT值時(shí),輸出Q將復(fù)位為“0”,若 I0.0 信號在 PT 計(jì)時(shí)時(shí)間結(jié)束之前變?yōu)椤?”,則復(fù)位定時(shí)器,輸出 Q 的狀態(tài)仍將為“1”。圖中定時(shí)器TOF關(guān)斷延時(shí)時(shí)間為30s,關(guān)斷延時(shí)時(shí)間由PT值來決定。
在圖1(d)中,當(dāng)I0.1接通時(shí),定時(shí)器TONR開始計(jì)時(shí),Q的狀態(tài)為“0”;I0.1斷開時(shí),ET值保持不變;當(dāng)I0.1再次接通時(shí),ET值接續(xù)增加直到達(dá)到PT值時(shí),Q置位為“1”,之后即使I0.1的狀態(tài)變?yōu)椤?”,Q仍置位“1”,直到復(fù)位信號R接通時(shí),定時(shí)器復(fù)位,當(dāng)前值ET為0,Q復(fù)位為“0”。定時(shí)器TONR可以用來累計(jì)輸入電路接通的若干個(gè)時(shí)間段。
三、定時(shí)器的編程方法
只有當(dāng)定時(shí)器的輸入位有電平信號跳變時(shí),定時(shí)器才會開始啟動。TP、TON、TONR需要輸入端IN從“0”變?yōu)椤?”啟動,TF需要IN從“1”變?yōu)椤?”啟動。只有在定時(shí)器功能框的輸出Q或ET連接變量,或者在程序中使用背景DB(IEC_TIMER類型的變量)中的Q或ET,定時(shí)器才會開始計(jì)時(shí)并更新定時(shí)器時(shí)間[1]。而且在整個(gè)程序中,定時(shí)器的背景數(shù)據(jù)塊不能重復(fù)使用。定時(shí)器正確使用方法如圖2(a)、(b)。
四、定時(shí)器的編程應(yīng)用
以彩燈的循環(huán)控制為例,介紹S7-1200定時(shí)器的編程應(yīng)用,其控制要求是:啟動按鈕I0.1接通后,紅燈、黃燈和綠燈依次點(diǎn)亮1s、2s、3s,此為一個(gè)工作周期,此后重復(fù)變化,直到停止按鈕I0.2按下所有燈均熄滅。程序?qū)?yīng)的梯形圖和時(shí)序圖分別如圖3(a)、(b)所示。
3個(gè)接通延時(shí)型定時(shí)器的預(yù)設(shè)值分別為1s、2s和3s,其輔助存儲分別為M100.0、M100.1和M100.2。I0.1為自復(fù)位按鈕,輸出Q0.1、Q0.2、Q0.3分別為紅、黃、綠燈。當(dāng)I0.1接通并保持時(shí),Q0.1紅燈點(diǎn)亮,持續(xù)1s后第1個(gè)定時(shí)器延時(shí)時(shí)間到,M100.0線圈得電,斷開Q0.1并接通第2個(gè)定時(shí)器和Q0.1,黃燈亮2s的同時(shí)第2個(gè)定時(shí)器延時(shí)時(shí)間到,M100.1線圈得電,斷開Q0.2并接通第3個(gè)定時(shí)器和Q0.2,綠燈持續(xù)點(diǎn)亮3s后,第3個(gè)定時(shí)器延時(shí)時(shí)間到,M100.2線圈得電,其常閉觸點(diǎn)斷開,綠燈滅,同時(shí)復(fù)位所有定時(shí)器并重新開始計(jì)時(shí),程序掃描的第1個(gè)周期結(jié)束,第2個(gè)周期開始。
程序中利用M100.2的常開觸點(diǎn)接通一個(gè)掃描周期,常閉觸點(diǎn)結(jié)束一個(gè)掃描周期后并重新開始計(jì)時(shí),實(shí)現(xiàn)紅、黃、綠燈循環(huán)點(diǎn)亮。
參? 考? 文? 獻(xiàn)
[1]段禮才.西門子S7-1200 PLC編程及使用指南[M].北京:機(jī)械工業(yè)出版社,2017:100-101.
[2]S7-1200過度手冊A5E02486860-AB[Z],Siemens AG 2014:52.
[3]廖常初.S7-1200 PLC編程及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2017:67-68.