三菱 FX 系列PLC的基本邏輯指令
取指令與輸出指令(LD/LDI/LDP/LDF/OUT)
(1)LD(取指令) 一個常開觸點(diǎn)與左母線連接的指令,每一個以常開觸點(diǎn)開始的邏輯行都用此指令。
(2)LDI(取反指令) 一個常閉觸點(diǎn)與左母線連接指令,每一個以常閉觸點(diǎn)開始的邏輯行都用此指令。
(3)LDP(取上升沿指令) 與左母線連接的常開觸點(diǎn)的上升沿檢測指令,僅在指定位元件的上升沿(由OFF→ON)時接通一個掃描周期。
(4)LDF(取下降沿指令) 與左母線連接的常閉觸點(diǎn)的下降沿檢測指令。
(5)OUT(輸出指令) 對線圈進(jìn)行驅(qū)動的指令,也稱為輸出指令。
取指令與輸出指令的使用說明:
1)LD、LDI指令既可用于輸入左母線相連的觸點(diǎn),也可與ANB、ORB指令配合實現(xiàn)塊邏輯運(yùn)算;
2)LDP、LDF指令僅在對應(yīng)元件有效時維持一個掃描周期的接通。
3)LD、LDI、LDP、LDF指令的目標(biāo)元件為X 、Y 、M 、T、C、S;4)OUT指令可以連續(xù)使用若干次(相當(dāng)于線圈并聯(lián)),對于定時器和計數(shù)器,在OUT指令之后應(yīng)設(shè)置常數(shù)K或數(shù)據(jù)寄存器。
5)OUT指令目標(biāo)元件為Y、M、T、C和S,但不能用于X。
觸點(diǎn)串聯(lián)指令(AND/ANI/ANDP/ANDF)
(1)AND(與指令) 一個常開觸點(diǎn)串聯(lián)連接指令,完成邏輯“與”運(yùn)算。
(2)ANI(與反指令) 一個常閉觸點(diǎn)串聯(lián)連接指令,完成邏輯“與非”運(yùn)算。
(3)ANDP 上升沿檢測串聯(lián)連接指令。
(4)ANDF 下降沿檢測串聯(lián)連接指令。
觸點(diǎn)串聯(lián)指令的使用的使用說明:
1)AND、ANI、ANDP、ANDF都指是單個觸點(diǎn)串聯(lián)連接的指令,串聯(lián)次數(shù)沒有限制,可反復(fù)使用。
2)AND、ANI、ANDP、ANDF的目標(biāo)元元件為X、Y、M、T、C和S。
3)OUT M101指令之后通過T1的觸點(diǎn)去驅(qū)動Y4稱為連續(xù)輸出。
觸點(diǎn)并聯(lián)指令(OR/ORI/ORP/ORF)
(1)OR(或指令) 用于單個常開觸點(diǎn)的并聯(lián),實現(xiàn)邏輯“或”運(yùn)算。
(2)ORI(或非指令) 用于單個常閉觸點(diǎn)的并聯(lián),實現(xiàn)邏輯“或非”運(yùn)算。
(3)ORP 上升沿檢測并聯(lián)連接指令。
(4)ORF 下降沿檢測并聯(lián)連接指令。
塊操作指令(ORB / ANB)
(1)ORB(塊或指令)?用于兩個或兩個以上的觸點(diǎn)串聯(lián)連接的電路之間的并聯(lián)。
ORB指令的使用說明:
1)幾個串聯(lián)電路塊并聯(lián)連接時,每個串聯(lián)電路塊開始時應(yīng)該用LD或LDI指令;
2)有多個電路塊并聯(lián)回路,如對每個電路塊使用ORB指令,則并聯(lián)的電路塊數(shù)量沒有限制;
3)ORB指令也可以連續(xù)使用,但這種程序?qū)懛ú?a target="_blank">推薦使用,LD或LDI指令的使用次數(shù)不得超過8次,也就是ORB只能連續(xù)使用8次以下。
(2)ANB(塊與指令)?用于兩個或兩個以上觸點(diǎn)并聯(lián)連接的電路之間的串聯(lián)。
ANB指令的使用說明:
1)并聯(lián)電路塊串聯(lián)連接時,并聯(lián)電路塊的開始均用LD或LDI指令;
2)多個并聯(lián)回路塊連接按順序和前面的回路串聯(lián)時,ANB指令的使用次數(shù)沒有限制。也可連續(xù)使用ANB,但與ORB一樣,使用次數(shù)在8次以下。
置位與復(fù)位指令(SET/RST)
(1)SET(置位指令) 它的作用是使被操作的目標(biāo)元件置位并保持。
(2)RST(復(fù)位指令) 使被操作的目標(biāo)元件復(fù)位并保持清零狀態(tài)。SET、RST指令的使用,當(dāng)X0常開接通時,Y0變?yōu)镺N狀態(tài)并一直保持該狀態(tài),即使X0斷開Y0的ON狀態(tài)仍維持不變;只有當(dāng)X1的常開閉合時,Y0才變?yōu)镺FF狀態(tài)并保持,即使X1常開斷開,Y0也仍為OFF狀態(tài)
SET 、RST指令的使用說明:
1)SET指令的目標(biāo)元件為Y、M、S,RST指令的目標(biāo)元件為Y、M、S、T、C、D、V 、Z。RST指令常被用來對D、Z、V的內(nèi)容清零,還用來復(fù)位積算定時器和計數(shù)器。
2)對于同一目標(biāo)元件,SET、RST可多次使用,順序也可隨意,但最后執(zhí)行者有效。
微分指令(PLS/PLF)
(1)PLS(上升沿微分指令) 在輸入信號上升沿產(chǎn)生一個掃描周期的脈沖輸出
(2)PLF(下降沿微分指令) 在輸入信號下降沿產(chǎn)生一個掃描周期的脈沖輸出。
利用微分指令檢測到信號的邊沿,通過置位和復(fù)位命令控制Y0的狀態(tài)。
PLS、PLF指令的使用說明:
1)PLS、PLF指令的目標(biāo)元件為Y和M;
2)使用PLS時,僅在驅(qū)動輸入為ON后的一個掃描周期內(nèi)目標(biāo)元件ON,M0僅在X0的常開觸點(diǎn)由斷到通時的一個掃描周期內(nèi)為ON;使用PLF指令時只是利用輸入信號的下降沿驅(qū)動,其它與PLS相同。
主控指令(MC/MCR)
1)MC(主控指令) 用于公共串聯(lián)觸點(diǎn)的連接。執(zhí)行MC后,左母線移到MC觸點(diǎn)的后面。
2)MCR(主控復(fù)位指令) 它是MC指令的復(fù)位指令,即利用MCR指令恢復(fù)原左母線的位置。
在編程時常會出現(xiàn)這樣的情況,多個線圈同時受一個或一組觸點(diǎn)控制,如果在每個線圈的控制電路中都串入同樣的觸點(diǎn),將占用很多存儲單元,使用主控指令就可以解決這一問題。
MC、MCR指令利用MC N0 M100實現(xiàn)左母線右移,使Y0、Y1都在X0的控制之下,其中N0表示嵌套等級,在無嵌套結(jié)構(gòu)中N0的使用次數(shù)無限制;利用MCR N0恢復(fù)到原左母線狀態(tài)。如果X0斷開則會跳過MC、MCR之間的指令向下執(zhí)行。
MC、MCR指令的使用說明:
1)MC、MCR指令的目標(biāo)元件為Y和M,但不能用特殊輔助繼電器。MC占3個程序步,MCR占2個程序步;
2)主控觸點(diǎn)在梯形圖中與一般觸點(diǎn)垂直。主控觸點(diǎn)是與左母線相連的常開觸點(diǎn),是控制一組電路的總開關(guān)。與主控觸點(diǎn)相連的觸點(diǎn)必須用LD或LDI指令。
3)MC指令的輸入觸點(diǎn)斷開時,在MC和MCR之內(nèi)的積算定時器、計數(shù)器、用復(fù)位/置位指令驅(qū)動的元件保持其之前的狀態(tài)不變。非積算定時器和計數(shù)器,用OUT指令驅(qū)動的元件將復(fù)位,22中當(dāng)X0斷開,Y0和Y1即變?yōu)镺FF。
4)在一個MC指令區(qū)內(nèi)若再使用MC指令稱為嵌套。嵌套級數(shù)最多為8級,編號按N0→N1→N2→N3→N4→N5→N6→N7順序增大,每級的返回用對應(yīng)的MCR指令,從編號大的嵌套級開始復(fù)位。
堆棧指令(MPS/MRD/MPP)
堆棧指令是FX系列中新增的基本指令,用于多重輸出電路,為編程帶來便利。在FX系列PLC中有11個存儲單元,它們專門用來存儲程序運(yùn)算的中間結(jié)果,被稱為棧存儲器。
(1)MPS(進(jìn)棧指令) 將運(yùn)算結(jié)果送入棧存儲器的第一段,同時將先前送入的數(shù)據(jù)依次移到棧的下一段。
(2)MRD(讀棧指令) 將棧存儲器的第一段數(shù)據(jù)(最后進(jìn)棧的數(shù)據(jù))讀出且該數(shù)據(jù)繼續(xù)保存在棧存儲器的第一段,棧內(nèi)的數(shù)據(jù)不發(fā)生移動。
(3)MPP(出棧指令) 將棧存儲器的第一段數(shù)據(jù)(最后進(jìn)棧的數(shù)據(jù))讀出且該數(shù)據(jù)從棧中消失,同時將棧中其它數(shù)據(jù)依次上移。
堆棧指令的使用說明:
1)堆棧指令沒有目標(biāo)元件;
2)MPS和MPP必須配對使用;
3)由于棧存儲單元只有11個,所以棧的層次最多11層。
邏輯反、空操作與結(jié)束指令(INV/NOP/END)
1)INV(反指令) 執(zhí)行該指令后將原來的運(yùn)算結(jié)果取反。反指令的使用如圖10所示,如果X0斷開,則Y0為ON,否則Y0為OFF。使用時應(yīng)注意INV不能象指令表的LD、LDI、LDP、LDF那樣與母線連接,也不能象指令表中的OR、ORI、ORP、ORF指令那樣單獨(dú)使用。
2)NOP(空操作指令) 不執(zhí)行操作,但占一個程序步。執(zhí)行NOP時并不做任何事,有時可用NOP指令短接某些觸點(diǎn)或用NOP指令將不要的指令覆蓋。當(dāng)PLC執(zhí)行了清除用戶存儲器操作后,用戶存儲器的內(nèi)容全部變?yōu)榭詹僮髦噶睢?/p>
3)END(結(jié)束指令) 表示程序結(jié)束。若程序的最后不寫END指令,則PLC不管實際用戶程序多長,都從用戶程序存儲器的第一步執(zhí)行到最后一步;若有END指令,當(dāng)掃描到END時,則結(jié)束執(zhí)行程序,這樣可以縮短掃描周期。在程序調(diào)試時,可在程序中插入若干END指令,將程序劃分若干段,在確定前面程序段無誤后,依次刪除END指令,直至調(diào)試結(jié)束。
FX系列PLC的步進(jìn)指令
1.步進(jìn)指令(STL/RET)
步進(jìn)指令是專為順序控制而設(shè)計的指令。在工業(yè)控制領(lǐng)域許多的控制過程都可用順序控制的方式來實現(xiàn),使用步進(jìn)指令實現(xiàn)順序控制既方便實現(xiàn)又便于閱讀修改。
FX2N中有兩條步進(jìn)指令:STL(步進(jìn)觸點(diǎn)指令)和RET(步進(jìn)返回指令)。
STL和RET指令只有與狀態(tài)器S配合才能具有步進(jìn)功能。如STL S200表示狀態(tài)常開觸點(diǎn),稱為STL觸點(diǎn),它在梯形圖中的符號為-|| ||- ,它沒有常閉觸點(diǎn)。我們用每個狀態(tài)器S記錄一個工步,例STL S200有效(為ON),則進(jìn)入S200表示的一步(類似于本步的總開關(guān)),開始執(zhí)行本階段該做的工作,并判斷進(jìn)入下一步的條件是否滿足。一旦結(jié)束本步信號為ON,則關(guān)斷S200進(jìn)入下一步,如S201步。RET指令是用來復(fù)位STL指令的。執(zhí)行RET后將重回母線,退出步進(jìn)狀態(tài)。
2.狀態(tài)轉(zhuǎn)移圖
一個順序控制過程可分為若干個階段,也稱為步或狀態(tài),每個狀態(tài)都有不同的動作。當(dāng)相鄰兩狀態(tài)之間的轉(zhuǎn)換條件得到滿足時,就將實現(xiàn)轉(zhuǎn)換,即由上一個狀態(tài)轉(zhuǎn)換到下一個狀態(tài)執(zhí)行。我們常用狀態(tài)轉(zhuǎn)移圖(功能表圖)描述這種順序控制過程。用狀態(tài)器S記錄每個狀態(tài),X為轉(zhuǎn)換條件。如當(dāng)X1為ON時,則系統(tǒng)由S20狀態(tài)轉(zhuǎn)為S21狀態(tài)。
狀態(tài)轉(zhuǎn)移圖中的每一步包含三個內(nèi)容:本步驅(qū)動的內(nèi)容,轉(zhuǎn)移條件及指令的轉(zhuǎn)換目標(biāo)。
步驅(qū)動Y0,當(dāng)X1有效為ON時,則系統(tǒng)由S20狀態(tài)轉(zhuǎn)為S21狀態(tài),X1即為轉(zhuǎn)換條件,轉(zhuǎn)換的目標(biāo)為S21步。
步進(jìn)指令的使用說明
1)STL觸點(diǎn)是與左側(cè)母線相連的常開觸點(diǎn),某STL觸點(diǎn)接通,則對應(yīng)的狀態(tài)為活動步;
2)與STL觸點(diǎn)相連的觸點(diǎn)應(yīng)用LD或LDI指令,只有執(zhí)行完RET后才返回左側(cè)母線;
3)STL觸點(diǎn)可直接驅(qū)動或通過別的觸點(diǎn)驅(qū)動Y、M、S、T等元件的線圈;
4)由于PLC只執(zhí)行活動步對應(yīng)的電路塊,所以使用STL指令時允許雙線圈輸出(順控程序在不同的步可多次驅(qū)動同一線圈);
5)STL觸點(diǎn)驅(qū)動的電路塊中不能使用MC和MCR指令,但可以用CJ指令;
6)在中斷程序和子程序內(nèi),不能使用STL指令。
1、位邏輯指令
1.1??-||-????常開接點(diǎn)(地址)
1.2??-|/|-???常閉接點(diǎn)(地址)
1.3??XOR?????位異或
1.4??-|NOT|- 信號流反向
1.5??-( )????輸出線圈
1.6??-(#)-???中間輸出
1.7??-(R)????線圈復(fù)位
1.8??-(S)????線圈置位
1.9??RS?????復(fù)位置位觸發(fā)器
1.10??RS?????置位復(fù)位觸發(fā)器
1.11 -(N)-???RLO下降沿檢測
1.12 -(P)-???PLO上升沿檢測
1.13 -(SAVE) 將RLO存入BR存儲器
1.14 MEG?????地址下降沿檢測
1.15 POS?????地址上升沿檢測
?
2、比較指令
2.1??CMP?I???整數(shù)比較
2.2??CMP?D???雙整數(shù)比較
2.3??CMP?R???實數(shù)比較
3、轉(zhuǎn)換指令
3.1??BCD_IBCD碼轉(zhuǎn)換為整數(shù)
3.2??I_BCD????整數(shù)轉(zhuǎn)換為BCD碼
3.3??I_DINT???整數(shù)轉(zhuǎn)換為雙整數(shù)
3.4??BCD_DIBCD碼轉(zhuǎn)換為雙整數(shù)
3.5??DI_BCD???雙整數(shù)轉(zhuǎn)換為BCD碼
3.6??DI_REAL??雙整數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)
3.7??INV_I????整數(shù)的二進(jìn)制反碼
3.8??INV_DI???雙整數(shù)的二進(jìn)制反碼
3.9??NEG_I????整數(shù)的二進(jìn)制補(bǔ)碼
3.10 NEG_DI???雙整數(shù)的二進(jìn)制補(bǔ)碼
3.11 NEG_R????浮點(diǎn)數(shù)求反
3.12 ROUND????舍入為雙整數(shù)
3.13 TRUNC????舍去小數(shù)取整為雙整數(shù)
3.14 CEIL????上取整
3.15 FLOOR???下取整
4、計數(shù)器指令
4.1??S_CUD???加減計數(shù)
4.2??S_CU????加計數(shù)器
4.3??S_CD????減計數(shù)器
4.4??-(SC)???計數(shù)器置初值
4.5??-(CU)???加計數(shù)器線圈
4.6??-(CD)???減計數(shù)器線圈
5、數(shù)據(jù)塊指令
5.1??-(OPN)??打開數(shù)據(jù)塊:DB或DI
6、邏輯控制指令
6.1??-(JMP)??無條件跳轉(zhuǎn)
6.2??-(JMP)??條件跳轉(zhuǎn)
6.3 ?-(JMPN) 若非則跳轉(zhuǎn)
6.4??LABEL???標(biāo)號
7、整數(shù)算術(shù)運(yùn)算指令
7.1??ADD_I??整數(shù)加法
7.2??SUB_I??整數(shù)減法
7.3??MUL_I??整數(shù)乘法
7.4??DIV_I??整數(shù)除法
7.5??ADD_DI 雙整數(shù)加法
7.6??SUB_DI 雙整數(shù)減法
7.7??MUL_DI 雙整數(shù)乘法
7.8??DIV_DI 雙整數(shù)除法?
7.9??MOD_DI 回送余數(shù)的雙整數(shù)
8、浮點(diǎn)算術(shù)運(yùn)算指令
8.1??基礎(chǔ)指令
8.1.1 ADD_R 實數(shù)加法
8.1.2 SUB_R 實數(shù)減法
8.1.3 MUL_R 實數(shù)乘法
8.1.4 DIV_R 實數(shù)除法
8.1.5 ABS???浮點(diǎn)數(shù)絕對值運(yùn)算
8.2??擴(kuò)展指令
8.2.1 SQR???浮點(diǎn)數(shù)平方
8.2.2 SQRT??浮點(diǎn)數(shù)平方根
8.2.3 EXP???浮點(diǎn)數(shù)指數(shù)運(yùn)算
8.2.4 LN????浮點(diǎn)數(shù)自然對數(shù)運(yùn)算
8.2.5 SIN???浮點(diǎn)數(shù)正弦運(yùn)算
8.4.6 COS???浮點(diǎn)數(shù)余弦運(yùn)算
8.2.7 TAN???浮點(diǎn)數(shù)正切運(yùn)算
8.2.8 ASIN??浮點(diǎn)數(shù)反正弦運(yùn)算
8.2.9 ACOS??浮點(diǎn)數(shù)反余弦運(yùn)算
8.2.10ATAN??浮點(diǎn)數(shù)反正切運(yùn)算
9、賦值指令
9.1???MOVE??賦值
10、程序控制指令
10.1 -(Call)??從線圈調(diào)用FC/SFC(無參數(shù))
10.2 CALL_FB??從方塊調(diào)用FB
10.3 CALL_FC??從方塊調(diào)用FC
10.4 CALL_SFB 從方塊調(diào)用SFB
10.5 CALL_SFC 從方塊調(diào)用SFC
10.6 -(MCR<)??主控繼電器接通
10.7 -(MCR>)??主控繼電器斷開
10.8 -(MCRA)??主控繼電器啟動
10.9 -(MCRD)??主控繼電器停止
10.10 -(RET)??返回
11、移位和循環(huán)指令
11.1??移位指令
11.1.1??SHR_I??整數(shù)右移
11.1.2??SHR_DI 雙整數(shù)右移
11.1.3??SHL_W??字左移
11.1.4??SHR_W??字右移
11.1.5??SHL_DW 雙字左移
11.1.6??SHR_DW 雙字右移
11.2??循環(huán)指令
11.2.1??ROL_DW 雙字左循環(huán)
11.2.2??ROR_DW 雙字右循環(huán)
12、狀態(tài)位指令
12.1???OV -||- 溢出異常位
12.2???OS -||- 存儲溢出異常位
12.3???UO -||- 無序異常位
12.4???BR -||- 異常位二進(jìn)制結(jié)果
12.5???==0-||- 結(jié)果位等于"0"
12.6???<>0-||- 結(jié)果位不等于"0"
12.7???>0-||-??結(jié)果位大于"0"
12.8???<0-||-??結(jié)果位小于"0"
12.9???>=0-||-??結(jié)果位大于等于"0"
12.10??<=0-||- 結(jié)果位小于等于"0"
13、定時器指令
13.1???S_PULSE??脈沖S5定時器
13.2???S_PEXT???擴(kuò)展脈沖S5定時器
13.3???S_ODT????接通延時S5定時器
13.4???S_ODTS???保持型接通延時S5定時器
13.5???S_OFFDT??斷電延時S5定時器
13.6???-(SP)????脈沖定時器線圈
13.7???-(SE)????擴(kuò)展脈沖定時器線圈
13.8??-(SD)?????接通延時定時器線圈
13.9??-(SS)?????保持型接通延時定時器線圈
13.10??-(SF)????斷開延時定時器線圈
14、字邏輯指令
14.1???WAND_W???字和字相"與"
14.2???WOR_W????字和字相"或"
14.3???WAND_DW??雙字和雙字相"與"
14.4???WOR_DW???雙字和雙字相"或"
14.5???WXOR_W???字和字相"異或"
14.6???WXOR_DW??雙字和雙字相"異或“
在目前工業(yè)4.0和智能制造2025的大背景之下,“機(jī)器換人”已是大勢所趨,工業(yè)機(jī)器人也被譽(yù)為“制造業(yè)皇冠頂端的明珠”,機(jī)器人工程師因此也日益成為緊缺型的高薪職業(yè)。如果你想拿高薪、進(jìn)名企,成為機(jī)器人自動化工程師,是個不錯的選擇!
編輯:黃飛
?
評論
查看更多