三菱PLC浮點數運算指令
浮點數運算指令(FNC110-FNC1320)用于浮點數的處理,浮點數為32位數,包括浮點數的比較、變換、四則運算、開平方運算和三角函數等13條指令。
所有的浮點數處理指令都是32位指令,在使用時,大多數指令的助記符前面必須加上32位運算的標識符“D"。
它們分布在指令編號為FNC110~FNC119、FNC120~FNC129、FNC130~FNC139之中。
1、二進制浮點數比較指令ECMP
二進制浮點數比較指令ECMP(FNC110) DECMP(P)指令的使用如圖1所示,將兩個源操作數進行比較,比較結果反映在目標操作數中。
如果操作數為常數則自動轉換成二進制浮點值處理。該指令源操作數可取K、H和D,目標操作數可用Y、M和S。為32位運算指令,占17個程序步。
圖1 二進制浮點數比較指令的使用
2、二進制浮點數區間比較指令EZCP
二進制浮點數區間比較指令EZCP(FNC111) EZCP(P)指令的功能是將源操作數的內容與用二進制浮點值指定的上下二點的范圍比較,對應的結果用ON/OFF反映在目標操作數上,如圖2所示。該指令為32位運算指令,占17個程序步。源操作數可以是K,H和D;目標操作數為Y、M和S。[S1.]應小于[S2.],操作數為常數時將被自動轉換成二進制浮點值處理。
圖2 二進制浮點數區間比較指令的使用
加法指令EADD
減法指令ESUB
乘法指令EMVL
除法指令EDIV
3、二進制浮點數的四則運算指令
浮點數的四則運算指令有加法指令EADD (FNC120)、減法指令ESUB(FNC121)、乘法指令EMVL(FNC122)和除法指令EDIV(FNC123)四條指令。
四則運算指令的使用說明如圖3所示,它們都是將兩個源操作數中的浮點數進行運算后送入目標操作數。
當除數為0時出現運算錯誤,不執行指令。此類指令只有32位運算,占13個程序步。
運算結果影響標志位M8020(零標志)、M8021(借位標志)、M8022(進位標志)。源操作數可取K、H和D,目標操作數為D。如有常數參與運算則自動轉化為浮點數。
圖3 三菱PLC二進制浮點數四則運算指令的使用
二進制的浮點運算還有開平方、三角函數運算等指令等。