培訓(xùn)6-基本應(yīng)用指令_第1頁
培訓(xùn)6-基本應(yīng)用指令_第2頁
培訓(xùn)6-基本應(yīng)用指令_第3頁
培訓(xùn)6-基本應(yīng)用指令_第4頁
培訓(xùn)6-基本應(yīng)用指令_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余134頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

信捷PLC培訓(xùn)

第六課時應(yīng)用指令格式與特點(diǎn)基本應(yīng)用指令第六章第六章基本應(yīng)用指令

基本指令用于替代繼電器控制線路進(jìn)行順序邏輯控制,為了適應(yīng)現(xiàn)代工業(yè)自動控制的需要,PLC制造商開始逐步給PLC增加一些應(yīng)用指令,應(yīng)用指令使PLC具有很強(qiáng)大的數(shù)據(jù)運(yùn)算和處理能力,從而擴(kuò)展了PLC的使用范圍。第六章基本應(yīng)用指令應(yīng)用指令的格式第一節(jié)應(yīng)用指令的格式第一節(jié)應(yīng)用指令格式通用指令的一般格式①②③④第一節(jié)應(yīng)用指令格式①操作碼(指令助記符):表示指令的功能。如:ADD、MOV等。數(shù)據(jù)長度應(yīng)用指令可處理16位數(shù)據(jù)和32位數(shù)據(jù)。處理32位數(shù)據(jù)時在操作碼前面加D(Double)。[S][D]X000[MOVD10D12]X001[DMOVD20D22](D10)→(D12)(處理16位數(shù)據(jù))(D21D20)→(D23D22)(處理32位數(shù)據(jù))第一節(jié)應(yīng)用指令格式操作數(shù):指明參與操作的對象②源操作數(shù)S:執(zhí)行指令后數(shù)據(jù)不變的操作數(shù),兩個或兩個以上時為S1、S2。③目標(biāo)操作數(shù)D:執(zhí)行指令后數(shù)據(jù)被刷新的操作數(shù),兩個或兩個以上時為D1、D2。④其它操作數(shù)m、n:補(bǔ)充注釋的常數(shù),用K(十進(jìn)制)和H(十六進(jìn)制)表示,兩個或兩個以上時為m1、m2、n1、n2。第一節(jié)應(yīng)用指令格式軟元件位元件:只處理ON或OFF兩種狀態(tài)的元件稱為位元件

,如X、Y、M、S、T、C字元件:處理數(shù)據(jù)的元件稱為字元件。如TD、CD、數(shù)據(jù)寄存器D。位組件位元件組合表示數(shù)據(jù):16個位元件作為一個基本單元進(jìn)行組合,稱為位組件,表示1位十進(jìn)制數(shù);用DN表示,N為位組件的首地址。通常的表現(xiàn)形式為DX□

、DM□、DS□、DY□應(yīng)用指令的數(shù)據(jù)結(jié)構(gòu)

第一節(jié)應(yīng)用指令格式執(zhí)行方式連續(xù)執(zhí)行方式:每個掃描周期都重復(fù)執(zhí)行一次脈沖執(zhí)行方式:只在信號OFF→ON或ON→OFF時執(zhí)行一次,由觸發(fā)條件決定。[S][D]X000[MOVD0D1]X001[MOVD2D4]X002[MOVD10D12]OFF→ON時執(zhí)行ON→OFF時執(zhí)行連續(xù)執(zhí)行基本應(yīng)用指令第二節(jié)基本應(yīng)用指令流程指令2.1基本應(yīng)用指令(流程指令)指令助記符指令功能CJ條件跳轉(zhuǎn)CALL子程序調(diào)用SRET子程序返回STL流程開始STLE流程結(jié)束SET打開指定流程,關(guān)閉所在流程(流程跳轉(zhuǎn))ST打開指定流程,不關(guān)閉所在流程(開新流程)FOR循環(huán)范圍開始NEXT循環(huán)范圍結(jié)束FEND主程序結(jié)束END程序結(jié)束程序流程指令的功能是改變程序執(zhí)行的順序,主要包括以下指令:2.1.1基本應(yīng)用指令(CJ)1、條件跳轉(zhuǎn)[CJ]

該指令用于某種條件下跳過CJ指令和指針標(biāo)號之間的程序,從指針標(biāo)號處連續(xù)執(zhí)行,以減少程序執(zhí)行掃描時間。使用CJ指令時需注意幾點(diǎn):①CJ不可以從一個STL跳轉(zhuǎn)到另一個STL。②程序定時器T0~T640及高速計數(shù)C600~C640如果在驅(qū)動后執(zhí)行了CJ指令,則繼續(xù)工作,輸出接點(diǎn)也動作。③使用跳轉(zhuǎn)指令時注意標(biāo)號一定要匹配,并且一個標(biāo)號只允許出現(xiàn)一次,否則程序會報錯。2.1.1基本應(yīng)用指令(CJ應(yīng)用)(一)電動機(jī)手動/自動選擇控制程序1.控制要求某臺設(shè)備具有手動/自動兩種操作方式。SB3是操作方式選擇開關(guān),當(dāng)SB3處于斷開狀態(tài)時,選擇手動操作方式;當(dāng)SB3處于接通方式時,選擇自動操作方式,不同操作方式進(jìn)程如下:手動操作方式:按起動按鈕SB2,電動機(jī)旋轉(zhuǎn);按停止按鈕SB1,電動機(jī)停止。自動操作方式:按起動按鈕SB2,電動機(jī)連續(xù)運(yùn)轉(zhuǎn)1min后,自動停機(jī),按停止按鈕SB1,電動機(jī)立即停機(jī)。2.1.1基本應(yīng)用指令(CJ應(yīng)用)2.確定輸入、輸出并分配I/O地址

輸入信號:起動按鈕SB2——X2;停止按鈕SB1——X1;操作方式選擇開關(guān)SB3——X3;熱繼電器的過載保護(hù)FR——X0。輸出信號:接觸器線圈KM——Y0。2.1.1基本應(yīng)用指令(CJ應(yīng)用)3.程序設(shè)計2.1.2基本應(yīng)用指令(CALL)2、子程序調(diào)用[CALL]和返回[SRET]

子程序調(diào)用用于在一定條件下調(diào)用并執(zhí)行子程序,調(diào)用要共同處理的程序,可減少程序的步數(shù)。2.1.2基本應(yīng)用指令(CALL)使用CALL指令時需注意幾點(diǎn):①主程序結(jié)束后,必須要加FEND指令,且必須在FEND指令后對標(biāo)記編程。不允許出現(xiàn)調(diào)用子程序而未出現(xiàn)子程序標(biāo)號的情況。②Pn作為一段子程序的開始,以SRET作為一段子程序的結(jié)束。用CALLPn調(diào)用子程序。其中n可以為0~9999中的任一值。③在子程序內(nèi)可以允許有9次調(diào)用指令,整體而言可做10層嵌套。④調(diào)用子程序時,主程序所屬的OUT、PLS、PLF、定時器等均保持。⑤子程序返回時,子程序所屬的OUT、PLS、PLF、定時器等均保持。2.1.2基本應(yīng)用指令(CALL應(yīng)用)(二)水庫水位自動控制系統(tǒng)控制程序結(jié)構(gòu)如下所示:1、控制要求如下:①水庫水位上升超過上限時,水位異常警報燈Y10報警,并進(jìn)行泄水動作,Y0置位。②水庫水位下降低于下限時,水位異常警報燈Y10報警,并進(jìn)行灌水動作,Y1置位。③若泄水動作執(zhí)行10分鐘后,水位上限傳感器X0仍為On,則機(jī)械故障報警燈Y11報警。④若灌水動作執(zhí)行5分鐘后,水位下限傳感器X1仍為OFF,則機(jī)械故障報警燈Y11報警。⑤水位處于正常水位時,所有報警燈熄滅和泄水及灌水閥門自動被復(fù)位。2.1.2基本應(yīng)用指令(CALL應(yīng)用)2.程序設(shè)計2.1.3基本應(yīng)用指令(中斷)3、中斷指令[IRET]、[EI]、[DI]

