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