功能指令集大全
一、DMOV K100000 D8146
MOV是移动指令,DMOV是双字节移动:把常数100000移动到三菱PLC的数据寄存器D8146里面。
另:D也就是DOUBLE的意思,是双数。一般MOV移动是16位二进制也就是一个字,而加上一个D,就是32位,也就是两个字。
二、K2M1,M1~M8组成的1个字节的存储空间,常数+软元件 K1~K8分别代表4位~32位的组合应用。
K1M0 M0~M3
K2M0 M0~M7
K3M0 M0~M11
K4M0 M0~M15
K5M0 M0~M19
K6M0 M0~M23
K7M0 M0~M27
K8M0 M0~M31
最起码的基本指令要会,功能指令最好看得越多以后越有用,还有PLC的功能模块也要学习(当然如果你有条件或愿意学的话).总之看你的态度了,多学无害.附指令表希望对你有用
三、三菱FX2N应用指令集
程序流程应用指令 1、FNC(CJ) 跳转指令
2、FNC01 FNC02 FNC06(CALL SRET FEND) 调用子程序
3、FNC03 FNC04 FNC05(IRET EI DI)中断处理
4、FNC07(WDT)看门狗定时器
5、FNC08 FNC09(FOR NEXT)程序循环
数据传送、区域比较应用指令 1、FNC10(CMP) 比较
2、FNC11(ZCP)区域比较
3、FNC12(MOV) 传送应用指令
4、FNC13 (SMOV)数据移位应用指令
5、FNC14(CML)数据反相传送应用指令
6、FNC15 (BMOV) 成批传送
7、FNC16 (FMOV) 多点传送应用指令
8、FNC17 (XCHP) 数据交换
9、FNC18(BCD) 将BIN转换为BCD
10、FNC19(BIN) 将BCK转换为BIN
四则运算逻辑应用指令 1、FNC20(ADD) 加法应用指令
2、FNC21(SUB) 减法
3、FNC22(MUL) 二进制乘法
4、FNC23(DIV) 二进制除法
5、FNC24(INC) 增加
6、FNC25(DEC) 减少
7、FNC26(WAND) 逻辑与
8、FNC27(WOR) 逻辑或
9、FNC28(WXOR) 二进制互斥逻辑异或
10、FNC29(NEG) 求补码
旋转、位移应用指令
1、FNC30、FNC31(RORP、ROLP)左、右旋转
2、FNC32 FNC33(RCRP、RCLP)包含进位标识的左、右旋转
3、FNC34、FNC35(SFTRP、SFTLP)位数据左、右移
4、FNC36、FNC37(WSFRP、WSFLP)字符数据左、右移
5、FNC38、FNC39(SFWRP、WFRDP)字符数据位移写入与读出
数据处理应用指令
1、FNC40(ZRST)区域数据复位
2、FNC41(DECO)译码
3、FNC42(ENCO)编码
4、FNC43(SUM)ON位总数计算
5、FNC44(BON)ON位判断
6、FNC45(MEAN)平均值
7、FNC46、FNC47(ANS、ANR)警报线圈的输出与复位
8、FNC48(SQR)开平方
高速处理应用指令
1、FNC50(RER)输入/输出信号立即处理
2、FNC51(REFF)改变输入端响应时间
3、FNC52(MTP)矩阵输入
4、FNC53(DHSCS)高速计数器比较设置
5、FNC54(DHSCR)高速计数器比较复位
6、FNC55(DHSZ)高速计数器区域比较
7、FNC56(SPD)脉冲密度
8、FNC57(PLSY)脉冲输出
9、FNC58(PWM)脉冲宽度调制
10、FNC59(PLSR)加减速脉冲输出
宏应用指令
1、FNC60(IST)步进运转状态设定
2、FNC61(SER)多笔数据比较
3、FNC62(ABSD)绝对式控制
4、FNC63(INCD)相对式控制
5、FNC64(TIMR)调整式定时器
6、FNC65(STMR) 特殊定时器
7、FNC66(ALTP)交替信号
8、FNC67(RAMP)求斜率
9、FNC69(SORT)数据排序
外部设定显示应用指令 1、FNC70(TKY)10个按钮输入
2、FNC71(HKY)16个按钮键输入
3、FNC72(DSW)指拨开关
4、FNC73(SEGD)7段数码管译码
5、FNC74(SEGL)7段数码扫描
6、FNC75(ARWS)箭头开关外部设定调整
4、DMUL是三菱FX型号PLC的应用指令,是双字(32位)相乘的意思。指令用法如下:
DMUL D10 D20 D30
意思是:(D11,D10)双字32位里面的数据与(D21,D20)双字32位里面的数据相乘,结果储存在(D33,D32,D31,D30)四字64位里面,其中括号内的D10是双字D10的低8位,D11是双字D10的高8位;D20是双字D20的低8位,D21是双字D20的高8位;(D31,D30)是四字D30的低32位,(D33,D32)是四字D30的高32位。
也就是说:DMUL指令里面被乘数D10和乘数D20各占两个字,也就是双字,乘积D30占用四个字。
与DMUL类似的还有MUL,这是16位相乘指令,结果为双字,32位,和DMUL是不同的。
5、三菱plc指令 cmp D20 d10 m50的含义
前两个数(D20 D10)比较,将>、D20>D10 M50=1 M51=0 M52=0
D20=D10 M50=0 M51=1 M52=0
D20、基本編程方法介紹
目前常見的編程方法有5種,我們簡單介紹一下:
1、梯形圖 (LD)
梯形圖語言是PLC程序設計中最常用的程式語言。它是與繼電器線路類似的一種程式語言。由於電氣設計人員對繼電器控制較為熟悉,因此,梯形圖程式語言得到了廣泛的歡迎和應用。也是我們本次自學主要的編程方法。
圖1 普通電氣原理圖與對應梯形圖的比較
2、指令表 (LD)
指令表程式語言是與彙編語言類似的一種助記符程式語言,和彙編語言一樣由操作碼和操作數組成。在無計算機的情況下,適合採用PLC手持編程器對用戶程序進行編制。同時,指令表程式語言與梯形圖程式語言圖一一對應,在PLC編程軟體下可以相互轉換。
圖2 與圖1對應的指令表編程
3、功能塊圖 FBD
功能模塊圖語言是與數字邏輯電路類似的一種PLC程式語言。採用功能模塊圖的形式來表示模塊所具有的功能,不同的功能模塊有不同的功能。
4、順序功能圖圖 SFC
順序功能流程圖語言是為了滿足順序邏輯控制而設計的程式語言。編程時將順序流程動作的過程分成步和轉換條件,根據轉移條件對控制系統的功能流程順序進行分配,一步一步的按照順序動作。每一步代表一個控制功能任務,用方框表示。在方框內含有用於完成相應控制功能任務的梯形圖邏輯。這種程式語言使程序結構清晰,易於閱讀及維護,大大減輕編程的工作量,縮短編程和調試時間。用於系統的規模校大,程序關係較複雜的場合
圖3 順序功能圖一般形式
5、結構化文本語言 ST
結構化文本語言是用結構化的描述文本來描述程序的一種程式語言。它是類似於高級語言的一種程式語言。在大中型的PLC系統中,常採用結構化文本來描述控制系統中各個變量的關係。主要用於其他程式語言較難實現的用戶程序編制。
二、常見軟元件介紹
1、軟元件分類及編號
字母:功能的簡稱,比如X、Y、C
數字:代表某一類型軟元件的序號
2、軟元件基本特徵
①與普通繼電器相似,都具有常開常閉觸點
②當軟元件選中時(通電),常開變常閉,常閉變常開,失電相反
③軟元件常開、常閉觸點可以無限次使用
3、軟元件功能
①數值處理
十進位數(DEC: Decimal)
主要用於定時器和計數器的設定值(數字前加K),輔助繼電器M、定時器T、計數器C、狀態S等的編號,執行應用指令操作數中的數值與指令動作(數字前加K)。
十六進位數(HEX:Hexadecimal)
用途與十進位數一樣,用於指定應用指令中的操作數與指定動作(數字前加H)。
二進位數(BIN:Binary)
在PLC內部所有數值都以二進位的形式進行處理。對於負數而言,PLC內部以補碼來表現。
八進位數(OCT:Octal)
PLC的輸入、輸出繼電器軟元件編號以八進位數值進行分配。
BCD碼(BCD:Binary Code Decimal)
BCD碼就是將構成十進位數每位上0~9的數值以四位二進位表示的形式。
實數(浮點數)
通過浮點數運算可以提高運算結果的精度。PLC內部以二進位浮點數進行浮點運算,但可以採用10進位浮點數進行監控。
二進位浮點數使用編號連續的一堆數據寄存器進行存儲,占用32位,最高位為符號位。
②輸入輸出繼電器
輸入繼電器(X):從外部接受信號的窗口
輸出繼電器(Y):向外部負載發送信號的窗口
輸入繼電器[X]、輸出繼電器[Y]的編號是由基本單元持有的固定編號,和針對擴展設備連接順序分配的編號組成的。這些編號採用8進位數,所以不存在「8」、「9」的數值。
輸入繼電器即為我們常說的「輸入點」,它與PLC的輸入端子相對應;輸出繼電器即為我們常說的「輸出點」,它與PLC的輸出端子相對應。一般PLC上都設有與輸入輸出繼電器相對應的指示燈用來顯示其ON/OFF狀態。輸入輸出繼電器是唯一能夠在PLC上直接觀測狀態的內部軟元件,它是PLC控制外圍電氣元件的橋樑。
PLC工作時,首先將所有輸入端子的ON/OFF狀態讀入到輸入映像區,然後進行程序掃描執行用戶程序,通過內部邏輯計算得到各種軟元件的最新狀態或內容,執行完畢後將輸出映像區中輸入繼電器的狀態輸出到鎖存內存中,最終映射到輸出端子,從而完成了由輸入到輸出的執行過程。中間的用戶程序環節是實現「控制」的關鍵。
③輔助繼電器(M)
輔助繼電器的線圈與輸出繼電器一樣,是通過PLC中的軟元件觸點來驅動的。輔助繼電器的常開觸點和常閉觸點無數量限制,在程序中可隨意使用,但是不能通過輔助繼電器觸點直接驅動外部負載,PLC的外部負載全部通過輸出繼電器進行驅動。輔助繼電器採用10進位分配編號。
一般用的輔助繼電器不具備斷電保持功能,PLC斷電後其狀態全部復位為OFF;而停電保持用的輔助繼電器可以記憶斷電前的狀態並保持住,通過程序條件才能確定其狀態的改變。
根據功能不同分為:一般用( M0-M499 )
停電保持用(M500-M3071)
特殊用(M8000-M8255)
觸點利用型特殊輔助繼電器:
M8000 運行監視(PLC運行時常ON)
M8002 初始脈衝(PLC運行時第一掃描周期ON)
M8013 1秒時鐘脈衝
M8200 32位計數器C200增計數/減計數模式的切換
線圈驅動型特殊輔助繼電器:
M8034 輸出全部禁止
M8039 恆定掃描周期
M8122 RS指令串行數據發送請求
④狀態器(S)
狀態S是對工序步進形式的控制進行簡易編程所需的重要軟元件,需要與步進梯形圖指令STL或順序功能圖SFC組合使用。
狀態器與輔助繼電器相同,有無數個常開觸點和常閉觸點,可以在順控程序中隨意使用。當狀態不用於步進梯形圖指令的時候,可以在一般的順控程序中把它當做輔助繼電器M來使用。
⑤定時器(T)
定時器的原理是用加法計算PLC中的1ms、10ms、100ms等的時鐘脈衝,當加法計算的結果達到所指定的設定值時輸出觸點就動作的軟元件。與我們普通的時間繼電器功能一樣
圖4 普通時間繼電器
根據PLC型號的不同,其定時器編號範圍以及代表的功能也不相同。定時器編號不用於定時器功能時可以當做數據寄存器用來保存數據(16位)。定時器可以分為一般用、累積型、電位器型等。
100ms定時器:T0-T199 定時範圍0.1-3276.7s
10ms定時器:T200-T245 定時範圍0.01-327.67s
1ms累積性定時器:T246-T249 定時範圍0.001-32.767s
100ms累積性定時器:T250-T255 定時範圍0.1-3276.7s
T後面的數值可以是常數K,也可以由數據寄存器中的D值來指定,此時選用的時候一般選用掉電保持型數據寄存器。
圖5 累積型定時器//非累積型定時器比較
⑥計數器和高速計數器(C)
計數器可以分為16位計數器和32位計數器。兩種計數器都有一般用和停電保持用兩種類型。計數器編號不用於計數器功能時可以當做數據寄存器用來保存數據。
16位計數器只能增計數,設定值範圍為1~32767;32位計數器可以切換為增計數或減計數,設定值範圍
為-214783648~214783647。計數器對PLC的內部信號X、Y、M、S、C等觸點的動作進行循環掃描並計數,其響應速度根據PLC的掃描時間可推算通常在10Hz以下。但很多情況下輸入信號的頻率都會大於這個數值,這時就要用到高速計數器,高速計數器的計數採用中斷處理,與PLC掃描時間無關,可以達到數KHz的計數。
高速計數器必須與外部端子X0~X7配合使用,並且根據高速計數器編號占用輸入點的情況,一旦X點被占用後該點不能再用於其它用途。
⑦數據寄存器(D)
數據寄存器是存儲數值數據的軟元件,這些寄存器都是16位的,最高位為符號位,其餘15位代表數值大小。兩個連續的數據寄存器組合後可存儲32位數據,在32位指令中只需指定低16位的數據寄存器,其緊接著的數據寄存器就會被自動占為高16位。在編程時需注意這點,以免重複使用數據寄存器造成邏輯混亂。
16位數據寄存器可以處理的數據範圍為-32768~+32767,32位數據寄存器可以處理的數據範圍為-2147483648~+2147483647。
數據寄存器也可以分為一般用、停電保持用和特殊用三種類型。
一般用:D0-D199 特殊用:D8000D8255
停電保持:D200-D511 變址寄存器:V0-V7 Z0-Z7
停電保持專用:D512-D7999
三、部分基本順控指令介紹
①LD、LDI、OUT
LD:取指令。表示一個與母線相連的常開觸點指令。
圖6 梯形圖表示與可用軟元件
LDI:取反指令。表示一個與母線相連的常閉觸點指令。
圖7 梯形圖表示與可用軟元件
OUT:輸出指令。
圖8 梯形圖表示與可用軟元件
應用:
圖9 LD、LDI、OUT梯形圖編程示例
② AND、ANI
AND:與指令。單個常開觸點串聯
圖10 梯形圖表示與可用軟元件
ANI:與非指令。單個常閉觸點串聯
圖11 梯形圖表示與可用軟元件
應用:
圖12 AND、ANI梯形圖編程示例
③OR、ORI
OR:或指令。單個常開觸點並聯
圖13 梯形圖表示與可用軟元件
ORI:或非指令。單個常閉觸點並聯
圖14 梯形圖表示與可用軟元件
應用:
圖15 OR、ORI梯形圖編程示例
④LDP、LDF、ANDP、ANDF、ORP、ORF
LDP、ANDP、ORP:分別是取、與、或上升沿檢出指令
圖16 取上升沿檢出指令以及可用軟元件
圖17 與上升沿檢出指令以及可用軟元件
圖18 或上升沿檢出指令以及可用軟元件
LDF、ANDF、ORF:分別是取、與、或下降沿檢出指令
圖19 取下降沿檢出指令以及可用軟元件
圖20 與下降沿檢出指令以及可用軟元件
圖21 或下降沿檢出指令以及可用軟元件
應用:
圖22 LDP、LDF、ANDP、ANDF、ORP、ORF梯形圖編程應用
⑤SET、RST
SET:置位指令。使動作保持
圖23 梯形圖表示與可用軟元件
RST:復位指令。使動作復位
圖24 梯形圖表示與可用軟元件
應用:
圖25 SET、RST梯形圖編程應用
⑥INV
INV:取反指令。用於運算結果取反,不需要制定軟元件編號。比如當使用該指令時,其指令前的LD指令,運算結果為LDI
圖26 梯形圖表示與可用軟元件
應用:
圖27 INV梯形圖編程應用
⑦END
END:結束指令。該指令是一條無目標元件不占用程序步的指令,當出現該指令時,此命令後的指令不在執行。
如上圖,按一下按鈕X20,Y0輸出,機械手抓取一個工件放在輸送帶上,延時3秒鐘,輸送帶Y1正轉,當工件到達傳感器X0時,輸送帶停止,同時推出機構Y2動作,將工件推進工件箱。再按一次按鈕X20,重複以上步驟一次。
擴展:使用本節學習的命令,如何用旋鈕X24增加自動、手動功能呢?