在生活中,人們經(jīng)常會遇到這樣的情況:當(dāng)你正在寫作時,突然電話響了,你會停止寫作,轉(zhuǎn)而去接電話,接完電話又接著回去寫作。這種停止當(dāng)前的工作,轉(zhuǎn)而去做其他的工作,做完后又返回來做先前工作的現(xiàn)象稱為中斷。2.1.3基本應(yīng)用指令(中斷)PLC也有類似的現(xiàn)象,當(dāng)PLC正在執(zhí)行某程序時,如果出現(xiàn)意外事情(中斷條件滿足),PLC就會停止當(dāng)前正在執(zhí)行的程序,轉(zhuǎn)而去處理意外事情(去執(zhí)行中斷程序),處理完后又接著執(zhí)行原來的程序。XC系列PLC都具有中斷功能,中斷功能分兩種:一、外部中斷;二、定時中斷。通過中斷功能可以處理一些特定的程序,它不受可編程控制器的掃描周期的影響。2.1.3基本應(yīng)用指令(中斷)

中斷指針用I表示,使用中斷指令會涉及到三條指令I(lǐng)RET、EI、和DI,下圖是這三條指令的使用說明:中斷許可中斷禁止中斷子程序2.1.3基本應(yīng)用指令(中斷)使用中斷指令需要特別注意的幾點(diǎn):①中斷用指針(I****),必須在FEND指令后作為標(biāo)記編程;②XC系列PLC同一外部中斷不能夠?qū)崿F(xiàn)上升沿和下降沿同時觸發(fā);③中斷子程序只會在中斷條件觸發(fā)時執(zhí)行一次,因此,不建議在中斷子程序內(nèi)編寫定時器等需要連續(xù)執(zhí)行的指令;第幾路中斷0:上升沿中斷1:下升沿中斷④中斷指針的含義:外部中斷:I□□0□表示定時中斷的時間,范圍1~99,單位“毫秒”第幾路定時中斷

定時中斷:I4□□□2.1.3基本應(yīng)用指令(外部中斷)外部中斷

輸入端子X可以作為外部中斷的輸入用,每一輸入端對應(yīng)于一個外部中斷(具體對應(yīng)關(guān)系參照《信捷XC系列可編程控制器用戶手冊指令篇》),輸入的上升沿或者下降沿都可觸發(fā)中斷(注意:同一外部中斷端子的上升沿與下降沿外部中斷觸發(fā)同時只能使用其中之一)。2.1.3基本應(yīng)用指令(中斷應(yīng)用)(三)辦公室火災(zāi)報警控制程序【控制要求】

①當(dāng)感熱警報器感應(yīng)到高溫時(可能發(fā)生火災(zāi)),警鈴響起,噴水閥立刻開始噴水。

②當(dāng)警報解除后,按下警報解除按鈕,噴水閥停止噴水,警鈴聲滅。

【元件說明】PLC軟元件控制說明X2感熱警報器,當(dāng)溫度過高時,X2狀態(tài)為OnX5警報解除按鈕,按下時,X5狀態(tài)為OnY0噴水閥Y1火災(zāi)警鈴2.1.3基本應(yīng)用指令(中斷應(yīng)用)2.程序設(shè)計2.1.3基本應(yīng)用指令(定時中斷)定時中斷

在主程序的執(zhí)行周期很長的情況下,如果要處理特定的程序;或者在順控掃描中,需要每隔一段時間執(zhí)行特定的程序時,定時中斷功能非常適用。它可以不受可編程控制器的掃描周期的影響,每隔Nms執(zhí)行定時中斷子程序。

一共有10路定時中斷,表示方法為:I40**~I49**。其中**’表示定時中斷的時間,單位毫秒。如:I4010表示每隔10ms執(zhí)行一次第1路定時中斷。

定時中斷默認(rèn)是打開狀態(tài),定時中斷子程序類似其他中斷子程序,必須寫在主程序之后,以I40xx指令開始,結(jié)束于IRET。2.1.3基本應(yīng)用指令(定時中斷)程序舉例2.1.4基本應(yīng)用指令(STL)4、流程指令

流程指令主要用于順序控制的場合,在生產(chǎn)實踐中順序控制是指按照一定的順序逐步控制來完成各個工序的控制方式。一個復(fù)雜的任務(wù)往往可以分成若干個小任務(wù),當(dāng)按一定的順序完成這些小任務(wù)后,整個大任務(wù)也就完成了。

循環(huán)流程4流程1流程3流程22.1.4基本應(yīng)用指令(STL)流程共涉及4條指令,分別是:STL:流程開始指令;STLE:流程結(jié)束指令;SET:打開下個流程,關(guān)閉本流程指令;ST:打開下個流程,不關(guān)閉本流程指令。我們先通過下面的例子來了解一下這幾條流程指令的用法。2.1.4基本應(yīng)用指令(STL)①STL與STLE必需配對使用。STL表示一個流程的開始,STLE表示一個流程的結(jié)束。②每一個流程書寫都是獨(dú)立的,寫法上不能嵌套書寫。即不能在一個流程里再嵌套一個流程,與在流程里打開另一個流程不同,后者是允許的。在流程執(zhí)行時,不一定要按S0、S1,、S2……的順序執(zhí)行,流程執(zhí)行的順序在程序中可以按需求任意指定??梢韵葓?zhí)行S10再執(zhí)行S5,再執(zhí)行S0。③執(zhí)行SETSxxx指令后,這些指令指定的流程為ON。④執(zhí)行RSTSxxx指令后,指定的流程為OFF。⑤在流程S0中,SETS1將所在的流程S0關(guān)閉,并將流程S1打開。⑥在流程S0中,STS2將流程S2打開,但不將流程S0關(guān)閉。⑦流程從ON變?yōu)镺FF時,將流程所屬的OUT、PLS、PLF、不累計定時器等OFF或復(fù)位,累計定時器等保持原有狀態(tài)。⑧ST指令一般在程序需要同時運(yùn)行多個流程時使用;⑨在流程中執(zhí)行SETSxxx指令后,跳轉(zhuǎn)到下一個流程,原流程中的脈沖指令也會關(guān)掉(包括單段、多段、相對絕對、原點(diǎn)回歸)流程指令使用注意事項:2.1.4基本應(yīng)用指令(STL應(yīng)用)【控制要求】按下自動按鈕X0,機(jī)械手執(zhí)行自動流程1次:夾取產(chǎn)品(釋放前動作一直保持)→定時0.5秒→轉(zhuǎn)移產(chǎn)品(Y1動作持續(xù)2秒)→釋放產(chǎn)品。若需再次執(zhí)行自動流程,再觸發(fā)自動按鈕一次即可。2.1.4基本應(yīng)用指令(STL應(yīng)用)【程序設(shè)計】//按下啟動按鈕,開始流程//夾取產(chǎn)品//延時0.5s//轉(zhuǎn)移產(chǎn)品//延時2s//停止轉(zhuǎn)移并釋放產(chǎn)品2.1.4基本應(yīng)用指令(STL應(yīng)用)若控制要求改為以下,該如何修改控制程序?【控制要求】

