西門子S7-300系列PLC的指令系統和編程規則
本文主要介紹常用的語句表和梯形圖編程語言。STEP7標準軟件包支持這兩種編程語言的互相轉換。語句表和梯形圖語言是一個完備的指令系統,支持結構化編程方法。指令系統包括二進制操作、數字運算、組織功能和功能塊編程等。二進制操作又稱為位邏輯操作,它可以對二進制操作數的信號進行掃描并完成邏輯運算。
本文引用地址:http://www.104case.com/article/201612/330756.htm西門子S7-300系列PLC的基本指令系統包括位邏輯指令、定時器與計數器指令、數據處理功能指令、數據運算指令和控制指令。
一、指令及其結構
指令時程序的最小獨立單元,用戶程序是由若干條順序排列的指令構成的。對應語句表和梯形圖兩種編程語言,指令也有語句指令與梯形邏輯指令之分。他們的表達形式不同,但表示的內容是相同或類似的。
1、指令的組成
1)語句指令
一條指令由一個操作碼和一個操作數組成,操作數由標識符和參數組成。操作碼定義要執行的功能,它告訴CPU該做什么;操作數為執行該操作所需要的信息,它告訴CPU用什么去做。有些語句指令不帶操作數,它們操作的對象是惟一的。
2)梯形邏輯指令
梯形邏輯指令用圖形元素表示PLC要完成的操作。在梯形邏輯指令中,其操作碼是用圖素表示的,該圖素形象地表明CPU做什么,其操作數的表示方法與語句指令相同。梯形邏輯指令也可不帶操作數。
2、操作數
1)標識符及表示參數
指令的操作數一般位于PLC的存儲器中,此時操作數由操作數標識符和參數組成。操作數標識符告訴處理器操作數放在存儲器的哪個區域及操作數位數;標識參數則進一步說明操作數在該存儲區域內的具體位置。
操作數標識符由主標識符和輔助標識符組成。主標識符表示操作數所在的存儲區,輔助標識符進一步說明操作數的位數長度。若沒有輔助標識符,則指操作數的位數是1位。
主標識符有I(輸入過程映像存儲區)、Q(輸出過程映像存儲區)、M(位存儲區)、PI(外部輸入)、PQ(外部輸出)、T(定時器)、C(計數器)、DB(數據塊)、L(本地數據)等;輔助標識符有X(位)、B(字節)、W(字——2字節)、D(雙字——4字節)。PLC物理存儲器是以字節為單位的,所以存儲單元規定為字節單元。(http://www.diangon.com/版權所有)位地址參數用一個點與字節地址分開,如M 10.1。當操作數長度是字或雙字時,標識符后給出的標識參數是字或雙字內的最低字節單元號。當使用寬度為字或雙字的地址時,應保證沒有生成任何重疊的字節分配,以免造成數據讀寫錯誤。圖1給出了字節、字、雙字的相互關系及表示方法。
圖1 以字節單元為基準標記存儲器存儲單元
S7 PLC的存儲區及其功能見表7-4,表中給出的最大地址范圍不一定是實際可使用的地址范圍,可使用的地址范圍由CPU得型號和硬件配置決定。
表1 存儲區及其功能
2)操作數的表示方法
在STEP7中,操作數有兩種表示方法:一是物理地址(絕對地址)表示法,二是符號地址表示法。用物理地址表示操作數時,要明確指出操作數所在的存儲區,該操作數的位數和具體位置。例如,Q4.0是用物理地址表示的操作數,其中Q表示這是一個在輸出過程映像區中的輸出位,具體位置是第4個字節的第0位。
STEP7允許用符號地址表示操作數,如Q4.0可用符號名MOTOR_ON替代表示,符號名必須先定義后使用,而且符號名必須是惟一的,不能重名。定義符號時,需要指明操作數所在的存儲區,操作數的位數、具體位置及數據類型。
評論