1、加減乘除運算指令 - * /
在FX5U PLC中,加法運算有 指令與ADD指令,減法運算有-指令與SUB指令,乘法運算有*指令與MUL指令,除法運算有/指令與DIV指令。加減乘除運算指令同樣有16位指令和32位指令之分、連續(xù)執(zhí)行型和脈沖執(zhí)行型指令之分、有符號數(shù)和無符號數(shù)指令之分,注意:指令還有操作數(shù)為2個和操作數(shù)為3個的區(qū)分,這也是FX5U與FX3U等老系列PLC的區(qū)別。
當操作數(shù)為2個,且使用脈沖執(zhí)行型指令時可以做數(shù)值累加功能。下圖程序中的 P K10 D0實際上是驅(qū)動條件每接通一次,就執(zhí)行一次遞加10的功能,和 P K10 D30 D30的功能是一樣的,只不過是2個操作數(shù)和3個操作數(shù)的不同而已,當有3個操作數(shù)時要實現(xiàn)遞加功能需要有兩個軟元件地址是一樣的,當軟元件地址不相同時,執(zhí)行的就是普通的加法運算。
加減乘除運算指令除了有整數(shù)運算指令,也有浮點數(shù)運算指令。浮點數(shù)運算指令使用也是較多的,比如模擬量或運動控制中涉及的運算,一般都是采用浮點數(shù)運算指令。
① 浮點數(shù)運算指令:DEADD、DESUB、DEMUL、DEDIV、E 、E-、E*、E/
② 浮點數(shù)傳送與比較指令:DEMOV、DECMP、DEZCP、浮點數(shù)觸點比較指令。該部分指令的功能跟前面講解的是一樣的,只不過在指令的前面多帶了個DE即可。
2、遞增遞減指令I(lǐng)NC/DEC
數(shù)據(jù)遞增指令INC是對指定的軟元件的數(shù)據(jù)進行 1,數(shù)據(jù)遞減指令DEC是對指定的軟元件的數(shù)據(jù)進行-1。如果使用連續(xù)執(zhí)行型指令,則每個運算周期都將進行加減法運算。這兩個指令的遞增減是屬于環(huán)形計數(shù)的,當數(shù)據(jù)為32767時執(zhí)行了INC(P)指令將變成-32768,數(shù)據(jù)為65535時執(zhí)行了INC(P)_U指令將變成0,數(shù)據(jù)為-32768時執(zhí)行了DEC(P)指令將變成32767,數(shù)據(jù)為0時執(zhí)行了DEC(P)_U指令將變成65535,我們可以用如下程序進行驗證。
3、BCD碼加減乘除運算指令B B- B* B/
BCD碼加減乘除運算指令B B- B* B/與加減乘除運算指令一樣,同樣可以區(qū)分2個操作數(shù)和3個操作數(shù)的情況,下面以BCD碼加法運算指令為例講解。
B (P)在操作數(shù)為2個的情況下,是將d中指定的BCD4位數(shù)據(jù)與s中指定的BCD4位數(shù)據(jù)進行加法運算,將結(jié)果存儲到d中指定的軟元件中。B (P) 在操作數(shù)為3個的情況下,是將s1中指定的BCD4位數(shù)據(jù)與s2中指定的BCD4位數(shù)據(jù)進行加法運算,將運算結(jié)果存儲到d中指定的軟元件中。
注意該指令源址和終址的數(shù)據(jù)范圍是0~9999,當加法運算結(jié)果超過了9999的情況下,位數(shù)上升將被忽略,在此情況下,進位標志(SM700)不變?yōu)镺N。當減法運算結(jié)果發(fā)生了下溢時,其情況如下所示,在此情況下,進位標志(SM700)不變?yōu)镺N。
4、塊數(shù)據(jù)加法/減法運算指令BK BK-
將s1中指定的軟元件開始的n點的BIN16位數(shù)據(jù)與s2中指定的軟元件開始的n點的BIN16位數(shù)據(jù)進行加法/減法運算,將結(jié)果存儲到d中指定的軟元件中,注意塊數(shù)據(jù)運算指令沒有乘法和除法運算的指令。以塊數(shù)據(jù)加法運算指令為例:
運算結(jié)果發(fā)生了下溢及上溢時,其情況如下所示,在此情況下,進位標志不變?yōu)?/span>ON。
對于FX5U PLC的BCD碼加減乘除運算指令、塊數(shù)據(jù)加法/減法運算指令,我們可以用下圖的程序進行測試指令的執(zhí)行效果和功能哦~
承擔因您的行為而導致的法律責任,
本站有權(quán)保留或刪除有爭議評論。
參與本評論即表明您已經(jīng)閱讀并接受
上述條款。