按下自動按鈕,機(jī)械手循環(huán)執(zhí)行自動流程:夾取產(chǎn)品(釋放前動作一直保持)→定時0.5秒→轉(zhuǎn)移產(chǎn)品(動作持續(xù)2秒)→釋放產(chǎn)品→反方向轉(zhuǎn)回(動作持續(xù)2秒)。比較指令2.2.1基本應(yīng)用指令(觸點(diǎn)比較)1、觸點(diǎn)比較指令比較指令的功能是將某兩個數(shù)值或寄存器內(nèi)容的大小作為導(dǎo)通條件,來觸發(fā)相應(yīng)的輸出,簡單形象。主要包含以下指令:助記符指令功能取比較指令LD=開始(S1)=(S2)時導(dǎo)通LD>開始(S1)>(S2)時導(dǎo)通LD<開始(S1)<(S2)時導(dǎo)通LD<>開始(S1)≠(S2)時導(dǎo)通LD<=開始(S1)≤(S2)時導(dǎo)通LD>=開始(S1)≥(S2)時導(dǎo)通串聯(lián)比較指令A(yù)ND=串聯(lián)(S1)=(S2)時導(dǎo)通AND>串聯(lián)(S1)>(S2)時導(dǎo)通AND<串聯(lián)(S1)<(S2)時導(dǎo)通AND<>串聯(lián)(S1)≠(S2)時導(dǎo)通AND<=串聯(lián)(S1)≤(S2)時導(dǎo)通AND>=串聯(lián)(S1)≥(S2)時導(dǎo)通并聯(lián)比較指令OR=并聯(lián)(S1)=(S2)時導(dǎo)通OR>并聯(lián)(S1)>(S2)時導(dǎo)通OR<并聯(lián)(S1)<(S2)時導(dǎo)通OR<>并聯(lián)(S1)≠(S2)時導(dǎo)通OR<=并聯(lián)(S1)≤(S2)時導(dǎo)通OR>=并聯(lián)(S1)≥(S2)時導(dǎo)通

從上表可以看出,觸點(diǎn)比較指令又分為開始比較、串聯(lián)比較和并聯(lián)比較,每一組又分為大于、小于、等于、大于等于、小于等于和不等于。雖指令書寫不同,功能不同卻用法類似,所以,在此我們只介紹其中一些比較指令的使用說明,其余指令的用法可參照這些指令。

其實,觸點(diǎn)比較指令也是一種常開觸點(diǎn),只是其觸點(diǎn)閉合的條件不是線圈通電,而是滿足設(shè)定的大小關(guān)系。使用中需注意的是,若相比較的兩個數(shù)任意一方大于32767,則需要用32位觸點(diǎn)比較指令,即在相應(yīng)指令的助記符前加字母“D”。2.2.1基本應(yīng)用指令(觸點(diǎn)比較)【控制要求】某設(shè)備上電禁止所有輸出,指示燈不亮。1234作為密碼,用D0作為存放密碼的寄存器,當(dāng)使用者輸入正確密碼時恢復(fù)所有輸出,指示燈亮。指示燈2.2.1基本應(yīng)用指令(觸點(diǎn)比較)【程序設(shè)計】2.2.1基本應(yīng)用指令(觸點(diǎn)比較)2、數(shù)據(jù)比較指令數(shù)據(jù)比較指令包括CMP和ZCP兩條指令,CMP指令說明如圖所示:指令的作用是將數(shù)據(jù)

相比較,根據(jù)大小輸出以

起始的3點(diǎn)ON/OFF狀態(tài)。即使X0=OFF停止執(zhí)行CMP指令時,M0~M2仍然保持X0變?yōu)镺FF以前的狀態(tài)。

2.2.2基本應(yīng)用指令(CMP)ZCP是用于區(qū)間比較的指令,其使用說明如圖所示:將數(shù)據(jù)同上下兩點(diǎn)的數(shù)據(jù)比較范圍相比較,根據(jù)區(qū)域大小輸出起始的3點(diǎn)ON/OFF狀態(tài)。其中,為指定比較基準(zhǔn)下限的數(shù)據(jù)或軟元件地址編號;為指定比較基準(zhǔn)上限的數(shù)據(jù)或軟元件地址編號;為指定當(dāng)前數(shù)據(jù)或軟元件地址編號;為指定比較結(jié)果的數(shù)據(jù)或軟元件地址編號。2.2.2基本應(yīng)用指令(ZCP)2.2.2基本應(yīng)用指令(比較指令應(yīng)用)【控制要求】大型公用水塔利用模擬式液位高度測量儀(0~10V電壓輸出)測量水位高度,進(jìn)行水位的控制。(測量的值放在寄存器D0中,上限設(shè)定值為4000,下限設(shè)定值為1000。)水位處于正常高度時,水位正常指示燈亮(Y0),水塔剩1/4水量時進(jìn)行給水動作(給水閥開關(guān)為Y1),水位到達(dá)上限時,報警(Y2)并停止給水?!境绦蛟O(shè)計】PLC軟元件控制說明Y0:水位正常指示燈Y1:給水閥開關(guān)(下限設(shè)置值K1000)Y2:水位到達(dá)警報器(上限設(shè)置值K4000)2.2.2基本應(yīng)用指令(比較指令應(yīng)用)數(shù)據(jù)傳送指令2.3基本應(yīng)用指令(傳送指令)

數(shù)據(jù)傳送指令

