1.編程指令
在西門子s7-200與s7-300/400中可以使用的字節(jié)、字、雙字邏輯操作指令比較可以參見表。
2.編程基本注意點
字節(jié)、字、雙字邏輯操作指令以字節(jié)、字、雙字為單位,逐位進行規(guī)定邏輯運算的指令。邏輯運算可以是“與”、“或”、“異或”等,但在指令格式與邏輯運算范圍、指令處理過程上,s7-200與s7-300/400有所區(qū)別,在編程時應引起注意,具體如下:
(1)指令格式與邏輯運算范圍
①字節(jié)、字、雙字邏輯操作指令在s7-200中的使用格式如下:
s7-200允許的邏輯運算操作如下:
inv:“取反”;
wand:“與”;
wor:“或”;
wxor:“異或”。
s7-200允許的操作數(shù)長度如下:
b:字節(jié);
w:字;
d:雙字。
②s7-300/400的使用格式如下:
s7-300/400允許的邏輯運算操作如下:
wand:“與”;
+wor:“或”;
wxor:“異或”。
s7-300/400允許的操作數(shù)長度如下:
w:字:
dw:雙字。
(2)指令的處理過程
字節(jié)、字、雙字邏輯操作指令在s7-200與s7-300/400中的梯形圖程序基本相同,但實際處理過程與指令表程序不同。
字節(jié)、字、雙字邏輯操作指令在s7-200中的處理過程如下(以“字或”為例):
①將操作數(shù)l(inl)直接移動到結(jié)果存儲器中;
②將結(jié)果存儲器與操作數(shù)2 (in2)的內(nèi)容進行規(guī)定的邏輯運算:
③將邏輯運算的結(jié)果保存在結(jié)果存儲器中。
以上處理所對應的梯形圖程序與指令表程序如圖10-2.1所示。
字、雙字邏輯操作指令在s7-300/400中的處理過程如下(同樣以“字或”為例):
①將操作數(shù)1(inl)移動到累加器1中;
②將操作數(shù)2 (in2)移動到累加器1中,原累加器1中的內(nèi)容(操作數(shù)1)移動到累加器2中;
③累加器1與累加器2的內(nèi)容進行規(guī)定的邏輯運算,邏輯運算的結(jié)果保存在累加器l中;
④將累加器l的內(nèi)容(邏輯運算的結(jié)果)傳送到結(jié)果存儲器中。
以上處理所對應的梯形圖程序與指令表程序如圖10-2.2所示。