<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 三菱PLC的指令系統(tǒng)和編程規(guī)則及注意事項(xiàng)

          三菱PLC的指令系統(tǒng)和編程規(guī)則及注意事項(xiàng)

          作者: 時(shí)間:2016-12-16 來源:網(wǎng)絡(luò) 收藏
          FN2X系列有基本順序指令20條,步進(jìn)指令2條,功能指令128條。

          一、基本指令

          本文引用地址:http://www.ex-cimer.com/article/201612/330729.htm

          1、輸入輸出指令LD、LDI、OUT

          LD、LDI、OUT三條指令的功能、梯形圖表示形式、操作元件見表1。

          表1 LD、LDI、OUT指令的功能、梯形圖表示形式、操作元件

          LD與LDI指令用于與母線相連的觸點(diǎn),此外還可用于分支電路的起點(diǎn)。OUT 指令是線圈的驅(qū)動(dòng)指令,可用于輸出繼電器、輔助繼電器、定時(shí)器、計(jì)數(shù)器、狀態(tài)寄存器等,但不能用于輸入繼電器。輸出指令用于并行輸出,能連續(xù)使用多次。圖1是LD、OUT指令的示例。

          圖1 LD、OUT指令

          2、觸點(diǎn)串聯(lián)指令A(yù)ND、ANDI和并聯(lián)指令OR、ORI

          AND、ANDI指令用于一個(gè)觸點(diǎn)的串聯(lián),OR、ORI指令用于一個(gè)觸點(diǎn)的并聯(lián)。其功能、梯形圖表示形式、操作元件見表2。

          表2 AND、ANDI和OR、ORI指令的功能、梯形圖表示形式、操作元件

          3、電路塊的并聯(lián)指令ORB和串聯(lián)指令A(yù)NB

          含有兩個(gè)以上觸點(diǎn)串聯(lián)連接的電路稱為“串聯(lián)連接塊”,串聯(lián)電路塊并聯(lián)連接時(shí),支路的起點(diǎn)使用LD或LDI指令,而支路的終點(diǎn)要用ORB指令。ORB指令是一種獨(dú)立指令,其后不帶操作元件號(hào),因此,ORB指令不表示觸點(diǎn),可以看成電路塊之間的一段連接線。如需要將多個(gè)電路塊并聯(lián)連接,應(yīng)在每個(gè)并聯(lián)電路塊之后使用一個(gè)ORB指令,用這種方法編程時(shí)并聯(lián)電路塊的個(gè)數(shù)沒有限制;也可將所有要并聯(lián)的電路塊依次寫出,然后在這些電路塊的末尾集中寫出ORB的指令,但這時(shí)ORB指令最多使用7次。

          將分支電路(并聯(lián)電路塊)與前面的電路串聯(lián)連接時(shí)使用ANB指令,各并聯(lián)電路塊的起點(diǎn)使用LD或LDI指令;與ORB指令一樣,ANB指令也不帶操作元件,如需要將多個(gè)電路塊串聯(lián)連接,應(yīng)在每個(gè)串聯(lián)電路塊之后使用一個(gè)ANB指令,用這種方法編程時(shí)串聯(lián)電路塊的個(gè)數(shù)沒有限制,若集中使用ANB指令,最多使用7次。圖2是ANB、ORB指令的示例。

          圖2 ANB、ORB指令

          4、多重輸出指令MPS、MRD、MPP

          MPS為進(jìn)棧指令,MRD為讀棧指令,MPP為出棧指令。

          FX2N系列plc中有11個(gè)存儲(chǔ)運(yùn)算中間結(jié)果的存儲(chǔ)器,稱之為棧存儲(chǔ)器。進(jìn)棧MPS指令是將運(yùn)算中間結(jié)果存入棧存儲(chǔ)器,使用一次MPS指令,該時(shí)刻的運(yùn)算結(jié)果就壓入棧存儲(chǔ)器第一級(jí),再使用一次MPS指令時(shí),當(dāng)時(shí)的運(yùn)算結(jié)果壓入棧的第一級(jí),先壓入的數(shù)據(jù)依次向棧的下一級(jí)推移。出棧MPP指令是將存入棧存儲(chǔ)器的各數(shù)據(jù)依次上移,最上級(jí)數(shù)據(jù)讀出后就從棧內(nèi)消失。讀棧MRD指令是存入棧存儲(chǔ)器的最上級(jí)的最新數(shù)據(jù)的讀出專用指令,棧內(nèi)的數(shù)據(jù)不發(fā)生上、下移。

          圖3 MPS、MRD、MPP指令

          使用MPS、MRD、MPP指令時(shí)應(yīng)注意以下幾點(diǎn):

          (1)MPS、MRD、MPP指令用于多重輸出電路。

          (2)MPS與MPP必須配對(duì)使用。

          (3)MPS與MPP連續(xù)使用必須少于11次。

          5、主控指令MC和主控復(fù)位指令MCR

          MC為主控指令,用于公共串聯(lián)觸點(diǎn)的連接。MCR叫主控復(fù)位指令,即MC的復(fù)位指令。在編程時(shí),經(jīng)常遇到多個(gè)線圈同時(shí)受一個(gè)或一組觸點(diǎn)控制的情況。如果在每個(gè)線圈的控制電路中都串入同樣的觸點(diǎn),則將多占用存儲(chǔ)單元,應(yīng)用主控指令可以解決這一問題。

          使用主控指令的觸點(diǎn)稱為主控觸點(diǎn),它在梯形圖中與一般的觸點(diǎn)垂直。它們是與母線相連的常開觸點(diǎn),是控制一組電路的總開關(guān)。MC、MCR指令的使用說明如圖4所示。

          MC指令是3程序步,MCR指令是2程序步,兩條指令的操作目標(biāo)元件是Y、M,但不允許使用特殊輔助繼電器M。

          當(dāng)圖4中的X000接通時(shí),執(zhí)行MC與MCR之間的指令;當(dāng)輸入條件斷開時(shí),不執(zhí)行MC與 MCR之間的指令。此時(shí),非積算定時(shí)器和用OUT指令驅(qū)動(dòng)的元件復(fù)位,積算定時(shí)器、計(jì)數(shù)器、用SET/RST指令驅(qū)動(dòng)的元件保持當(dāng)前的狀態(tài)。使用MC指令后,母線移到主控觸點(diǎn)的后面,與主控觸點(diǎn)相連的觸點(diǎn)必須用LD或LDI指令。MCR使母線返回到原來的位置。(http://www.diangon.com/版權(quán)所有)在MC指令區(qū)內(nèi)使用MC指令稱為嵌套,嵌套級(jí)N的編號(hào)(0~7)順次增大,返回時(shí)用MCR指令,從大的嵌套級(jí)開始解除。通過更改軟元件號(hào)Y、M,可多次使用主控指令MC。但如果使用同一軟元件號(hào),就同OUT指令一樣,會(huì)出現(xiàn)雙線圈輸出。

          圖4 MC、MCR指令

          6、置位指令SET與復(fù)位指令RST

          SET為置位指令,其功能是使元件置位,并保持直至復(fù)位為止。RST為復(fù)位指令,其功能是使元件復(fù)位并保持,直至置位為止。SET、RST指令的使用說明如圖5所示。由波形圖可見,X000接通后,即使再變成斷開,Y000也保持接通。X001接通后,即使再變成斷開,Y0也將保持?jǐn)嚅_。SET指令的操作目標(biāo)元件為Y、M、S,而RST指令的操作元件為Y、M、S、D、V、Z、T、C。對(duì)同一編程元件,如例中Y000、M000、S000等,SET、RST指令可以多次使用,且不限制使用順序,以最后執(zhí)行者有效。


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();