數(shù)據(jù)傳送用于傳送一個或一批數(shù)據(jù)到數(shù)據(jù)寄存器等一些可以存儲數(shù)據(jù)的軟元件中,主要包括以下指令:指令助記符指令功能MOV傳送BMOV數(shù)據(jù)塊傳送PMOV數(shù)據(jù)塊傳送FMOV多點(diǎn)重復(fù)傳送EMOV浮點(diǎn)數(shù)傳送FWRTFlashROM的寫入MSET批次置位ZRST批次復(fù)位SWAP高低字節(jié)交換XCH兩個數(shù)據(jù)交換2.3.1基本應(yīng)用指令(MOV)1、傳送指令[MOV]MOV的作用是使指定軟元件的數(shù)據(jù)照原樣傳送到其他軟元件中。指令說明如下:X0為ON時,將常數(shù)K10傳送到D10。X0為OFF時,數(shù)據(jù)不變化。MOV指令不僅可以完成常數(shù)到寄存器的傳送,還可以是寄存器到寄存器,定時器和計數(shù)器到數(shù)據(jù)寄存器之間的傳送,如下圖所示:此時的定時器和計數(shù)器都是表示字元件,與TD0,CD0一樣。意思是將定時器或計數(shù)器內(nèi)的當(dāng)前值讀出存儲到數(shù)據(jù)寄存器內(nèi)。2.3.1基本應(yīng)用指令(MOV應(yīng)用)【控制要求】1.X0接通時,8盞燈全亮;2.X1接通時,奇數(shù)盞燈亮;3.X2接通時,偶數(shù)盞燈亮;4.X3接通時,燈全滅。2.3.1基本應(yīng)用指令(MOV應(yīng)用)根據(jù)控制要求,列出8盞燈的真值表。輸入端口輸出位組件K2Y0傳送數(shù)據(jù)Y7Y6Y5Y4Y3Y2Y1Y0X011111111H0FFX110101010H0AAX201010101H55X300000000H00【程序設(shè)計】燈全亮奇數(shù)燈亮偶數(shù)燈亮燈全滅2.3.1基本應(yīng)用指令(MOV應(yīng)用)2.3.2基本應(yīng)用指令(BMOV)2、數(shù)據(jù)塊傳送[BMOV]BMOV的作用是將以源指定的軟元件為開頭的n點(diǎn)數(shù)據(jù)向以目標(biāo)指定的軟元件為開頭的n點(diǎn)軟元件以數(shù)據(jù)塊的形式傳送。(在超過軟元件編號范圍時,在可能的范圍內(nèi)傳送)。指令說明如圖所示:2.3.2基本應(yīng)用指令(BMOV應(yīng)用)【控制要求】

使用信捷PLC搭建一個測試實驗臺,對待測設(shè)備的數(shù)據(jù)進(jìn)行記錄,并將紀(jì)錄的數(shù)據(jù)依次放入寄存器D0~D99中,每組數(shù)據(jù)在30分鐘內(nèi)可以全部記錄完成。故每間隔30分鐘將D0~D99的數(shù)據(jù)轉(zhuǎn)移到其它寄存器中,以便D0~D99重新接收新數(shù)據(jù),待測設(shè)備的一個測試周期為2個小時。說明名稱測試啟動開關(guān)X0重復(fù)測試按鈕X1停止測試開關(guān)X2數(shù)據(jù)記錄D0~D99數(shù)據(jù)備份D100~D499軟元件分配如下:2.3.2基本應(yīng)用指令(BMOV應(yīng)用)【程序設(shè)計】2.3.3基本應(yīng)用指令(FMOV)3、多點(diǎn)重復(fù)傳送[FMOV]多點(diǎn)重復(fù)傳送指令FMOV的作用是將某一數(shù)據(jù)傳送至一批數(shù)據(jù)寄存器中。指令說明如下圖所示:2.3.3基本應(yīng)用指令(FMOV應(yīng)用)【控制要求】使用一臺信捷PLC通過RS-485通訊,控制多臺信捷變頻器時,有時需要多臺變頻器運(yùn)轉(zhuǎn)頻率相同,假設(shè)通過內(nèi)部程序使得PLC的D0~D3分別對應(yīng)四臺變頻器驅(qū)動頻率,此時,只需旋轉(zhuǎn)旋鈕開關(guān),四臺變頻器被設(shè)置相同的運(yùn)轉(zhuǎn)頻率。2.3.3基本應(yīng)用指令(FMOV應(yīng)用)軟元件分配如下:PLC軟元件控制說明X1選擇0Hz頻率,旋轉(zhuǎn)到“0Hz”時,X1狀態(tài)為OnX2選擇20Hz頻率,旋轉(zhuǎn)到“20Hz”時,X2態(tài)為OnX3選擇30Hz頻率,旋轉(zhuǎn)到“30Hz”時,X3態(tài)為OnX4選擇50Hz頻率,旋轉(zhuǎn)到“50Hz”時,X4狀態(tài)為OnD0變頻器1驅(qū)動頻率D1變頻器2驅(qū)動頻率D2變頻器3驅(qū)動頻率D3變頻器4驅(qū)動頻率2.3.3基本應(yīng)用指令(FMOV應(yīng)用)【程序設(shè)計】2.3.4基本應(yīng)用指令(EMOV)4、浮點(diǎn)數(shù)傳送[EMOV]

浮點(diǎn)數(shù)傳送指令EMOV的作用是將指定軟元件中的浮點(diǎn)數(shù)照原樣傳送到其他軟元件中。該指令與MOV的區(qū)別就是MOV傳送的是整數(shù),EMOV傳送的是浮點(diǎn)數(shù),所以EMOV指令只有32位的指令,說明如下:

(D1,D0)→(D11,D10)當(dāng)X0導(dǎo)通時,將D0(D1,D0)中的浮點(diǎn)數(shù)傳送到D10(D11,D10)中去。若源操作數(shù)是常整數(shù),則會被自動轉(zhuǎn)換成浮點(diǎn)數(shù)再傳送至目標(biāo)軟元件中。2.3.5基本應(yīng)用指令(MSET/ZRST)5、批次置位[MSET]與批次復(fù)位[ZRST]這兩條指令的作用是將指定范圍的位軟元件進(jìn)行置位或復(fù)位/清零操作。

使用注意事項:

、指定為同一種類的軟元件,且編號<編號。2.3.5基本應(yīng)用指令按下X0,Y0-Y17這16個燈全亮,按下X1,Y0-Y17這16個燈全滅。請問這個控制要求梯形圖程序可以有哪幾種編法?

2.3.6基本應(yīng)用指令(SWAP)6、高低字節(jié)交換[SWAP]

高低字節(jié)交換指令SWAP的作用是將指定寄存器的高8位字節(jié)和低8位字節(jié)進(jìn)行交換。指令說明如圖所示:

使用注意事項:【程序說明】假設(shè)D0中的數(shù)據(jù)為H200A(K8202),當(dāng)X0由OFF變?yōu)镺N時,D0中的數(shù)據(jù)將變成HA20(K2592)。

如果將條件X0改為常開或常閉線圈觸發(fā),當(dāng)輸入X0為ON時,每個掃描周期都執(zhí)行一次該指令,所以建議用上升沿或下降沿觸發(fā)。2.3.6基本應(yīng)用指令(XCH)7、交換指令[XCH]

交換指令XCH的作用是將兩個軟元件中的數(shù)據(jù)進(jìn)行相互交換。指令說明如圖所示:

使用注意事項:【程序說明】:執(zhí)行前(D10)=100、(D11)=101→

執(zhí)行后

(D10)=101、(D11)=100

如果將條件X0改為常開或常閉線圈觸發(fā),當(dāng)輸入X0為ON時,每個掃描周期都執(zhí)行一次該指令,所以建議用上升沿或下降沿觸發(fā)。邏輯運(yùn)算指令2.4基本應(yīng)用指令指令助記符指令功能ADD加法SUB減法MUL乘法DIV除法INC加1DEC減1MEAN求平均值WAND邏輯與WOR邏輯或WXOR邏輯異或CML取反NEG求負(fù)數(shù)據(jù)與邏輯運(yùn)算指令屬于比較常用的功能指令,包含的指令如下表所示:2.4基本應(yīng)用指令2.4.1基本應(yīng)用指令(ADD/SUB)1、加法、減法指令[ADD]、[SUB]加減法指令的作用不用說大家也都能明白,每條指令的寫法有兩種模式,以加法指令為例,分別如圖所示:

上述兩條指令是等價的,均是(D10)+(D12)→(D10)。

