三菱PLC功能指令
三菱PLC功能指令:操作碼(指令助記符,表示指令的功能)+操作數(參與操作的對象,源S,目標D,其他m,n操作數,其他操作數是補充注釋的常數,用十進制K和十六進制H表示)
MOV連續執行
MOVP脈沖執行
數據寄存器(D):fx2n系列plc每一個數據寄存器都是16位的,最高位為正負符號位,也可以用兩個數據寄存器合并起來存儲32位數據。
1、通用數據寄存器(D0-D199 斷電數據清零)
2、斷電保持數據寄存器 (D200-D999 )
其中D200-D511有斷電保持功能,可以利用外部設備的參數設定改變通用數據寄存器與有斷電保持功能數據寄存器的分配
D490-D509供通信使用
D512-D999的斷電保持功能不能用軟件改變,但可用指令清除他們的內容,根據參數設定可以將D1000以上作為文件寄存器。
3、文件寄存器(1000-2999)
4、RAM文件寄存器(6000-7999)
5、特殊數據寄存器(D8000-D8255)監視plc的運行狀況,如掃描時間,電池電壓,未加定義的特殊數據寄存器,用戶不能使用。
6、變址寄存器(V/Z):FX2N系列plc有V0-V7和Z0-Z7共16個變址寄存器,它們都是16位的寄存器
1、傳送與比較指令
- CMP比較 (D)CMP(P)連續執行和脈沖執行。16位指令7步,32位指令13步。
例:CMP K100 C2 M0:源操作數C2中的數據和K100作比較,大于小于等于三種結果,分別接通M0 M1 M2的常開點,使Y0 Y1 Y2分別得電運行。指定M0默認M0 M1 M2自動的被占用。使用復位指令ZRST M0 M3清除比較結果。 - ZCP區域比較 (D)ZCP(P)16位指令7步,32位指令17步。
例:ZCP K10 K150 T2 M0:將定時器T2中的數據和K10、K150比較,小于K10、大于K150、大于K10且小于K150三種情況,分別接通M0 M1 M2的常開點,使Y0 Y1 Y2分別得電運行。指定M0默認M0 M1 M2自動的被占用。使用復位指令ZRST M0 M3清除比較結果。 - MOV傳送 MOV(P) MOV K100 D10將源數據(可取所有數據類型)傳送到指定的目標(目標操作數可以是KnY、KnM、KnS、T、C、D、V、Z),常數K100自動被轉換為BIN碼。
注意:16位運算占5個程序步,32位占9個程序步。
例1:傳定時器的值:MOV T0 D20:把計數器T0的當前值讀到數據寄存器D20中。
例2:傳常數:MOV K100 D10 ,OUT T20 D10:把K100常數傳送到D10寄存器中,并將D10中的數據作為定時器T20的值
位狀態的存儲KnX0: 每個K代表4個位,每個n代表多少個K,所以他們表示4乘以n個二進制位,可以轉換為十進制數,0代表起始位置。K1X0代表X3 X2 X1 X0共4位,K2X0代表X7 X6 … X1 X0共8位
例3:1、MOV K4X0 D0:將X15 X14 … X1 X0共16位輸入信號數據放入16位數據寄存器D0中
2、MOV D0 K4Y0:修改16位數據寄存器D0的相應位上的值為1,則Y15到Y0共16位相應位上則會有輸出信號(點亮led燈)
3、MOV K1X0 K1Y0表示X0 X1 X2 X3四個常開開關控制Y0 Y1 Y2 Y3四個線圈的程序。注意K1、K2、K3、K4是位組件的表示方法,每一組代表四位。如K1X0,就表示X0-X3這四個位元件組成的位組元件。
例4:傳雙字數據寄存器:DMOV D0(D1) D10(D11)寫成DMOV D0 D10,DMOV C235 D20(D21)寫作DMOV C235 D20,運算結果以32輸出的應用指令、32位數值或32位軟元件的高速計數器當前值等數據的傳送,必須使用D指令
例5:浮點數據的傳送:浮點數據必須用雙字32位數據寄存器存儲,二進制的表示方法分3部分:b31是符號位,b30-b23共8位是階碼位,b22-b0共23位是有效數字位。DEMOV E1.5 D0或DEMOV D0 D2(此處不能使用D1) - SMOV(P)移位傳送 將源數據(16位二進制)自動轉換為四位BCD碼再進行移位傳送。SMOV只有16位運算,占11個程序步。
例:SMOV D1 K4 K2 D2 K3指令是將數據寄存器D1中的二進制數據所對應的BCD碼(四位十進制數)右起第四位(K4)開始的兩位(K2)BCD碼 移動到 數據寄存器D2中的BCD碼右起第三位和第二位。 - CML倒轉傳送(反相傳送)(D)CML(P) 16位指令5步,32位指令9步。
例:CML D0 K1Y0:將數據寄存器D0中的數據取反(0變1,1變0)傳送到目標地址,如果D0中的數據大于4位(K1)則只取右起前四位取反,并從Y0 Y1 Y2 Y3輸出。注意K1、K2、K3、K4是位組件的表示方法,每一組代表四位。如K1X0,就表示X0-X3這四個位元件組成的位組元件。 - BMOV一并傳送(塊傳送指令) 將源操作數指定元件開始的n個數據組成數據塊傳送到指定的目標。16位操作,占用7個程序步。
例:BMOV D10 D9 K3 將D10 D11 D12中的三位(K3)數據傳送到D9 D10 D11中。(左移)
例:BMOV D10 D11 K3將D10 D11 D12中的三位(K3)數據傳送到D11 D12 D13中。(右移) - FMOV多點傳送 (D)FMOV(P) 將源操作數中的數據傳送指定目標開始的n個元件中,傳送后n個元件中的數據完全相同。n小于512,16位操作數占7個程序步,32位操作數占13個程序步。
例:FMOV K0 D0 K10:把數據K0傳送到以數據寄存器D0開始的10個元件D0~D9中,D0到D9中的數據完全相同。
XCH交換
- BCD bcd轉換(D)BCD(P) 將二進制數據轉換為8421碼。16位指令5步,32位指令9步。16位數值范圍0-9999,32位0-99999999
例:BCD D12 K2Y0將數據寄存器D12中的二進制數轉換為8位(K2?)BCD碼從Y0到Y7輸出?? - BIN bin轉換(D)BIN(P) 將數據(BCD碼)轉換為二進制數。16位指令5步,32位指令9步。16位數值范圍0-9999,32位0-99999999
例:BIN K2X0 D13將8位(K2?)BCD碼轉換為二進制數據放入D13數據寄存器中??
2、程序流程控制指令
程序跳轉指令
- CJ條件跳轉,CJP脈沖執行方式,可以縮短運算周期和使用雙線圈 例:“CJ P8” 指令+標識符。注意:1、被跳過程序驅動條件改變時,但其線圈保持跳轉前的狀態,2、跳轉執行期間定時器和計數器停止工作,直到跳轉條件不滿足。3、跳轉指令指針標識符不要在跳轉指令之前。4、程序跳轉條件執行時間不能大于200ms,不然WDT會報錯。
CALL子程序調用
SRET子程序返回
- EI中斷許可,DI中斷禁止,IRET中斷返回:中斷指令用于中斷信號引起的子程序調用,EI和DI指令組成允許中斷范圍,中斷源產生中斷后,CPU暫停主程序執行轉而執行中斷服務程序,當遇到IRET時 返回斷點繼續執行主程序。注意:中斷源同時發出信號中斷指針號越小優先級越高。
FEND主程序結束
WDT監控定時器:對PLC的監視定時器進行刷新,缺省值是200ms,可用D8000來設置
FOR循環范圍開始
NEXT循環范圍終了
3、算數及邏輯運算控制指令
4、循環位移指令
5、數據處理
6、高速指令
- 高速脈沖指令PLSY
PLSY K1600 K6400 Y0:每秒鐘發送1600個脈沖(頻率),一共發送6400個脈沖,由Y0輸出。脈沖輸出個數=0時,表示一直發脈沖。不能控制電機方向,方向信號需要單獨控制。
脈沖頻率控制脈沖轉速,脈沖輸出個數控制電機旋轉圈數或者說位置。
M8029脈沖輸出結束標識,脈沖輸出結束8029接通。
D8140:32位寄存器,存放Y0當前脈沖數
D8142:32位寄存器,存放Y1當前脈沖數
- 帶加減速高速脈沖指令PLSR
PLSR K1600 K6400 K1000 Y0:K1600脈沖輸出頻率,K6400脈沖輸出個數,K1000加減速時間設定1S,Y0脈沖輸出端子,不能控制電機方向,方向信號需要單獨控制。
M8029脈沖輸出結束標識,脈沖輸出結束8029接通。 - 帶加減速和方向控制的高速脈沖指令PLSV
PLSV沒有脈沖輸出個數,一般用作點動指令使用。
PLSV K-1600 Y0 Y3: K1600脈沖輸出頻率,值可以為正值和負值表示不同方向,Y0脈沖輸出端子,Y3方向信號不需要單獨控制
PLSV指令加減速的設置:首先啟用設置加減速(接通M8338啟用),第二設置加減速,Y0加速時間設置D8348(16位)減速時間設置D8349(16位),Y1加速時間設置D8358(16位)減速時間設置D8359(16位),Y2加速時間設置D8368(16位)減速時間設置D8369(16位)。
PLSY、PLSR、PLSV以上三條高速脈沖指令用在點動程序中,自動定位控制中基本不適用
7、方便指令
8、外部輸入輸出處理指令
9、外部設備通信指令
10、實數處理指令
11、位點控制
12、實時時鐘
總結
- 上一篇: ISL22326WFR16Z-TK 2
- 下一篇: C语言 数组指针详解