數(shù)據(jù)處理指令(FNC40~FNC49) 三菱FX系列PLC
1.區(qū)間復(fù)位指令
區(qū)間復(fù)位指令ZRST(P)的編號(hào)為FNC40。它是將指定范圍內(nèi)的同類元件成批復(fù)位。如圖3-53所示,當(dāng)M8002由OFF→ON時(shí),位元件M500~M599成批復(fù)位,字元件C235~C255也成批復(fù)位。
圖3-53 區(qū)間復(fù)位指令的使用
使用區(qū)間復(fù)位指令時(shí)應(yīng)注意:
1)[D1.]和[D2.]可取Y、M、S、T、C、D,且應(yīng)為同類元件,同時(shí)[D1]的元件號(hào)應(yīng)小于[D2]指定的元件號(hào),若[D1]的元件號(hào)大于[D2]元件號(hào),則只有[D1]指定元件被復(fù)位。
2)ZRST指令只有16位處理,占5個(gè)程序步,但[D1.][D2.]也可以指定32位計(jì)數(shù)器。
2.譯碼和編碼指令
(1)譯碼指令DECO DECO(P) 指令的編號(hào)為FNC41。如圖3-54所示,n=3則表示[S.]源操作數(shù)為3位,即為X0、X1、X2。其狀態(tài)為二進(jìn)制數(shù),當(dāng)值為011時(shí)相當(dāng)于十進(jìn)制3,則由目標(biāo)操作數(shù)M7~M0組成的8位二進(jìn)制數(shù)的第三位M3被置1,其余各位為0。如果為000則M0被置1。用譯碼指令可通過[D.]中的數(shù)值來控制元件的ON/OFF。
圖3-54 譯碼指令的使用
使用譯碼指令時(shí)應(yīng)注意:
1)位源操作數(shù)可取X、T、M和S,位目標(biāo)操作數(shù)可取Y、M和S,字源操作數(shù)可取K,H,T,C,D,V和Z,字目標(biāo)操作數(shù)可取T,C和D。
2)若[D.]指定的目標(biāo)元件是字元件T、C、D,則n≦4;若是位元件Y、M、S,則n=1~8。譯碼指令為16位指令,占7個(gè)程序步。
(2)編碼指令ENCO ENCO(P)指令的編號(hào)為FNC42。如圖3-55所示,當(dāng)X1有效時(shí)執(zhí)行編碼指令,將[S.]中最高位的1(M3)所在位數(shù)(4)放入目標(biāo)元件D10中,即把011放入D10的低3位。
圖3-55 編碼指令的使用
使用編碼指令時(shí)應(yīng)注意:
1)源操作數(shù)是字元件時(shí),可以是T、C、D、V和Z;源操作數(shù)是位元件,可以是X、Y、M和S。目標(biāo)元件可取T、C、D、V和Z。編碼指令為16位指令,占7個(gè)程序步。
2)操作數(shù)為字元件時(shí)應(yīng)使用n≦4,為位元件時(shí)則n=1~8,n=0時(shí)不作處理。
3)若指定源操作數(shù)中有多個(gè)1,則只有最高位的1有效。
3. ON位數(shù)統(tǒng)計(jì)和ON位判別指令
(1)ON位數(shù)統(tǒng)計(jì)指令SUM (D)SUM(P)指令的編號(hào)為FNC43。該指令是用來統(tǒng)計(jì)指定元件中1的個(gè)數(shù)。如圖3-56所示,當(dāng)X0有效時(shí)執(zhí)行SUM指令,將源操作數(shù)D0中1的個(gè)數(shù)送入目標(biāo)操作數(shù)[D2中,若D0中沒有1,則零標(biāo)志M8020將置1。
圖3-56 ON位數(shù)統(tǒng)計(jì)和ON位判別指令的使用
使用SUM指令時(shí)應(yīng)注意:
1)源操作數(shù)可取所有數(shù)據(jù)類型,目標(biāo)操作數(shù)可取KnY,KnM,KnS,T,C,D,V和Z。
2)16位運(yùn)算時(shí)占5個(gè)程序步,32位運(yùn)算則占9個(gè)程序步。
(2)ON位判別指令BON (D)BON(P)指令的編號(hào)為FNC44。它的功能是檢測(cè)指定元件中的指定位是否為1。如圖3-56所示,當(dāng)X1為有效時(shí),執(zhí)行BON指令,由K4決定檢測(cè)的是源操作數(shù)D10的第4位,當(dāng)檢測(cè)結(jié)果為1時(shí),則目標(biāo)操作數(shù)M0=1,否則M0=0。
使用BON指令時(shí)應(yīng)注意:
1)源操作數(shù)可取所有數(shù)據(jù)類型,目標(biāo)操作數(shù)可取Y、M和S。
2)進(jìn)行16位運(yùn)算,占7程序步,n=0~15;32位運(yùn)算時(shí)則占13個(gè)程序步,n=0~31。
4.平均值指令
平均值指令(D)MEAN(P)的編號(hào)為FNC45。其作用是將n個(gè)源數(shù)據(jù)的平均值送到指定目標(biāo)(余數(shù)省略),若程序中指定的n值超出1~64的范圍將會(huì)出錯(cuò)。
5.報(bào)警器置位與復(fù)位指令
報(bào)警器置位指令ANS(P)和報(bào)警器復(fù)位指令ANR(P)的編號(hào)分別為FNC46和FNC47。如圖3-57所示,若X0和X1同時(shí)為ON時(shí)超過1S,則S900置1;當(dāng)X0或X1變?yōu)?/span>OFF,雖定時(shí)器復(fù)位,但S900仍保持1不變;若在1S內(nèi)X0或X1再次變?yōu)?/span>OFF則定時(shí)器復(fù)位。當(dāng)X2接通時(shí),則將S900~S999之間被置1的報(bào)警器復(fù)位。若有多于1個(gè)的報(bào)警器被置1,則元件號(hào)最低的那個(gè)報(bào)警器被復(fù)位。
圖3-57 報(bào)警器置位與復(fù)位指令的使用
使用報(bào)警器置位與復(fù)位指令時(shí)應(yīng)注意:
1)ANS指令的源操作數(shù)為T0~T199,目標(biāo)操作數(shù)為S900~S999,n=1~32767’; ANR指令無操作數(shù)。
2)ANS為16位運(yùn)算指令,占7的程序步;ANR指令為16位運(yùn)算指令,占1個(gè)程序步。
3)ANR指令如果用連續(xù)執(zhí)行,則會(huì)按掃描周期依次逐個(gè)將報(bào)警器復(fù)位。
6.二進(jìn)制平方根指令
二進(jìn)制平方根指令(D)SQR(P)的編號(hào)為FNC48。如圖3-58所示,當(dāng)X0有效時(shí),則將存放在D45中的數(shù)開平方,結(jié)果存放在D123中(結(jié)果只取整數(shù))。
圖3-58 二進(jìn)制平方根指令的使用
使用SQR指令時(shí)應(yīng)注意:
1)源操作數(shù)可取K、H、D,數(shù)據(jù)需大于0,目標(biāo)操作數(shù)為D。
2)16位運(yùn)算占5個(gè)程序步,32位運(yùn)算占9個(gè)程序步。
7.二進(jìn)制整數(shù)→二進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換指令
二進(jìn)制整數(shù)→二進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換指令(D)FLT(P)的編號(hào)為FNC49。如圖3-59所示,當(dāng)X1有效時(shí),將存入D10中的數(shù)據(jù)轉(zhuǎn)換成浮點(diǎn)數(shù)并存入D12中。
圖3-59 二進(jìn)制整數(shù)→二進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換指令的使用
使用FLT指令時(shí)應(yīng)注意:
1)源和目標(biāo)操作數(shù)均為D。
2)16位操作占5個(gè)程序步,32位占9個(gè)程序步。
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。