甘肅西門子S7-1200PLC模塊代理經(jīng)銷商

PLC周期可調(diào)的方波信號(hào)輸出
周期可調(diào)的方波信號(hào)要求方波的高低電平時(shí)間均可調(diào),如圖9-21所示。
針對(duì)系統(tǒng)要求,我們提供以下思路:
(1)當(dāng)M0從0跳變到1時(shí),Y0的值立刻輸出為1,并計(jì)時(shí)1s。注意:M0一直為高電平,所以無須對(duì)M0自鎖??傻玫饺鐖D9-22a所示的梯形圖程序。

圖9-21 周期可調(diào)方波信號(hào)輸出要求
(2)當(dāng)T0達(dá)到1 s后,需要將Y0復(fù)位,很容易考慮到需要將線圈Y0的輸出回路斷掉。此時(shí)將T0的常閉觸點(diǎn)串入即可實(shí)現(xiàn)該功能,如圖9-22b所示。
(3)接著需要對(duì)Y0為0時(shí)進(jìn)行計(jì)時(shí)。這里可以考慮用定時(shí)器直接對(duì)Y0的常閉觸點(diǎn)計(jì)時(shí)。細(xì)致分析可以發(fā)現(xiàn),定時(shí)器T0已經(jīng)置1,此時(shí)可以對(duì)T0的常開觸點(diǎn)定時(shí),如圖9-22c所示。使用定時(shí)器T1對(duì)T0的常開觸點(diǎn)定時(shí)。當(dāng)定時(shí)器T1達(dá)到定時(shí)時(shí)間后,Y0又需要重復(fù)置1。Y0要置1,則需要去除T0常閉觸點(diǎn)的影響,而TO常閉觸點(diǎn)由定時(shí)器T0置位形成。因此,在回路中串聯(lián)T1的常開觸點(diǎn),當(dāng)T1置位后,T1的常開觸點(diǎn)使得T0復(fù)位。一方面消除了T0常開觸點(diǎn)的影響,Y0重新置位;另一方面T0的復(fù)位使得T1也復(fù)位,系統(tǒng)可以循環(huán)運(yùn)行。
在某些情況下,需要對(duì)脈沖信號(hào)進(jìn)行分頻處理。如果輸入信號(hào)為10Hz,則又分頻后信號(hào)為5Hz。如圖9-15所示。
圖9-15 按通按斷功能要求
脈沖信號(hào)分頻程序可以看做是同一按鈕實(shí)現(xiàn)多種功能的一個(gè)特例。
按通按斷程序除使用圖9-14提供的思路外,針對(duì)要求特性,可采用如下思路:要求X20第1次按下時(shí)M0閉合,X20第2次按下時(shí)M0斷開,如此反復(fù)。因此,可根據(jù)圖9-14提供的思路編寫如圖9-16所示的程序。
除了使用上述思路外,還可以采用以下思考過程。

(1)取用X20的上升沿,觸發(fā)M0線圈輸出,并采用M0常開觸點(diǎn)對(duì)輸出自鎖。這一步實(shí)現(xiàn)了X20的上升沿使M0置位的過程,如圖9-17a所示。下面考慮X20的第2個(gè)上升沿需要將M0復(fù)位。
(2)考慮到(1)中是M0的常開觸點(diǎn)對(duì)M0的線圈自鎖,則只需要找到一個(gè)觸點(diǎn),它在X20上升沿來到時(shí),能使自鎖回路斷開。循著這個(gè)思路,很容易想到X20的常閉觸點(diǎn),如圖9-17b所示。
但仔細(xì)分析這個(gè)梯形圖會(huì)發(fā)現(xiàn)有問題:當(dāng)X20的第1個(gè)上升沿來到時(shí),當(dāng)X20常閉觸點(diǎn)斷開跨越時(shí)間大于2個(gè)掃描周期,M0的自鎖失效,無法完成X20的*上升沿來到M0置1。因此,需要將X20的常閉觸點(diǎn)換掉。
(3)替換掉X20常閉觸點(diǎn)的元件,它斷開的時(shí)間只能有一個(gè)掃描周期。因此,很容易想到,用X20的上升沿觸發(fā)一個(gè)脈沖信號(hào)M100,并用M100的常閉觸點(diǎn)來替代。M100常閉觸點(diǎn)斷開的時(shí)間只在X20為上升沿的那一個(gè)掃描周期,如圖9-17c所示。
(4)再仔細(xì)分析圖9-17c會(huì)發(fā)現(xiàn)仍然能不能實(shí)現(xiàn)所需功能,因?yàn)楫?dāng)X20第2次上升沿來到時(shí)M100 =1,程序中M100常開回路導(dǎo)通,M0仍然會(huì)置1。因此需要考慮將M100的常開觸點(diǎn)回路也關(guān)斷。
(5)經(jīng)過分析可以發(fā)現(xiàn),在M100回路中串聯(lián)M0的常閉觸點(diǎn)可以實(shí)現(xiàn)這個(gè)功能,如圖9-17d所示。在圖9-17d中,M0的初始值是0,當(dāng)X20第1個(gè)上升沿來到時(shí),M100的回路導(dǎo)通,M0線圈輸出為1。當(dāng)X20第2個(gè)上升沿來到時(shí),M0的值為,則M0常閉觸點(diǎn)將上邊支路斷開,同時(shí)M100的常閉觸點(diǎn)將下邊支路斷開,M0輸出為0,終實(shí)現(xiàn)分頻。
在某些情況下,同一個(gè)按鈕需要實(shí)現(xiàn)多種功能,即該按鈕按1次實(shí)現(xiàn)*種功能,按第2次實(shí)現(xiàn)第二種功能,按第3次實(shí)現(xiàn)第三種功能……以此類推。
針對(duì)這種要求,提供以下思路:很顯然,功能程序是輸入信號(hào)的上升沿觸發(fā)的,因此需要獲取輸入信號(hào)的上升沿信息。同時(shí)需要對(duì)輸入信號(hào)的上升沿個(gè)數(shù)計(jì)數(shù),不同的計(jì)數(shù)值會(huì)執(zhí)行不同的功能程序。當(dāng)計(jì)數(shù)器達(dá)到一定的值時(shí),需要對(duì)計(jì)數(shù)器復(fù)位清零。梯形圖程序如圖9-14所示。程序中利用功能指令判斷C0的當(dāng)前值,以執(zhí)行相應(yīng)的功能程序。
由于輸入按鍵觸點(diǎn)的機(jī)械特性可能會(huì)造成一定的抖動(dòng),一次操作會(huì)產(chǎn)生多次上升沿和下降沿,這會(huì)使上升沿有效和下降沿有效程序多次觸發(fā),產(chǎn)生不可估量的后果。因此在程序中有必要對(duì)輸入信號(hào)進(jìn)行消抖。