綜上,加法指令就是將兩個源數(shù)據(jù)進(jìn)行二進(jìn)制加法后傳遞到被加數(shù)地址處。各數(shù)據(jù)的最高位是正(0)、負(fù)(1)符號位,這些數(shù)據(jù)以代數(shù)形式進(jìn)行加法運(yùn)算(5+(-8)=-3)。

減法指令SUB與加法指令用法類似,在此就不再贅述。2.4.1基本應(yīng)用指令(加減應(yīng)用1)編寫梯形圖完成以下公式:D0=D2+(D4-D6)2.4.1基本應(yīng)用指令(加減應(yīng)用2)自動售貨機(jī):2.4.1基本應(yīng)用指令(加減應(yīng)用2)【控制要求】①投入1元、5元、10元貨幣,相應(yīng)“X0、X1、X2”按鈕導(dǎo)通。按下“可樂”和“雪碧”按鈕分別代表購買“可樂”和“雪碧”。出貨口的閥Y0動作表示“出可樂”、Y1動作表示“出雪碧”表示可樂和雪碧已經(jīng)取出。購買后顯示當(dāng)前余額,按下“找零按鈕”,退幣口退幣。②該售貨機(jī)可以出賣雪碧和可樂兩種飲料,價格分別為3元/瓶和4元/瓶。當(dāng)投入的貨幣大于等于其售價時,對應(yīng)的可樂指示燈Y2、雪碧指示燈Y3點(diǎn)亮,表示可以購買。③當(dāng)可以購買時,按下相應(yīng)的“可樂(X3)”或“雪碧(X4)”按鈕,與之對應(yīng)的指示燈閃爍,表示已經(jīng)購買了可樂或雪碧,同時出貨口延時3s吐出可樂或雪碧。④在購買了可樂或雪碧后,余額指示顯示當(dāng)前的余額,若余額還可以購買飲料,按下“可樂”或“雪碧”選擇按鈕可以繼續(xù)購買,若不想再購買,按下“找零按鈕”后,退幣口退幣。I/O分配自動售貨機(jī)I/O分配及軟元件說明輸入輸出其他軟元件輸入繼電器作用輸出繼電器控制對象名稱作用X01元投幣Y0雪碧指示D0投幣數(shù)、余額X15元投幣Y1可樂指示M0可以買雪碧X210元投幣Y2雪碧出口M1可以買可樂X3雪碧選擇Y3可樂出口M2選擇雪碧X4可樂選擇Y4退幣口M3選擇可樂X5退幣按鈕M100有余額T0~T3出貨延時T4退幣延時2.4.1基本應(yīng)用指令(加減應(yīng)用2)控制程序2.4.1基本應(yīng)用指令(加減應(yīng)用2)2.4.2基本應(yīng)用指令(MUL/DIV)BINBINBIN(D0)×(D2)→(D5,D4)16位16位→

32位2、乘法、除法指令[MUL]、[DIV]乘法除法也是大家所熟知的,之所以提出來是因為使用時,有些地方是需要特別注意的。

首先是乘法,需要注意的是兩個16位數(shù)據(jù)相乘結(jié)果是32位,兩個32位數(shù)據(jù)相乘,結(jié)果是64位。以16位乘法為例,指令說明如圖所示:被除數(shù)除數(shù)商余數(shù)BINBINBINBIN(D0)÷(D2)→(D4)┅(D5)16位16位16位16位而除法指令的注意點(diǎn)在于整數(shù)相除后,存在的余數(shù)的問題,目標(biāo)操作數(shù)指定的軟元件用來存放商,而其下一個編號的軟元件將存入余數(shù)。指令說明如下圖所示:

2.4.2基本應(yīng)用指令(MUL/DIV)2.4.2基本應(yīng)用指令(乘除應(yīng)用)【控制要求】

假設(shè)已知水管直徑為D0,以mm為單位,水的流速為D10,以dm/s(1分米/秒)為單位,如圖

2、軟元件分配說明名稱說明名稱啟動計算X0水管直徑D0

水管橫截面積運(yùn)算結(jié)果D8水管流速D100水管流量運(yùn)算結(jié)果(單位/s)D12本程序中mm、cm、dm都有用到,所以必須統(tǒng)一單位,保證符合結(jié)果需要,程序中先將所有單位統(tǒng)一成mm,最后將單位變成需要的。由于需要精確到小數(shù)后兩位,故采用整數(shù)運(yùn)算時需要擴(kuò)大100倍。2.4.2基本應(yīng)用指令(乘除應(yīng)用)【程序設(shè)計】在觸摸屏中顯示流量結(jié)果時選擇顯示類型為“無符號數(shù)”,小數(shù)位數(shù)為“2”。2.4.2基本應(yīng)用指令(乘除應(yīng)用)2.4.3基本應(yīng)用指令(INC/DEC)3、自加1、自減1[INC]、[DEC]自加1、自減1指令的作用是將指定軟元件中的數(shù)據(jù)進(jìn)行加1/減1運(yùn)算。指令說明如下所示:(D0)+1→(D0)(D0)-1→(D0)

停車場車位控制2.4.3基本應(yīng)用指令(INC/DEC應(yīng)用)【控制要求】(1)在入口和出口處裝設(shè)檢測傳感器,用來檢測車輛進(jìn)入和出去的數(shù)目;(2)停車場共有5000個車位,尚有車位時,入口欄桿才可以將門開啟,讓車輛進(jìn)入停放,并有綠燈指示尚有車位;(3)車位已滿時,則紅燈點(diǎn)亮,顯示車位已滿,且入口欄桿不能開啟讓

車輛進(jìn)入;(4)觸摸屏顯示目前停車場的車輛數(shù)和剩余車位數(shù);(5)欄桿電動機(jī)在欄桿開啟和關(guān)閉時,開啟到位時有正轉(zhuǎn)停止傳感器檢

測,關(guān)閉時有反轉(zhuǎn)停止傳感器檢測。2.4.3基本應(yīng)用指令(INC/DEC應(yīng)用)I/O分配停車場車位控制I/O端口分配功能表輸入輸出其他軟元件輸入繼電器作用輸出繼電器作用名稱作用X0入口檢測傳感器Y0入口欄桿開門D0剩余車位數(shù)X1出口檢測傳感器Y1入口欄桿關(guān)門D4000停車場內(nèi)車輛數(shù)X2正轉(zhuǎn)停止傳感器Y2出口欄桿開門X3反轉(zhuǎn)停止傳感器Y3出口欄桿關(guān)門Y4綠燈指示器Y5紅燈指示器2.4.3基本應(yīng)用指令(INC/DEC應(yīng)用)【程序設(shè)計】2.4.3基本應(yīng)用指令(INC/DEC應(yīng)用)2.4.4基本應(yīng)用指令(MEAN)4、求平均值[MEAN]求平均值指令的作用是將指定數(shù)據(jù)或軟元件進(jìn)行求平均值運(yùn)算。指令說明如圖示:上例中是將以D0為起始地址的3點(diǎn)的源數(shù)據(jù)(D0~D2)的代數(shù)和除以n后存入目標(biāo)地址中,余數(shù)舍去。取n值時要注意,范圍不要超過可用軟元件編號,否則會發(fā)生運(yùn)算錯誤。2.4.5基本應(yīng)用指令(邏輯運(yùn)算)5、邏輯運(yùn)算指令

