三菱PLC功能指令詳解
本文詳細介紹三菱plc功能指令。包含FX0N、FX1S、FX1N、FX2N、FX3NC 等三菱PLC的功能指令。
類 | FNC NO. | 指令助記符 | 功能說明 | 對應不同型號的PLC | ||||
FX0S | FX0N | FX1S | FX1N | FX2N FX2NC | ||||
程 序 流 程 | 00 | CJ | 條件跳轉 | √ | √ | √ | √ | √ |
01 | CALL | 子程序調用 | × | × | √ | √ | √ | |
02 | SRET | 子程序返回 | × | × | √ | √ | √ | |
03 | IRET | 中斷返回 | √ | √ | √ | √ | √ | |
04 | EI | 開中斷 | √ | √ | √ | √ | √ | |
05 | DI | 關中斷 | √ | √ | √ | √ | √ | |
06 | FEND | 主程序結束 | √ | √ | √ | √ | √ | |
07 | WDT | 監視定時器刷新 | √ | √ | √ | √ | √ | |
08 | FOR | 循環的起點與次數 | √ | √ | √ | √ | √ | |
09 | NEXT | 循環的終點 | √ | √ | √ | √ | √ | |
傳 送 與 比 較 | 10 | CMP | 比較 | √ | √ | √ | √ | √ |
11 | ZCP | 區間比較 | √ | √ | √ | √ | √ | |
12 | MOV | 傳送 | √ | √ | √ | √ | √ | |
13 | SMOV | 位傳送 | × | × | × | × | √ | |
14 | CML | 取反傳送 | × | × | × | × | √ | |
15 | BMOV | 成批傳送 | × | √ | √ | √ | √ | |
16 | FMOV | 多點傳送 | × | × | × | × | √ | |
17 | XCH | 交換 | × | × | × | × | √ | |
18 | BCD | 二進制轉換成BCD碼 | √ | √ | √ | √ | √ | |
19 | BIN | BCD碼轉換成二進制 | √ | √ | √ | √ | √ | |
算 術 與 邏 輯 運 算 | 20 | ADD | 二進制加法運算 | √ | √ | √ | √ | √ |
21 | SUB | 二進制減法運算 | √ | √ | √ | √ | √ | |
22 | MUL | 二進制乘法運算 | √ | √ | √ | √ | √ | |
23 | DIV | 二進制除法運算 | √ | √ | √ | √ | √ | |
24 | INC | 二進制加1運算 | √ | √ | √ | √ | √ | |
25 | DEC | 二進制減1運算 | √ | √ | √ | √ | √ | |
26 | WAND | 字邏輯與 | √ | √ | √ | √ | √ | |
27 | WOR | 字邏輯或 | √ | √ | √ | √ | √ | |
28 | WXOR | 字邏輯異或 | √ | √ | √ | √ | √ | |
29 | NEG | 求二進制補碼 | × | × | × | × | √ | |
循 環 與 移 位 | 30 | ROR | 循環右移 | × | × | × | × | √ |
31 | ROL | 循環左移 | × | × | × | × | √ | |
32 | RCR | 帶進位右移 | × | × | × | × | √ | |
33 | RCL | 帶進位左移 | × | × | × | × | √ | |
34 | SFTR | 位右移 | √ | √ | √ | √ | √ | |
35 | SFTL | 位左移 | √ | √ | √ | √ | √ | |
36 | WSFR | 字右移 | × | × | × | × | √ | |
37 | WSFL | 字左移 | × | × | × | × | √ | |
38 | SFWR | FIFO(先入先出)寫入 | × | × | √ | √ | √ | |
39 | SFRD | FIFO(先入先出)讀出 | × | × | √ | √ | √ | |
數 據 處 理 | 40 | ZRST | 區間復位 | √ | √ | √ | √ | √ |
41 | DECO | 解碼 | √ | √ | √ | √ | √ | |
42 | ENCO | 編碼 | √ | √ | √ | √ | √ | |
43 | SUM | 統計ON位數 | × | × | × | × | √ | |
44 | BON | 查詢位某狀態 | × | × | × | × | √ | |
45 | MEAN | 求平均值 | × | × | × | × | √ | |
46 | ANS | 報警器置位 | × | × | × | × | √ | |
47 | ANR | 報警器復位 | × | × | × | × | √ | |
48 | SQR | 求平方根 | × | × | × | × | √ | |
49 | FLT | 整數與浮點數轉換 | × | × | × | × | √ | |
高 速 處 理 | 50 | REF | 輸入輸出刷新 | √ | √ | √ | √ | √ |
51 | REFF | 輸入濾波時間調整 | × | × | × | × | √ | |
52 | MTR | 矩陣輸入 | × | × | √ | √ | √ | |
53 | HSCS | 比較置位(高速計數用) | × | √ | √ | √ | √ | |
54 | HSCR | 比較復位(高速計數用) | × | √ | √ | √ | √ | |
55 | HSZ | 區間比較(高速計數用) | × | × | × | × | √ | |
56 | SPD | 脈沖密度 | × | × | √ | √ | √ | |
57 | PLSY | 指定頻率脈沖輸出 | √ | √ | √ | √ | √ | |
58 | PWM | 脈寬調制輸出 | √ | √ | √ | √ | √ | |
59 | PLSR | 帶加減速脈沖輸出 | × | × | √ | √ | √ | |
方 便 指 令 | 60 | IST | 狀態初始化 | √ | √ | 82 | ASCI | 16進制數轉換成ASCI碼 |
83 | HEX | ASCI碼轉換成16進制數 | × | √ | √ | √ | √ | |
84 | CCD | 校驗 | × | √ | √ | √ | √ | |
85 | VRRD | 電位器變量輸入 | × | × | √ | √ | √ | |
86 | VRSC | 電位器變量區間 | × | × | √ | √ | √ | |
87 | - | - | ||||||
88 | PID | PID運算 | × | × | √ | √ | √ | |
89 | - | - | ||||||
浮 點 數 運 算 | 110 | ECMP | 二進制浮點數比較 | × | × | × | × | |
111 | EZCP | 二進制浮點數區間比較 | × | × | × | × | ||
118 | EBCD | 二進制浮點數→十進制浮點數 | × | × | × | × | √ | |
119 | EBIN | 十進制浮點數→二進制浮點數 | × | × | × | × | √ | |
120 | EADD | 二進制浮點數加法 | × | × | × | × | √ | |
121 | EUSB | 二進制浮點數減法 | × | × | × | × | √ | |
122 | EMUL | 二進制浮點數乘法 | × | × | × | × | √ | |
123 | EDIV | 二進制浮點數除法 | × | × | × | × | √ | |
127 | ESQR | 二進制浮點數開平方 | × | × | × | × | √ | |
129 | INT | 二進制浮點數→二進制整數 | × | × | × | × | √ | |
130 | SIN | 二進制浮點數Sin運算 | × | × | × | × | √ | |
131 | COS | 二進制浮點數Cos運算 | × | × | × | × | √ | |
132 | TAN | 二進制浮點數Tan運算 | × | × | × | × | √ | |
147 | SWAP | 高低字節交換 | × | × | × | × | √ | |
定 位 | 155 | ABS | ABS當前值讀取 | × | × | √ | √ | × |
156 | ZRN | 原點回歸 | × | × | √ | √ | × | |
157 | PLSY | 可變速的脈沖輸出 | × | × | √ | √ | × | |
158 | DRVI | 相對位置控制 | × | × | √ | √ | × | |
159 | DRVA | 絕對位置控制 | × | × | √ | √ | × | |
時 鐘 運 算 | 160 | TCMP | 時鐘數據比較 | × | × | √ | √ | √ |
161 | TZCP | 時鐘數據區間比較 | × | × | √ | √ | √ | |
162 | TADD | 時鐘數據加法 | × | × | √ | √ | √ | |
163 | TSUB | 時鐘數據減法 | × | × | √ | √ | √ | |
166 | TRD | 時鐘數據讀出 | × | × | √ | √ | √ | |
167 | TWR | 時鐘數據寫入 | × | × | √ | √ | √ | |
169 | HOUR | 計時儀 | × | × | √ | √ | ||
外 圍 設 備 | 170 | GRY | 二進制數→格雷碼 | × | × | × | × | √ |
171 | GBIN | 格雷碼→二進制數 | × | × | × | × | √ | |
176 | RD3A | 模擬量模塊(FX0N-3A)讀出 | × | √ | × | √ | × | |
177 | WR3A | 模擬量模塊(FX0N-3A)寫入 | × | √ | × | √ | × | |
觸 點 比 較 | 224 | LD= | (S1)= (S2)時起始觸點接通 | × | × | √ | √ | √ |
225 | LD> | (S1)> (S2)時起始觸點接通 | × | × | √ | √ | √ | |
226 | LD< | (S1)< (S2)時起始觸點接通 | × | × | √ | √ | √ | |
228 | LD<> | (S1)<> (S2)時起始觸點接通 | × | × | √ | √ | √ | |
229 | LD≦ | (S1)≦ (S2)時起始觸點接通 | × | × | √ | √ | √ | |
230 | LD≧ | (S1)≧ (S2)時起始觸點接通 | × | × | √ | √ | √ | |
232 | AND= | (S1)= (S2)時串聯觸點接通 | × | × | √ | √ | √ | |
233 | AND> | (S1)> (S2)時串聯觸點接通 | × | × | √ | √ | √ | |
234 | AND< | (S1)< (S2)時串聯觸點接通 | × | × | √ | √ | √ | |
236 | AND<> | (S1)<> (S2)時串聯觸點接通 | × | × | √ | √ | √ | |
237 | AND≦ | (S1)≦ (S2)時串聯觸點接通 | × | × | √ | √ | √ | |
238 | AND≧ | (S1)≧ (S2)時串聯觸點接通 | × | × | √ | √ | √ | |
240 | OR= | (S1)= (S2)時并聯觸點接通 | × | × | √ | √ | √ | |
241 | OR> | (S1)> (S2)時并聯觸點接通 | × | × | √ | √ | √ | |
242 | OR< | (S1)< (S2)時并聯觸點接通 | × | × | √ | √ | √ | |
244 | OR<> | (S1)<> (S2)時并聯觸點接通 | × | × | √ | √ | √ | |
245 | OR≦ | (S1)≦ (S2)時并聯觸點接通 | × | × | √ | √ | √ | |
246 | OR≧ | (S1)≧ (S2)時并聯觸點接通 | × | × | √ | √ | √ |
再介紹FX系列三菱PLC功能指令的數據格式。
1.位元件與字元件
象X、Y、M、S等只處理ON/OFF信息的軟元件稱為位元件;而象T、C、D等處理數值的軟元件則稱為字元件,一個字元件由16位二進制數組成。
位元件可以通過組合使用,4個位元件為一個單元,通用表示方法是由Kn加起始的軟元件號組成,n為單元數。例如K2 M0表示M0~M7組成兩個位元件組(K2表示2個單元),它是一個8位數據,M0為最低位。如果將16位數據傳送到不足16位的位元件組合(n<4)時,只傳送低位數據,多出的高位數據不傳送,32位數據傳送也一樣。在作16位數操作時,參與操作的位元件不足16位時,高位的不足部分均作0處理,這意味著只能處理正數(符號位為0),在作32位數處理時也一樣。被組合的元件首位元件可以任意選擇,但為避免混亂,建議采用編號以0結尾的元件,如S10,X0,X20等。
2.數據格式
在FX系列PLC內部,數據是以二進制(BIN)補碼的形式存儲,所有的四則運算都使用二進制數。二進制補碼的最高位為符號位,正數的符號位為0,負數的符號位為1。FX系列PLC可實現二進制碼與BCD碼的相互轉換。
為更精確地進行運算,可采用浮點數運算。在FX系列PLC中提供了二進制浮點運算和十進制浮點運算,設有將二進制浮點數與十進制浮點數相互轉換的指令。二進制浮點數采用編號連續的一對數據寄存器表示,例D11和D10組成的32位寄存器中,D10的16位加上D11的低7位共23位為浮點數的尾數,而D11中除最高位的前8位是階位,最高位是尾數的符號位(0為正,1是負)。10進制的浮點數也用一對數據寄存器表示,編號小數據寄存器為尾數段,編號大的為指數段,例如使用數據寄存器(D1,D0)時,表示數為
10進制浮點數=〔尾數D0〕×10〔指數D1〕
其中:D0,D1的最高位是正負符號位。