plc中指令的作用是什么?該怎么用?
掃描二維碼
隨時(shí)隨地手機(jī)看文章
PLC指令是可編程邏輯控制器(PLC)的指令集,也稱為PLC編程指令。這些指令是用于編寫和控制PLC程序的基本構(gòu)建塊,它們包括輸入和輸出指令、邏輯指令、數(shù)據(jù)處理指令、定時(shí)器和計(jì)數(shù)器指令、數(shù)值比較指令等等。PLC(可編程邏輯控制器)可以用于編寫程序的指令,控制程序中執(zhí)行的操作。
PLC指令基本類型通常包括以下幾種:
1. 數(shù)據(jù)傳送指令:包括MOV、LD、ST等指令,用于在PLC內(nèi)部傳送數(shù)據(jù)。
2. 算術(shù)運(yùn)算指令:包括ADD、SUB、MUL、DIV等指令,用于執(zhí)行基本的算術(shù)運(yùn)算。
3. 邏輯運(yùn)算指令:包括AND、OR、NOT等指令,用于執(zhí)行邏輯運(yùn)算。
4. 比較指令:包括CMP等指令,用于比較兩個(gè)值是否相等。
5. 控制指令:包括JMP、SR等指令,用于控制程序的運(yùn)行流程和狀態(tài)。
6. 定時(shí)器指令:包括TON、TOF等指令,用于控制定時(shí)器的啟動(dòng)和停止。
7. 計(jì)數(shù)器指令:包括CTU、CTD等指令,用于控制計(jì)數(shù)器的計(jì)數(shù)和清零。
8. 通信指令:包括SEND、RECV等指令,用于與外部設(shè)備進(jìn)行通信。
PLC的發(fā)展多用于順序控制,利用定時(shí)器,計(jì)數(shù)器等的的組合取代一般的控制系統(tǒng),帶有功能指令的PLC,在使用價(jià)值,使用范圍都會(huì)更廣。PLC指令的輸入通常是通過(guò)編程軟件完成的。
1. 安裝PLC編程軟件,例如Siemens TIA Portal或Rockwell Studio 5000。
2. 創(chuàng)建新項(xiàng)目,并選擇要使用的PLC設(shè)備類型。
3. 在編程編輯器中創(chuàng)建一個(gè)程序。
4. 從指令庫(kù)中選擇指令,例如LDI、MOV、AND等等。
5. 將指令拖動(dòng)到程序中,并根據(jù)需要進(jìn)行參數(shù)設(shè)置。
6. 將程序上傳到PLC設(shè)備中。
在輸入指令之前,需要對(duì)PLC的邏輯進(jìn)行規(guī)劃和設(shè)計(jì),以確保正確和可靠的操作。
PLC有多少個(gè)指令,每個(gè)指令的功能是理解和使用PLC的一個(gè)重要方面。你不知道如何編程PLC的指令。沒(méi)有程序,PLC如何工作?PLC的指令更加多元化。功能強(qiáng)大的指令,綜合各種功能的指令日益增多。PLC有很多指令,但主要有幾種類型:
1.基本邏輯指令,用以處理邏輯關(guān)系,并實(shí)現(xiàn)邏輯控制。無(wú)論什么樣的PLC,總有這樣的指令。
2.數(shù)據(jù)處理指令,用以處理信息,如譯碼、編碼、傳輸、移位等。
3.數(shù)據(jù)運(yùn)算指令,用以進(jìn)入數(shù)據(jù)運(yùn)算,如十、一、X、/等,可以進(jìn)行整形數(shù)計(jì)算,有的還可以浮點(diǎn)數(shù)計(jì)算;也可以進(jìn)行邏輯量計(jì)算,等等。
4.流程控制指令用以控制程序運(yùn)行過(guò)程。PLC的用戶程序通常從零地址指令開(kāi)始,并按順序進(jìn)行。但流程控制指令也可以相應(yīng)地更改。流程控制指令也更多,使用良好,可使程序簡(jiǎn)潔,易于調(diào)試和閱讀。
用以監(jiān)測(cè)和記錄PLC及其控制系統(tǒng)工作狀態(tài)的狀態(tài)監(jiān)測(cè)指令,對(duì)提高PLC控制系統(tǒng)的工作可靠性有很大幫助。
當(dāng)然,并不是所有的PLC都有上述類別的指令,也不是一些PLC只有上述類別的指令。以上只指出了幾個(gè)例子,說(shuō)明從哪些方面了解PLC指令,大致可以看到指令的數(shù)量和功能將如何影響PLC的產(chǎn)品性能。除了PLC的指令外,PLC還有相應(yīng)的協(xié)議和通信指令或命令,這也反映出PLC的產(chǎn)品性能。
不同廠家生產(chǎn)的PLC,其編程指令是不同的。這里以三菱
FX2系列PLC的編程指令加以說(shuō)明。
(1)取指令與輸出指令(LD/LDI/OUT/LDP/LDF)LD(取)是動(dòng)合觸點(diǎn)與左母線連接指令,LDI(取反)是動(dòng)開(kāi)觸點(diǎn)與左母線連接指令。執(zhí)行這兩條指令后,接點(diǎn)狀態(tài)被讀入累加器。OUT(輸出)是線圈驅(qū)動(dòng)指令,用于驅(qū)動(dòng)輸出繼電器、輔助繼電器、定時(shí)器、計(jì)數(shù)器等。執(zhí)行OUT指令后,把累加器狀態(tài)寫到指令編號(hào)的器件中。LDP(取脈沖上升沿)是與左母線連接的動(dòng)合觸點(diǎn)的上升沿檢測(cè)指令,僅在指定位元件的上升沿(OFF→ON時(shí))接通一個(gè)掃描周期。
LDF(取脈沖下降沿)是與左母線連接的動(dòng)開(kāi)觸點(diǎn)的下降沿檢測(cè)指令。取指令與輸出指令的使用示例如圖10-5所示。取指令與輸出指令使用示例(2)觸點(diǎn)串聯(lián)指令(AND/ANI/ANDP/ANDF)AND(與)是單個(gè)動(dòng)合接點(diǎn)串聯(lián)指令,ANI(與反)是單個(gè)動(dòng)開(kāi)接點(diǎn)串聯(lián)指令。執(zhí)行這兩條指令后,累加器內(nèi)容與接點(diǎn)與(與反)運(yùn)算結(jié)果送入累加器。ANDP(與脈沖上升沿)是進(jìn)行上升沿檢測(cè)串聯(lián)連接指令。ANDF(與脈沖下降沿)是進(jìn)行下降沿檢測(cè)串聯(lián)連接指令。觸點(diǎn)串聯(lián)指令使用示例如圖10-6所示。
(3)觸點(diǎn)并聯(lián)指令OR/ORI/ORP/ORFOR(或)是單個(gè)動(dòng)合接點(diǎn)并聯(lián)指令,ORI(或反)是單個(gè)動(dòng)開(kāi)接點(diǎn)并聯(lián)指令,執(zhí)行這兩條指令后,累加器內(nèi)容與接點(diǎn)或(或反)運(yùn)算結(jié)果送入累加器。ORP(或脈沖上升沿)是進(jìn)行上升沿檢測(cè)的并聯(lián)連接指令。ORF(或脈沖下降沿)是進(jìn)行下降沿檢測(cè)的并聯(lián)連接指令。觸點(diǎn)并聯(lián)指
(4)塊操作指令ORB/ANBORB(塊或)是幾個(gè)串聯(lián)電路的并聯(lián)指令,ANB(塊與)是并聯(lián)電路的串聯(lián)指令,每個(gè)電路開(kāi)始時(shí)使用LD或LDI指令,使用次數(shù)不得超過(guò)8次。這兩條指令無(wú)需器件編號(hào)。塊操作指令使用示例如圖10-8和圖10-9所示。
(5)置位與復(fù)位指令(SET/RST)SET(置位)是置位指令,它的作用是使被操作的目標(biāo)元件置位并保持,目標(biāo)元件為Y、M、S。RST(復(fù)位)是復(fù)位指令,它的作用是使被操作的目標(biāo)元件復(fù)位并保持,目標(biāo)元件為Y、M、S、T、C、D、V、Z。還用來(lái)復(fù)位積算定時(shí)器和計(jì)數(shù)器。
1、PLC功能指令的基本要素
1.1 功能指令的表示形式
要學(xué)習(xí)應(yīng)用指令,首先要掌握指令的表達(dá)形式。和基本指令不同,功能指令不含表達(dá)梯形圖符號(hào)問(wèn)相互關(guān)系的成分,而是直接表達(dá)指令要做什么,在梯形圖中用功能框表示。功能框中分欄表示指令的名稱、相關(guān)數(shù)據(jù)或數(shù)據(jù)的存儲(chǔ)地址。功能指令用編號(hào)FNC00~FNC294表示,并給出對(duì)應(yīng)的助記符(大多用英文名稱或縮寫表)。
有的功能指令沒(méi)有操作數(shù),而大多數(shù)功能指令有1個(gè)~4個(gè)操作數(shù)。[s]表示源操作數(shù),[D]表示目標(biāo)操作數(shù),如果使用變址功能,則可表示為[s·]和[D·]。當(dāng)源或目標(biāo)不止一個(gè)時(shí),用IS1·]、[S2·]、[D1·]、I-D2·]表示。用和/T/表示其他操作數(shù),它們常用來(lái)表示常數(shù)K和H,或作為源和目標(biāo)操作數(shù)的補(bǔ)充說(shuō)明,當(dāng)這樣的操作數(shù)多時(shí)可用1、n2、ml、m2等來(lái)表示。
1.2 功能指令的執(zhí)行方式與數(shù)據(jù)長(zhǎng)度
1.2.1 功能指令的執(zhí)行方式
功能指令有連續(xù)執(zhí)行和脈沖執(zhí)行兩種類型。指令助記符后面有“P”表示脈沖執(zhí)行,即該指令僅在執(zhí)行條件接通(由OFF到ON)時(shí)執(zhí)行一次;如果沒(méi)有“P”則表示連續(xù)執(zhí)行,即在執(zhí)行條件接通(ON)的每一個(gè)掃描周期該指令都要被執(zhí)行。
1.2.2 功能指令的數(shù)據(jù)長(zhǎng)度
功能指令可處理16位數(shù)據(jù)或32位數(shù)據(jù)。處理32位數(shù)據(jù)的指令是在助記符前加“D”標(biāo)志,無(wú)此標(biāo)志即為處理16位數(shù)據(jù)的指令。
1.2.3 功能指令的數(shù)據(jù)格式
(1)位元件與字元件:由于功能指令的引入,需處理大量的數(shù)據(jù)信息,則要設(shè)置用于存儲(chǔ)數(shù)值數(shù)據(jù)的軟元件,每種軟元件存儲(chǔ)的數(shù)據(jù)和使用特征不同,以滿足各種指令的操作數(shù)要求。X、Y、M、S等只處理ON/OFF信息的軟元件稱為位元件;而T、C、D等處理數(shù)值的軟元件則稱為字元件,一個(gè)字元件由16位二進(jìn)制數(shù)組成。
(2)數(shù)據(jù)格式:在FX系列PIC內(nèi)部,數(shù)據(jù)是以二進(jìn)制(BIN)補(bǔ)碼的形式存儲(chǔ),所有的四則運(yùn)算都使用二進(jìn)制數(shù)。二進(jìn)制補(bǔ)碼的最高位為符號(hào)位,正數(shù)的符號(hào)位為O,負(fù)數(shù)的符號(hào)位為1。FX系列PIC可實(shí)現(xiàn)二進(jìn)制碼與BCD碼的相互轉(zhuǎn)換。為更精確地進(jìn)行運(yùn)算,可采用浮點(diǎn)數(shù)運(yùn)算。在FX系列PIC中提供了二進(jìn)制浮點(diǎn)運(yùn)算和十進(jìn)制浮點(diǎn)運(yùn)算,設(shè)有將二進(jìn)制浮點(diǎn)數(shù)與十進(jìn)制浮點(diǎn)數(shù)相互轉(zhuǎn)換的指令。二進(jìn)制浮點(diǎn)數(shù)采用編號(hào)連續(xù)的一對(duì)數(shù)據(jù)寄存器表示,如在D11和D10組成的32位寄存器中,D10的16位加上D11的7位共23位,為浮點(diǎn)數(shù)的尾數(shù)。十進(jìn)制的浮點(diǎn)數(shù)也用一對(duì)數(shù)據(jù)寄存器表示,編號(hào)小的數(shù)據(jù)寄存器為尾數(shù)段,編號(hào)大的為指數(shù)段,如使用數(shù)據(jù)寄存器(D1,DO)時(shí),表示為:
十進(jìn)制浮點(diǎn)數(shù)=:=(尾數(shù)DO)×10[指數(shù)m。
其中:DO、D1的最高位是正、負(fù)符號(hào)位。
2、功能指令的應(yīng)用技巧
2.1進(jìn)行功能指令歸類和使用場(chǎng)合的區(qū)分
FX2系列PIc具有豐富的功能指令,包括程序流向控制、傳送與比較、算術(shù)與邏輯運(yùn)算、循環(huán)與移位等19類功能指令。指令的類型不同,使用的場(chǎng)合也不同。合理安排程序的結(jié)構(gòu),有效提高程序的功能,實(shí)現(xiàn)某些技巧性運(yùn)算,達(dá)到控制要求,都具有重要的意義。
2.2深入功能指令內(nèi)部找出各元件的狀態(tài)分配和等效電路
功能指令綜合性比較強(qiáng),一條指令即能實(shí)現(xiàn)以往需要大段程序才能完成的某種任務(wù),如PID功能、表功能等,這類指令實(shí)際上就是一個(gè)個(gè)功能完整的子程序。所以有些功能指令內(nèi)部電路比較復(fù)雜,某些指令一旦執(zhí)行,功能指令內(nèi)相關(guān)元件自動(dòng)受控,相關(guān)狀態(tài)與存儲(chǔ)器自動(dòng)分配,甚至相關(guān)輔助繼電器與元件內(nèi)部具有自動(dòng)等效電路。
2.3在實(shí)踐中深化理解靈活運(yùn)用
任何一種指令的學(xué)習(xí)與掌握都離不開(kāi)實(shí)踐。先學(xué)別人的經(jīng)驗(yàn)與成果,以例題為模板進(jìn)行嫁接,為己所用,從而成為自己的知識(shí)。程序編制僅僅是開(kāi)始,還需反復(fù)調(diào)試,直到解決所有可能出現(xiàn)的實(shí)際問(wèn)題。此外,有些指令存在工程上的一些習(xí)慣用法,只有在實(shí)踐中不斷摸索,才能靈活運(yùn)用。