邏輯運(yùn)算指令的作用是將指定數(shù)據(jù)或軟元件的各位進(jìn)行一系列邏輯運(yùn)算。包含的指令有邏輯與[WAND]、邏輯或[WOR]、邏輯異或[WXOR]。以邏輯與為例,介紹這三條指令的用法,如圖所示:0&0=00&1=01&0=01&1=1假設(shè)D10中的數(shù)值是B0000,0000,0111,0001(K113),D12中數(shù)據(jù)是B0000,0000,0101,1101(K93)則D14中的結(jié)果是B0000,0000,0101,0001(K81),運(yùn)算過程如圖所示:2.4.5基本應(yīng)用指令(邏輯運(yùn)算應(yīng)用)【例】

將D0的低8位和D2的低8位結(jié)合組成一個字。梯形圖如圖所示:2.4.6基本應(yīng)用指令(CML)6、邏輯取反[CML]邏輯取反指令的作用是將指定數(shù)據(jù)或軟元件中的數(shù)據(jù)進(jìn)行反相傳送的指令。指令說明如下:將源數(shù)據(jù)的各位反相(1→0,0→1)后,傳送到目標(biāo)地址。在源數(shù)據(jù)中使用常數(shù)K的話,能自動地轉(zhuǎn)換成二進(jìn)制。2.4.6基本應(yīng)用指令(CML應(yīng)用)彩燈交替閃爍【控制要求】按下開關(guān)到On狀態(tài)后,偶數(shù)編號和奇數(shù)編號的彩燈交替亮1秒。按下開關(guān)到Off狀態(tài)后,所有彩燈熄滅?!境绦蛟O(shè)計】2.4.6基本應(yīng)用指令(CML應(yīng)用)2.4.7基本應(yīng)用指令(NEG)7、求負(fù)[NEG]求負(fù)指令的作用是將指定軟元件中的數(shù)據(jù)進(jìn)行求負(fù)運(yùn)算。指令說明如圖所示:底層相當(dāng)于將指定軟元件的內(nèi)容中各位先取反(1→0,0→1),然后再加1,將其結(jié)果再存入原先的軟元件中。上述動作,假設(shè)D10起始數(shù)據(jù)為20,M0一次上升沿后,D10的值轉(zhuǎn)變?yōu)?20;當(dāng)M0再一次上升沿后,D10的值變?yōu)?20。下面的兩條語句,執(zhí)行的效果是一樣的。數(shù)據(jù)移位指令第二節(jié)基本應(yīng)用指令2.5基本應(yīng)用指令(移位指令)指令助記符指令功能SHL算術(shù)左移SHR算術(shù)右移LSL邏輯左移LSR邏輯右移ROL循環(huán)左移ROR循環(huán)右移SFTL位左移SFTR位右移WSFL字左移WSFR字右移數(shù)據(jù)移位指令的作用是將指定軟件的各個位或多個軟元件之間進(jìn)行各式的移位操作,包含的指令如下表所示:2.5.1基本應(yīng)用指令(SHL/SHR)1、算術(shù)移位[SHL]、[SHR]算數(shù)移位是將指定軟元件中的數(shù)據(jù)進(jìn)行算術(shù)左移/算術(shù)右移的指令。指令說明如圖所示:

執(zhí)行SHL指令一次之后,下位補(bǔ)0,最終位被存入進(jìn)位標(biāo)志中。執(zhí)行SHR指令一次之后,上位同移動前的最高位,最終位被存入進(jìn)位標(biāo)志中。2.5.2基本應(yīng)用指令(LSL/LSR)2、邏輯移位[LSL]、[LSR]邏輯移位是將指定軟元件中的數(shù)據(jù)進(jìn)行邏輯左移/邏輯右移的指令。指令說明如圖所示:

執(zhí)行LSL指令一次之后,下位補(bǔ)0,最終位被存入進(jìn)位標(biāo)志中。LSL指令的意義和使用與SHL相同。執(zhí)行LSR指令一次之后,上位補(bǔ)0,最終位被存入進(jìn)位標(biāo)志中。LSR與SHR有所區(qū)別,前者在移位時,上位補(bǔ)0;而后者在移位時,上位也參與移位。2.5.3基本應(yīng)用指令(ROL/ROR)3、循環(huán)移位[ROL]、[ROR]循環(huán)移位是將指定軟元件中數(shù)據(jù)的各位信息進(jìn)行循環(huán)左移/循環(huán)右移的指令。指令說明如圖所示:

每一次X0從OFF→ON變化一次時,則進(jìn)行n位循環(huán)左移或右移,最終位被存入進(jìn)位標(biāo)志中。2.5.3基本應(yīng)用指令(ROL應(yīng)用)彩燈交替閃爍控制要求如下:①按下右循環(huán)按鈕,16個霓虹燈按照由小到大的編號(Y0~Y7、Y10~Y17)依次各亮500ms后熄滅。②按下左循環(huán)按鈕,16個霓虹燈按照由大到小的編號(Y17~Y10、Y7~Y0)依次各亮500ms后熄滅。③左右循環(huán)工作狀態(tài)可直接按下對應(yīng)的按鈕切換,不必先按下復(fù)位按鈕停止霓虹燈運(yùn)行。④按下復(fù)位按鈕,不管霓虹燈是處在左循環(huán)還是右循環(huán)工作狀態(tài),所有霓虹燈熄滅。2.5.3基本應(yīng)用指令(ROL應(yīng)用)控制程序2.5.4基本應(yīng)用指令(SFTL/SFTR)4、位移動[SFTL]、[SFTR]位移動是將指定軟元件中的數(shù)據(jù)進(jìn)行位左移/位右移的指令。位左移指令說明如圖所示:

對于n1位(移動軟元件的長度)的位元件進(jìn)行n2的左移動的指令。(指令執(zhí)行時執(zhí)行n2位的移位)。

上例中是將由M0為起始地址的16個位元件進(jìn)行4位的左移,低位空出來的由X0~X3補(bǔ)上。過程如下:①M(fèi)15~M12→溢出②M11~M8→M15~M12③M7~M4→M11~M8④M3~M0→M7~M4⑤X3~X0→M3~M0SFTR與SFTL類似,方向相反2.5.4基本應(yīng)用指令(SFTL應(yīng)用)SFTL不良品檢測【控制要求】產(chǎn)品被傳送至傳送帶上作檢測,凸輪檢測開關(guān)導(dǎo)通一次表示有一個產(chǎn)品被檢測。當(dāng)光電開關(guān)檢測到有不良品時(高度偏高),在第5個定點(diǎn)將不良品通過電磁閥排出,排出到回收箱后電磁閥自動復(fù)位。當(dāng)在傳送帶上的不良品記憶錯亂時,可按下復(fù)位按鈕將記憶數(shù)據(jù)清零,系統(tǒng)重新開始該檢測?!驹f明】X0不良品檢測光電開關(guān)X1凸輪檢測光電開關(guān)X2進(jìn)入回收箱檢測光電開關(guān)X3復(fù)位按鈕Y0電磁閥推出桿2.5.4基本應(yīng)用指令(SFTL應(yīng)用)2.5.4基本應(yīng)用指令(SFTL應(yīng)用)2.5.5基本應(yīng)用指令(WSFL/WSFR)5、字移位[WSFL]、[WSFR]字移位是將指定軟元件中的數(shù)據(jù)進(jìn)行字左移/字右移的指令。字左移指令說明如圖所示:WSFR與WSFL類似,方向相反

