標籤:plc s7-300 西門子
1.指令運算元
指令運算元由操作標示符和參數組成。操作標識符由主標識符和輔標識符組成。
主標識符有:I(輸入過程影像寄存器)、Q(輸出過程映像寄存器)、M(位寄存器)、PI(外部輸入寄存器)、PQ(外部輸出寄存器)、T(定時器)、C(計數器)、DB(資料區塊寄存器)、L(本機資料寄存器)
輔助標識符有:X(位)、B(位元組)、W(字或2B)、D(2DW或4B)
詳細介紹可以參看:
2.定址方式
S7-300的4種定址方式有:
1)立即定址
立即定址是對常數或常量的定址方式。例子如下:
L66 //表示把常數66裝入累加器1中AW W#16#168 //將16進位數168與累加器1的低字進行“與”運算SET//預設運算元為RLC,該指令實現對RLO置“1”操作
2)儲存空間直接定址
直接定址指在指令中直接給出運算元單元地址。儲存單元地址可用符號地址(如“sb1_start”等)或絕對位址(如“I0.0"、"Q4.1”等)。例子如下:
A I0.0 //對輸入位I0.0執行邏輯“與”運算= Q4.1 //將邏輯運算結果送給輸出繼電器Q4.1L MW2 //將儲存字MW2的內容裝入累加器1T DBW4 //將累加器1低字中的內容傳送給資料字DBW4
3)儲存空間間接定址
間接定址指:在指令中以儲存空間的形式給出運算元所在儲存單元的地址。在指令中一般寫在“[]”中,採用地址指標,地址指標在位址範圍小於65535的儲存空間中可以使用字指標;而其他的儲存空間則需要使用雙字指標。例如:
A.儲存空間地址單位元組地址指標定址
OPN DB[MW0] //開啟資料區塊,若MW0為1,則就是開啟DB2.MW0的改變,則開啟的資料區塊兒也改變
B.儲存空間地址雙位元組地址指標定址
L P#8.7 //把指標值裝載到累加器
//P#8.7的指標值為:2#0000_0000_0000_0000_0000_0000_0100_0111
T [MD2] //把指標值送到MD2
A I[MD2] //查詢I8.7的訊號狀態
= Q[MD2} //給出輸出位Q8.7賦值
4)寄存器間接定址
寄存器間接定址指通過地址寄存器和位移量間接擷取運算元,地址寄存器和位移量需寫在“[]”中。S7-300中有兩個地址寄存器AR1、AR2。
地址寄存器地址有兩種格式,其長度均為雙字,格式如下:
位24~26 地址指標地區標識位的含義:
A.區內寄存器間接定址
該定址對於哪個儲存區定址需明確給出。
LP#3.2//將間接定址的指標裝入累加器1//P#3.2的指標值為:2#0000_0000_0000_0000_0000_0000_0001_1010LAR1 //將累加器1的內容送入地址寄存器AR1//AR1的指標值為:2#0000_0000_0000_0000_0000_0000_0001_1010A I[AR1,P#5.4]//P#5.4的指標值為:2#0000_0000_0000_0000_0000_0000_0010_1100//AR1與位移量相加結果:2#0000_0000_0000_0000_0000_0000_0100_0110//對輸入位I8.6進行邏輯“與”操作=Q[AR1,P#1.6] //P#1.6的指標值為:2#0000_0000_0000_0000_0000_0000_0000_1110//AR1與位移量相加結果:2#0000_0000_0000_0000_0000_0010_1000//對輸出位Q5.0進行賦值操作
B.地區間寄存器間接定址
該選擇通過地區標識位26~24位確定。
LP#I8.7//把指標值及儲存地區標識裝載到累加器1//P#I8.7的指標值為:2#1000_0001_0000_0000_0000_0000_0100_0111LAR1//把儲存地區I和地址8.7裝載到AR1LP#Q8.7//把指標值和地址標識符裝載到累加器1//P#Q8.7的指標值:2#1000_0010_0000_0000_0000_0000_0100_0111LAR2//把儲存地區Q和地址8.7裝載到AR2A[AR1,P#0.0]//查詢輸入位I8.7的訊號狀態(位移量0.0不起作用)=[AR2,P#1.2]//輸出位Q10.1賦值
3.CPU中的寄存器
1)累加器(ACCUx)
累加器用於處理位元組、字、雙字寄存器。S7-300有2個32位累加器(ACCU1、ACCU2)。S7-400有4個32位的累加器(ACCU1~ACCU4)。資料放在累加器的低位(靠右對齊)。
2)狀態字
西門子PLC學習筆記六-(Step7指令簡介)