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