以字為單位,對n1個字的字軟元件進(jìn)行n2個字的右移或左移的指令。上例中是將由D10為起始地址的16個字元件進(jìn)行4個字的左移,低位空出來的由D0~D3補(bǔ)上。過程如下:①D25~D22→溢出②D21~D18→D25~D22③D17~D14→D21~D18④D13~D10→D17~D14⑤D3~D0→D13~D10數(shù)據(jù)轉(zhuǎn)換指令第二節(jié)基本應(yīng)用指令2.6基本應(yīng)用指令(數(shù)據(jù)轉(zhuǎn)換)指令助記符指令功能WTD單字整數(shù)轉(zhuǎn)雙字整數(shù)FLT16位整數(shù)轉(zhuǎn)浮點(diǎn)DFLT32位整數(shù)轉(zhuǎn)浮點(diǎn)FLTD64位整數(shù)轉(zhuǎn)浮點(diǎn)INT浮點(diǎn)轉(zhuǎn)整數(shù)BINBCD轉(zhuǎn)二進(jìn)制BCD二進(jìn)制轉(zhuǎn)BCDASCI16進(jìn)制轉(zhuǎn)ASCIIHEXASCII轉(zhuǎn)16進(jìn)制DECO譯碼ENCO高位編碼ENCOL低位編碼GRY二進(jìn)制數(shù)轉(zhuǎn)格雷碼GBIN格雷碼轉(zhuǎn)二進(jìn)制數(shù)據(jù)轉(zhuǎn)換指令用于轉(zhuǎn)換各種數(shù)據(jù)的類型,包含指令如下表所示:2.6.1基本應(yīng)用指令(WTD)(D0)→(D11,D10)單字整數(shù)雙字整數(shù)1、單字整數(shù)轉(zhuǎn)雙字整數(shù)[WTD]單字整數(shù)轉(zhuǎn)雙字整數(shù)是將指定軟元件中的數(shù)據(jù)進(jìn)行單字轉(zhuǎn)雙字操作的指令。指令說明如圖所示:當(dāng)單字D0是正整數(shù)時,執(zhí)行該指令后,雙字D10的高16位補(bǔ)0;當(dāng)單字D0是負(fù)整數(shù)時,執(zhí)行該指令后,雙字D10的高16位補(bǔ)1。值得注意的是,這里的高位補(bǔ)0或1,均是指二進(jìn)制數(shù)。2.6.2基本應(yīng)用指令(FLT)(D11,D10)→(D13,D12)BIN整數(shù)二進(jìn)制浮點(diǎn)值(D10)→

(D13,D12)BIN整數(shù)二進(jìn)制浮點(diǎn)值(D13,D12,D11,D10)→(D15,D14)BIN整數(shù)二進(jìn)制浮點(diǎn)值2、整數(shù)轉(zhuǎn)浮點(diǎn)數(shù)[FLT]

整數(shù)轉(zhuǎn)浮點(diǎn)數(shù)是將指定數(shù)據(jù)或軟元件中的整數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)的指令。指令說明如圖5-54所示:

《16位》《32位》

《64位》2.6.2基本應(yīng)用指令(FLT)

二進(jìn)制整數(shù)值與二進(jìn)制浮點(diǎn)值間的轉(zhuǎn)換指令。在進(jìn)行浮點(diǎn)運(yùn)算時,若操作數(shù)是整數(shù),則必須要先轉(zhuǎn)換成浮點(diǎn)數(shù)再進(jìn)行運(yùn)算,否則會出錯。常數(shù)K、H在各浮點(diǎn)運(yùn)算指令中被自動轉(zhuǎn)換,可以不用FLT指令。這個指令的逆變換指令是INT。假設(shè)有如下指令初始設(shè)D0的值為整數(shù)20,執(zhí)行指令后,D10的值為浮點(diǎn)數(shù)20。在自由監(jiān)控中添加D10,選擇浮點(diǎn)類型,可以正確的監(jiān)控到D10的值。自由監(jiān)控數(shù)據(jù)如下:上圖所示,D0為整數(shù)20,D10為浮點(diǎn)數(shù)20,當(dāng)D10選擇雙字類型監(jiān)控時,數(shù)據(jù)顯示不是20。這是因為整數(shù)和浮點(diǎn)數(shù)在底層存放格式不一樣,所以監(jiān)控浮點(diǎn)數(shù)時應(yīng)該用自由監(jiān)控,選擇浮點(diǎn)類型監(jiān)控,才能查看到正確的數(shù)據(jù)。2.6.2基本應(yīng)用指令(FLT)(D11,D10)

(D20)二進(jìn)制浮點(diǎn)BIN整數(shù)小數(shù)點(diǎn)以后的數(shù)舍去(D11,D10)

(D20,D21)二進(jìn)制浮點(diǎn)BIN整數(shù)小數(shù)點(diǎn)以后的數(shù)舍去3、浮點(diǎn)轉(zhuǎn)整數(shù)[INT]

浮點(diǎn)轉(zhuǎn)整數(shù)是將指定軟元件中的浮點(diǎn)數(shù)轉(zhuǎn)換為整數(shù)的指令。指令說明如圖所示:

《16位指令》《32位指令》將源數(shù)據(jù)地址內(nèi)的二進(jìn)制浮點(diǎn)值轉(zhuǎn)換為BIN整數(shù),存入目標(biāo)地址中。此時,舍去小數(shù)點(diǎn)以后的值。此指令為FLT指令的逆變換。2.6.3基本應(yīng)用指令(INT)源(BCD)→目標(biāo)(BIN)的轉(zhuǎn)換傳送。4、BCD轉(zhuǎn)二進(jìn)制[BIN]BCD轉(zhuǎn)二進(jìn)制是將指定軟元件中的BCD碼轉(zhuǎn)換為二進(jìn)制數(shù)的指令。指令說明如圖所示:可編程控制器獲取BCD數(shù)字開關(guān)的設(shè)定值時使用。源數(shù)據(jù)不是BCD碼時,會置位M8067(運(yùn)算錯誤)、M8004(錯誤發(fā)生)。因為常數(shù)K自動地轉(zhuǎn)換二進(jìn)制,所以不成為這個指令適用軟件元件。假設(shè)D10中存放的是BCD碼形式的21(10,0001),則經(jīng)過轉(zhuǎn)換(X0g接通一次)后,D0的值變?yōu)镵21(1,0101)。

二進(jìn)制轉(zhuǎn)BCD碼指令是BCD轉(zhuǎn)二進(jìn)制指令的逆指令,其功能就不再贅述2.6.4基本應(yīng)用指令(BIN)nDK4D200下[0]D200上[A]D201下[B]D201上[C]故D200里存儲的結(jié)果為H4130,D201存儲的結(jié)果是H43425、十六進(jìn)制轉(zhuǎn)ASCII[ASCI]十六進(jìn)制轉(zhuǎn)ASCII是將指定軟元件中的十六進(jìn)制數(shù)轉(zhuǎn)換為ASCII碼的指令。指令說明如圖所示:由于一個ASCII字符可用兩位16進(jìn)制數(shù)據(jù)表示即8位二進(jìn)制表示,所以低8位、高8位,分別存儲一個ASCII數(shù)據(jù)。