對(duì)輸入信號(hào)消抖是規(guī)定高電平持續(xù)一段時(shí)間才認(rèn)為高電平有效,同時(shí)低電平持續(xù)一段時(shí)間才認(rèn)為低電平有效,電平持續(xù)時(shí)間可調(diào),如圖9-12所示。系統(tǒng)要求,輸入信號(hào)高電平持續(xù)2s以上才認(rèn)為是高電平;同時(shí)低電平持續(xù)2s以上才認(rèn)為是低電平。

圖9-12 輸入信號(hào)消抖要求
如何實(shí)現(xiàn)這個(gè)程序呢?我們提供以下思路:M0是對(duì)X20的電平信號(hào)計(jì)時(shí),因此選用X20的信息。選用兩個(gè)定時(shí)器對(duì)高低電平分別計(jì)時(shí),當(dāng)計(jì)時(shí)時(shí)間能達(dá)到設(shè)定值,則認(rèn)為是對(duì)應(yīng)的電平信號(hào)來臨,否則對(duì)定時(shí)器清零。梯形圖程序如圖9-13所示。
在圖9-13所示的程序中,當(dāng)X20的高電平持續(xù)時(shí)間達(dá)不到2s跳變成低電平時(shí),T0的當(dāng)前值和狀態(tài)值復(fù)位清零。當(dāng)X20的高電平持續(xù)達(dá)到2s后T0置1,輸出M0=1,M0的常開觸點(diǎn)自鎖,保持M0高電平有效。同樣,X20的低電平不能持續(xù)2s,則T1的當(dāng)前值和狀態(tài)值都會(huì)復(fù)位清零。當(dāng)X20的低電平持續(xù)2s后T1的狀態(tài)值為1,T1的常閉觸點(diǎn)斷開M0的輸出回路,M0復(fù)位清零。
控制系統(tǒng)的輸入信號(hào)一般由觸點(diǎn)的閉合、斷開組成??梢酝ㄟ^輸入信號(hào)整理程序,將其調(diào)理成為統(tǒng)一的脈沖信號(hào)。如圖9-10所示,無論輸入信號(hào)X20的高電平持續(xù)多長(zhǎng)時(shí)間,都產(chǎn)生統(tǒng)一寬度的脈沖信號(hào)。
圖9-10 輸入信號(hào)處理要求

如何編寫這個(gè)程序呢?我們提供以下思路:由于M0是在X20的每一個(gè)上升沿開始跳變?yōu)楦唠娖剑虼诵枰崛?/span>X20的上升沿信息,并將這個(gè)信息保持住。同時(shí)對(duì)該信息計(jì)時(shí)5s后,讓M0復(fù)位為0。梯形圖程序如圖9-11所示。
在圖9-11所示的程序中,X20的上升沿觸發(fā)輸出M0,同時(shí)M0的常開觸點(diǎn)實(shí)現(xiàn)對(duì)X20上升沿的自鎖。M0置1的同時(shí)定時(shí)器T0開始計(jì)時(shí)。當(dāng)定時(shí)器T0當(dāng)前值達(dá)到5s時(shí),T0的常閉觸點(diǎn)斷開,則M0復(fù)位為0,T0的當(dāng)前值和狀態(tài)值都清0。

圖9-11 輸入信號(hào)調(diào)理梯形圖
這里的程序靈活使用了定時(shí)器T0的特性,當(dāng)定時(shí)器T0的定時(shí)條件被破壞后,T0的當(dāng)前值和狀態(tài)值都同時(shí)置0。因此,采用T0的常閉觸點(diǎn)不僅保證了M0的復(fù)位,而且保證了對(duì)T0的復(fù)位。
甘肅西門子S7-1200PLC模塊代理經(jīng)銷商