|
公司基本資料信息
|
可編程控制器目前常用的編程語言有以下幾種:梯形圖語言、助記符語言、順序功能圖、功能塊圖和某些高級語言。手持編程器多采用助記符語言,計算機軟件編程采用梯形圖語言,也有采用順序功能圖、功能塊圖的。
(1)梯形圖語言
梯形圖的表達式沿用了原電氣控制系統(tǒng)中的繼電接觸控制電路圖的形式,二者的基本構(gòu)思是一致的,只是使用符號和表達方式有所區(qū)別。
【例1-1】某一過程控制系統(tǒng)中,工藝要求開關(guān)1閉合40S后,指示燈亮,按下開關(guān)2后燈熄滅。采用三菱 FX2N系列 PLC實現(xiàn)控制,圖1-5(a)為實現(xiàn)這一功能的梯形圖程序,它是由若干個梯級組成的,每一個輸出元素構(gòu)成一個梯級,而每個梯級可由多條支路組成。
梯形圖從上至下按行編寫,每一行則按從左至右的順序編寫。CPU將按自左到右,從上而下的順序執(zhí)行程序。梯形圖的左側(cè)豎直線稱母線(源母線)。梯形圖的左側(cè)安排輸入觸點(如果有若干個觸點相并聯(lián)的支路應安排在*左端)和輔助繼電器觸點(運算中間結(jié)果),*右邊必須是輸出元素。
梯形圖中的輸入觸點只有二種:動合觸點和動斷觸點( ),這些觸點可以是PLC的外接開關(guān)對應的內(nèi)部映像觸點,也可以是PLC內(nèi)部繼電器觸點,或內(nèi)部定時、計數(shù)器的觸點。每一個觸點都有自己特殊的編號,以示區(qū)別。同一編號的觸點可以有常開和動斷兩種狀態(tài),使用次數(shù)不限。因為梯形圖中使用的“繼電器”對應PLC內(nèi)的存儲區(qū)某字節(jié)或某位,所用的觸點對應于該位的狀態(tài),可以反復讀取,故人們稱PLC有無限對觸點。梯形圖中的觸點可以任意的串聯(lián)、并聯(lián)。
梯形圖中的輸出線圈對應PLC內(nèi)存的相應位,輸出線圈包括輸出繼電器線圈、輔助繼電器線圈以及計數(shù)器、定時器線圈等,其邏輯動作只有線圈接通后,對應的觸點才可能發(fā)生動作。用戶程序運算結(jié)果可以立即為后續(xù)程序所利用。
(2)助記符語言
助記符語言又稱命令語句表達式語言,它常用一些助記符來表示PLC的某種操作。它類似微機中的匯編語言,但比匯編語言更直觀易懂。用戶可以很容易地將梯形圖語言轉(zhuǎn)換成助記符語言。
圖1-5(b)為梯形圖對應的用助記符表示的指令表。
這里要說明的是不同廠家生產(chǎn)的PLC所使用的助記符各不相同,因此同一梯形圖寫成的助記符語句不相同。用戶在將梯形圖轉(zhuǎn)換為助記符時,必須先弄清PLC的型號及內(nèi)部各器件編號、使用范圍和每一條助記符的使用方法。
(3)順序功能圖
順序功能圖常用來編制順序控制程序,它包括步、動作、轉(zhuǎn)換三個要素。順序功能圖法可以將一個復雜的控制過程分解為一些小的工作狀態(tài)。對于這些小狀態(tài)的功能依次處理后再把這些小狀態(tài)依一定順序控制要求連接成組合整體的控制程序。圖1-6所示為采用順序功能圖編制的程序段,詳情請見項目十。
(4)功能塊圖
功能塊圖是一種類似于數(shù)字邏輯電路的編程語言,用類似與門、或門的方框來表示邏輯運算關(guān)系,方塊左側(cè)為邏輯運算的輸入變量,右側(cè)為輸出變量,輸入端、輸出端的小圓點表示“非”運算,信號自左向右流動。類似于電路一樣,方框被“導線”連接在一起。圖1-7所示為功能塊圖示例。
對于用戶來說,在編寫用戶程序或選擇設備時,必須清楚下面介紹的三個階段,即用戶程序執(zhí)行過程的原理。
PLC采用集中處理的方法,即對輸入掃描信號、執(zhí)行用戶程序和輸出刷新都采用集中分批處理的工作方式。
(1)輸入掃描 在這一階段中,PLC以掃描方式讀入所有輸入端子上的輸入信號,并將輸入信號存入輸入映像區(qū),輸入映像存儲器被刷新。在程序執(zhí)行階段和輸出刷新階段中,輸入映像存儲器與外界隔離,其內(nèi)容保持不變,直至下一個掃描周期的輸入掃描階段,才被重新讀入的輸入信號刷新??梢姡?span>PLC在執(zhí)行程序和處理數(shù)據(jù)時,不直接使用現(xiàn)場當時的輸入信號,而使用本次采樣時輸入到映像區(qū)中的數(shù)據(jù)。如果輸入設備能使PLC輸入端形成閉合回路,對應輸入端編號的內(nèi)部輸入繼電器內(nèi)保存為“1”,即相當于繼電器線圈導通。在程序執(zhí)行過程中,該編號對應的觸點動作;如果輸入設備能使輸入開路,則對應輸入端編號的內(nèi)部輸入繼電器內(nèi)保存為“0”,即相當于繼電器線圈沒導通,在程序執(zhí)行過程中,該編號對應的觸點不動作。如果在PLC處于非輸入掃描的階段,PLC外的輸入設備狀態(tài)發(fā)生了變化,內(nèi)部輸入繼電器也不會發(fā)生變化,要等到下一個輸入掃描階段才能根據(jù)此時的輸入狀態(tài)來刷新。所以,對于少于十幾毫秒的輸入信號,經(jīng)常采集不到。
(2)執(zhí)行程序 在執(zhí)行用戶程序過程中,PLC按梯形圖程序順序自上而下、從左至右逐個掃描執(zhí)行,即按助記符指令表的先后順序執(zhí)行。但遇到程序跳轉(zhuǎn)指令,則根據(jù)跳轉(zhuǎn)條件是否滿足來決定程序跳轉(zhuǎn)地址。程序執(zhí)行過程中,PLC從輸入映像區(qū)中取出輸入變量的當前狀態(tài),然后進行由程序確定的邏輯運算或其他運算,根據(jù)程序指令將運算結(jié)果存入相應的內(nèi)部繼電器中,包括輸出繼電器、內(nèi)部輔助繼電器、定時器、計數(shù)器等。輸出繼電器的信號存放在輸出映像區(qū),即輸出繼電器與PLC外部的同編號的輸出點對應。
在程序執(zhí)行過程中,同一周期內(nèi),前面的邏輯結(jié)果影響后面的觸點,即后執(zhí)行的程序可能用到前面的*新中間運算結(jié)果;但同一周期內(nèi),后面的運算結(jié)果不影響前面的邏輯關(guān)系。該掃描周期內(nèi)除輸入繼電器以外的所有內(nèi)部繼電器的*終狀態(tài)(導通與否),將影響下一個掃描周期各觸點的開與閉。
(3)輸出刷新 程序執(zhí)行階段的運算結(jié)果被存入輸出映像區(qū),而不送到輸出端口上。在輸出刷新階段,PLC將輸出映像區(qū)中的輸出變量送入輸出鎖存器,然后由鎖存器通過輸出模塊產(chǎn)生本周期的控制輸出。如果內(nèi)部輸出繼電器的狀態(tài)為“1”,則輸出繼電器觸點閉合。全部輸出設備的狀態(tài)要保持一個掃描周期。