HEX數(shù)據(jù)的各位轉(zhuǎn)換成ASCII碼,向的高8位、低8位分別傳送。轉(zhuǎn)換的字符數(shù)用n指定。

上例程序轉(zhuǎn)換如下:指定起始元件:(D100)=0ABCH2.6.5基本應(yīng)用指令(ASCL)(S·)

ASCII碼HEX轉(zhuǎn)換D200下30H0D200上41HAD201下42HBD201上43HC(D·)nD10040ABCH6、ASCII轉(zhuǎn)十六進(jìn)制[HEX]ASCII轉(zhuǎn)十六進(jìn)制是將指定軟元件中的ASCII碼轉(zhuǎn)換為十六進(jìn)制數(shù)的指令。指令說明如圖所示:ASCII轉(zhuǎn)十六進(jìn)制是十六進(jìn)制轉(zhuǎn)ASCII的逆指令,上例程序轉(zhuǎn)換的情況如下所示:n=k42.6.6基本應(yīng)用指令(HEX)①②③7、譯碼[DECO]譯碼是將任意一個數(shù)字?jǐn)?shù)據(jù)轉(zhuǎn)換為1點(diǎn)的ON位的指令。指令說明如圖所示:是位軟元件時(n≤16)譯碼指令說明源地址是1+2=3,因此從M10起第3位的M13變?yōu)?。源全部為0時,M10為1。n=0時不處理,n=0~16以外時會不執(zhí)行指令。n=16時,如果譯碼命令為位軟元件時,其點(diǎn)數(shù)是2^16=65536。2.6.7基本應(yīng)用指令(DECO)①②③全部轉(zhuǎn)化為0驅(qū)動輸入為OFF時,指令不執(zhí)行,正在動作的譯碼輸出保持動作。是字軟元件時(n≤4)譯碼指令說明源地址的低n位(n≤4)被解碼至目標(biāo)地址。n≤3時,目標(biāo)的高位都轉(zhuǎn)為0。n=0時不處理,n=0~4以外時,不執(zhí)行指令。2.6.7基本應(yīng)用指令(DECO)①②全成為0忽略M11中的“1”8、高位編碼[ENCO]高位編碼是求出在數(shù)據(jù)中最高為ON位的位置的指令。指令說明如圖所示:是位軟元件時(n≤16)譯碼指令說明2.6.8基本應(yīng)用指令(ENCO)③①②全成為0被忽視忽略b1中的“1”是字軟元件時(n≤4)譯碼指令說明源地址內(nèi)的多個位是1時,忽略低位側(cè),另外源地址都為0時會不執(zhí)行指令。驅(qū)動輸入為OFF時,指令不被執(zhí)行,編碼輸出不變化。n=16時,編碼指令的如果是位元件,其點(diǎn)數(shù)為2^16=65536。2.68基本應(yīng)用指令(ENCO)全成為0忽略M15中的“1”③①②9、低位編碼[ENCOL]低位編碼是求出在數(shù)據(jù)中低位為ON位的位置的指令。指令說明如圖所示:是位軟元件時(n≤16)譯碼指令說明2.6.9基本應(yīng)用指令(ENCOL)忽略b5位的“1”③①②全成為0被忽視是字軟元件時(n≤4)譯碼指令說明源地址內(nèi)的多個位是1時,忽略高位側(cè),另外源地址都為0時會不執(zhí)行指令。驅(qū)動輸入為OFF時,指令不被執(zhí)行,編碼輸出不變化。n=16時,編碼指令的如果是位元件,其點(diǎn)數(shù)為2^16=65536。2.6.9基本應(yīng)用指令(ENCOL)10、二進(jìn)制轉(zhuǎn)格雷碼[GRY]二進(jìn)制轉(zhuǎn)格雷碼是將指定二進(jìn)制數(shù)轉(zhuǎn)換為格雷碼的指令。指令說明如圖所示:轉(zhuǎn)換過程如圖所示:從D10的最右邊一位起,依次將每一位與左邊一位異或(相同為“0”,相異為“1”),作為對應(yīng)格雷碼該位的值,最左邊一位不變(相當(dāng)于左邊是0);轉(zhuǎn)換的結(jié)果存入D100中。2.6.10基本應(yīng)用指令(GRY)11、格雷碼轉(zhuǎn)二進(jìn)制[GBIN]格雷碼轉(zhuǎn)二進(jìn)制是將指定格雷碼轉(zhuǎn)換為二進(jìn)制數(shù)的指令。指令說明如圖所示:轉(zhuǎn)換過程如圖5-69所示:從D10的左邊第二位起,將每位與左邊一位解碼后的值異或(相同為“0”,相異為“1”),作為該位解碼后的值(最左邊一位依然不變)。轉(zhuǎn)換的結(jié)果存入D100中。2.6.11基本應(yīng)用指令(GBIN)浮點(diǎn)運(yùn)算指令第二節(jié)基本應(yīng)用指令2.7基本應(yīng)用指令(浮點(diǎn)運(yùn)算)指令助記符指令功能ECMP浮點(diǎn)數(shù)比較EZCP浮點(diǎn)數(shù)區(qū)間比較EADD浮點(diǎn)數(shù)加法ESUB浮點(diǎn)數(shù)減法EMUL浮點(diǎn)數(shù)乘法EDIV浮點(diǎn)數(shù)除法ESQR浮點(diǎn)數(shù)開方SIN浮點(diǎn)數(shù)SIN運(yùn)算COS浮點(diǎn)數(shù)COS運(yùn)算TAN浮點(diǎn)數(shù)TAN運(yùn)算ASIN浮點(diǎn)數(shù)反SIN運(yùn)算ACOS浮點(diǎn)數(shù)反COS運(yùn)算ATAN浮點(diǎn)數(shù)反TAN運(yùn)算很多場合下,整數(shù)運(yùn)算的精度往往不能滿足用戶的要求,這就需要用到浮點(diǎn)運(yùn)算指令。浮點(diǎn)數(shù)運(yùn)算包含指令如下表所示:

從上表可以看出,浮點(diǎn)數(shù)指令除了三角函數(shù)和反三角函數(shù)外,其余的比較指令和加減法指令,均有對應(yīng)的整數(shù)指令,與整數(shù)用法相似,需要注意的有兩點(diǎn):①浮點(diǎn)數(shù)運(yùn)算前,若操作數(shù)不是浮點(diǎn)數(shù)類型,則需要先轉(zhuǎn)換成浮點(diǎn)數(shù)類型再參與計算。且轉(zhuǎn)換時,無論是16位整數(shù)、32位整數(shù)還是64位整數(shù),轉(zhuǎn)換成的浮點(diǎn)數(shù)均占用兩個地址連續(xù)的寄存器。②浮點(diǎn)數(shù)運(yùn)算過程中,無論是單字相乘還是雙字相乘,乘法運(yùn)算的結(jié)果仍存放在兩個地址連續(xù)的寄存器中,除法運(yùn)算的結(jié)果則不存在商和余數(shù),直接以小數(shù)的形式存放在兩個地址連續(xù)的寄存器中。2.7基本應(yīng)用指令(浮點(diǎn)運(yùn)算)【控制要求】

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論