09三菱fx系列plc及其指令系統(tǒng)

09三菱fx系列plc及其指令系統(tǒng)

ID:40236044

大?。?.02 MB

頁數(shù):172頁

時間:2019-07-27

上傳者:山楂樹
09三菱fx系列plc及其指令系統(tǒng)_第1頁
09三菱fx系列plc及其指令系統(tǒng)_第2頁
09三菱fx系列plc及其指令系統(tǒng)_第3頁
09三菱fx系列plc及其指令系統(tǒng)_第4頁
09三菱fx系列plc及其指令系統(tǒng)_第5頁
資源描述:

《09三菱fx系列plc及其指令系統(tǒng)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

第9章三菱FX系列PLC及其指令系統(tǒng)返回總目錄 日本三菱電機(jī)公司(MITSUBISHI)于1971年開始研制PLC,目前主要有F1、F2、FX、K、A等十幾個系列幾十種產(chǎn)品。三菱PLC在我國的工業(yè)控制領(lǐng)域具有一定的市場占有率,本章介紹其代表性產(chǎn)品FX系列超小型機(jī)。 本章內(nèi)容●9.1FX系列PLC簡介●9.2FX系列PLC的編程元件●9.3FX系列PLC的基本指令●9.4FX系列PLC功能指令●思考題與習(xí)題 9.1FX系列PLC簡介9.1.1FX系列PLC的特點(diǎn)FX系列PLC由基本單元、擴(kuò)展單元、擴(kuò)展模塊及特殊功能單元構(gòu)成。FX系列PLC有多種型號產(chǎn)品供用戶選擇,以滿足不同應(yīng)用場合的需求。如FX0N、FX0S、FX1N、FX1S、FX2、FX2N等。20世紀(jì)90年代,三菱公司推出了FX2N系列產(chǎn)品,該系列產(chǎn)品具有小型化,速度快,性能好的特點(diǎn)。系統(tǒng)配置既固定又靈活,在基本單元上連接擴(kuò)展單元或擴(kuò)展模塊,可進(jìn)行16~256點(diǎn)的靈活輸入/輸出組合;程序容量大,內(nèi)置800步RAM(可輸入注釋),可使用存儲盒,最大可擴(kuò)充至16K步;編程指令豐富,有27條基本指令、2條步進(jìn)指令和128種功能指令,可完成諸如高速處理、數(shù)據(jù)檢索、數(shù)據(jù)排列、三角函數(shù)運(yùn)算、脈沖輸出(20kHz/DC5V,10kHz/DC12V~24V)、脈寬調(diào)制、PID控制指令等功能。 9.1.2FX系列PLC型號名稱的含義FX系列PLC型號的命名基本格式如圖9.1所示。圖9.1FX系列PLC型號命名格式系列序號0S,0N,1N,1S,2N,2NC等。I/O總點(diǎn)數(shù)14~256。單元類型M——基本單元;E——輸入/輸出混合擴(kuò)展單元及擴(kuò)展模塊;9.1FX系列PLC簡介 EX——輸入專用擴(kuò)展模塊(無輸出);EY——輸出專用擴(kuò)展模塊(無輸入);EYR——繼電器輸出專用擴(kuò)展模塊;EYT——晶體管輸出專用擴(kuò)展模塊;輸出形式R——繼電器輸出;T——晶體管輸出;S——晶閘管輸出;特殊品種區(qū)別D——DC電源,DC輸入;A1——AC電源,AC輸入;H——大電流輸出擴(kuò)展模塊(1A/點(diǎn));V——立式端子排的擴(kuò)展模塊;C——接插口輸入輸出方式;F——輸入濾波器為1ms的擴(kuò)展模塊;L——TTL輸入型擴(kuò)展模塊;S——獨(dú)立端子(無公共端)擴(kuò)展模塊。9.1FX系列PLC簡介 若特殊品種區(qū)別一項無標(biāo)志,則是指AC電源,DC輸入,橫式端子排;繼電器輸出,2A/點(diǎn);晶體管輸出,0.5A/點(diǎn);晶閘管輸出,0.3A/點(diǎn)。對于混合擴(kuò)展模塊及某些特殊模塊的命名與上述略有不同。9.1FX系列PLC簡介 9.1.3FX系列PLC的技術(shù)指標(biāo)FX系列PLC的技術(shù)指標(biāo)包括一般技術(shù)指標(biāo)、輸入技術(shù)指標(biāo)、輸出技術(shù)指標(biāo)、電源技術(shù)指標(biāo)等。表9-1、表9-2、表9-3分別列出了其中一些指標(biāo)。表9-1FX系列PLC的一般技術(shù)指標(biāo)用噪聲仿真器產(chǎn)生電壓為1000Vp-p,噪聲脈沖寬度為1環(huán)境溫度0~55℃(使用時),-20~70℃(存放時)環(huán)境濕度35%~89%RH(不結(jié)露),(使用時)抗振JISC0911標(biāo)準(zhǔn)10Hz~55Hz,振幅0.5mm(最大ZG)3軸方向各2h抗沖擊JISC0912標(biāo)準(zhǔn)10G3軸方向各3次抗噪聲干擾,周期為3Hz~100Hz的噪聲,在此噪聲干擾下PLC工作正常9.1FX系列PLC簡介 環(huán)境溫度0~55℃(使用時),-20~70℃(存放時)5M耐壓1500VAC1min各端子與接地之間絕緣電阻以上(DC500V兆歐表)接地第3種接地,不能接地時,亦可浮空使用環(huán)境禁止腐蝕性氣體,嚴(yán)禁塵埃、導(dǎo)電微粒和金屬碎屑9.1FX系列PLC簡介 表9-2FX系列PLC的輸入技術(shù)指標(biāo)項目DC輸入AC輸入品種FX0、、FX0N、、FX2、、FX2CFX0N、、FX2CFX2輸入電壓DC24V±10%AC100~120±10%,50/60Hz輸入電流7mA/DC24V5mA/DC24V6.2mA/AC110V,60Hz工作電流ON(mA)≥4.5≥3.5≥3.8OFF(mA)≤1.5≤1≤1.7響應(yīng)時間約10ms,其中FX0的X0~X17和FX0N的X0~X7在0ms~15ms間變動約30ms,不可高速輸入電路隔離電路隔離,光電隔離(FX0,F(xiàn)X0N)9.1FX系列PLC簡介 表9-3FX系列PLC的輸出技術(shù)指標(biāo)項目繼電器輸出晶闡管輸出晶體管輸出外部電源250VAC,30VDC以下85V~242VAC5V~30VDC最大負(fù)載電阻負(fù)載2A/1點(diǎn)0.3A/1點(diǎn)0.8A/4點(diǎn)0.5A/1點(diǎn)0.8A/4點(diǎn)感性負(fù)載80V·A15V·A/AC100V30V·A/AC240V12WDC24V燈負(fù)載100W30W1.5WDC24V開路漏電流—1A/AC100V2.4A/AC240V0.1mA/30VDC最小負(fù)載①0.4V?A/AC100V2.3V?A/AC240V—9.1FX系列PLC簡介 響應(yīng)時間OFF到ON約10ms1ms以下0.2ms以下ON到OFF約10ms最大10ms0.2ms以下②回路隔離繼電器隔離光電晶閘管隔離光電耦合器隔離動作顯示繼電器通電時LED燈亮光電晶閘管隔離驅(qū)動時LED燈亮光電耦合器隔離驅(qū)動時LED燈亮項目繼電器輸出晶闡管輸出晶體管輸出注:①當(dāng)外接電源電壓小于等于24V時,盡量保持5mA以上的電流。②響應(yīng)時間0.2ms是在條件為24V、200mA時,實際所需時間為電路切斷負(fù)載電流到電流為0的時間,可用并接續(xù)流二極管的方法改善響應(yīng)時間。若希望響應(yīng)時間短于0.5ms,應(yīng)保證電流為24V、60mA。9.1FX系列PLC簡介 9.2FX系列PLC的編程元件9.2.1FX系列PLC的用戶數(shù)據(jù)結(jié)構(gòu)1.位元件FX系列PLC有4種基本編程元件。X輸入繼電器,用于直接給PLC輸入物理信號。特點(diǎn)是其狀態(tài)不受PLC程序的控制,只由外部控制現(xiàn)場的信號驅(qū)動。Y輸出繼電器,用于從PLC直接輸出物理信號。特點(diǎn)是其狀態(tài)受PLC程序的控制,并對應(yīng)于輸出接口中的物理繼電器或其他可驅(qū)動的器件。M輔助繼電器,PLC內(nèi)部的運(yùn)算標(biāo)志。實質(zhì)上起著中間繼電器的作用,它們不能直接驅(qū)動執(zhí)行元件。S狀態(tài)繼電器,PLC內(nèi)部的運(yùn)算標(biāo)志。是有特殊用途的專用內(nèi)部繼電器,在監(jiān)控或診斷故障時用來表示PLC內(nèi)部的某些狀態(tài)或工作條件。也可以被用戶程序引用以簡化程序。上述元件稱為位(bit)元件,它們只有兩種不同的狀態(tài),即ON和OFF,可以分別用二進(jìn)制數(shù)1和0表示。位元件用來表示開關(guān)量的狀態(tài),如觸點(diǎn)的通、斷;線圈的通電、斷電。 2.字元件8個連續(xù)的位組成一個字節(jié)(byte),16個連續(xù)的位組成一個字(word),32個連續(xù)的位組成一個雙字(doubleword)。定時器和計數(shù)器的當(dāng)前值和設(shè)定值均為有符號字,最高位(第15位)為符號位,正數(shù)的符號位為0,負(fù)數(shù)的符號位為1。有符號字可以表示的最大正整數(shù)為32767。3.位元件的組合FX系列PLC用KnP的形式表示連續(xù)的位元件組。每組由4個連續(xù)的位元件組成,P為位元件的首地址,n為組數(shù),32位操作數(shù)時n=1~8,16位操作數(shù)時n=1~4。例如K2M0表示由M0~M7組成的兩個位元件組,M0為數(shù)據(jù)的最低位(首位)。還有一種是字與位結(jié)合的數(shù)據(jù)結(jié)構(gòu)。例如定時器和計數(shù)器的觸點(diǎn)為bit,而它們的設(shè)定值寄存器和當(dāng)前值寄存器的內(nèi)容均為字。9.2FX系列PLC的編程元件 9.2.2輸入繼電器和輸出繼電器PLC的存儲器中有一個用來存儲PLC信號輸入/輸出(I/O)狀態(tài)的存儲區(qū),稱為I/O狀態(tài)表。該表上的輸入部分表示現(xiàn)場的輸入信號,稱為輸入繼電器。該表上的輸出部分表示所控制的執(zhí)行單元的狀態(tài),稱為輸出繼電器。某個I/O繼電器實質(zhì)上就是I/O存儲區(qū)中的某一位。在I/O狀態(tài)表中所表示的狀態(tài)都是常開觸點(diǎn)的狀態(tài)。而對于常閉觸點(diǎn),只要將其相應(yīng)的狀態(tài)取反即可。輸入繼電器和輸出繼電器的觸點(diǎn)可以在PLC程序中多次引用,次數(shù)不限。輸入繼電器和輸出繼電器對應(yīng)于PLC的輸入點(diǎn)和輸出點(diǎn)。I/O點(diǎn)數(shù)是PLC的一個重要參數(shù),直接影響到PLC的控制規(guī)模。FX系列PLC梯形圖中的編程元件的名稱由字母和數(shù)字組成,它們分別表示元件的類型和元件號,輸入繼電器名稱用字母X表示,輸出繼電器名稱用字母Y表示。如X24,Y12等。輸入繼電器和輸出繼電器的元件編號是用八進(jìn)制數(shù)表示的。八進(jìn)制數(shù)只有0~7這8個數(shù)字符號,遵循“逢八進(jìn)一”的運(yùn)算規(guī)則。例如八進(jìn)制數(shù)X27和X30是兩個相鄰的整數(shù)。表9-4給出了FX2N系列PLC的輸入/輸出繼電器元件編號。9.2FX系列PLC的編程元件 表9-4FX2N系列PLC的輸入/輸出繼電器元件編號型號FX2N-16MFX2N-32MFX2N-48MFX2N-64MFX2N-80MFX2N-128M擴(kuò)展輸入X0~X78點(diǎn)X0~X1716點(diǎn)X0~X2724點(diǎn)X0~X3732點(diǎn)X0~X4740點(diǎn)X0~X7764點(diǎn)X0~X267184點(diǎn)輸出Y0~Y78點(diǎn)Y0~Y1716點(diǎn)Y0~Y2724點(diǎn)Y0~Y3732點(diǎn)Y0~Y4740點(diǎn)Y0~Y7764點(diǎn)Y0~Y267184點(diǎn)9.2FX系列PLC的編程元件 1.輸入繼電器(X)輸入繼電器是PLC接收外部輸入的開關(guān)量信號的窗口。PLC通過光電耦合器將外部信號的狀態(tài)讀入并存儲在輸入映像區(qū)中。輸入端可以外接控制開關(guān)、按鈕、限位開關(guān)、傳感器、常開觸點(diǎn)或常閉觸點(diǎn),也可以接多個觸點(diǎn)組成的串并聯(lián)電路。在梯形圖中,可以無限次使用輸入繼電器的常開觸點(diǎn)和常閉觸點(diǎn)。圖9.2是一個PLC控制系統(tǒng)示意圖。X0端子外接的輸入電路接通時,它對應(yīng)的輸入映像區(qū)的狀態(tài)為1,斷開時狀態(tài)為0。輸入繼電器的狀態(tài)唯一地取決于外部輸入信號的狀態(tài),不受用戶程序的控制,因此梯形圖中只出現(xiàn)輸入繼電器的觸點(diǎn),不能出現(xiàn)輸入繼電器的線圈。應(yīng)注意的是,因為PLC只是在每一掃描周期開始時讀取輸入信號,輸入信號為ON和OFF的持續(xù)時間應(yīng)大于其掃描周期。若不滿足這一條件,沒有脈沖捕捉功能的PLC會丟失此輸入信號。9.2FX系列PLC的編程元件 圖9.2輸入繼電器與輸出繼電器2.輸出繼電器(Y)輸出繼電器是PLC向外部負(fù)載發(fā)送信號的窗口。輸出繼電器用來將PLC的輸出信號傳送給輸出模塊,再由后者驅(qū)動外部負(fù)載。輸出繼電器的通斷狀態(tài)由程序執(zhí)行結(jié)果決定,在PLC內(nèi)部,它有一個線圈和許多對的常開觸點(diǎn)、常閉觸點(diǎn),觸點(diǎn)可以無限次使用。如圖9.2梯形圖中Y4的線圈“通電”,繼電器型輸出模塊中對應(yīng)的硬件繼電器的常開觸點(diǎn)閉合,使外部負(fù)載工作。9.2FX系列PLC的編程元件 9.2.3輔助繼電器(M)PLC中設(shè)有許多輔助繼電器,其名稱用字母M表示。每一個輔助繼電器的線圈也有許多常開觸點(diǎn)和常閉觸點(diǎn),供用戶編程時使用。一個輔助繼電器實質(zhì)上是PLC中的一個存儲單元(位),在程序中起著類似于繼電器控制系統(tǒng)中的中間繼電器的作用。它們不能接收外部的輸入信號,也不能直接驅(qū)動外部負(fù)載,是一種內(nèi)部狀態(tài)標(biāo)志。由于這些繼電器的存在,使PLC的功能大為加強(qiáng),編程變得十分靈活。FX2N系列PLC的輔助繼電器分為通用輔助繼電器、電池后備/鎖存輔助繼電器、特殊輔助繼電器3種。1.通用輔助繼電器FX2N系列PLC的通用輔助繼電器的元件編號為M0~M499,共500點(diǎn)。在用戶程序中可做中間繼電器使用。FX2N系列PLC的通用輔助繼電器沒有斷電保持功能。在FX2N系列PLC中,除了輸入繼電器和輸出繼電器的元件號采用八進(jìn)制外,通用輔助繼電器和其他編程元件編號均采用十進(jìn)制。如果在PLC運(yùn)行時電源突然中斷,輸出繼電器和通用輔助繼電器將全部變?yōu)镺FF。若電源再次接通,除了因外部輸入信號而變?yōu)镺N的以外,其余的仍將保持為OFF狀態(tài)。9.2FX系列PLC的編程元件 2.電池后備/鎖存輔助繼電器FX2N系列PLC的電池后備/鎖存輔助繼電器的元件編號為M500~M3071,共2572點(diǎn)。電池后備/鎖存輔助繼電器在電源中斷時用鋰電池保持它們的映像區(qū)中的內(nèi)容,或?qū)⑺鼈儽4嬖贓2PROM中。PLC重新通電后的第一個掃描周期將保持其斷電瞬間的狀態(tài)。其中的M500~M1023可以用軟件來設(shè)定使其成為非斷電保持輔助繼電器。某些控制系統(tǒng)要求記憶電源中斷瞬間的狀態(tài),重新通電后再現(xiàn)其狀態(tài),電池后備/鎖存輔助繼電器可以用于這種場合。假設(shè)圖9.3中X0和X1分別是啟動按鈕和停止按鈕,則M600通過Y0控制外部的電動機(jī),如果電源中斷時M600為1狀態(tài),因為電路的記憶作用,PLC重新通電后,M600將保持為1狀態(tài),使Y0繼續(xù)為ON,電動機(jī)重新開始運(yùn)行。圖9.3繼電保持功能9.2FX系列PLC的編程元件 應(yīng)注意的是,電池后備/鎖存輔助繼電器只是在PLC重新通電后的第一個掃描周期保持?jǐn)嚯娝查g的狀態(tài)。3.特殊輔助繼電器FX2N系列PLC的特殊輔助繼電器的元件編號為M8000~M8255,共256點(diǎn)。它們用來表示PLC的某些狀態(tài),起著有特殊用途的專用內(nèi)部繼電器的作用,提供時鐘脈沖和標(biāo)志(如進(jìn)位、借位標(biāo)志),設(shè)定PLC的運(yùn)行方式,或者用于步進(jìn)順控、禁止中斷、計數(shù)器的加、減計數(shù)設(shè)定等。特殊輔助繼電器分為觸點(diǎn)利用型和線圈驅(qū)動器型兩類。1)觸點(diǎn)利用型觸點(diǎn)利用型特殊輔助繼電器的線圈由PLC的系統(tǒng)程序驅(qū)動,用戶程序直接使用其觸點(diǎn),用戶程序中不出現(xiàn)它們的線圈,下面是幾個例子。M8000運(yùn)行監(jiān)視繼電器,當(dāng)PLC執(zhí)行用戶程序時,M8000為ON;停止執(zhí)行時,M8000為OFF。M8002初始化脈沖繼電器,M8002僅在M8000由OFF變?yōu)镺N狀態(tài)時的一個掃描周期內(nèi)為ON。可以用M8002的常開觸點(diǎn)對有斷電保持功能的元件進(jìn)行初始化、復(fù)位或置初始值。9.2FX系列PLC的編程元件 M8005鋰電池電壓降低報警繼電器,當(dāng)鋰電池電壓下降至規(guī)定值時變?yōu)镺N,可以用它的觸點(diǎn)驅(qū)動輸出繼電器和外部指示燈提醒工作人員更換鋰電池。M8011~M8014分別是10ms,100ms,1s和1min時鐘脈沖繼電器。以10ms時鐘脈沖繼電器為例說明它們的功能。10ms時鐘脈沖繼電器的功能是其觸點(diǎn)以10ms為周期重復(fù)通/斷動作,即ON:5ms,OFF:5ms。如圖9.4所示。圖9.4時序圖9.2FX系列PLC的編程元件 2)線圈驅(qū)動器型線圈驅(qū)動器型特殊輔助繼電器的線圈由用戶程序驅(qū)動,使PLC執(zhí)行特定操作,用戶并不使用它們的觸點(diǎn)。下面是幾個例子。M8030的線圈“通電”后,“電池電壓降低”發(fā)光二極管熄滅。M8033的線圈“通電”時,PLC進(jìn)入STOP狀態(tài)后,所有輸出繼電器的狀態(tài)保持不變。M8034的線圈“通電”時,禁止所有的輸出。M8039的線圈“通電”時,PLC以D8039中指定的掃描時間工作。9.2FX系列PLC的編程元件 9.2.4狀態(tài)繼電器(S)狀態(tài)繼電器是用于編制順序控制程序的一種編程元件(狀態(tài)標(biāo)志),它與STL指令(步進(jìn)梯形指令)一起使用。FX2N系列PLC的狀態(tài)繼電器的元件編號為S0~S999,共1000點(diǎn)。分為通用狀態(tài)繼電器、鎖存狀態(tài)繼電器和報警器用狀態(tài)繼電器3種類型。在不對狀態(tài)使用步進(jìn)梯形指令時,也可以把它們作為通用的輔助繼電器(M)使用。1.通用狀態(tài)繼電器通用狀態(tài)繼電器的元件編號為S0~S499,共500點(diǎn)。通用狀態(tài)繼電器沒有斷點(diǎn)保持功能。但可以通過程序設(shè)定。在使用IST(初始化狀態(tài)功能)指令時,其中的S0~S9供初始狀態(tài)使用;S10~S19供返回原點(diǎn)使用。2.鎖存狀態(tài)繼電器鎖存狀態(tài)繼電器的元件編號為S500~S899,共400點(diǎn)。具有斷電保持功能。鎖存狀態(tài)繼電器在PLC斷電時用帶鋰電池的RAM或E2PROM保存其ON/OFF狀態(tài)。3.報警器用狀態(tài)繼電器報警器用狀態(tài)繼電器的元件編號為S900~S999,共100點(diǎn)。在使用應(yīng)用指令A(yù)NS(信號報警器置位)和ANR(信號報警器復(fù)位)時,狀態(tài)繼電器S900~S999可以用作外部故障診斷的輸出,成為信號報警器。9.2FX系列PLC的編程元件 9.2.5定時器(T)PLC中的定時器相當(dāng)于繼電器控制系統(tǒng)中的時間繼電器。它有一個設(shè)定值寄存器(一個字長)、一個當(dāng)前值寄存器(一個字長)和一個用來存儲其輸出觸點(diǎn)狀態(tài)的映像區(qū)(占二進(jìn)制的一位),這3個存儲單元使用同一個元件號。FX2N系列PLC的定時器分為通用定時器和積算定時器。PLC的定時器都有時間基數(shù),在編程時,應(yīng)給出一個時間常數(shù)即初始設(shè)定值。實際的定時時間值為時間基數(shù)乘以時間常數(shù)的積。PLC的定時器內(nèi)部結(jié)構(gòu)實際上是一個時間寄存器,將時間寄存器預(yù)置一個設(shè)定值(時間常數(shù))后,在時鐘脈沖作用下,進(jìn)行加一操作。當(dāng)時間寄存器的內(nèi)容等于設(shè)定值時,表示定時時間到,定時器則有輸出。常數(shù)K和數(shù)據(jù)存儲器(D)的內(nèi)容都可以作為定時器的設(shè)定值。例如外部數(shù)字開關(guān)輸入的數(shù)據(jù)可以存入數(shù)據(jù)寄存器,作為定時器的設(shè)定值。應(yīng)注意的是,外部設(shè)定的時間常數(shù)必須是一個0~32767之間的BCD碼值,否則將出錯。1.通用定時器FX2N系列PLC各系列的定時器個數(shù)和元件編號見表9-5。9.2FX系列PLC的編程元件 表9-5FX2N系列PLC的定時器定時器時間基數(shù)元件編號元件個數(shù)100ms通用定時器100msT0~T19920010ms通用定時器10msT200~T245461ms積算定時器1msT246~T2494100ms積算定時器100msT250~T2556其中,T192~T199、T246~T249為子程序和中斷服務(wù)程序?qū)S玫亩〞r器。通過計算可知,100ms定時器的定時范圍為0.1s~3276.7s。通用定時器沒有保持功能,在控制條件為斷開或停電時將復(fù)位。FX2N系列定時器只能提供其線圈“通電”后延遲動作的觸點(diǎn)。圖9.5所示為100ms定時器,控制觸點(diǎn)X1接通時,T120的當(dāng)前值寄存器從0開始,對100ms的時鐘脈沖進(jìn)行累加記數(shù)。當(dāng)前值等于設(shè)定值268時,定時器的常開觸點(diǎn)接通,常閉觸點(diǎn)斷開。即T120的輸出觸點(diǎn)在其線圈被驅(qū)動100ms×268=26.8s后動作。X1的常開觸點(diǎn)斷開后,定時器T120則復(fù)位,當(dāng)前值恢復(fù)為0,它的常開觸點(diǎn)斷開。其邏輯功能是控制觸點(diǎn)X1接通時,T120開始定時,26.8s后,Y5輸出為1。9.2FX系列PLC的編程元件 圖9.5100ms定時器9.2FX系列PLC的編程元件 2.積算定時器100ms積算定時器有T250~T255,具有保持功能。即其控制條件為邏輯1時開始定時,在定時過程中如果控制條件變?yōu)檫壿?或PLC斷電,積算定時器停止定時且保持當(dāng)前值,當(dāng)控制條件再次為邏輯1或PLC上電,則繼續(xù)定時,時間累計,直到定時時間到。通過計算可知,100ms積算定時器的定時范圍為0.1s~3276.7s。圖9.6是100ms積算定時器的梯形圖。X1的常開觸點(diǎn)接通時,T250的當(dāng)前值寄存器對100ms時鐘脈沖進(jìn)行累加計數(shù)。X1的常開觸點(diǎn)斷開或停電時停止定時,當(dāng)前值保持不變。X1的常開觸點(diǎn)再次接通或重新上電時繼續(xù)定時,累計時間為855×100ms=85.5s時,T250的觸點(diǎn)動作。因為積算定時器的線圈斷電時不復(fù)位,需要用X2的常開觸點(diǎn)使T250強(qiáng)制復(fù)位。其邏輯功能是控制觸點(diǎn)X1接通時,T250開始定時,85.5s到后,Y5輸出為1。當(dāng)控制觸點(diǎn)X2接通時,復(fù)位指令RST使T250復(fù)位。3.定時器的定時精度定時器的精度與程序的安排有關(guān),如果定時器的觸點(diǎn)在線圈之前,精度將會降低。最小定時誤差為輸入濾波器時間減去定時器的分辨率,1ms、10ms和100ms定時器的分辨率分別1ms、10ms和100ms。9.2FX系列PLC的編程元件 圖9.6100ms積算定時器梯形圖9.2FX系列PLC的編程元件 9.2.6計數(shù)器(C)PLC設(shè)有用于內(nèi)部計數(shù)的內(nèi)部計數(shù)器C0~C234,共235點(diǎn)。還有用于外部輸入端X0~X7計數(shù)的高速計數(shù)器C235~C255,共21點(diǎn)。內(nèi)部計數(shù)器用來對PLC的內(nèi)部映像區(qū)X,Y,M,S信號進(jìn)行記數(shù),記數(shù)脈沖為ON或OFF的持續(xù)時間,且持續(xù)時間應(yīng)大于PLC的掃描周期,其響應(yīng)速度通常小于幾十赫茲。FX2N系列PLC的內(nèi)部計數(shù)器有16位加計數(shù)器和32位雙向計數(shù)器兩種。此外,還有對外部高速脈沖計數(shù)的高速計數(shù)器(HSC)。1.16位加計數(shù)器16位計數(shù)器可以分為16位通用計數(shù)器和16位電池后備/鎖存計數(shù)器。設(shè)定值為1~32767。16位通用計數(shù)器為C0~C99,共100點(diǎn)。16位電池后備/鎖存計數(shù)器為C100~C199,共100點(diǎn)。電池后備鎖存計數(shù)器可累計計數(shù),它們在電源中斷時可保持其狀態(tài)信息,重新送電后能立即按斷電時的狀態(tài)恢復(fù)工作。即在電源中斷時,計數(shù)器停止計數(shù),并保持計數(shù)當(dāng)前值不變,電源再次接通后在當(dāng)前值的基礎(chǔ)上繼續(xù)計數(shù)。9.2FX系列PLC的編程元件 圖9.716位加計數(shù)器的梯形圖圖9.7給出了16位加計數(shù)器的梯形圖。圖中X0的常開觸點(diǎn)接通后,C8被復(fù)位,它對應(yīng)的位存儲單元被置0,它的常開觸點(diǎn)斷開,常閉觸點(diǎn)接通,同時其計數(shù)當(dāng)前值被置0。X1用來提供計數(shù)輸入信號,當(dāng)計數(shù)器的復(fù)位輸入電路斷開,計數(shù)輸入電路由斷開變?yōu)榻油?即記數(shù)脈沖的上升沿)時,計數(shù)器的當(dāng)前值加1。在5個記數(shù)脈沖之后,C8的當(dāng)前值等于設(shè)定值5,它對應(yīng)的位存儲單元的內(nèi)容被置1,其常開觸點(diǎn)接通,常閉觸點(diǎn)斷開。再來記數(shù)脈沖時當(dāng)前值不變,直到復(fù)位輸入電路接通,計數(shù)器的當(dāng)前值被置為0,其觸點(diǎn)全部復(fù)位。計數(shù)器也可以通過數(shù)據(jù)寄存器來指定設(shè)定值。9.2FX系列PLC的編程元件 2.32位雙向計數(shù)器32位雙向計數(shù)器為C200~C234,共35點(diǎn)。設(shè)定值為-2147483648~+2147483647,其中C200~C219(共20點(diǎn))為通用型,C220~C234(共15點(diǎn))為斷電保持型。32位雙向計數(shù)器的加/減計數(shù)方式由特殊輔助繼電器M8200~M8234設(shè)定,當(dāng)對應(yīng)的特殊輔助繼電器為ON時,為減計數(shù),反之則為加計數(shù)。計數(shù)器的當(dāng)前值在最大值2147483647時加1,將變?yōu)樽钚≈?2147483648,類似地,當(dāng)前值-2147483648減1時,將變?yōu)樽畲笾?2147483647,這種計數(shù)器稱為“環(huán)形計數(shù)器”。32位計數(shù)器的設(shè)定值設(shè)定方法有2個,一是由常數(shù)K設(shè)定,二是通過指定數(shù)據(jù)寄存器設(shè)定。通過指定數(shù)據(jù)寄存器設(shè)定時,32位設(shè)定值存放在元件號相連的兩個數(shù)據(jù)寄存器中。如指定的是D0,則設(shè)定值存放在D1和D0中。圖9.8中C200的設(shè)定值為10,在加計數(shù)時,若計數(shù)器的當(dāng)前值由9增加到10時,計數(shù)器的輸出觸點(diǎn)為ON,當(dāng)前值大于10時,輸出觸點(diǎn)仍為ON。當(dāng)前值由10減少到9時,輸出觸點(diǎn)OFF,當(dāng)前值小于9時,輸出觸點(diǎn)仍為OFF。當(dāng)復(fù)位輸入X13的常開觸點(diǎn)接通時,C200被復(fù)位,其常開觸點(diǎn)斷開,常閉觸點(diǎn)接通,當(dāng)前值被置為0。9.2FX系列PLC的編程元件 3.高速計數(shù)器(HSC)高速計數(shù)器為C235~C255,共21點(diǎn),均為32位加/減計數(shù)器。分為一相高速計數(shù)器(C235~C240)、兩相雙向計數(shù)器(C246~C250)、A-B相型雙計數(shù)輸入高速計數(shù)器(C251~C255)3種。一相和雙向計數(shù)器最高計數(shù)頻率為10kHz,A-B相計數(shù)器最高計數(shù)頻率為5kHz。不同類型的高速計數(shù)器可以同時使用,它們共用PLC的8個高速計數(shù)器輸入端X0~X7,但是,某一輸入端同時只能供一個高速計數(shù)器使用,因此應(yīng)注意高速計數(shù)器輸入不能有沖突。高速計數(shù)器的運(yùn)行建立在中斷的基礎(chǔ)上,與掃描時間無關(guān)。在對外部高速脈沖計數(shù)時,梯形圖中高速計數(shù)器的線圈應(yīng)一直通電,表示與它有關(guān)的輸入點(diǎn)正被使用,其他高速計數(shù)器的處理不能與它沖突。在圖9.9中,當(dāng)控制觸點(diǎn)X14為ON時,選擇了高速計數(shù)器C235,并且指定了C235的計數(shù)輸入端是X0,但是它并不在程序中出現(xiàn),計數(shù)信號并不是X14提供的。其中,C235為一相無啟動/復(fù)位輸入端的高速計數(shù)器,C244為一相帶啟動/復(fù)位端的高速計數(shù)器,M8244設(shè)置C244的計數(shù)方向,ON時為減計數(shù),OFF時為計加數(shù)。C235只能用RST指令來復(fù)位。對C244,X1和X6分別為復(fù)位輸入端和啟動輸入端,它們的復(fù)位和啟動與掃描工作方式無關(guān),其作用是立即的、直接的。如果X12為ON,一旦X6變?yōu)镺N,立即開始計數(shù),計數(shù)輸入端為X0。X6變?yōu)?.2FX系列PLC的編程元件 OFF,立即停止計數(shù)。C244的設(shè)定值由D0和D1指定。除了用X1使之立即復(fù)位外,也可以在梯形圖中用復(fù)位指令復(fù)位。有關(guān)高速計數(shù)器的用法詳見FX2N系列PLC的技術(shù)手冊。圖9.832位雙向計數(shù)器圖9.9一相高速計數(shù)器9.2FX系列PLC的編程元件 9.2.7數(shù)據(jù)寄存器(D)1.通用數(shù)據(jù)寄存器通用數(shù)據(jù)寄存器在模擬量檢測與控制、位置控制等場合用來存儲數(shù)據(jù)和參數(shù),與輔助繼電器M不同,它是純粹的寄存器,不帶任何觸點(diǎn)。通用數(shù)據(jù)寄存器可儲存16位二進(jìn)制數(shù)或一個字,兩個數(shù)據(jù)寄存器合并起來可以存放32位數(shù)據(jù)(雙字)。如在D0和D1組成的雙字中,D0存放低16位,D1存放高16位。字或雙字的最高位為符號位,該位為0時數(shù)據(jù)為正,為1時數(shù)據(jù)為負(fù)。將數(shù)據(jù)寫入通用數(shù)據(jù)寄存器后,其值將保持不變,直到下一次被改寫。PLC從RUN狀態(tài)進(jìn)入STOP狀態(tài)時,所有的通用數(shù)據(jù)寄存器的值被改寫為0。但是,如果特殊輔助繼電器M8033為ON,PLC從RUN狀態(tài)進(jìn)入STOP狀態(tài)時,通用數(shù)據(jù)寄存器的值保持不變。2.電池后備/鎖存數(shù)據(jù)寄存器電池后備/鎖存數(shù)據(jù)寄存器具有斷電保持功能,PLC從RUN狀態(tài)進(jìn)入STOP狀態(tài)時,電池后備/鎖存數(shù)據(jù)寄存器的值保持不變。通過程控參數(shù)設(shè)定,可改變電池后備的數(shù)據(jù)寄存器的范圍。9.2FX系列PLC的編程元件 3.特殊寄存器特殊寄存器是有特殊用途的寄存器,元件編號為D8000~D8255,共256點(diǎn)。用來控制和監(jiān)視PLC內(nèi)部的各種工作方式和元件,如電池電壓、掃描時間、正在動作的狀態(tài)的元件編號等。PLC上電時,這些數(shù)據(jù)寄存器被寫入默認(rèn)值。4.文件寄存器文件寄存器以500點(diǎn)為單位,外部設(shè)備可對其進(jìn)行文件的存取。文件寄存器實際上被設(shè)置為PLC的參數(shù)區(qū)。文件寄存器與電池后備/鎖存數(shù)據(jù)寄存器是重疊的,以保證數(shù)據(jù)不會丟失。應(yīng)注意的是,F(xiàn)X1S的文件寄存器只能用外部設(shè)備(如手持式編程器或運(yùn)行編程軟件的計算機(jī))來改寫,其他系列的文件寄存器可通過BMOV(塊傳送)指令改寫。圖9.10設(shè)置參數(shù)的小電位器圖9.10設(shè)置參數(shù)的小電位器9.2FX系列PLC的編程元件 5.外部調(diào)整寄存器FX1S和FX1N有兩個內(nèi)置的設(shè)置參數(shù)用的小電位器,如圖9.10所示。調(diào)節(jié)電位器,可以改變指定的數(shù)據(jù)寄存器D8030或D8031的值(0~255)。FX2N和FX2NC沒有內(nèi)置的供設(shè)置用的電位器,但是可用附加的特殊功能擴(kuò)展板FX2N-8AV-BD實現(xiàn)同樣的功能。該擴(kuò)展板上有8個小電位器,使用應(yīng)用指令VRRD(模擬量讀取)和VRSC(模擬量開關(guān)設(shè)置)來讀取電位器提供的數(shù)據(jù)。設(shè)置用的小電位器常用來修改定時器的時間設(shè)定值。6.變址寄存器變址寄存器用來改變編程元件的元件號、操作數(shù)、修改常數(shù)等。FX1S和FX1N有兩個變址寄存器V和Z,F(xiàn)X2N和FX2NC有16個變址寄存器V0~V7和Z0~Z7,在32位操作時將V、Z合并使用,Z為低位,V為高位。變址寄存器可以用來改變編程元件的元件號,例如當(dāng)V=11時,數(shù)據(jù)寄存器的元件號D5V相當(dāng)于D16(11+5=16)。通過修改變址寄存器的值,可以改變實際的操作數(shù)。變址寄存器也可以用來修改常數(shù),例如當(dāng)Z=23時,K35Z相當(dāng)于常數(shù)58(23+35=58)。9.2FX系列PLC的編程元件 9.2.8指針(P/I)指針(P/I)包括分支和子程序用的指針(P)和中斷用的指針(I)。在梯形圖中,指針放在左側(cè)母線的左邊。除此之外,F(xiàn)X2N系列PLC還具有常數(shù)。常數(shù)K用來表示十進(jìn)制常數(shù),16位常數(shù)的范圍為-32768~+32767,32位常數(shù)的范圍為-2147483648~+2147483647。常數(shù)H用來表示十六進(jìn)制常數(shù),十六進(jìn)制包括0~9和A~F這16個數(shù)字,16位常數(shù)的范圍為0~FFFF,32位常數(shù)的范圍為0~FFFFFFFF。9.2FX系列PLC的編程元件 9.3FX系列PLC的基本指令現(xiàn)以FX2N為例介紹FX系列PLC的指令系統(tǒng)。FX系列PLC共有27條基本邏輯指令,有127條功能指令。僅用基本邏輯指令便可以編制出開關(guān)量控制系統(tǒng)的用戶程序。下面介紹FX2N系列PLC的基本邏輯指令。 9.3.1LD,LDI,OUT指令LD(Load)以常開觸點(diǎn)開始一次邏輯運(yùn)算的指令,作用是將一個常開觸點(diǎn)接到母線上。另外,在分支接點(diǎn)處也可使用。LD指令能夠操作的元件為X,Y,M,T,C和S。LDI(LoadInverse)以常閉觸點(diǎn)開始一次邏輯運(yùn)算的指令,作用是將一個常閉觸點(diǎn)接到母線上。另外,在分支接點(diǎn)處也可使用。LDI指令能夠操作的元件為X,Y,M,T,C和S。OUT(Out)輸出指令,將運(yùn)算結(jié)果輸出到指定的繼電器,是驅(qū)動線圈的輸出指令。OUT指令能夠操作的元件為Y,M,T,C和S。應(yīng)用舉例,如圖9.11所示。其邏輯功能是當(dāng)觸點(diǎn)X0接通時,輸出繼電器Y0接通;當(dāng)輸入繼電器X1斷電時,定時器T0開始定時,定時時間1.0s到后,輸出繼電器Y1接通。圖中的T0是100ms定時器,K10對應(yīng)的定時時間為10×100ms=1.0s。也可以指定數(shù)據(jù)寄存器的元件號,用它里面的數(shù)作為定時器和計數(shù)器的設(shè)定值。LD與LDI指令對應(yīng)的觸點(diǎn)一般與左側(cè)母線相連,在使用ANB、ORB指令(在后面介紹)時,用來定義與其他電路串并聯(lián)的電路的起始觸點(diǎn)。OUT指令不能用于輸入繼電器X,而且線圈和輸出類指令應(yīng)放在梯形圖的最右邊。9.3FX系列PLC的基本指令 OUT指令可以連續(xù)使用若干次,相當(dāng)于線圈的并聯(lián)。定時器和計數(shù)器的OUT指令之后應(yīng)設(shè)置以字母K開始的十進(jìn)制常數(shù)。計數(shù)器的設(shè)定值用來表示計滿多少個計數(shù)脈沖后計數(shù)器的位元件變?yōu)?。(a)梯形圖(b)指令表(c)時序圖圖9.11LD、LDI與OUT指令9.3FX系列PLC的基本指令 9.3.2AND,ANI指令A(yù)ND(And)與指令。用于一個常開觸點(diǎn)同另一個觸點(diǎn)的串聯(lián)連接。ANI(AndInverse)與非指令。用于一個常閉觸點(diǎn)同另一個觸點(diǎn)的串聯(lián)連接。AND和ANI指令能夠操作的元件為X,Y,M,T,C和S。AND和ANI指令用來描述單個觸點(diǎn)與別的觸點(diǎn)或觸點(diǎn)組組成的電路的串聯(lián)連接關(guān)系。單個觸點(diǎn)與左邊的電路串聯(lián)時,使用AND或ANI指令。AND和ANI指令能夠連續(xù)使用,即幾個觸點(diǎn)串聯(lián)在一起,且串聯(lián)觸點(diǎn)的個數(shù)沒有限制。在圖9.12中,OUTM101指令之后通過T1的觸點(diǎn)驅(qū)動Y4,稱為連續(xù)輸出。只要按正確的次序設(shè)計電路,就可以重復(fù)使用連續(xù)輸出。對T1的觸點(diǎn)應(yīng)使用串聯(lián)指令,T1的觸點(diǎn)和Y4的線圈組成的串聯(lián)電路與M101的線圈是并聯(lián)關(guān)系,但是T1的常開觸點(diǎn)與左邊的電路是串聯(lián)關(guān)系。9.3FX系列PLC的基本指令 圖9.12AND與ANI指令9.3FX系列PLC的基本指令 9.3.3OR,ORI指令OR(Or)或指令。用于一個常開觸點(diǎn)同另一個觸點(diǎn)的并聯(lián)連接。ORI(OrInverse)或非指令。用于一個常閉觸點(diǎn)同另一個觸點(diǎn)的并聯(lián)連接。OR與ORI指令能夠操作的元件為X,Y,M,T,C和S。OR和ORI指令用來描述單個觸點(diǎn)與別的觸點(diǎn)或觸點(diǎn)組組成的電路的并聯(lián)連接關(guān)系。用于單個觸點(diǎn)與前面電路的并聯(lián),并聯(lián)觸點(diǎn)的左側(cè)接到該指令所在的電路塊的起始點(diǎn)LD處,右端與前一條指令的對應(yīng)的觸點(diǎn)的右端相連。OR和ORI指令能夠連續(xù)使用,即幾個觸點(diǎn)并聯(lián)在一起,且并聯(lián)觸點(diǎn)的個數(shù)沒有限制。9.3FX系列PLC的基本指令 圖9.13OR與ORI指令OR和ORI指令總是將單個觸點(diǎn)并聯(lián)到它前面的電路中。如圖9.13中的常閉觸點(diǎn)M110,它前面的4條指令已經(jīng)將4個觸點(diǎn)Y5,X7,M103,X10串并聯(lián)為一個整體,因此ORIM110指令把常閉觸點(diǎn)M110并聯(lián)到該電路上。9.3FX系列PLC的基本指令 9.3.4ANB,ORB指令A(yù)NB(AndBlack)塊與指令。用于多觸點(diǎn)電路塊之間的串聯(lián)連接。ORB(OrBlock)塊或指令。用于多觸點(diǎn)電路塊之間的并聯(lián)連接。ANB和ORB指令都不帶元件號。只對電路塊進(jìn)行操作。ANB指令將多觸點(diǎn)電路塊(一般是并聯(lián)電路塊)與前面的電路塊串聯(lián)。相當(dāng)于兩個電路塊之間的串聯(lián)連接,該點(diǎn)也可視為它右邊的電路塊的LD點(diǎn)。要串聯(lián)的電路塊的起始觸點(diǎn)使用LD或LDI指令,完成了兩個電路塊的內(nèi)部連接后,用ANB指令將它與前面的電路串聯(lián)。ANB指令能夠連續(xù)使用,串聯(lián)的電路塊個數(shù)沒有限制。圖9.14為ANB指令應(yīng)用示例。圖9.14ANB指令9.3FX系列PLC的基本指令 ORB指令將多觸點(diǎn)電路塊(一般是串聯(lián)電路塊)與前面的電路塊并聯(lián)。相當(dāng)于電路塊間左側(cè)的一段垂直連接線。要并聯(lián)的電路塊的起始觸點(diǎn)使用LD或LDI指令,完成電路塊的內(nèi)部連接后,用ORB指令將它與前面的電路并聯(lián)。ORB指令能夠連續(xù)使用,并聯(lián)的電路塊個數(shù)沒有限制。圖9.15為ORB指令應(yīng)用示例。圖9.15ORB指令9.3FX系列PLC的基本指令 9.3.5棧操作指令MPS(Push)進(jìn)棧指令。將該指令以前的邏輯運(yùn)算結(jié)果存儲起來。MRD(Read)讀棧指令。讀出由MPS指令存儲的邏輯運(yùn)算結(jié)果。MPP(Pop)出棧指令。讀出并清除由MPS指令存儲的邏輯運(yùn)算結(jié)果。MPS、MRD、MPP實際上是用來解決如何對具有分支的梯形圖進(jìn)行編程的一組指令。用于多重輸出電路。FX2N系列有11個存儲中間運(yùn)算結(jié)果的堆棧存儲器,如圖9.16所示。堆棧操作采用“先進(jìn)后出”的數(shù)據(jù)存取方式。MPS指令用于存儲電路中有分支處的邏輯運(yùn)算結(jié)果,其功能是將左母線到分支點(diǎn)之間的邏輯運(yùn)算結(jié)果存儲起來,以備下面處理有線圈的支路時可以調(diào)用該運(yùn)算結(jié)果。使用一次MPS指令,當(dāng)時的邏輯運(yùn)算壓入堆棧的第一層,堆棧中原來的數(shù)據(jù)依次向下一層推移。MRD指令用在MPS指令支路以下、MPP指令以上的所有支路。其功能是讀取存儲在堆棧最上層的電路分支點(diǎn)處的運(yùn)算結(jié)果,將下一個觸點(diǎn)強(qiáng)制性地連接在該點(diǎn)。讀數(shù)后堆棧內(nèi)的數(shù)據(jù)不會上移或下移。實際上是將左母線到分支點(diǎn)之間的梯形圖同當(dāng)前使用的MRD指令的支路連接起來的一種編程方式。9.3FX系列PLC的基本指令 MPP指令用在梯形圖分支點(diǎn)處最下面的支路,也就是最后一次使用由MPS指令存儲的邏輯運(yùn)算結(jié)果,其功能是先讀出由MPS指令存儲的邏輯運(yùn)算結(jié)果,同當(dāng)前支路進(jìn)行邏輯運(yùn)算,最后將MPS指令存儲的內(nèi)容清除,結(jié)束分支點(diǎn)處所有支路的編程。使用MPP指令時,堆棧中各層的數(shù)據(jù)向上移動一層,最上層的數(shù)據(jù)在讀出后從棧區(qū)內(nèi)消失。應(yīng)注意的是當(dāng)分支點(diǎn)后面有很多支路時,在用過MPS指令后,反復(fù)使用MRD指令,當(dāng)使用完畢,最后一條支路必須用MPP指令結(jié)束該分支點(diǎn)處所有支路的編程。圖9.17和圖9.18分別給出了使用一層棧和使用多層棧的例子。每一條MPS指令必須有一條對應(yīng)的MPP指令,處理最后一條支路時必須使用MPP指令,而不是MRD指令。在一處獨(dú)立支路中,用進(jìn)棧指令同時保存在堆棧中的運(yùn)算結(jié)果不能超過11個。9.3FX系列PLC的基本指令 圖9.16棧存儲器圖9.17一層棧9.3FX系列PLC的基本指令 圖9.18二層棧用編程軟件生成梯形圖程序后,如果將梯形圖轉(zhuǎn)換為指令表程序,編程軟件會自動加入MPS,MRD和MPP指令。而寫入指令表程序時,必須由用戶來寫入9.3FX系列PLC的基本指令 9.3.6主控與主控復(fù)位指令MC(MasterControl)主控指令,或稱公共觸點(diǎn)串聯(lián)連接指令。用于表示主控區(qū)的開始。MC指令能夠操作的元件為Y和M(不包括特殊輔助繼電器)。MCR(MasterControlReset)主控指令MC的復(fù)位指令,用來表示主控區(qū)的結(jié)束。在編程時,經(jīng)常會遇到許多線圈同時受一個或一組觸點(diǎn)控制的情況,如果在每個線圈的控制電路中都串入同樣的觸點(diǎn),將占用很多存儲單元,主控指令可以解決這一問題。使用主控指令的觸點(diǎn)稱為主控觸點(diǎn),它在梯形圖中與一般的觸點(diǎn)垂直。主控觸點(diǎn)是控制一組電路的總開關(guān)。與主控觸點(diǎn)相連的觸點(diǎn)必須用LD或LDI指令,換句話說,執(zhí)行MC指令后,母線移到主控觸點(diǎn)的后面去了,MCR使母線(LD點(diǎn))回到原來的位置。圖9.19中,M50為主控觸點(diǎn),X0為控制條件。X0的常開觸點(diǎn)接通時,執(zhí)行從MC到MCR之間的指令。X0的常開觸點(diǎn)恢復(fù)常開時,則不執(zhí)行上述區(qū)間的指令,其中的積算定時器、計數(shù)器、用復(fù)位/置位指令驅(qū)動的軟元件保持其當(dāng)時的狀態(tài);其余的元件被復(fù)位,非積算定時器和OUT指令驅(qū)動的元件變?yōu)镺FF。9.3FX系列PLC的基本指令 圖9.19主控與主控復(fù)位指令在MC~MCR指令區(qū)內(nèi)使用MC指令稱為嵌套。如圖9.20所示。MC和MCR指令中包含嵌套的層數(shù)為N0~N7,N0為最高層,最低層為N7。9.3FX系列PLC的基本指令 圖9.20嵌套主控指令示意圖9.3FX系列PLC的基本指令 沒有嵌套結(jié)構(gòu)時,通常用N0編程,N0的使用次數(shù)沒有限制。有嵌套結(jié)構(gòu)時,MCR指令將同時復(fù)位低的嵌套層,例如指令MCRN2將復(fù)位2~7層。應(yīng)當(dāng)指出,在主控指令的控制條件為邏輯0時,在MC與MCR之間的程序只是處于??貭顟B(tài),PLC仍然掃描這一段程序,不能簡單地認(rèn)為PLC跳過了此段程序。另外,MC指令不能直接從左母線開始。在程序中MC與MCR指令總是成對出現(xiàn)的。9.3FX系列PLC的基本指令 9.3.7取反指令I(lǐng)NV(Inverse)取反指令。該指令的功能是將該指令處的邏輯運(yùn)算結(jié)果取反。在梯形圖中用一條45°的短斜線表示INV指令。它將執(zhí)行該指令之前的邏輯運(yùn)算結(jié)果取反。即運(yùn)算結(jié)果如為邏輯0將它變?yōu)檫壿?,運(yùn)算結(jié)果為邏輯1則變?yōu)檫壿?。圖9.21的邏輯功能是如果X0和X1同時為ON,INV指令之前的邏輯運(yùn)算結(jié)果為ON,INV指令對ON取反,則Y0為OFF;如果X0和X1不同時為ON,INV指令之前的邏輯運(yùn)算結(jié)果則為OFF,INV對OFF取反,則Y0為ON。INV指令也可以用于LDP,LDF,ANDP等脈沖觸點(diǎn)指令。圖9.21取反指令9.3FX系列PLC的基本指令 9.3.8PLS與PLF指令PLS(Pulse)上升沿微分輸出指令。當(dāng)檢測到控制觸點(diǎn)閉合的一瞬間,輸出繼電器或輔助繼電器的觸點(diǎn)僅接通一個掃描周期。PLF(PulseFalling)下降沿微分輸出指令。當(dāng)檢測到控制觸點(diǎn)斷開的一瞬間,輸出繼電器或輔助繼電器的觸點(diǎn)僅接通一個掃描周期。PLS和PLF指令能夠操作的元件為Y和M(不包括特殊輔助繼電器)。圖9.22中的M0僅在X0的常開觸點(diǎn)由斷開變?yōu)榻油?即X0的上升沿)時的一個掃描周期內(nèi)為ON;M1僅在X0的常開觸點(diǎn)由接通變?yōu)閿嚅_(即X0的下降沿)時的一個掃描周期內(nèi)為ON。圖9.22微分指令9.3FX系列PLC的基本指令 應(yīng)指出的是,PLS和PLF指令只有在檢測到觸點(diǎn)的狀態(tài)發(fā)生變化時才有效,如果觸點(diǎn)一直是閉合或者斷開,PLS和PLF指令是無效的。即指令只對觸發(fā)信號的上升沿和下降沿有效。PLS和PLF指令無使用次數(shù)的限制。當(dāng)PLC從RUN到STOP,然后又由STOP進(jìn)入RUN狀態(tài)時,其輸入信號仍然為ON,PLSM0指令將輸出一個脈沖。然而,如果用電池后備(鎖存)的輔助繼電器代替M0,其PLS指令在這種情況下不會輸出脈沖。微分指令在實際編程應(yīng)用中十分有用,利用微分指令可以模擬按鈕的動作。9.3FX系列PLC的基本指令 9.3.9邊沿檢測觸點(diǎn)指令LDP,ANDP和ORP上升沿檢測觸點(diǎn)指令。被檢測觸點(diǎn)的中間有一個向上的箭頭,對應(yīng)的輸出觸點(diǎn)僅在指定位元件的上升沿(即由OFF變?yōu)镺N)時接通一個掃描周期。LDF,ANDF和ORF下降沿檢測觸點(diǎn)指令。被檢測觸點(diǎn)的中間有一個向下的箭頭,對應(yīng)的輸出觸點(diǎn)僅在指定位元件的下降沿(即由ON變?yōu)镺FF)時接通一個掃描周期。上述指令能夠操作的元件為X,Y,M,T,C和S。在圖9.23中,在X2的上升沿或X3的下降沿,Y0僅在一個掃描周期為ON。9.3FX系列PLC的基本指令 圖9.23邊沿檢測觸點(diǎn)指令9.3FX系列PLC的基本指令 9.3.10置位與復(fù)位指令SET置位指令。其功能是使操作保持ON的指令。RST復(fù)位指令。其功能是使操作保持OFF的指令。SET指令能夠操作的元件為Y,M,S。RST指令能夠操作的元件為Y,M,S,T,C,或?qū)⒆衷﨑,V和Z清0。對同一編程元件,可多次使用SET和RST指令,最后一次執(zhí)行的指令將決定其當(dāng)前的狀態(tài)。RST指令可將數(shù)據(jù)寄存器D、變址寄存器Z和V的內(nèi)容清0。RST指令還可用來復(fù)位積算定時器T246~255和計數(shù)器。當(dāng)控制觸點(diǎn)閉合時,執(zhí)行SET與RST指令,后來不管控制觸點(diǎn)如何變化,邏輯運(yùn)算結(jié)果都保持不變。一直保持到有相反的操作的到來。在任何情況下,RST指令都優(yōu)先執(zhí)行。計數(shù)器處于復(fù)位狀態(tài)時,輸入的計數(shù)脈沖不起作用。下面看兩個例子。圖9.24中X0的常開觸點(diǎn)接通,Y0變?yōu)镺N并保持該狀態(tài),即使X0的常開觸點(diǎn)斷開,它也仍然保持ON狀態(tài)。當(dāng)X1的常開觸點(diǎn)閉合時,Y0變?yōu)镺FF并保持該狀態(tài),即使X1的常開觸點(diǎn)斷開,它也仍然保持OFF狀態(tài)。9.3FX系列PLC的基本指令 圖9.25中X0的常開觸點(diǎn)接通時,100ms積算定時器T250復(fù)位,X3的常開觸點(diǎn)接通時,計數(shù)器C180復(fù)位,它們的當(dāng)前值被清0,常開觸點(diǎn)斷開,常閉觸點(diǎn)閉合。圖9.24置位與復(fù)位指令9.3FX系列PLC的基本指令 圖9.25定時器與計數(shù)器的復(fù)位如果不希望計數(shù)器和積算定時器具有斷電保持功能,可以在用戶程序開始運(yùn)行時用初始化脈沖M8002將它們復(fù)位。9.3FX系列PLC的基本指令 9.3.11NOP與END指令NOP(NonProcessing)空操作指令。其功能是使該步序做空操作。執(zhí)行完清除用戶存儲器(即程序存儲器)的操作后,用戶存儲器的內(nèi)容全部變?yōu)榭詹僮髦噶睢LC一般都有指令的插入與刪除功能,實際上NOP很少使用。END(End)結(jié)束指令。將強(qiáng)制結(jié)束當(dāng)前的掃描執(zhí)行過程。如果用戶程序中沒有END指令,將從用戶程序存儲器的第一步執(zhí)行到最后一步。將END指令放在用戶程序結(jié)束處,只執(zhí)行第一條指令至END指令之間的程序。使用END指令可以縮短掃描周期。在調(diào)試程序時可將END指令插在各程序段之后,可進(jìn)行分段調(diào)試,調(diào)試好以后把程序中間的END指令刪去。因此在編程時插入該指令便于程序的檢查和修改。9.3FX系列PLC的基本指令 9.4FX系列PLC功能指令作為工業(yè)控制計算機(jī),PLC僅有基本指令是遠(yuǎn)遠(yuǎn)不夠的?,F(xiàn)代工業(yè)控制需要數(shù)據(jù)處理,需要用于數(shù)據(jù)的傳送、運(yùn)算、變換及程序控制等功能的功能指令(FunctionalInstruction)。FX2N系列PLC功能指令依據(jù)功能不同可分為數(shù)據(jù)處理類、程序流向控制類、特種功能類及外部設(shè)備類指令。數(shù)據(jù)處理類指令種類多,又可分為傳送比較、算術(shù)及邏輯運(yùn)算、移位、編解碼等指令。程序流向控制指令主要用于程序的結(jié)構(gòu)及流程,有子程序、中斷、跳轉(zhuǎn)及循環(huán)等指令。外部設(shè)備指令有一般的輸入/輸出口設(shè)備及專用外部設(shè)備指令兩大類。 9.4.1功能指令的基本表示方法PLC的功能指令采用助記符表示。一般用指令的英文名稱或縮寫作為助記符。如MEAN用來表示取平均值的指令。與基本指令不同,功能指令不含表達(dá)梯形圖符號間相互關(guān)系的成分,而是直接表達(dá)本指令要做什么。FX2N系列PLC在梯形圖中使用功能框表示功能指令,如圖9.26所示,這種表達(dá)方式很直觀。圖9.26功能指令的梯形圖形式9.4FX系列PLC功能指令 有的功能指令只需要指定功能號,大多數(shù)功能指令在指定功能號的同時還需要指定操作元件,操作元件由1到4個操作數(shù)組成。操作數(shù)分為源(Source)操作數(shù)、目標(biāo)(Destination)操作數(shù)及其他操作數(shù)。源操作數(shù)是指令執(zhí)行后不改變其內(nèi)容的操作數(shù),用[S]表示,目標(biāo)操作數(shù)是指令執(zhí)行后將改變其內(nèi)容的操作數(shù),用[D]表示。如果可以使用變址功能,則表示為[S·]和[D·]。源或目標(biāo)操作數(shù)不止一個時,可表示為[S1·],[S2·],[D1·],[D2·]等。其他操作數(shù)用m或n表示,它們常用來表示常數(shù),或作為源操作數(shù)和目標(biāo)操作數(shù)的補(bǔ)充說明。表示常數(shù)時,K為十進(jìn)制,H為十六進(jìn)制。當(dāng)圖9.26中X0的常開觸點(diǎn)接通時,執(zhí)行的操作為[(D0)+(D1)+(D2)]/3→(D4Z0),即求D0,D1,D2的平均值,結(jié)果送到目標(biāo)寄存器D4Z0,Z0是變址寄存器,如果Z0的內(nèi)容為12,則運(yùn)算結(jié)果送到D16。功能指令的功能號和指令助記符占一個程序步,每個操作數(shù)占2個或4個程序步(16位操作數(shù)是2個程序步,32位操作數(shù)是4個程序步)。圖中同時給出了功能指令MEAN的指令語句表和步序號。9.4FX系列PLC功能指令 1.數(shù)據(jù)長度功能指令依處理數(shù)據(jù)的長度分為16位指令和32位指令。其中32位指令用(D)表示,無(D)符號的為16位指令。圖9.26中助記符MOV之前的(D)表示處理32位(32bit)數(shù)據(jù),這時相鄰的兩個元件組成元件對,該指令將D11,D10中的數(shù)據(jù)傳送到D13,D12。處理32位數(shù)據(jù)時,為了避免出現(xiàn)錯誤,建議使用首地址為偶數(shù)的操作數(shù)。2.指令執(zhí)行形式功能指令有脈沖執(zhí)行型和連續(xù)執(zhí)行型。指令中標(biāo)有(P)的為脈沖執(zhí)行型。如圖9.26中MOV后面的(P)表示脈沖執(zhí)行,即僅在X1由OFF(“0”狀態(tài))變?yōu)镺N(“1”狀態(tài))時執(zhí)行一次。如果沒有(P),在X1為ON的每一掃描周期,指令都要被執(zhí)行,稱為連續(xù)執(zhí)行??梢?,脈沖執(zhí)行型指令在執(zhí)行條件滿足時僅執(zhí)行一個掃描周期,這點(diǎn)對數(shù)據(jù)處理有很重要的意義。如一條加法指令,在脈沖執(zhí)行時,只將加數(shù)和被加數(shù)做一次加法運(yùn)算,而在連續(xù)型加法運(yùn)算指令在執(zhí)行條件滿足時,每一個掃描周期都要相加一次。9.4FX系列PLC功能指令 9.4.2比較與傳送指令比較與傳送指令的編號為FNC10~FNC19。包括比較類指令和傳送類指令。1.比較指令比較指令包括CMP(比較)和ZCP(區(qū)間比較)指令,比較結(jié)果用目標(biāo)元件的狀態(tài)來表示。待比較的源操作數(shù)[S1·]和[S2·]可取任意的數(shù)據(jù)格式,目標(biāo)操作數(shù)[D·]可取Y,M和S,占用3點(diǎn)。1)比較指令比較指令CMP(Compare)的功能指令編號為FNC10。比較指令CMP是將源操作數(shù)[S1·]和[S2·]的數(shù)據(jù)進(jìn)行比較,結(jié)果送到目標(biāo)操作數(shù)[D·]中。圖9.27中的比較指令將十進(jìn)制常數(shù)100與C20的當(dāng)前值比較,比較結(jié)果送到M0~M2。在X0為OFF時不執(zhí)行CMP指令,即不進(jìn)行比較,M0~M2的狀態(tài)保持不變。如要清除比較結(jié)果,要采用RST或ZRST復(fù)位指令。如圖9.28所示。9.4FX系列PLC功能指令 圖9.27CMP指令圖9.28比較結(jié)果的復(fù)位2)區(qū)間比較指令區(qū)間比較指令ZCP(ZoneCompare)的功能指令編號為FNC11。區(qū)間比較指令ZCP是將一個數(shù)據(jù)[S·]與兩個源數(shù)據(jù)[S1·]和[S2·]間的數(shù)據(jù)進(jìn)行代數(shù)比較,比較結(jié)果在目標(biāo)操作數(shù)[D·]及以后的兩個軟元件中表示出來。源[S1·]的內(nèi)容比源[S2·]的內(nèi)容要小。如果[S1·]比[S2·]大,則[S2·]被看作與[S1·]一樣大。圖9.29中的X0為ON時,執(zhí)行ZCP指令,比較結(jié)果送到M3~M5。X0為OFF時,即ZCP指令不執(zhí)行,M3~M5保持X0為OFF前的狀態(tài)。清除比較結(jié)果,可用復(fù)位指令。9.4FX系列PLC功能指令 2.傳送指令傳送指令包括MOV(傳送)、SMOV(BCD碼移位傳送)、CML(取反傳送)、BMOV(數(shù)據(jù)塊傳送)、FMOV(多點(diǎn)傳送)以及XCH(數(shù)據(jù)交換)指令。MOV和CML指令的源操作數(shù)可取所有的數(shù)據(jù)類型,SMOV指令可取除K,H以外的其他類型的操作數(shù)。它們的目標(biāo)操作數(shù)可取KnY,KnM,KnS,T,C,D,V和Z。1)傳送指令傳送指令MOV(Move)的功能指令編號為FNC12。傳送指令MOV是將源操作數(shù)內(nèi)的數(shù)據(jù)傳送到指定的目標(biāo)操作數(shù)內(nèi),即[S·]→[D·]。在圖9.30中,當(dāng)X0為ON時,源操作數(shù)[S·]中的常數(shù)100傳送到目標(biāo)操作元件D10中。當(dāng)X0為OFF時,不執(zhí)行指令,數(shù)據(jù)保持不變。9.4FX系列PLC功能指令 圖9.29區(qū)間比較指令圖9.30傳送指令與移位傳送指令2)移位傳送指令移位傳送指令SMOV(ShiftMove)的功能指令編號為FNC13。源數(shù)據(jù)(二進(jìn)制數(shù))被轉(zhuǎn)換成4位BCD碼,然后將它們移位傳送。圖9.31中的X1為ON時,將D1中右起第4位BCD碼(m1=4)開始的2位(m2=2)BCD碼移到目標(biāo)操作數(shù)(D2)的右起第3位(n=3)和第2位,然后D2中的BCD碼自動轉(zhuǎn)換為二進(jìn)制碼,D2中的第1位和第4位不受移位傳送指令的影響。3)取反傳送指令9.4FX系列PLC功能指令 取反傳送指令CML(Complement)的功能指令編號為FNC14。取反傳送指令將源元件中的數(shù)據(jù)逐位取反(1→0,0→1)并傳送到指定目標(biāo)。CML用于PLC反邏輯輸出。圖9.32所示的CML指令將D0的低4位取反后傳送到Y(jié)3~Y0中。圖9.31移動傳送指令圖9.32取反傳送指令9.4FX系列PLC功能指令 4)塊傳送指令塊傳送指令BMOV(BlockMove)的功能指令編號為FNC15。塊傳送指令的源操作數(shù)可取KnX,KnY,KnM,KnS,T,C,D和文件寄存器,目標(biāo)操作數(shù)可取KnY,KnM,KnS,T,C和D。BMOV指令是將從源操作數(shù)指定的軟元件開始的n點(diǎn)數(shù)據(jù)傳送到指定的目標(biāo)操作數(shù)開始的n點(diǎn)軟元件。如果元件號超出允許的元件號范圍,數(shù)據(jù)僅傳送到允許的范圍內(nèi)。為防止源數(shù)據(jù)塊與目標(biāo)數(shù)據(jù)塊重疊時源數(shù)據(jù)在傳送過程中被改寫,傳送的順序是自動決定的,傳送順序如圖9.33所示。在具有指定的位元件的場合,源與目標(biāo)要采用相同的位數(shù),如圖9.34所示。圖9.33塊傳送指令使用說明之一圖9.34塊傳送指令使用說明之二9.4FX系列PLC功能指令 5)多點(diǎn)傳送指令多點(diǎn)傳送指令FMOV(FillMove)的功能指令編號為FNC16。它的源操作數(shù)可取所有的數(shù)據(jù)類型,目標(biāo)操作數(shù)可取KnY,KnM,KnS,T,C和D,n≤512。FMOV指令是將源操作數(shù)指定的軟元件的內(nèi)容向以目標(biāo)操作數(shù)指定的軟元件開頭的n點(diǎn)軟元件傳送。n點(diǎn)軟元件的內(nèi)容都一樣,如圖9.35所示。當(dāng)X0為ON時將常數(shù)0送到D0~D9這10個(n=10)數(shù)據(jù)寄存器中。如果元件號超出允許的元件號范圍,數(shù)據(jù)僅傳送到允許的范圍內(nèi)。6)數(shù)據(jù)交換指令數(shù)據(jù)交換指令XCH(Exchange)的功能指令編號為FNC17。它的兩個目標(biāo)操作數(shù)可取KnY,KnM,KnS,T,C,D,V和Z。XCH指令是在指定的目標(biāo)軟元件間進(jìn)行數(shù)據(jù)交換。如圖9.35所示,在指令執(zhí)行前,若目標(biāo)元件D10和D11中的數(shù)據(jù)分別為120和350;當(dāng)X1為ON時,數(shù)據(jù)交換指令XCH執(zhí)行后,目標(biāo)元件D10和D11中的數(shù)據(jù)分別為350和120。即D10和D11中的數(shù)據(jù)進(jìn)行了交換。交換指令一般采用脈沖方式。3.數(shù)據(jù)變換指令9.4FX系列PLC功能指令 數(shù)據(jù)變換指令包括BCD(二進(jìn)制數(shù)轉(zhuǎn)換成BCD碼并傳送)和BIN(BCD碼轉(zhuǎn)換為二進(jìn)制數(shù)并傳送)指令。它們的源操作數(shù)可取KnX,KnY,KnM,KnS,T,C,D,V和Z,目標(biāo)操作數(shù)可取KnY,KnM,KnS,T,C,D,V和Z。1)BCD變換指令BCD變換指令BCD(BinaryCodetoDecimal)的功能指令編號為FNC18,該指令是將源元件中的二進(jìn)制數(shù)轉(zhuǎn)換成BCD碼送到目標(biāo)元件中。如圖9.36所示,當(dāng)X0為ON時,將源元件D12中的二進(jìn)制數(shù)轉(zhuǎn)換成BCD碼送到目標(biāo)元件Y0~Y7中去。圖9.35多點(diǎn)數(shù)據(jù)傳送與數(shù)據(jù)交換指令圖9.36BCD變換與BIN變換指令9.4FX系列PLC功能指令 PLC內(nèi)部的算術(shù)運(yùn)算是用二進(jìn)制進(jìn)行的,因此可用BCD變換指令將PLC內(nèi)的二進(jìn)制數(shù)據(jù)變?yōu)槠叨物@示等所需的BCD碼后向外部輸出。2)BIN變換指令BIN變換指令BIN(Binary)的功能指令編號為FNC19,該指令是將源元件中BCD碼轉(zhuǎn)換成二進(jìn)制數(shù)送到目標(biāo)元件。數(shù)值范圍當(dāng)16位操作為0~9999;32位操作為0~99999999。BIN變換指令的使用如圖9.36所示。當(dāng)X1為ON時,將源元件K2X0中BCD碼轉(zhuǎn)換成二進(jìn)制數(shù)送到目標(biāo)元件D13中去。如果源數(shù)據(jù)不是BCD數(shù)時,M8067為ON(運(yùn)算錯誤),M8068(運(yùn)算錯誤鎖存)不工作,為OFF。常數(shù)K不能作為本指令的操作元件,因為在任何處理之前它們都會被轉(zhuǎn)換成二進(jìn)制數(shù)。9.4FX系列PLC功能指令 9.4.3算術(shù)運(yùn)算與邏輯運(yùn)算指令算術(shù)運(yùn)算與邏輯運(yùn)算指令的功能指令編號為FNC20~FNC29,算術(shù)運(yùn)算指令包括二進(jìn)制加、減、乘、除及加1、減1指令;邏輯運(yùn)算指令包括字編程元件的邏輯與、或、異或和取補(bǔ)指令。1.算術(shù)運(yùn)算指令算術(shù)運(yùn)算指令包括ADD,SUB,MUL,DIV(二進(jìn)制加、減、乘、除)指令,源操作數(shù)可取所有的數(shù)據(jù)類型,目標(biāo)操作數(shù)可取KnY,KnM,KnS,T,C,D,V和Z(32位乘除指令中V和Z不能用作[D·])。1)加法指令加法指令A(yù)DD(Addition)的功能編號為FNC20。該指令是將指定的源元件中的二進(jìn)制數(shù)相加,結(jié)果送到指定的目標(biāo)元件中去。每個數(shù)據(jù)的最高位為符號位(0為正,1為負(fù)),加減運(yùn)算為代數(shù)運(yùn)算。圖9.37中的X0為ON時,執(zhí)行(D10)+(D12)→(D14)。ADD加法指令有3個常用標(biāo)志。M8020為零標(biāo)志,M8021為借位標(biāo)志,M8022為進(jìn)位標(biāo)志。如果運(yùn)算結(jié)果為0,則零標(biāo)志M8020置1;如果運(yùn)算結(jié)果超過32767(16bit運(yùn)算)或2147483647(32bit運(yùn)算),則進(jìn)位標(biāo)志M8021置1;如果運(yùn)算結(jié)果小于-32768(16bit)或-2147483648(32bit),則借位標(biāo)志M8022置1。9.4FX系列PLC功能指令 在32位運(yùn)算中,被指定的字元件是低16位元件,而下一個元件為高16位元件。為了避免錯誤,建議指定操作元件時采用偶數(shù)元件號。源和目標(biāo)可以用相同的元件號。若源和目標(biāo)元件號相同而采用連續(xù)執(zhí)行的ADD、(D)ADD指令時,加法的結(jié)果在每個掃描周期都會改變。若采用脈沖執(zhí)行的加法指令A(yù)DD(P)來加1,這與脈沖執(zhí)行的INC(加1)指令的執(zhí)行結(jié)果相似,其不同之處在于INC指令不影響零標(biāo)志、借位標(biāo)志和進(jìn)位標(biāo)志。2)減法指令減法指令SUB(Subtraction)的功能指令編號為FNC21,該指令是將指定的源元件中的二進(jìn)制數(shù)相減,結(jié)果送到指定的目標(biāo)元件中去。如圖9.37所示。當(dāng)X1為ON時,執(zhí)行(D1,D0)-22→(D1,D0)。各種標(biāo)志的動作、32位運(yùn)算中軟元件的指定方法、連續(xù)執(zhí)行型和脈沖執(zhí)行型的差異等均與上述加法指令相同。3)乘法指令乘法指令MUL(Multiplication)的功能編號為FNC22,每個數(shù)據(jù)的最高位為符號位(0為正,1為負(fù))。MUL乘法指令是將指定的源元件中的二進(jìn)制數(shù)相乘,結(jié)果送到指定的目標(biāo)元件中去。如圖9.38所示,它分16位和32位兩種情況。9.4FX系列PLC功能指令 圖9.37二進(jìn)制加減運(yùn)算指令圖9.38二進(jìn)制乘法及除法運(yùn)算指令16位運(yùn)算執(zhí)行條件X0為ON,(D0)×(D2)→(D5,D4)。源操作數(shù)是16位,目標(biāo)操作數(shù)是32位。32位運(yùn)算即執(zhí)行(D)MUL指令,當(dāng)X0為ON時,(D1,D0)×(D3,D2)→(D7,D6,D5,D4)。源操作數(shù)是32位,目標(biāo)操作數(shù)為64位。如將位組合元件用于目標(biāo)操作數(shù)時,限于K的取值,只能得到低位32位的結(jié)果,不能得到高32位的結(jié)果。這時應(yīng)將數(shù)據(jù)移入字元件再進(jìn)行計算。用字元件時,也不能監(jiān)視64位數(shù)據(jù),只能通過監(jiān)視高32位和低32位。V、Z不能用[D·]目標(biāo)元件。9.4FX系列PLC功能指令 4)除法指令除法指令DIV(Division)的功能指令編號為FNC23,該指令是將指定的源元件中的二進(jìn)制數(shù)相除,[S1·]為被除數(shù),[S2·]為除數(shù),商送到指定的目標(biāo)元件[D·]中去,余數(shù)送到[D·]的下一個目標(biāo)元件。如圖9.38所示,它也分16位和32位兩種情況。16位運(yùn)算即執(zhí)行DIV指令,當(dāng)X1為ON時,執(zhí)行(D6)÷(D8),商送到(D2),余數(shù)送到(D3)。32位運(yùn)算即執(zhí)行(D)DIV指令,當(dāng)X1為ON時,執(zhí)行(D7,D6)÷(D9,D8),商送到(D3,D2),余數(shù)送到(D5,D4)。若除數(shù)為0則出錯,不執(zhí)行指令。若位元件被指定為目標(biāo)元件,不能獲得余數(shù),商和余數(shù)的最高位為符號位。2.加1和減1指令加1指令I(lǐng)NC(Increment)和減1指令DEC(Decrement)的功能指令編號分別為FNC24和FNC25。它們的操作數(shù)均可取KnY,KnM,KnS,T,C,D,V和Z。在圖9.39中,X0每次由OFF變?yōu)镺N時,由[D·]指定的元件D10中的二進(jìn)制數(shù)自動加1。如果不用脈沖指令,每一個掃描周期都要加1。9.4FX系列PLC功能指令 當(dāng)X1由OFF變?yōu)镺N時,由[D·]指定的元件D11中的二進(jìn)制數(shù)自動減1。若用連續(xù)指令時,每個周期減1。在16位運(yùn)算中,+32767再加1就變?yōu)?32768;-32768再減1就變?yōu)?32767,但標(biāo)志不置位。同樣,在32位運(yùn)算中,+2147483647再加1就變?yōu)?2147483648;-2147483648再減1就變?yōu)?2147483647,標(biāo)志也不置位。3.字邏輯運(yùn)算指令字邏輯運(yùn)算指令包括WAND(字邏輯與)、WOR(字邏輯或)、WXOR(字邏輯異或)和NEG(求補(bǔ))指令,功能指令編號分別為FNC26~FNC29。WAND,WOR和WXOR指令的[S1·]和[S2·]均可取所有的數(shù)據(jù)類型,目標(biāo)操作數(shù)可取KnY,KnM,KnS,T,C,D,V和Z。NEG指令只有目標(biāo)操作數(shù),同樣可取KnY,KnM,KnS,T,C,D,V和Z。字邏輯與、字邏輯或、字邏輯異或指令以位(bit)為單位作相應(yīng)的運(yùn)算。如圖9.40所示。當(dāng)X0為ON時,[S1·]指定的D10和[S2·]指定的D12內(nèi)數(shù)據(jù)按位對應(yīng),進(jìn)行邏輯字與運(yùn)算,結(jié)果存于由[D·]指定的元件D14中。當(dāng)X1為ON時,[S1·]指定的D20和[S2·]指定的D22內(nèi)數(shù)據(jù)按位對應(yīng),進(jìn)行邏輯字或運(yùn)算,結(jié)果存于由[D·]指定的元件D24中。9.4FX系列PLC功能指令 當(dāng)X2為ON時,[S1·]指定的D30和[S2·]指定的D32內(nèi)數(shù)據(jù)按位對應(yīng),進(jìn)行邏輯字異或運(yùn)算,結(jié)果存于由[D·]指定的元件D34中。WXOR指令與求反指令(CML)組合使用可以實現(xiàn)“異或非”運(yùn)算。圖9.39二進(jìn)制加1、減1運(yùn)算指令圖9.40字邏輯運(yùn)算指令當(dāng)X3由OFF變?yōu)镺N時,將[D·]指定的D40內(nèi)數(shù)據(jù)的每一位取反后該數(shù)再加1,結(jié)果存于同一元件D40中。9.4FX系列PLC功能指令 9.4.4程序流向控制指令程序流向控制指令的編號為FNC00~FNC09。包括條件跳轉(zhuǎn)指令、子程序指令、中斷指令及程序循環(huán)指令等。1.條件跳轉(zhuǎn)指令條件跳轉(zhuǎn)指令CJ(ConditionalJump)的功能指令編號為FNC00,操作數(shù)為P0~P127,其中P63即END,無需再標(biāo)號。CJ和CJ(P)指令用于跳過順序程序中的某一部分。跳轉(zhuǎn)指針標(biāo)號一般在CJ指令之后,如圖9.41(a)所示。當(dāng)X20為ON時,程序跳到P7處,如果X20為OFF,不執(zhí)行跳轉(zhuǎn),程序按原順序執(zhí)行。跳轉(zhuǎn)時,不執(zhí)行被跳過的那部分指令。如果被跳過程序段中包含時間繼電器和計數(shù)器,無論其是否具有掉電保持功能,它們的實際值寄存器被鎖定,跳轉(zhuǎn)發(fā)生后其計數(shù)、定時值保持不變,在跳轉(zhuǎn)中止時,計數(shù)、定時將繼續(xù)進(jìn)行。但是正在工作的T63和高速計數(shù)器不管有無跳步仍連續(xù)工作。另外,定時、計數(shù)器的復(fù)位指令具有優(yōu)先權(quán),即使復(fù)位指令位于被跳過的程序段中,執(zhí)行條件滿足時,復(fù)位工作也將執(zhí)行。跳轉(zhuǎn)指針標(biāo)號也可出現(xiàn)在跳轉(zhuǎn)指令之前,如圖9.41(b)所示,但應(yīng)注意,如果X20為ON時間過長,造成該程序的執(zhí)行時間超過警戒時鐘設(shè)定值,則程序就會出錯。9.4FX系列PLC功能指令 (a)二條跳轉(zhuǎn)指令使用同一標(biāo)號(b)標(biāo)號指針用法圖9.41標(biāo)號指針跳轉(zhuǎn)時,如果從主令控制區(qū)的外部跳入其內(nèi)部,不管它的主控觸點(diǎn)是否接通,都把它當(dāng)成接通來執(zhí)行主令控制區(qū)內(nèi)的程序。如果跳步指令在主令控制區(qū)內(nèi),主控觸點(diǎn)沒有接通時不執(zhí)行跳步。在一個程序中,一個標(biāo)號只能出現(xiàn)一次。但同一程序中兩條跳轉(zhuǎn)指令可以使用相同的標(biāo)號。如果用輔助繼電器M8000作為跳轉(zhuǎn)指令的工作條件,跳轉(zhuǎn)就成為無條件跳轉(zhuǎn),因為運(yùn)行時特殊輔助繼電器M8000總是為ON。9.4FX系列PLC功能指令 2.子程序調(diào)用與子程序返回指令子程序調(diào)用指令CALL(SubRoutineCall)的功能指令編號為FNC01,操作數(shù)為P0~P127(不包括P63),允許用變址寄存器修改。子程序可以嵌套調(diào)用,最多嵌套5級。子程序返回指令SRET(SubRoutineReturn)的功能指令編號為FNC02,無操作數(shù)。子程序是一些具有特定的控制目相對獨(dú)立的程序。為了區(qū)別于主程序,規(guī)定在程序編排時,將主程序排在前邊,子程序排在后邊,并以主程序結(jié)束指令FEND將這兩部分隔開。子程序指令在梯形圖中使用的情況如圖9.42所示。圖中,子程序調(diào)用指令CALL安排在主程序段中,當(dāng)X0為ON時,標(biāo)號為P9的子程序被執(zhí)行。子程序P9安排在主程序結(jié)束指令FEND之后,標(biāo)號P9和子程序返回指令SRET間的程序構(gòu)成了子程序的內(nèi)容。當(dāng)主程序帶有多個子程序時,子程序可依次列在主程序結(jié)束指令之后,并以不同的標(biāo)號相區(qū)別。應(yīng)注意的是,子程序應(yīng)在FEND指令之后,同一標(biāo)號只能出現(xiàn)一次,CJ指令中用過的標(biāo)號不能再用,不同位置的CALL指令可以調(diào)用同一標(biāo)號子程序。圖9.42中,當(dāng)X0為ON時,CALL指令使程序跳到標(biāo)號P9處,子程序被執(zhí)行,執(zhí)行完SRET指令后返回到主程序繼續(xù)執(zhí)行原程序(即104步)。可見,只要X0為ON,就相當(dāng)于在主程序中加入了這一段程序。而在X0為OFF時,僅執(zhí)行主程序。9.4FX系列PLC功能指令 圖9.43所示是子程序嵌套調(diào)用的例子。圖中CALL(P)P10指令僅在X0由OFF變?yōu)镺N時執(zhí)行一次。在執(zhí)行子程序1時,如果X4為ON,CALLP15被執(zhí)行,程序跳到P15處,嵌套執(zhí)行子程序2。執(zhí)行第二條SRET指令后,返回子程序1中CALLP15指令的下一條指令,執(zhí)行第一條SRET指令后返回主程序中CALL(P)P10指令的下一條指令。圖9.42子程序的使用圖9.43子程序的嵌套調(diào)用9.4FX系列PLC功能指令 3.與中斷有關(guān)的指令允許中斷指令EI(InterruptionEnable)的功能指令編號為FNC04;禁止中斷指令DI(InterruptionDisable)的功能指令編號為FNC05;中斷返回指令I(lǐng)RET(InterruptionReturn)的功能指令編號為FNC03。以上3條指令均無操作數(shù)。中斷指在主程序的執(zhí)行過程中中斷主程序的執(zhí)行而去執(zhí)行中斷服務(wù)程序。和子程序一樣,中斷服務(wù)程序也是為某些特定的控制功能而設(shè)定的。不同的是,這些特定的控制功能的共同特點(diǎn)是要求響應(yīng)時間小于機(jī)器的掃描周期。引起中斷的信號叫中斷源。FX2N系列PLC的中斷源有外部中斷、定時器中斷及計數(shù)器中斷。其中外部中斷有6個與X0~X5對應(yīng)的中斷輸入點(diǎn),中斷指針為I?□?0?□,最低位為0時表示下降沿中斷,反之為上升沿中斷。最高位與X0~X5的元件號相對應(yīng)。3點(diǎn)定時器中斷對應(yīng)的中斷指針為I6?□?□~I(xiàn)8?□?□,低兩位是以ms為單位的定時時間,定時器中斷用于高速處理或每隔一定時間執(zhí)行程序。6點(diǎn)計數(shù)器的中斷指針為I0?□?0(□=1~6),它們利用高速計數(shù)器的當(dāng)前值產(chǎn)生中斷,與HSCS(高速計數(shù)器比較置位)指令配合使用。9.4FX系列PLC功能指令 圖9.44中斷指令的使用PLC通常處于禁止中斷的狀態(tài),指令EI和DI之間的程序段為允許中斷的區(qū)間,如圖9.44所示。當(dāng)程序執(zhí)行到該區(qū)間時,如果中斷源產(chǎn)生中斷,CPU將停止執(zhí)行當(dāng)前的程序,轉(zhuǎn)去執(zhí)行相應(yīng)的中斷子程序,執(zhí)行到中斷子程序的IRET指令時,返回原斷點(diǎn),繼續(xù)執(zhí)行原來的程序。如果有多個中斷信號依次發(fā)出,則優(yōu)先級按發(fā)生的先后為序,發(fā)生越早的優(yōu)先級越高。若同時發(fā)生多個中斷信號,則中斷指針號小的優(yōu)先。如果機(jī)器安排的中斷比較多,而這些中斷又不一定需同時響應(yīng)時,還可以通過特殊輔助繼電器M8050~M8058實現(xiàn)中斷選擇。這些特殊輔助繼電器和9個中斷的對應(yīng)關(guān)系為M8050~M8055與6個外部輸入中斷對應(yīng),M8056~M8058與3點(diǎn)定時器中斷對應(yīng)。當(dāng)這些輔助繼電器通過控制信號被置1(ON)時,其對應(yīng)的中斷被禁止執(zhí)行。M8059為ON時,關(guān)閉所有的計數(shù)器中斷。圖9.44中斷指令的使用9.4FX系列PLC功能指令 FX2N系列PLC可實現(xiàn)不多于二級的中斷嵌套。即在中斷子程序中編入EI和DI,可實現(xiàn)雙重中斷。如果中斷信號在禁止中斷區(qū)出現(xiàn),該中斷信號被存儲,并在EI指令之后響應(yīng)該中斷。不需要關(guān)中斷時,只使用EI指令,可以不使用DI指令。4.程序結(jié)束指令主程序結(jié)束指令FEND(FirstEnd)的功能指令編號為FNC06,無操作數(shù)。FEND表示主程序結(jié)束,執(zhí)行到FEND指令時可編程控制器進(jìn)行輸入輸出處理、監(jiān)控定時器刷新,完成后返回到主程序的開始處。子程序(包括中斷子程序)應(yīng)放在FEND指令之后。CALL指令調(diào)用的子程序必須用SRET指令結(jié)束,中斷子程序必須以IRET指令結(jié)束。5.監(jiān)控定時器指令監(jiān)控定時器指令WDT(WatchDogTimer)的功能指令編號為FNC07,無操作數(shù)。監(jiān)控定時器又稱看門狗,是刷新順序程序的警戒時鐘,實際上是一個專用定時器。在FX2N系列PLC中,其數(shù)據(jù)寄存在寄存器D8000中,定時時間的缺省值為200ms,可通過修改D8000設(shè)定其定時時間。如果程序的掃描周期(從0步到END或FEND指令)超過它的定時時間,PLC將停止運(yùn)行。在此情況下,應(yīng)將9.4FX系列PLC功能指令 WDT指令插到合適的程序步中刷新警戒時鐘以使順序程序得以繼續(xù)執(zhí)行,直到END。如條件跳轉(zhuǎn)指令CJ若在它對應(yīng)的標(biāo)號之后(即程序往回跳),可能因連續(xù)反復(fù)跳步使它們之間的程序反復(fù)執(zhí)行,總的執(zhí)行時間可能超過警戒時鐘的定時時間,為了避免出現(xiàn)此情況,可在CJ指令和對應(yīng)的標(biāo)號之間插入WDT指令。6.循環(huán)指令循環(huán)指令由FOR及NEXT兩條指令構(gòu)成,它們總是成對出現(xiàn)的。FOR指令表示循環(huán)區(qū)的起點(diǎn),功能指令編號為FNC08,它的源操作數(shù)表示循環(huán)次數(shù)N,可以取任意數(shù)據(jù)格式。循環(huán)次數(shù)N=1~32767,如N在-32767~0之間,當(dāng)作N=1處理。NEXT是循環(huán)區(qū)終點(diǎn)指令,功能指令編號為FNC09,無操作數(shù)。該指令可以嵌套使用,最多允許5層嵌套。如果要求有條件執(zhí)行重復(fù)掃描,則可以在FOR指令前面加跳轉(zhuǎn)指令。如圖9.45所示是3層循環(huán)嵌套的情況。9.4FX系列PLC功能指令 圖9.45循環(huán)指令9.4FX系列PLC功能指令 循環(huán)體分別為A、B和C,其中循環(huán)體A要求有條件執(zhí)行重復(fù)掃描,因此在相應(yīng)的FOR指令前面加了跳轉(zhuǎn)指令。循環(huán)體C重復(fù)掃描3次后,再掃描相應(yīng)的NEXT指令下面的梯形圖。由于循環(huán)體B嵌套在循環(huán)體C的內(nèi)部,設(shè)數(shù)據(jù)寄存器D02內(nèi)的數(shù)據(jù)為4,則循環(huán)體B重復(fù)掃描的次數(shù)為4×3=12(次)。而循環(huán)體A嵌套在循環(huán)體B的內(nèi)部,并且在FOR指令前面有跳轉(zhuǎn)指令,因此其重復(fù)掃描次數(shù)分兩種情況。(1)當(dāng)跳轉(zhuǎn)指令的控制觸點(diǎn)X0斷開時,循環(huán)體A的重復(fù)掃描次數(shù)為5×4×3=60。(2)當(dāng)跳轉(zhuǎn)指令的控制觸點(diǎn)X0閉合時,則不再執(zhí)行循環(huán)體A的重復(fù)掃描。在使用FOR、NEXT指令時要注意二者必須成對使用,數(shù)目相符,并且在FOR-NEXT循環(huán)體之中不能出現(xiàn)FEND或END指令。9.4FX系列PLC功能指令 9.4.5循環(huán)移位與移位指令循環(huán)移位與移位指令的功能指令編號為FNC30~FNC39。FX2N系列PLC循環(huán)移位與移位指令有移位、循環(huán)移位、字移位及先入先出(FIFO)指令等,其中循環(huán)移位分為帶進(jìn)位的及不帶進(jìn)位的位循環(huán),移位有左移和右移之分,F(xiàn)IFO分為寫入和讀出。1.循環(huán)移位指令右循環(huán)移位指令ROR(RotationRight)和左循環(huán)移位指令ROL(RotationLeft)的功能編號分別為FNC30和FNC31。它們只有目標(biāo)操作數(shù),可取KnY,KnM,KnS,T,C,D,V和Z。16位指令和32位指令中n應(yīng)分別小于16和32。循環(huán)右(左)移指令可以使16位數(shù)據(jù)、32位數(shù)據(jù)向右(左)循環(huán)移位,如圖9.46(a)和(b)所示。當(dāng)X0(或X1)由OFF變?yōu)镺N時,[D·]內(nèi)指定的D0內(nèi)的數(shù)據(jù)向右(或向左)移4(n=4)位,最后一次移出來的那一位同時存入進(jìn)位標(biāo)志M8022中。9.4FX系列PLC功能指令 圖9.46循環(huán)移位指令用連續(xù)指令執(zhí)行時,循環(huán)移位操作每個周期執(zhí)行一次。若在目標(biāo)元件中指定位元件組的組數(shù),只有K4(16位指令)和K8(32位指令)有效,例如K4Y0和K8M0。2.帶進(jìn)位的循環(huán)移位指令帶進(jìn)位的右循環(huán)移位指令RCR(RotationRightwithCarry)和帶進(jìn)位的左循環(huán)移位指令RCL(RotationLeftwithCarry)的功能指令編號分別為FNC32和FNC33,它們的目標(biāo)操作數(shù)和n的取值范圍與循環(huán)移位指令相同。9.4FX系列PLC功能指令 執(zhí)行這兩條指令時,各位的數(shù)據(jù)與進(jìn)位位M8022一起向右(或向左)循環(huán)移動n位。如圖9.47(a)和(b)所示。在循環(huán)中進(jìn)位標(biāo)志被送到目標(biāo)操作數(shù)中。與循環(huán)移位指令一樣,若在目標(biāo)元件中指定位元件組的組數(shù),只有K4(16位指令)和K8(32位指令)有效。圖9.47帶進(jìn)位的循環(huán)移位指令3.位右移和位左移指令位右移指令SFTR(ShiftRight)與位左移指令SFTL(ShiftLeft)指令的功能指令編號分別為FNC34和FNC35。它們的源操作數(shù)可取X,Y,M和S,目標(biāo)操作數(shù)可取Y,M和S。它們只有16位運(yùn)算。9.4FX系列PLC功能指令 位右移和位左移指令使元件中的狀態(tài)成組地向右或向左移動,由n1指定位元件組的長度,n2指定移動的位數(shù),對于FX2N系列PLC,n2≤n1≤1024。圖9.48(a)中的X10由OFF變?yōu)镺N時,位右移指令按以下順序移位:M3~M0中的數(shù)溢出,M7~M4→M3~M0,M11~M8→M7~M4,M15~M12→M11~M8,X3~X0→M15~M12。9.4FX系列PLC功能指令 圖9.48位左、右移指令9.4FX系列PLC功能指令 圖9.47(b)中的X10由OFF變?yōu)镺N時,位左移指令按以下順序移位:M15~M12中的數(shù)溢出,M11~M8→M15~M12,M7~M4→M11~M8,M3~M0→M7~M4,X3~X0→M3~M0。4.字右移和字左移指令字右移指令WSFR(WordSiftRight)與字左移指令WSFL(WordShiftLeft)的功能指令編號分別為FNC36和FNC37。它們的源操作數(shù)可取KnX,KnY,KnM,KnS,T,C和D,目標(biāo)操作數(shù)可取KnY,KnM,KnS,T,C和D。它們只有16位運(yùn)算。字右移(或字左移)指令是以字為單位,對[D·]所指定的n1個字元件進(jìn)行[S·]所指定的n2個字的右移(或左移)。其中n2≤n1≤512。圖9.49中的X0由OFF變?yōu)镺N時,字右移指令按以下順序移位:D3~D0中的數(shù)溢出,D7~D4→D3~D0,D11~D8→D7~D4,D15~D12→D11~D8,T3~T0→D15~D12。字左移指令的使用方法與字右移指令基本原理相同,請讀者自行分析。5.FIFO(先入先出)寫入與讀出指令1)FIFO(FirstinFirstout)寫入指令9.4FX系列PLC功能指令 FIFO寫入指令SFWR(ShiftRegisterWrite)的功能指令編號為FNC38,源操作數(shù)可取所有的數(shù)據(jù)類型,目標(biāo)操作數(shù)可取KnY,KnM,KnS,T,C和D,只有16位運(yùn)算。圖9.49字右移指令圖9.50(a)中的X0由OFF變?yōu)镺N時,將[S·]所指定的D0的數(shù)據(jù)寫入D2,[D·]所指定的指針D1的內(nèi)容成為1。以后如X0再次由OFF變?yōu)镺N時,D0中新的數(shù)據(jù)寫入D3,D1的內(nèi)容變?yōu)?。依此類推,源操作數(shù)D0中的數(shù)據(jù)依次寫入數(shù)據(jù)寄存器。9.4FX系列PLC功能指令 數(shù)據(jù)由寄存器D2開始順序存入,源數(shù)據(jù)寫入的次數(shù)存入D1。當(dāng)D1中的數(shù)達(dá)到n-1后不再執(zhí)行,進(jìn)位標(biāo)志M8022置1。若是連續(xù)指令執(zhí)行時,則在各個掃描周期按順序執(zhí)行。2)FIFO讀出指令FIFO讀出指令SFRD(ShiftRegisterRead)的功能指令編號為FNC39,源操作數(shù)可取KnY,KnM,KnS,T,C和D,目標(biāo)操作數(shù)可取KnY,KnM,KnS,T,C,D,V和Z,只有16位運(yùn)算。圖9.50(b)中的X0由OFF變?yōu)镺N時,將D2的數(shù)據(jù)傳送到D20內(nèi),與此同時,指針D1的內(nèi)容減1,D3~D10的數(shù)據(jù)向右移。當(dāng)X0再由OFF變?yōu)镺N時,即原D3中的內(nèi)容傳送到D20內(nèi),D1的內(nèi)容再減1。依此類推,數(shù)據(jù)總是從D2讀出,當(dāng)D1的內(nèi)容為0時,則上述操作不再執(zhí)行,零標(biāo)志M8020置1。若是連續(xù)指令執(zhí)行時,則在各個掃描周期按順序向右移位傳送執(zhí)行。9.4FX系列PLC功能指令 圖9.50FIFO寫入與讀出指令9.4FX系列PLC功能指令 9.4.6數(shù)據(jù)處理指令數(shù)據(jù)處理指令的功能編號為FNC40~FNC49,包括區(qū)間復(fù)位指令、解碼指令、編碼指令、求置ON位總數(shù)指令、ON位判別指令、平均值指令、報警器置位指令、報警器復(fù)位指令、平方根指令、二進(jìn)制整數(shù)向二進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換指令及高低字節(jié)交換指令。1.區(qū)間復(fù)位指令區(qū)間復(fù)位指令ZRST(ZoneReset)也稱為成批復(fù)位指令,其功能指令編號為FNC40,目標(biāo)操作數(shù)可取T,C和D(字元件)或Y,M,S(位元件)。該指令有16位運(yùn)算。圖9.51區(qū)間復(fù)位指令ZRST指令將[D1·]和[D2·]指定的元件號范圍內(nèi)的同類元件成批復(fù)位。圖9.51中當(dāng)M8002由OFF變?yōu)镺N時,區(qū)間復(fù)位指令執(zhí)行。位元件M500~M599成批復(fù)位,字元件C235~C255成批復(fù)位,狀態(tài)元件S0~S127成批復(fù)位。圖9.51區(qū)間復(fù)位指令9.4FX系列PLC功能指令 [D1·]和[D2·]指定的應(yīng)為同一類元件,[D1·]的元件號應(yīng)小于等于[D2·]的元件號。若[D1·]的元件號大于[D2·]的元件號,則只有[D1·]指定的元件被復(fù)位。雖然ZRST指令是16位處理指令,但是可在[D1·],[D2·]中指定32位計數(shù)器。但不能混合指定,即不能在[D1·]中指定16位計數(shù)器,在[D2·]中指定32位計數(shù)器。2.解碼與編碼指令1)解碼指令解碼指令DECO(Decode)的功能指令編號為FNC41。位源操作數(shù)可取X,T,M和S,位目標(biāo)操作數(shù)可取Y,M和S。字源操作數(shù)可取K,H,T,C,D,V和Z,字目標(biāo)操作數(shù)可取T,C和D,n=1~8。只有16位運(yùn)算。(1)當(dāng)[D·]是位元件時,以源[S·]為首地址的n位連續(xù)的位元件所表示的十進(jìn)制碼值為Q,DECO指令把以[D·]為首地址目標(biāo)元件的第Q位(目標(biāo)元件位為第0位)置1,其他位置0。如圖9.52(a)所示。X2~X0組成的3位(n=3)二進(jìn)制數(shù)為011,相當(dāng)于十進(jìn)制數(shù)Q為3(21+20=3),由目標(biāo)操作數(shù)M17~M10組成的8位二進(jìn)制數(shù)的第3位置1,其余各位置0。如源數(shù)據(jù)Q為0,則第0位M0為1。9.4FX系列PLC功能指令 圖9.52解碼指令若n=0時,程序不執(zhí)行;n=0~8以外時,出現(xiàn)運(yùn)算錯誤。若n=8時,[D·]位數(shù)為28=256。驅(qū)動輸入為OFF時,不執(zhí)行指令,上一次解碼輸出置1的位保持不變。9.4FX系列PLC功能指令 (2)當(dāng)[D·]是字元件時,源[S·]所指定字元件的低n位所表示的十進(jìn)制碼為Q,DECO指令把以[D·]所指定目標(biāo)字元件的第Q位置1,其他各位置0。如圖9.52(b)所示,源操作數(shù)Q=22+21=6,因此D1的第6位為1。當(dāng)源數(shù)據(jù)為0時,D1的第0位為1。若n=0時,程序不執(zhí)行;n=0~4以外時,出現(xiàn)運(yùn)算錯誤。若n=4時[D·]位數(shù)為24=16。驅(qū)動輸入OFF時,不執(zhí)行指令,上一次解碼輸出置1的位保持不變。2)編碼指令編碼指令ENCO(Encode)的功能指令編號為FNC42,只有16位運(yùn)算。當(dāng)[S·]指定的源操作數(shù)是字元件T,C,D,V和Z時,就使n=4;當(dāng)[S·]指定的源操作數(shù)是位元件X,Y,M和S時,應(yīng)使n=1~8,目標(biāo)元件可取T,C,D,V和Z。(1)當(dāng)[S·]是位元件時,以源[S·]為首地址、長度為2n的位元件中,將最高位置1的位置數(shù)存放到目標(biāo)[D·]所指定的元件中去,[D·]中數(shù)值的范圍由n確定。如圖9.53(a)所示,源元件的長度為2n=23=8位,即M0~M7,其最高位置1的是M4,即第4位。因此將“4”這個位置數(shù)以二進(jìn)制數(shù)的形式存放到D10的低3位中。9.4FX系列PLC功能指令 圖9.53編碼指令當(dāng)源數(shù)的第0位為1,則[D·]中存放0。當(dāng)源數(shù)中無1,出現(xiàn)運(yùn)算錯誤。若n=0時,程序不執(zhí)行;n=1~8以外時,出現(xiàn)運(yùn)算錯誤。若n=8時,[S·]位數(shù)為28=256。當(dāng)執(zhí)行條件OFF時,指令不執(zhí)行,編碼輸出保持不變。9.4FX系列PLC功能指令 (2)當(dāng)[S·]是字元件時,在其可讀長度2n位中,最高置1的位置數(shù)被存放到[D·]中,[D·]中數(shù)值的范圍由n確定。如圖9.53(b)所示,源字元件的可讀長度為2n=23=8位,其最高置1位是第4位。將“4”這個位置數(shù)以二進(jìn)制形式存放到D1的低3位中。若n=0時,程序不執(zhí)行;n=1~4以外時,出現(xiàn)運(yùn)算錯誤。若n=4時,[S·]位數(shù)為24=16。當(dāng)執(zhí)行條件OFF時,指令不執(zhí)行,編碼輸出保持不變。3.求置ON位總數(shù)與ON位判別指令1)求置ON位總數(shù)指令求置ON位總數(shù)指令SUM的功能指令編號為FNC43。它的源操作數(shù)可取所有的數(shù)據(jù)類型,目標(biāo)操作數(shù)可取KnY,KnM,KnS,T,C,D,V和Z。圖9.54中的X0為ON時,統(tǒng)計源操作數(shù)D0中為ON(位元件的值為“1”時稱為ON)的位的個數(shù),并將它送入目標(biāo)操作數(shù)D2中。若D0的各位均為“0”,則零標(biāo)志M8020置1。如使用32位指令,目標(biāo)操作數(shù)的高位字為0。2)ON位判別指令ON位判別指令BON(BitONCheck)的功能指令編號為FNC44。它的源操作數(shù)可取所有的數(shù)據(jù)類型,目標(biāo)操作數(shù)可取Y,M和S。16位運(yùn)算n=0~15,32位運(yùn)算n=0~31。9.4FX系列PLC功能指令 BON指令用來檢測指定元件中的指定位是否為“1”。如圖9.54所示,當(dāng)X1為ON時,若源操作數(shù)D10的第11位為ON(n=11),則目標(biāo)操作數(shù)M0變?yōu)镺N。即使X1變?yōu)镺FF,M0仍保持不變。4.平均值指令平均值指令MEAN的功能指令編號為FNC45。它的源操作數(shù)可取KnX,KnY,KnM,KnS,T,C和D,目標(biāo)操作數(shù)可取KnY,KnM,KnS,T,C,D,V和Z,n=1~64。平均值指令MEAN是將[S·]開始的n個源操作數(shù)據(jù)的平均值(用n除代數(shù)和)存入目標(biāo)操作數(shù)[D·]中,舍去余數(shù)。MEAN指令的使用說明如圖9.55所示。圖9.54ON位總數(shù)與ON判別指令圖9.55平均值指令9.4FX系列PLC功能指令 若元件超出指定的范圍,n的值會自動縮小,只求允許范圍內(nèi)元件的平均值。若n的值超出范圍1~64,則出錯。5.報警器置位復(fù)位指令1)報警器置位指令報警器置位指令A(yù)NS(AnnunciatorSet)的功能指令編號為FNC46。它的源操作數(shù)為T0~T199,目標(biāo)操作數(shù)為S900~S999,m=1~32767(以100ms為單位),只有16位運(yùn)算。圖9.56中的X0為ON的時間超過1s(m=10),S900置1,若X0變?yōu)镺FF,定時器復(fù)位而S900保持為ON。2)報警器復(fù)位報警器復(fù)位指令A(yù)NR(AnnunciatorReset)的功能指令編號為FNC47,無操作數(shù),只有16位運(yùn)算。圖9.56中的X1變?yōu)镺N時,S900~S999之間被置1的報警器復(fù)位,若超過1個報警器被置1,則元件號最低的那個報警器被復(fù)位。若X1再次ON,下一地址的報警器被復(fù)位。9.4FX系列PLC功能指令 6.其他數(shù)據(jù)處理指令1)二進(jìn)制平方根指令平方根指令SQR(SquareRoot)的功能指令編號為FNC48。其源操作數(shù)[S·]應(yīng)大于0,可取K,H和D,目標(biāo)操作數(shù)為D。圖9.57中的X0變?yōu)镺N時,將存放在D0中的數(shù)開平方,結(jié)果存放在D4內(nèi)。計算結(jié)果舍去小數(shù),只取整數(shù)。2)二進(jìn)制整數(shù)向二進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換指令二進(jìn)制整數(shù)向二進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換指令FLT(Float)的功能指令編號為FNC49。它的源操作數(shù)和目標(biāo)操作數(shù)均為D。圖9.57中的X1變?yōu)镺N時,該指令將存放在源操作數(shù)D10中的數(shù)據(jù)轉(zhuǎn)換為浮點(diǎn)數(shù),將它存放在目標(biāo)寄存器D13和D12中。圖9.56報警器置位與復(fù)位指令圖9.57平方根與浮點(diǎn)數(shù)轉(zhuǎn)換指令9.4FX系列PLC功能指令 3)高低字節(jié)交換指令圖9.58高低字節(jié)交換指令高低字節(jié)交換指令SWAP的功能指令編號為FNC147。它的源操作數(shù)可取KnY,KnM,KnS,T,C,D,V和Z。一個字節(jié)由8位二進(jìn)制數(shù)組成。16位運(yùn)算時,該指令交換源操作數(shù)的高字節(jié)和低字節(jié)。圖9.58中的X2變?yōu)镺N時,D10的高字節(jié)和低字節(jié)進(jìn)行交換。32位運(yùn)算時,如指定的源操作數(shù)為D20,先交換D20的高字節(jié)和低字節(jié),再交換D21的高字節(jié)和低字節(jié)。圖9.58高低字節(jié)交換指令9.4FX系列PLC功能指令 9.4.7浮點(diǎn)數(shù)運(yùn)算指令浮點(diǎn)數(shù)運(yùn)算指令包括浮點(diǎn)數(shù)的比較、變換、算術(shù)運(yùn)算、開平方和三角函數(shù)等指令。1.二進(jìn)制浮點(diǎn)數(shù)比較指令1)二進(jìn)制浮點(diǎn)數(shù)比較指令二進(jìn)制浮點(diǎn)數(shù)比較指令ECMP的功能指令編號為FNC110,源操作數(shù)[S1·]和[S2·]可取K,H和D,目標(biāo)操作數(shù)為Y,M和S,占用3點(diǎn),只有32位運(yùn)算。ECMP指令是將[S1·]同[S2·]進(jìn)行比較,其比較結(jié)果用[D·]指定的元件的ON/OFF狀態(tài)來表示,如圖9.59所示。常數(shù)參與比較時,被自動轉(zhuǎn)換為二進(jìn)制浮點(diǎn)數(shù)。2)二進(jìn)制浮點(diǎn)數(shù)區(qū)間比較指令二進(jìn)制浮點(diǎn)數(shù)區(qū)間比較指令EZCP的功能指令編號為FNC111,源操作數(shù)[S1·],[S2·]和[S·]可取K,H和D,目標(biāo)操作數(shù)為Y,M和S,占3點(diǎn)。只有32位運(yùn)算,[S1·]<[S2·]。EZCP指令是將[S·]指定的浮點(diǎn)數(shù)與作為比較范圍的源操作數(shù)[S1·]和[S2·]相比較,比較結(jié)果用目標(biāo)操作數(shù)[D·]指定元件的ON/OFF狀態(tài)來表示,如圖9.60所示。常數(shù)參與比較時,被自動轉(zhuǎn)換為二進(jìn)制浮點(diǎn)數(shù)。9.4FX系列PLC功能指令 圖9.59浮點(diǎn)數(shù)比較指令圖9.60浮點(diǎn)數(shù)區(qū)間比較指令2.二進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換指令1)二進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換為十進(jìn)制浮點(diǎn)數(shù)二進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換為十進(jìn)制浮點(diǎn)數(shù)指令EBCD的功能指令編號為FNC118,源操作數(shù)[S·]和目標(biāo)操作數(shù)[D·]均為D。圖9.61浮點(diǎn)數(shù)轉(zhuǎn)換指令EBCD指令是將[S·]指定單元內(nèi)的二進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換為十進(jìn)制浮點(diǎn)數(shù),并存入[D·]中。二進(jìn)制浮點(diǎn)數(shù)的尾數(shù)占23位,符號占1位,指數(shù)部分占8位。圖9.61中的X0為ON時,將D11,D10中的二進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換為十進(jìn)制浮點(diǎn)數(shù)后存入D21和D20。9.4FX系列PLC功能指令 2)十進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換為二進(jìn)制浮點(diǎn)數(shù)十進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換為二進(jìn)制浮點(diǎn)數(shù)指令(D)EBIN的功能指令編號為FNC119,源操作數(shù)[S·]和目標(biāo)操作數(shù)[D·]均為D。EBIN指令是將[S·]指定單元內(nèi)的十進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換為二進(jìn)制浮點(diǎn)數(shù),并存入[D·]中。圖9.61中的X1為ON時,將D31,D30中的十進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換為二進(jìn)制浮點(diǎn)數(shù)后存入D41,D40。3)二進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)二進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)指令I(lǐng)NT的功能指令編號為FNC129,源操作數(shù)[S·]和目標(biāo)操作數(shù)[D·]均為D。INT指令是將[S·]指定單元內(nèi)的二進(jìn)制浮點(diǎn)數(shù)舍去小數(shù)部分后轉(zhuǎn)換為二進(jìn)制整數(shù),并存入[D·]中。圖9.61中的X2為ON時,將D51,D50中的二進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)后存入D60中。該指令是FLT指令(FNC49)的逆運(yùn)算,運(yùn)算結(jié)果為0時,零標(biāo)志M8020為ON;轉(zhuǎn)換不滿1而舍掉時,借位標(biāo)志為ON;16位運(yùn)算結(jié)果超出-32767~32767,或32位運(yùn)算時,運(yùn)算結(jié)果超出-2147483648~2147483647,將會發(fā)生溢出,進(jìn)位標(biāo)志為ON。圖9.61浮點(diǎn)數(shù)轉(zhuǎn)換指令9.4FX系列PLC功能指令 3.二進(jìn)制浮點(diǎn)數(shù)的算術(shù)運(yùn)算指令二進(jìn)制浮點(diǎn)數(shù)算術(shù)運(yùn)算指令的源操作數(shù)[S1·]和[S2·]可取K,H和D,目標(biāo)操作數(shù)[D·]為D,只有32位運(yùn)算。運(yùn)算影響標(biāo)志位M8020(零標(biāo)志)、M8021(借位標(biāo)志)和M8022(進(jìn)位標(biāo)志)。常數(shù)參與運(yùn)算時,被自動轉(zhuǎn)換為二進(jìn)制浮點(diǎn)數(shù)。源操作數(shù)和目標(biāo)操作數(shù)可取同一數(shù)據(jù)寄存器,如用連續(xù)執(zhí)行指令,每個掃描周期都會執(zhí)行運(yùn)算,如圖9.62所示。1)二進(jìn)制浮點(diǎn)數(shù)的加法指令二進(jìn)制浮點(diǎn)數(shù)的加法指令EADD的功能指令編號為FNC120,指令將源操作數(shù)[S1·]和[S2·]指定單元的二進(jìn)制浮點(diǎn)數(shù)相加,和(二進(jìn)制浮點(diǎn)數(shù))存入目標(biāo)操作數(shù)[D·]中。2)二進(jìn)制浮點(diǎn)數(shù)的減法指令二進(jìn)制浮點(diǎn)數(shù)的減法指令ESUB的功能指令編號為FNC121,該指令是用源操作數(shù)[S1·]指定的二進(jìn)制浮點(diǎn)數(shù)減去源操作數(shù)[S2·]指定的二進(jìn)制浮點(diǎn)數(shù),差(二進(jìn)制浮點(diǎn)數(shù))存入目標(biāo)操作數(shù)[D·]中。3)二進(jìn)制浮點(diǎn)數(shù)的乘法指令9.4FX系列PLC功能指令 二進(jìn)制浮點(diǎn)數(shù)的乘法指令EMUL的功能指令編號為FNC122,該指令是用源操作數(shù)[S1·]指定的二進(jìn)制浮點(diǎn)數(shù)乘以源操作數(shù)[S2·]指定的二進(jìn)制浮點(diǎn)數(shù),積(二進(jìn)制浮點(diǎn)數(shù))存入目標(biāo)操作數(shù)[D·]中。4)二進(jìn)制浮點(diǎn)數(shù)的除法指令二進(jìn)制浮點(diǎn)數(shù)的除法指令EDIV的功能指令編號為FNC123,該指令是用源操作數(shù)[S1·]指定的二進(jìn)制浮點(diǎn)數(shù)除以源操作數(shù)[S2·]指定的二進(jìn)制浮點(diǎn)數(shù),商(二進(jìn)制浮點(diǎn)數(shù))存入目標(biāo)操作數(shù)[D·]中。4.二進(jìn)制浮點(diǎn)數(shù)的開平方指令與三角函數(shù)運(yùn)算指令1)二進(jìn)制浮點(diǎn)數(shù)開平方指令二進(jìn)制浮點(diǎn)數(shù)開平方指令ESQR的功能指令編號為FNC127,源操作數(shù)[S·]為K,H和D,目標(biāo)操作數(shù)[D·]為D,只有32位運(yùn)算。ESQR指令是將[S·]指定的二進(jìn)制浮點(diǎn)數(shù)進(jìn)行開平方,平方根(二進(jìn)制浮點(diǎn)數(shù))存入目標(biāo)操作數(shù)[D·]中,如圖9.63所示。源操作數(shù)應(yīng)為正數(shù),若為負(fù)數(shù)則出錯,運(yùn)算錯誤標(biāo)志M8067為ON,不執(zhí)行指令。源操作數(shù)為常數(shù)時,自動轉(zhuǎn)換為二進(jìn)制浮點(diǎn)數(shù)。9.4FX系列PLC功能指令 圖9.62浮點(diǎn)數(shù)的算術(shù)運(yùn)算指令圖9.63浮點(diǎn)數(shù)開平方與三角函數(shù)指令2)二進(jìn)制浮點(diǎn)數(shù)三角函數(shù)運(yùn)算指令二進(jìn)制浮點(diǎn)數(shù)三角函數(shù)運(yùn)算指令包括SIN(正弦)、COS(余弦)和TAN(正切)指令,功能指令編號分別為FNC130~FNC132,源操作數(shù)[S·]和目標(biāo)操作數(shù)[D·]為D,只有32位運(yùn)算。這些指令是用來求出源操作數(shù)[S·]指定的二進(jìn)制浮點(diǎn)數(shù)(角度)的三角函數(shù),函數(shù)值(二進(jìn)制浮點(diǎn)數(shù))存入目標(biāo)操作數(shù)[D·]指定的單元中。源操作數(shù)應(yīng)滿足0≤角度≤2。9.4FX系列PLC功能指令 9.4.8時鐘運(yùn)算與格林碼變換指令1.時鐘比較指令1)時鐘數(shù)據(jù)比較指令時鐘數(shù)據(jù)比較指令TCMP(TimeCompare)的功能指令編號為FNC160,源操作數(shù)[S1·],[S2·]和[S3·]用來存放指定時間的時、分、秒,可取任意的數(shù)據(jù),[S·]可取T、C和D,目標(biāo)操作數(shù)[D·]為Y、M和S,占3點(diǎn)。TCMP指令是將指定時刻[S·]與時鐘數(shù)據(jù)[S1·](時)[S2·]分[S3·]秒進(jìn)行比較,比較結(jié)果在[D·]中顯示。如圖9.64所示。2)時鐘數(shù)據(jù)區(qū)間比較指令時鐘數(shù)據(jù)區(qū)間比較指令TZCP(TimeZoneCompare)的功能指令編號為FNC161,源操作數(shù)[S1·],[S2·]和[S·]可取T、C和D,目標(biāo)操作數(shù)[D·]為Y、M和S,占3點(diǎn),[S1·]≤[S2·]。TZCP指令是將指定時刻[S·]與時鐘數(shù)據(jù)[S1·]~[S2·]進(jìn)行比較,比較結(jié)果在[D·]中顯示。圖9.65中[S1·]、[S2·]和[S·]分別占3個數(shù)據(jù)寄存器,如D10~D12分別用來存放時、分、秒。9.4FX系列PLC功能指令 圖9.64時鐘數(shù)據(jù)比較指令圖9.65時鐘數(shù)據(jù)區(qū)間比較指令2.時鐘數(shù)據(jù)加減法指令時鐘數(shù)據(jù)加、減法指令的[S1·]、[S2·]和[D·]可取T、C和D。1)時鐘數(shù)據(jù)加法指令時鐘數(shù)據(jù)加法指令TADD(TimeAddition)的功能指令編號為FNC162,[S1·]、[S2·]和[D·]中存放的是時間數(shù)據(jù)(時、分、秒)。該指令把以[S2·]起始的3點(diǎn)時刻數(shù)據(jù)加上存入以[S1·]起始的3點(diǎn)時刻數(shù)據(jù)的結(jié)果存入以[D·]起始的3點(diǎn)中。圖9.66中的X0為ON時,TADD指令將D10~D12和D0~D2的時刻數(shù)據(jù)相加后存入D20~D22中。運(yùn)算結(jié)果如超過24h,進(jìn)位標(biāo)志為ON,其和減去24h后存入目標(biāo)地址。9.4FX系列PLC功能指令 2)時鐘數(shù)據(jù)減法指令時鐘數(shù)據(jù)減法指令TSUB(TimeSubtraction)的功能指令編號為FNC163。該指令把以[S1·]起始的3點(diǎn)時刻數(shù)據(jù)減去存入以[S2·]起始的3點(diǎn)時刻數(shù)據(jù)的結(jié)果存入以[D·]開始的3點(diǎn)中。圖9.66中的X1為ON時,指令將D30~D32和D40~D42的時刻數(shù)據(jù)相減后存入D50~D52中。運(yùn)算結(jié)果如小于0,借位標(biāo)志為ON,其差值加上24h后存入目標(biāo)地址中。3.時鐘數(shù)據(jù)讀寫指令1)時鐘數(shù)據(jù)讀出指令時鐘數(shù)據(jù)讀出指令TRD(TimeRead)的功能指令編號為FNC166,[D·]可取T、C和D。該指令用來讀出內(nèi)置的實時鐘的數(shù)據(jù),并存放在從[D·]開始的7個字內(nèi),實時鐘的時間數(shù)據(jù)存放在特殊輔助寄存器D8013~D8019內(nèi),D8018~D8013中分別存放年、月、日、時、分和秒,星期存放在D8019中。圖9.67中的X1為ON時,D8018~D8013中存放的6個時鐘數(shù)據(jù)分別讀入D10~D15,D8019中的星期值讀入D16。2)時鐘數(shù)據(jù)寫入指令9.4FX系列PLC功能指令 時鐘數(shù)據(jù)寫入指令TWR(TimeWrite)的功能指令編號為FNC167,[S·]可取T、C和D,只有16位運(yùn)算。該指令用來將從[S·]開始的7點(diǎn)數(shù)據(jù)(時間設(shè)定值)寫入內(nèi)置的實時鐘。圖9.67中的D20~D25分別存放年、月、日、時、分和秒,D26存放星期,X2為ON時,D20~D25的時鐘數(shù)據(jù)分別寫入D8018~D8013,D26中的數(shù)據(jù)寫入D8019。圖9.66時鐘數(shù)據(jù)加減法指令圖9.67時鐘數(shù)據(jù)讀出與寫入指令4.格林碼變換指令格林碼變換指令GRY(GrayCode)和格林碼逆變換指令GBIN(GrayCodetoBinary)的功能指令編號為FNC170和FNC171,[S·]可取任意的數(shù)據(jù)格式,[D·]可取KnY、KnM、KnS、T、C、D、V和Z。9.4FX系列PLC功能指令 格林碼的特點(diǎn)是相鄰的兩個數(shù)(二進(jìn)制數(shù))的各位中,只有一位的值是不同的。格林碼常用于光電碼盤編碼器。GRY指令是將[S·]中的二進(jìn)制數(shù)轉(zhuǎn)換為格林碼并存入[D·]中,如圖9.68所示。GBIN指令是將[S·]中的格林碼轉(zhuǎn)換為二進(jìn)制數(shù)并存入[D·]中。9.4FX系列PLC功能指令 9.4.9觸點(diǎn)型比較指令LD開始的觸點(diǎn)型比較指令接在左母線上,ADD開始的觸點(diǎn)型比較指令串聯(lián)在別的觸點(diǎn)后面,OR開始的觸點(diǎn)型比較指令與別的觸點(diǎn)并聯(lián),如圖9.69所示。當(dāng)C10的當(dāng)前值等于20時,Y10被驅(qū)動;當(dāng)X0為ON且D200的值大于-30時,Y11被SET指令置位;當(dāng)M3為ON或C10的當(dāng)前值等于200時,M50被驅(qū)動。各種觸點(diǎn)型比較指令的見表9-6。圖9.68格林碼變換指令圖9.69觸點(diǎn)型比較指令9.4FX系列PLC功能指令 表9-6觸點(diǎn)型比較指令功能號助記符命令名稱功能號助記符命令名稱224LD=(S1)=(S2)時運(yùn)算開始的觸點(diǎn)接通236AND<>(S1)≠(S2)時串聯(lián)觸點(diǎn)接通225LD>(S1)>(S2)時運(yùn)算開始的觸點(diǎn)接通237AND≤(S1)≤(S2)時串聯(lián)觸點(diǎn)接通226LD<(S1)<(S2)時運(yùn)算開始的觸點(diǎn)接通238AND≥(S1)≥(S2)時串聯(lián)觸點(diǎn)接通228LD<>(S1)≠(S2)時運(yùn)算開始的觸點(diǎn)接通240OR=(S1)=(S2)時并聯(lián)觸點(diǎn)接通9.4FX系列PLC功能指令 229LD≤(S1)≤(S2)時運(yùn)算開始的觸點(diǎn)接通241OR>(S1)>(S2)時并聯(lián)觸點(diǎn)接通230LD≥(S1)≥(S2)時運(yùn)算開始的觸點(diǎn)接通242OR<(S1)<(S2)時并聯(lián)觸點(diǎn)接通232AND=(S1)=(S2)時串聯(lián)觸點(diǎn)接通244OR<>(S1)≠(S2)時并聯(lián)觸點(diǎn)接通功能號助記符命令名稱功能號助記符命令名稱233AND>(S1)>(S2)時串聯(lián)觸點(diǎn)接通245OR≤(S1)≤(S2)時并聯(lián)觸點(diǎn)接通234AND<(S1)<(S2)時串聯(lián)觸點(diǎn)接通246OR≥(S1)≥(S2)時并聯(lián)觸點(diǎn)接通9.4FX系列PLC功能指令 9.4.10高速處理指令高速處理指令的功能指令編號為FNC50~FNC59,包括輸入/輸出刷新指令、刷新和濾波器時間常數(shù)調(diào)整指令、矩陣輸入指令、高速計數(shù)器比較置位指令、高速計數(shù)器比較復(fù)位指令、區(qū)間比較指令、速度檢測指令、脈沖輸出指令、脈寬調(diào)制指令和可調(diào)速脈沖輸出指令。1.輸入/輸出指令1)輸入/輸出刷新指令輸入/輸出刷新指令REF(Refresh)的功能指令編號為FNC50。它的目標(biāo)操作數(shù)是最低位為0的X和Y元件,如X0、X10、Y20等,[D·]指定了目標(biāo)元件的首位,n應(yīng)為8的整倍數(shù),只有16位運(yùn)算。FX系列PLC使用I/O批處理的方法,即輸入信號是在程序處理之前成批讀入到輸入映像寄存器的,而輸出數(shù)據(jù)是在執(zhí)行END指令后由輸出映像寄存器通過輸出鎖存器送到輸出端子的。REF指令用于在某段程序處理時讀入最新信息并將操作結(jié)果立即輸出。圖9.70中的X0為ON時,X10~X17這8點(diǎn)輸入(n=8)被刷新。輸入數(shù)字濾波器的響應(yīng)延遲時間約10ms,若在REF指令執(zhí)行之前10ms,X10~X17已變?yōu)镺N,則執(zhí)行本指令時X10~X17的映像寄存器變?yōu)镺N。9.4FX系列PLC功能指令 X1為ON時,Y0~Y7、Y10~Y17、Y20~Y27共24點(diǎn)輸出被刷新,輸出映像寄存器的內(nèi)容送到輸出鎖存器,在輸出繼電器的響應(yīng)時間之后為ON的輸出觸點(diǎn)動作。一般將REF指令放在FOR-NEXT循環(huán)中或放在標(biāo)號的步序號低于對應(yīng)的CJ指令步序號的標(biāo)號和步序號之間。2)刷新和濾波時間常數(shù)調(diào)整指令刷新和濾波時間常數(shù)調(diào)整指令REFF(RefreshandFilterAdjust)的功能指令編號為FNC51,它用來刷新X0~X17,并指定它們的輸入濾波時間常數(shù)n(n=0~60ms)。它只有16位運(yùn)算。圖9.70中的X20為ON時,F(xiàn)X2N中X0~X17的輸入映像寄存器被刷新,它們的濾波時間常數(shù)被設(shè)定為1ms(n=1)。為了防止輸入噪聲的影響,同時也為了提高PLC高速輸入的速度,X0~X17輸入端采用數(shù)字濾波器,濾波時間可用REFF指令加以調(diào)整,調(diào)節(jié)范圍為0~60ms,這些輸入端也有RC濾波器,但其濾波時間常數(shù)不小于50。X0~X7用作高速計數(shù)輸入、用于SPD速度檢測指令,或者用作中斷輸入時,輸入濾波器的濾波時間自動設(shè)置為50。9.4FX系列PLC功能指令 3)矩陣輸入指令矩陣輸入指令MTR(Matrix)的功能指令編號為FNC52。它的源操作數(shù)是最低位為0的X,目標(biāo)操作數(shù)[D1]是最低位為0的Y,目標(biāo)操作數(shù)[D2]是最低位為0的Y、M和S,n=2~8。它只有16位運(yùn)算,MTR指令只能使用一次。利用MTR指令,可用連續(xù)的8點(diǎn)輸入與n點(diǎn)輸出組成n行8列的輸入矩陣。矩陣輸入占用由[S]指定的輸入號開始的8點(diǎn)輸入點(diǎn),并占用由[D1·]指定的輸出號開始的n個輸出點(diǎn),將輸入的狀態(tài)存于由[D2·]指定的元件中。圖9.71中的X10為ON時,3個輸出點(diǎn)(Y0,Y1和Y2)反復(fù)順序接通。Y0為ON時,讀入第一行輸入的狀態(tài),將X0~X7輸入的狀態(tài)存于M30~M37中;Y1為ON時,讀入第二行的輸入狀態(tài),將X0~X7輸入的狀態(tài)存于M40~M47中,以此類推,反復(fù)執(zhí)行。圖9.70輸入/輸出刷新指令圖9.71矩陣輸入指令9.4FX系列PLC功能指令 對于每一個輸出,其I/O指令采用中斷方式,立即執(zhí)行,間隔時間為20ms,允許輸入濾波器的延遲時間為10ms。利用MTR指令,只用8/8輸入/輸出點(diǎn),就可以輸入64個輸入點(diǎn)的狀態(tài)。但是讀一次64個輸入點(diǎn)所需的時間為20ms×8=160ms,所以不適用于需要快速響應(yīng)的系統(tǒng)。如果采用X0~X17作輸入點(diǎn),每行的讀入時間可縮短到約10ms,64點(diǎn)的輸入時間可減到約80ms。2.高速計數(shù)器指令高速計數(shù)器(C235~C255)用來對外部輸入的高速脈沖計數(shù),高速計數(shù)器指令包括高速計數(shù)器比較置位指令、高速計數(shù)器比較復(fù)位指令和高速計數(shù)器區(qū)間比較指令。前兩條指令的源操作數(shù)[S1·]可取所有的數(shù)據(jù)類型,[S2·]為C235~C255,目標(biāo)操作數(shù)可取Y,M和S。1)高速計數(shù)器比較置位指令高速計數(shù)器比較置位指令HSCS(SetbyHighSpeedCounter)的功能指令編號為FNC53,只有32位運(yùn)算。高速計數(shù)器的當(dāng)前值達(dá)到預(yù)置值時,[D·]指定的輸出用中斷方式立即動作,不受掃描時間的影響。圖9.72中C255的設(shè)定值為100([S1·]=100),其當(dāng)前值由99變?yōu)?00或由101變?yōu)?00時,Y10立即置1。9.4FX系列PLC功能指令 2)高速計數(shù)器比較復(fù)位指令高速計數(shù)器比較復(fù)位指令HSCR(ResetbyHighSpeedCounter)的功能指令編號為FNC54,只有32位運(yùn)算。圖9.73中C255的當(dāng)前值由199變?yōu)?00或由201變?yōu)?00時,Y10立即復(fù)位。圖9.72高速計數(shù)器比較置位指令圖9.73高速計數(shù)器比較復(fù)位指令HSCR指令的源操作數(shù)和目標(biāo)操作數(shù)可以是同一個計數(shù)器。如圖9.74所示,C255的當(dāng)前值達(dá)到300時,其輸出觸點(diǎn)接通,達(dá)到400時,C255立即復(fù)位,其當(dāng)前值變?yōu)?,輸出觸點(diǎn)斷開。9.4FX系列PLC功能指令 3)高速計數(shù)器區(qū)間比較指令高速計數(shù)器區(qū)間比較指令HSZ(ZoneCompareforHighSpeedCounter)的功能指令編號為FNC55,為32位運(yùn)算。源操作數(shù)[S1·]和[S2·]可取所有的數(shù)據(jù)類型,[S·]=C235~C255。目標(biāo)操作數(shù)[D·]可取Y、M和S,為3個連續(xù)的元件,如圖9.75所示的目標(biāo)操作數(shù)指定的是Y0、Y1和Y2。圖中高速計數(shù)器C251的當(dāng)前值<1000時,Y0置1,Y1和Y2為0;1000≤C251的當(dāng)前值≤1200時,Y1置1,Y0和Y2為0;C251的當(dāng)前值>1200時,Y2置1,Y0和Y1為0。此指令中的計數(shù)、比較和外部輸出均以中斷方式進(jìn)行。圖9.74高速計數(shù)器自復(fù)位用以產(chǎn)生脈沖圖9.75高速計數(shù)器區(qū)間比較指令9.4FX系列PLC功能指令 3.速度檢測與脈沖輸出指令1)速度檢測指令速度檢測指令SPD(SpeedDetect)的功能指令編號為FNC56,源操作數(shù)[S1·]為X0~X5,[S2·]可取所有的數(shù)據(jù)類型,目標(biāo)操作數(shù)可取T、C、D、V和Z,只有16位運(yùn)算。SPD指令用來檢測給定時間內(nèi)從編碼器輸入的脈沖個數(shù),并計算出速度。[S1·]用來指定計數(shù)脈沖輸入點(diǎn)(X0~X5),[S2·]用來指定計數(shù)時間,即測量周期(以ms為單位),[D·]用來指定計數(shù)結(jié)果的存放處,占用3個元件。在圖9.76中,當(dāng)X10為OFF時,不執(zhí)行測速操作;當(dāng)X10為ON時,便開始轉(zhuǎn)速測量的操作,D1內(nèi)存放正進(jìn)行的測量周期內(nèi)已經(jīng)對X0輸入的脈沖數(shù),D2內(nèi)存放正進(jìn)行著的測量周期內(nèi)還剩余的時間。當(dāng)該測量周期的計時時間(100ms)到,則將D1內(nèi)的數(shù)據(jù)傳送到D0中去,然后將D1清0,并且重新開始存放下一個測量周期內(nèi)輸入的脈沖數(shù)。D0中存放的數(shù)正比于轉(zhuǎn)速,轉(zhuǎn)速n可通過式(9-1)計算。(r/min)(9-1)9.4FX系列PLC功能指令 式中:N——脈沖數(shù)/轉(zhuǎn);(D0)——D0中的數(shù);t——[S2·]指定的計數(shù)時間(ms)。2)脈沖輸出指令脈沖輸出指令PLSY(PulseOutput)的功能指令編號為FNC57,源操作數(shù)[S1·]、[S2·]可取所有的數(shù)據(jù)類型,[D·]為Y1和Y2,本指令只能使用一次。PLSY指令用于產(chǎn)生指定數(shù)量和頻率的脈沖。[S1·]用來指定脈沖頻率(2~20KHz),[S2·]用來指定產(chǎn)生的脈沖個數(shù),16位指令的脈沖數(shù)范圍為1~32767,32位指令的脈沖數(shù)范圍為1~2147483647。若指定脈沖數(shù)為0,則持續(xù)產(chǎn)生脈沖。[D·]用來指定脈沖輸出元件(只能用晶體管輸出型的Y0或Y1)。脈沖的占空比為50%,以中斷方式輸出。9.4FX系列PLC功能指令 圖9.76速度檢測指令圖9.77脈沖輸出指令圖9.77中若改用(D)PLSY指令,脈沖數(shù)由(D0,D1)來指定。指定脈沖數(shù)輸出完后,指令執(zhí)行完成標(biāo)志M8029置1。X10由ON變?yōu)镺FF時,M8029復(fù)位,脈沖輸出停止。X10再次變?yōu)镺N時,脈沖重新開始輸出。在發(fā)出脈沖串期間X10若變?yōu)镺FF,Y0也變?yōu)镺FF。[S1·]中的數(shù)據(jù)在指令執(zhí)行過程中可以改變,但[S2·]中的數(shù)據(jù)改變在指令執(zhí)行完成前不起作用。9.4FX系列PLC功能指令 3)脈寬調(diào)制指令脈寬調(diào)制指令PWM(PulseWidthModulation)的功能指令編號為FNC58,源操作數(shù)和目標(biāo)操作數(shù)的類型與PLSY指令相同,只能用于晶體管輸出型的Y0或Y1,只有16位運(yùn)算,只能使用一次。PWM指令用于產(chǎn)生指定脈沖寬度和周期的脈沖串。[S1·]用來指定脈沖寬度(t=10ms~32767ms),[S2·]用來指定脈沖周期(T0=1ms~32767ms),[S1·]應(yīng)小于[S2·],[D·]用來指定輸出脈沖的元件號(Y0或Y1),輸出的ON/OFF狀態(tài)用中斷方式控制。圖9.78中D10的值從0~100變化時,Y0輸出的脈沖的占空比從0~1變化。X10變?yōu)镺FF時,Y0也變?yōu)镺FF。4)帶加減速功能的脈沖輸出指令脈沖輸出指令PLSR(PulseR)的功能指令編號為FNC59,源操作數(shù)和目標(biāo)操作數(shù)的類型與PLSY指令相同,只能用于晶體管輸出型PLC的Y0或Y1。本指令只能使用一次。9.4FX系列PLC功能指令 [S1·]用來指定最高頻率(10kHz~20kHz),應(yīng)為10的整倍數(shù)。[S2·]用來指定總的輸出脈沖,16位指令的脈沖數(shù)范圍為110~32767,32位指令的脈沖數(shù)范圍為110~2147483647。設(shè)定值不到110時,脈沖不能正常輸出。[S3·]用來設(shè)定加減速時間(0ms~5000ms),其值應(yīng)大于PLC掃描周期最大值(D8012)的10倍。且應(yīng)滿足式(9-2)。(9-2)加減速的變速次數(shù)固定為10次。[D·]用來指定脈沖輸出的元件號(Y0或Y1)。圖9.79中的X10為OFF時,輸出中斷;為ON時,從初始值開始輸出。輸出頻率范圍為2kHz~20kHz,最高速度、加減速時的變速速度超過此范圍時,將自動調(diào)到允許值內(nèi)。9.4FX系列PLC功能指令 圖9.78脈寬調(diào)制指令圖9.79帶加減速功能的脈沖輸出指令9.4FX系列PLC功能指令 9.4.11方便指令方便指令的功能指令編號為FNC60~FNC68,包括狀態(tài)初始化指令、數(shù)據(jù)搜索指令、絕對值式凸輪順控指令、增量式凸輪順控指令、示教定時器指令、特殊定時器指令、交替輸出指令、斜坡輸出指令、旋轉(zhuǎn)臺控制指令和數(shù)據(jù)排序指令。1.狀態(tài)初始化指令狀態(tài)初始化指令I(lǐng)ST(InitialState)的功能指令編號為FNC60,源操作數(shù)[S·]可取X,Y和M,目標(biāo)操作數(shù)[D1·],[D2·]為S20~S899,[D1·]<[D2·],在程序中只能使用一次。IST指令與STL指令一起使用,用于自動設(shè)置初始狀態(tài)和設(shè)置有關(guān)的特殊輔助繼電器的狀態(tài)。圖9.80中IST指令中的S20和S27用來指定在自動操作中用到的最低和最高的狀態(tài)的元件號,源操作數(shù)X20用來指定與工作方式有關(guān)的輸入繼電器的首元件,它實際上指定從X20開始的8個輸入繼電器具有以下意義。圖9.80狀態(tài)初始化指令9.4FX系列PLC功能指令 圖9.80狀態(tài)初始化指令X20手動。X21回去原點(diǎn)。X22單步運(yùn)行。X23單周期運(yùn)行(半自動)。X24連續(xù)運(yùn)行(全自動)。X25回原點(diǎn)啟動。X26自動操作啟動。X27停止。X20~X24中同時只能有一個處于接通狀態(tài)。當(dāng)IST指令的執(zhí)行條件滿足時,S0~S2和下列的特殊輔助繼電器被自動指定為以下功能,以后即使IST指令的執(zhí)行條件變?yōu)镺FF,這些元件的功能仍保持不變。M8040禁止轉(zhuǎn)換。當(dāng)M8040為1時,禁止?fàn)顟B(tài)轉(zhuǎn)換;當(dāng)M8040為0時,允許狀態(tài)轉(zhuǎn)換。9.4FX系列PLC功能指令 M8041開始轉(zhuǎn)換。當(dāng)M8041為1時,允許在自動工作方式下從目標(biāo)操作數(shù)[D1·]所使用的最低位狀態(tài)開始,進(jìn)行狀態(tài)轉(zhuǎn)換;反之,則禁止轉(zhuǎn)換。M8042啟動脈沖。當(dāng)輸入端X26由OFF變?yōu)镺N時,M8042產(chǎn)生一個脈寬為一個掃描周期的脈沖。M8043進(jìn)入自動工作方式。當(dāng)M8047為1時,表示返回原點(diǎn)工作方式結(jié)束,允許進(jìn)入自動工作方式;反之,則不允許進(jìn)入自動工作方式。M8047STL監(jiān)控有效。當(dāng)M8047為1時,只要狀態(tài)S0~S999中任何一個狀態(tài)為1,M8046就為1,同時,特殊數(shù)據(jù)寄存器D8040內(nèi)的數(shù)表示S0~S999中狀態(tài)為1的最低的地址,D8041~D8047內(nèi)的數(shù)依次代表其他各狀態(tài)為1的地址;當(dāng)M8047為0時,不論狀態(tài)S0~S999中有多少個1,M8046始終為0,D8040~D8047內(nèi)的數(shù)不變。S0手動操作初始狀態(tài)。S1回原點(diǎn)初始狀態(tài)。S2自動操作初始狀態(tài)。9.4FX系列PLC功能指令 2.數(shù)據(jù)搜索指令數(shù)據(jù)搜索指令SER(DataSearch)的功能指令編號為FNC61,源操作數(shù)[S1·]可取KnX、KnY、KnM、KnS、T、C和D,[S2·]可取所有的數(shù)據(jù)格式,目標(biāo)操作數(shù)[D·]可取KnY、KnM、KnS、T、C和D。使用數(shù)據(jù)搜索指令可以方便地查找一個指定的數(shù)據(jù),[S1·]指定表的首地址,[S2·]指定檢索值,[D·]用來存放搜索結(jié)果,n用來指定表的長度,即搜索的項目數(shù),16位指令n=256,32位指令n=128。圖9.81中X0為ON時,將D130~D138中的每一個值與D20中的內(nèi)容相比較,結(jié)果存放在D30~D34這5個數(shù)據(jù)寄存器中,它們分別用來存放搜索到的符合值的個數(shù)、搜索到的第一個符合值在表中的序號(未找到為0)、搜索到的最后一個符合值在表中的序號(未找到為0)、表中最大數(shù)的序號以及表中最小數(shù)的序號。9.4FX系列PLC功能指令 3.凸輪順控指令1)絕對值式凸輪順控指令絕對值式凸輪順控指令A(yù)BSD(AbsoluteDrum)的功能指令編號為FNC62,源操作數(shù)[S1·]可取KnX、KnY、KnM、KnS、T、C和D,[S2·]為C,目標(biāo)操作數(shù)可取Y、M和S,1≤n≤64。ABSD指令用來產(chǎn)生一組對應(yīng)于計數(shù)值變化的波形,輸出點(diǎn)的個數(shù)由n指定。圖9.82中,有4個輸出點(diǎn)(n=4)用M0~M3來控制。對應(yīng)于旋轉(zhuǎn)臺旋轉(zhuǎn)一周期間,M0~M3的ON/OFF狀態(tài)變化是受凸輪通過X1提供的角度位置脈沖(1°/脈沖)控制的。從D300開始的8個(2n=8)數(shù)據(jù)寄存器用來存放M0~M3的開通點(diǎn)(由OFF→ON)和關(guān)斷點(diǎn)(由ON→OFF)的位置值??捎肕OV指令將開通點(diǎn)數(shù)據(jù)存入D300~D307中的奇數(shù)單元,關(guān)斷點(diǎn)數(shù)據(jù)存入偶數(shù)單元。如M0的開通點(diǎn)和關(guān)斷點(diǎn)分別受D300和D301的控制,M1的開通點(diǎn)和關(guān)斷點(diǎn)分別受D302和D303的控制。若X0為OFF,各輸出點(diǎn)的狀態(tài)不變,本指令只能使用一次。9.4FX系列PLC功能指令 圖9.81數(shù)據(jù)搜索指令圖9.82絕對值式凸輪順控指令2)增量式凸輪順控指令增量式凸輪順控指令I(lǐng)NCD(IncrementDrum)的功能指令編號為FNC63,源操作數(shù)和目標(biāo)操作數(shù)與ABSD指令相同,只有16位運(yùn)算,1≤n≤64,INCD指令只能用一次。INCD指令用來產(chǎn)生一組對應(yīng)于計數(shù)值變化的波形。圖9.83中,有4個輸出點(diǎn)(n=4)用M0~M3來控制,它們的ON/OFF狀態(tài)受凸輪提供的脈沖個數(shù)控制。從D300開始的4個(n=4)數(shù)據(jù)寄存器用來存放使M0~M3處于ON狀態(tài)的脈沖個數(shù),可用MOV指令將它寫入D300~D303。圖中D300~D303的值分別為20、40、30和10。9.4FX系列PLC功能指令 C0的當(dāng)前值依次達(dá)到D300~D303中的設(shè)定值時自動復(fù)位,然后重新開始計數(shù),C1用來計復(fù)位的次數(shù),M0~M3按C1的值依次動作。由n指定的最后一段完成后,標(biāo)志M8029置1,以后重復(fù)上述過程。若X0為OFF,C0和C1復(fù)位(當(dāng)前值清零),同時M0~M3變?yōu)镺FF,X0再為ON后重新開始運(yùn)行。若X0為OFF,各輸出點(diǎn)的狀態(tài)不變。4.定時器指令1)示教定時器指令示教定時器指令TTMR(TeachingTimer)的功能指令編號為FNC64,目標(biāo)操作數(shù)[D·]為D,n=0~2,只有16位運(yùn)算。使用TTMR指令可以用一個按鈕調(diào)整定時器的設(shè)定時間。圖9.84中的示教定時器將按鈕X10按下的時間乘以系數(shù)10n后作為定時器的預(yù)置值,按鈕按下的時間由D301記錄,該時間乘以10n后存入D300。設(shè)按鈕按下的時間為t,存入D300的值為10n×t,即n=0時存入t,n=1時存入10t,n=2時存入100t。X10為OFF時,D301復(fù)位,D300保持不變9.4FX系列PLC功能指令 圖9.83增量式凸輪順控指令圖9.84示教定時器指令2)特殊定時器指令特殊定時器指令STMR(SpecialTimer)的功能指令編號為FNC65,源操作數(shù)[S·]為T0~T199(100ms定時器),目標(biāo)操作數(shù)[D·]可取Y、M和S,m=1~32767,只有16位運(yùn)算。9.4FX系列PLC功能指令 STMR指令用來產(chǎn)生延時以斷開定時器、單脈沖定時器和閃動定時器。M用來指定定時器的設(shè)定值,[D·]開始的為延時斷開定時器,其次的為輸入ON變?yōu)镺FF后的單脈沖定時器,再次的是輸入OFF變?yōu)镺N后的單脈沖定時器,最后的是與前次狀態(tài)相反的單脈沖定時器(后兩種又稱為閃動定時器)。圖9.85中T10的設(shè)定值為10s(m=100),M0是延時斷開定時器,M1是X0由ON變?yōu)镺FF的單脈沖定時器,M2是X0由OFF變?yōu)镺N的單脈沖定時器,M3和M2狀態(tài)相反,是為閃動而設(shè)的。5.數(shù)據(jù)排序指令數(shù)據(jù)排序指令SORT(Sort)的功能指令編號為FNC69,源操作數(shù)和目標(biāo)操作數(shù)為D。SORT指令將數(shù)據(jù)編號按指定的內(nèi)容重新排列,該指令只能用一次。[S·]為排序表的首地址,m1為行號,m2為列號,指令將以n指定的列號將數(shù)據(jù)從小開始排列,結(jié)果存入以[D·]指定的為首地址的目標(biāo)元件中,形成新的排序表。m1=1~32,m2=1~6,n=1~m2。圖9.86中的X0由OFF→ON時,指令將要進(jìn)行排序的數(shù)據(jù)按5行4列的方式排列,第一列為D100~D104,第二列為D105~D109,以此類推,然后按D15指定的列號(如3),則根據(jù)第3列的數(shù)據(jù)從小到大的順序?qū)⒏餍兄匦屡帕?,結(jié)果存入以D200為首地址的新表內(nèi)。9.4FX系列PLC功能指令 圖9.85特殊定時器指令圖9.86數(shù)據(jù)排序指令9.4FX系列PLC功能指令 9.4.12外部I/O設(shè)備指令外部I/O設(shè)備指令的功能指令編號為FNC70~FNC79,包括10鍵輸入指令、16鍵輸入指令、數(shù)字開關(guān)輸入指令、7段譯碼指令、帶鎖存的多路7段顯示指令、方向開關(guān)指令、ASCⅡ碼轉(zhuǎn)換指令、打印指令和讀/寫特殊功能模塊指令。1.數(shù)據(jù)輸入指令1)10鍵輸入指令10鍵輸入指令TKY(TenKey)的功能指令編號為FNC70,源操作數(shù)[S·]可取X、Y、M和S,目標(biāo)操作數(shù)[D1·]可取KnY、KnM、KnS、T、C、D、V和Z,[D2·]可取Y、M和S。本指令只能使用一次。圖9.87中,[S·]指定輸入元件,[D1·]指定存儲元件,[D2·]指定讀出元件。以X0作為首元件,10個鍵接在X0~X11上。如以(1)、(2)、(3)、(4)的順序按下數(shù)字鍵1、0、3、2,則[D1·]中存入數(shù)據(jù)1032,如圖9.87所示。如送入的數(shù)據(jù)大于9999,則高位溢出并丟失,數(shù)據(jù)以二進(jìn)制形式存于D0。當(dāng)使用(D)TKY指令時,D0和D1組合使用,輸入的數(shù)據(jù)大于99999999時,高位數(shù)據(jù)溢出。9.4FX系列PLC功能指令 圖9.88中還給出了與X0~X11對應(yīng)的輔助繼電器M10~M19的動作情況。當(dāng)X1按下后,M11置1并保持至下一鍵X0按下。X0按下后M10置1并保持至下一個鍵按下,其他鍵也一樣。任一鍵按下,鍵信號標(biāo)志M20置1,直到該鍵釋放。兩個或更多的鍵按下時,最先按下的鍵有效。當(dāng)X10變?yōu)镺FF時,D0中的數(shù)據(jù)保持不變,但M10~M19全部變?yōu)镺FF。圖9.8710鍵輸入接線圖圖9.8810鍵輸入波形圖9.4FX系列PLC功能指令 2)16鍵輸入指令16鍵輸入指令HKY(HexDecimalKey)的功能指令編號為FNC71,源操作數(shù)為X,目標(biāo)操作數(shù)[D1·]為Y,[D2·]可取T、C、D、V和Z,[D3·]可取Y、M和S。本指令只能使用一次。HKY指令是使用16鍵鍵盤輸入數(shù)字及功能信號的指令。其中[S·]指定輸入元件,[D1·]指定4個掃描輸出點(diǎn),[D2·]指定鍵輸入的存儲元件,[D3·]指定讀出元件,鍵盤與PLC的連接如圖9.89所示。16個鍵采用矩陣連接,分4組和PLC輸入口相連。指令中指定輸入元件即是指定連接鍵盤的輸入口,指定輸出元件即是指定輸出口用于擴(kuò)展輸入口的端口號,存儲元件是指數(shù)字鍵輸入數(shù)據(jù)的存儲單元,讀出元件為功能鍵相對應(yīng)的內(nèi)部輔助繼電器。16鍵分為數(shù)字鍵和功能鍵。其中A~F鍵為功能鍵。HKY指令輸入的數(shù)字0~9999以二進(jìn)制數(shù)的方式存放在D0中,大于9999時溢出。(D)HKY指令可在D0和D1中存放數(shù)字0~99999999。按下任意一個數(shù)字鍵時,M7置1(不保持)。功能鍵A~F與M0~M5相對應(yīng),按下任意一個功能鍵時,M6置1(不保持)。當(dāng)X4變?yōu)镺FF時,D0保持不變,M0~M7全部為OFF。9.4FX系列PLC功能指令 按下A鍵,M0置1并保持,再按下D鍵,M0置0且M3置1并保持。其余類推。同時按下多個鍵時,先按下的有效。將M8167置ON,可輸入十六進(jìn)制數(shù)0~FH。HKY指令與PLC的掃描定時器同步工作,鍵掃描完成需要8個掃描周期,為防止鍵輸入的濾波延遲造成的存儲錯誤,一般使用恒定掃描方式及定時器中斷處理。3)數(shù)字開關(guān)指令數(shù)字開關(guān)指令DSW(DigitalSwitch)的功能指令編號為FNC72,源操作數(shù)為X,目標(biāo)操作數(shù)[D1·]為Y,[D2·]可取T,C,D,V和Z,只有16位運(yùn)算,該指令可使用兩次。該指令是用來讀入1組或2組4位數(shù)字開關(guān)(BCD碼)的設(shè)置值。[S·]用來指定選通輸入點(diǎn)的首位元件號,[D1·]用來指定選通輸出點(diǎn)的首位元件號,n用來指定開關(guān)的組數(shù),n=1或2。每組開關(guān)由4個撥盤(BCD碼數(shù)字開關(guān))組成,與PLC的接線如圖9.90所示。圖9.90中第一組4位BCD碼數(shù)字開關(guān)接到X10~X13,按Y10~Y13的順序選通讀入,數(shù)據(jù)以二進(jìn)制數(shù)的形式存放在D0中。若n=2時,有兩組數(shù)字開關(guān),第二組數(shù)字開關(guān)將接到X14~X17,仍由Y10~Y13順序選通讀入,數(shù)據(jù)以二進(jìn)制數(shù)的形式存放在D1中。第二組數(shù)據(jù)只有在n=2時才有效,當(dāng)X1保持為ON時9.4FX系列PLC功能指令 ,Y10~Y13依次為ON,一個周期完成后,標(biāo)志位M8029置1。當(dāng)數(shù)字開關(guān)指令DSW在操作中被中止后再重新開始工作時,是從循環(huán)頭開始而不是從中止處開始。圖9.8916鍵輸入接線圖圖9.90數(shù)字開關(guān)輸入9.4FX系列PLC功能指令 如需連續(xù)讀入數(shù)字開關(guān)的值,應(yīng)使用晶體管輸出型的PLC,如果不需要連續(xù)讀入,也可以使用繼電器輸出型的PLC,如圖9.91所示。圖中用按鈕輸入和SET指令將M0置位,用M0驅(qū)動DSW指令,并用執(zhí)行完畢標(biāo)志M8029和復(fù)位指令將M0置位。2.數(shù)字譯碼輸出指令1)7段譯碼指令7段譯碼指令SEGD(SevenSegmentDecoder)的功能指令編號為FNC73,源操作數(shù)可取所有的數(shù)據(jù)類型,目標(biāo)操作數(shù)可取KnY,KnM,KnS,T,C,D,V和Z。只有16位運(yùn)算。7段譯碼指令SEGD是驅(qū)動7段顯示器的指令,可以顯示1位16進(jìn)制數(shù)據(jù),如圖9.92所示。[S·]存儲待顯示數(shù)據(jù),該單元中低4位(只用低4位)所確定的16進(jìn)制數(shù)(0~F)經(jīng)譯碼后存于指定的元件[D·]中,[D·]的高8位保持不變。顯示器的B0~B6分別對應(yīng)于[D·]中的最低位(第0位)~第6位,某段亮?xí)r,[D·]中對應(yīng)的位為1,反之為0。例如顯示數(shù)字“2”時,B6、B4、B3、B1、B0均為1,而B5、B2為0,[D·]的值為5BH。9.4FX系列PLC功能指令 圖9.91DSW指令圖9.927段譯碼指令2)帶鎖存的7段顯示指令帶鎖存的7段顯示指令SEGL(SevenSegmentwithLatch)的功能指令編號為FNC74,源操作數(shù)可取所有的數(shù)據(jù)類型,目標(biāo)操作數(shù)為Y,只有16位運(yùn)算,n=0~7,該指令可使用兩次。SEGL指令用12個掃描周期顯示一組(n=0~3)或兩組(n=4~7)4位數(shù)據(jù),由[D·]的第2個4位為選通信號,順序顯示由[S·]經(jīng)[D·]的第1個4位或[D·]的第3個4位輸出的值。完成4位顯示后標(biāo)志M8029置1。PLC掃描周期應(yīng)大于9.4FX系列PLC功能指令 10ms,若小于10ms,應(yīng)使用恒定掃描方式。執(zhí)行條件接通,指令反復(fù)執(zhí)行,若執(zhí)行條件變?yōu)镺FF,停止執(zhí)行。圖9.93中使用一組輸出(n=3),D0中的數(shù)據(jù)(二進(jìn)制)轉(zhuǎn)換為BCD碼(0~9999)依次送到Y(jié)0~Y3。若使用兩組輸出(n=4~7),D0中的數(shù)據(jù)送到Y(jié)0~Y3,D1中的數(shù)據(jù)送到Y(jié)10~Y13,選通信號由Y4~Y7提供。圖9.93帶鎖存的7段顯示接線圖9.4FX系列PLC功能指令 3)方向開關(guān)方向開關(guān)指令A(yù)RWS(ArrowSwitch)的功能指令編號為FNC75,源操作數(shù)為X、Y、M和S,目標(biāo)操作數(shù)[D1·]可取T、C、D、V和Z,[D2·]為Y,只有16位運(yùn)算。本指令只能使用一次,且必須使用晶體管輸出型端口輸出。ARWS指令用方向開關(guān)(4只按鈕)來輸入4位BCD碼數(shù)據(jù),輸入的數(shù)據(jù)用帶鎖存的7段顯示器來顯示當(dāng)前的置數(shù)值。[S·]指定位移位與各位數(shù)值增減用的箭頭開關(guān),[D1·]數(shù)值經(jīng)[D2·]的第1個4位由[D2·]的第2個4位為選通信號,順序顯示。按位移位開關(guān),順序選擇所要顯示位;按位數(shù)值增減開關(guān),[D1·]數(shù)值由0~9或9~0變化。n為0~3,選擇選通位,其確定的方法與SEGL指令相同。圖9.94中的D0存放的是16進(jìn)制數(shù),但為了方便,均以BCD碼表示(0~9999)。X0剛接通時,指定的是最高位,每按一次右移鍵,指定位往右移動一位,按一次左移鍵時則往左移動一位,指定位可由接到選通信號(Y4~Y7)上的LED發(fā)光二極管來確認(rèn)。指定位的數(shù)據(jù)用增加鍵和減少鍵來修改,修改的當(dāng)前值用7段顯示器監(jiān)視寫入的數(shù)據(jù)。9.4FX系列PLC功能指令 圖9.94方向開關(guān)9.4FX系列PLC功能指令 9.4.13外部設(shè)備指令外部設(shè)備(SER)指令的功能指令編號為FNC80~FNC89,包括與串行通信有關(guān)的指令、模擬量功能擴(kuò)展板處理指令和PID運(yùn)算指令。1.與串行通信有關(guān)的指令1)串行通信指令串行通信指令RS(RS-232C)的功能指令編號為FNC80,源操作數(shù)和目標(biāo)操作數(shù)為D,m和n(0~255)可取K、H和D,只有16位運(yùn)算。RS指令是功能擴(kuò)展板發(fā)送和接收串行數(shù)據(jù)的指令,用于對FX系列PLC的通信適配器FX-232ADP進(jìn)行通信控制,實現(xiàn)PLC與外圍設(shè)備間的數(shù)據(jù)傳送和接收。如圖9.95所示,該指令的[S·]指定發(fā)送緩沖區(qū)的首地址,m指定發(fā)送信息的長度,[D·]指定接收緩沖區(qū)的首地址,n指定接收數(shù)據(jù)長度,即接收信息的最大長度。數(shù)據(jù)的傳送格式(如數(shù)據(jù)位數(shù)、奇偶校驗、起始位、停止位、波特率、是否有調(diào)制解調(diào)器等)可用MOV指令和初始化脈沖寫入串行通信用的特殊數(shù)據(jù)寄存器D8120。9.4FX系列PLC功能指令 2)八進(jìn)制位傳送指令八進(jìn)制位傳送指令PRUN的功能指令編號為FNC81,源操作數(shù)可取KnX,KnM,目標(biāo)操作數(shù)可取KnY,KnM,n=1~8,指定元件號的最低位為0。PRUN指令用于八進(jìn)制位傳送,將[S·]轉(zhuǎn)換為八進(jìn)制,即元件號以八進(jìn)制為單位,對應(yīng)傳送到[D·]中,如圖9.96所示。圖中的X30為ON時,將X0~X7→M0~M7,X10~X17→M10~M17;X2為ON時,將M0~M7→Y0~Y7,M10~M17→Y10~Y17。圖9.95RS指令圖9.96PRUN指令9.4FX系列PLC功能指令 3)HEX向ASCⅡ碼轉(zhuǎn)換指令HEX向ASCⅡ碼轉(zhuǎn)換指令A(yù)SCI的功能指令編號為FNC82,源操作數(shù)可取所有的數(shù)據(jù)類型,目標(biāo)操作數(shù)可取KnY、KnM、KnS、T、C和D,只有16位運(yùn)算。ASCI指令將[S·]內(nèi)HEX(十六進(jìn)制)數(shù)據(jù)的各位轉(zhuǎn)換成ASCⅡ碼向[D·]的高低各8位傳送(16位模式)。傳送的字符數(shù)由n指定,n=1~256。圖9.97(a)中的M8161在運(yùn)行時一直為OFF,此時為16位模式,每四個HEX占一個數(shù)據(jù)寄存器,轉(zhuǎn)換后每兩個ASCⅡ碼占一個數(shù)據(jù)寄存器。設(shè)D100中存放的是0ABCH,X10為ON時,指令將D100中的0ABCH轉(zhuǎn)換為對應(yīng)的四個ASCⅡ碼,存入D200和D201,0H對應(yīng)的ASCⅡ碼30H存入D200的低位字節(jié),CH對應(yīng)的ASCⅡ碼存入D201的高位字節(jié)。圖9.97(b)中的M8161在運(yùn)行時一直O(jiān)N,此時為8位模式,[S·]中的HEX數(shù)據(jù)被轉(zhuǎn)換為ASCⅡ碼,傳送給[D·]的低8位,其高8位為0,0H對應(yīng)的ASCⅡ碼30H存入D200的低位字節(jié),CH對應(yīng)的ASCⅡ碼43H存入D203的低位字節(jié)。9.4FX系列PLC功能指令 4)ASCⅡ向HEX轉(zhuǎn)換指令A(yù)SCⅡ向HEX轉(zhuǎn)換指令HEX的功能指令編號為FNC83,源操作數(shù)為K、H、KnX、KnY、KnM、KnS、T、C和D,目標(biāo)操作數(shù)為KnY、KnM、KnS、T、C、D、V和Z,只有16位運(yùn)算。HEX指令是將[S·]內(nèi)高低各8位的ASCⅡ字符碼轉(zhuǎn)換成HEX數(shù)據(jù),每四位向[D·]傳送(16位模式)。傳送的字符數(shù)由n指定,n=1~256。圖9.98(a)為16位模式,每四個ASCⅡ碼轉(zhuǎn)換后占一個數(shù)據(jù)寄存器。圖中n=8,若D200~D203中存放的是0ABC1234H對應(yīng)的ASCⅡ碼字符30H、41H、42H、43H、31H、32H、33H、34H,轉(zhuǎn)換后的1234H存放在D100中,0ABCH存放在D101中,其中的4H放在D100的低4位。圖9.98(b)為8位模式,每個ASCⅡ碼占一個數(shù)據(jù)寄存器,設(shè)D200~D207中存放的是0ABC1234H對應(yīng)的ASCⅡ碼字符,轉(zhuǎn)換后的十六進(jìn)制數(shù)的存放方式與16位模式時相同。9.4FX系列PLC功能指令 圖9.97HEX→ASCⅡ碼轉(zhuǎn)換指令圖9.98ASCⅡ→HEX轉(zhuǎn)換指令9.4FX系列PLC功能指令 5)校驗碼指令校驗碼指令CCD(CheckCode)的功能指令編號為FNC84,源操作數(shù)可取KnX、KnY、KnM、KnS、T、C和D,目標(biāo)操作數(shù)可取KnM、KnS、T、C和D,n可取K、H和D,n=1~256,只有16位運(yùn)算。CCD指令用于通信數(shù)據(jù)的校驗。圖9.99(a)為16位模式,該指令將[S·]指定的D100~D104中10個字節(jié)的8位二進(jìn)制數(shù)據(jù)進(jìn)行求和以及異或,和的BCD碼與異或的結(jié)果分別送到[D·]指定的D0和D1,通信時可將和與異或的結(jié)果隨同數(shù)據(jù)發(fā)送出去,對方收到后對數(shù)據(jù)也求和與異或,并判別接收到的和與異或的結(jié)果是否等于求出的,如不等,則說明數(shù)據(jù)傳送出了錯誤。圖9.99(b)為8位模式,CCD指令將[S·]指定的D100~D109中10個數(shù)據(jù)寄存器低8位的數(shù)據(jù)進(jìn)行求和并異或,結(jié)果送到[D·]指定的D0和D1。2.FX-8AV模擬量功能擴(kuò)展板處理指令1)FX-8AV模擬量功能擴(kuò)展板讀出指令讀模擬量功能擴(kuò)展板指令VRRD(VariableResistorRead)的功能指令編號為FNC85,源操作數(shù)可取K、H,[S·]用來指定模擬量的編號,取值范圍為0~7,目標(biāo)操作數(shù)可取KnY、KnM、KnS、T、C、D、V和Z,只有16位運(yùn)算。9.4FX系列PLC功能指令 FX2N-8AV-BD是內(nèi)置式8位8路模擬量功能擴(kuò)展板,板上有8個小型電位器,用VRRD指令讀出的數(shù)據(jù)與電位器的角度成正比。VRRD指令是將[S·]指定的模擬量設(shè)定模板的模擬值0~255轉(zhuǎn)換為BIN8位傳送到[D·]。圖9.100中的X0為ON時,讀出0號模擬量的值,送到D0后作為定時器T0的設(shè)定值。圖9.99校驗碼指令圖9.100VRRD指令9.4FX系列PLC功能指令 2)FX-8AV模擬量功能擴(kuò)展板開關(guān)設(shè)定指令模擬量功能擴(kuò)展板開關(guān)設(shè)定指令VRSC(VariableResistorScale)的功能指令編號為FNC86,源操作數(shù)和目標(biāo)操作數(shù)類型與模擬量功能擴(kuò)展板讀出指令相同,[S·]指定模擬量的編號,取值范圍為0~7,只有16位運(yùn)算。VRSC指令是將[S·]指定的開關(guān)刻度0~10轉(zhuǎn)換為BIN8位傳送到[D·]。圖9.101用模擬開關(guān)的輸出值和解碼指令DECO來控制M0~M10,用戶可以根據(jù)模擬開關(guān)的刻度0~10來分別控制M0~M10的ON/OFF。3.PID回路運(yùn)算指令PID(比例微分積分)回路運(yùn)算指令的功能編號為FNC88,源操作數(shù)[S1]、[S2]、[S3]和目標(biāo)操作數(shù)均為D,只有16位運(yùn)算。[S1]和[S2]分別用來存放給定值和當(dāng)前測量到的反饋值,[S3]~[S3]+6用來存放控制參數(shù)的值,運(yùn)算結(jié)果存放在[D]中。源操作數(shù)[S3]占用從[S3]開始的25個數(shù)據(jù)寄存器。[S3]~[S3]+6分別用來存放采樣周期、動作方向、輸入濾波常數(shù)、比例增益、積分時間、微分增益和微分時間。[S3]+7~[S3]+19被PID指令占用,[S3]+20~[S3]+23用于存放輸入、輸出變化量增加、減少的報警設(shè)定值,[S3]+24的0~3位用于報警輸出。9.4FX系列PLC功能指令 PID指令用于閉環(huán)模擬量控制,在PID控制開始之前,應(yīng)使用MOV指令將參數(shù)設(shè)定值預(yù)先寫入寄存器中。PID指令可以在定時中斷、子程序、步進(jìn)梯形指令區(qū)和轉(zhuǎn)移指令中使用,但是在執(zhí)行PID指令之前應(yīng)使用脈沖執(zhí)行的MOV指令將[S3]+7清0。如圖9.102所示。圖9.101VRSC指令圖9.102PID指令控制參數(shù)的設(shè)定和PID運(yùn)算中的數(shù)據(jù)出現(xiàn)錯誤時,“運(yùn)算錯誤”標(biāo)志M8067為ON,錯誤代碼存放在D8067中。9.4FX系列PLC功能指令 思考題與習(xí)題9-1在選購PLC時,應(yīng)主要注意哪些技術(shù)問題?9-2請說明FX2N-16MR的含義。9-3根據(jù)圖9.103的梯形圖程序?qū)懗銎渲噶畋沓绦?。圖9.103題9-3的圖 9-4根據(jù)圖9.104的梯形圖程序畫出Y1的時序圖。9-5用棧操作指令寫出圖9.105的指令表程序。9-6用PLS指令設(shè)計梯形圖程序,使M1在X6的下降沿ON一個掃描周期。試編寫其梯形圖。9-7用置位、復(fù)位及邊沿檢測觸點(diǎn)指令設(shè)計滿足圖9.106所示時序的梯形圖程序。9-8按下按鈕X0后,Y0接通并保持,15s后Y0自動斷開,試編寫其梯形圖。9-9按下按鈕X1后,Y0接通并保持,5s后Y1接通,按下按鈕X0后,Y0、Y1同時斷開,試編寫其梯形圖。思考題與習(xí)題 圖9.104題9-4的圖圖9.105題9-5的圖思考題與習(xí)題 圖9.106題9-7的圖思考題與習(xí)題 9-10用光電開關(guān)檢測傳送帶上通過的產(chǎn)品數(shù)量,有產(chǎn)品通過時信號燈亮并計數(shù);如果10s內(nèi)沒有產(chǎn)品通過則發(fā)出報警信號,報警信號只能手動解除,試編寫其梯形圖。9-11用CMP指令實現(xiàn)下面功能:X0為脈沖輸入,當(dāng)脈沖數(shù)大于5時,Y1為ON;反之,Y0為ON。試編寫其梯形圖。9-12當(dāng)X1為ON時,用定時器中斷,每99ms將Y0~Y3組成的位元件組K1Y0加1,設(shè)計主程序和中斷子程序。9-13用X10控制接在Y0~Y17上的16個彩燈移位,每0.5s移1位,用MOV指令將彩燈的初值設(shè)定為十六進(jìn)制數(shù)000CH,試編寫其梯形圖。9-14把A/D轉(zhuǎn)換得到的8個12位二進(jìn)制數(shù)據(jù)存放在D0~D7中,A/D轉(zhuǎn)換得到的數(shù)值0~4095對應(yīng)溫度值0~1000℃,分別用循環(huán)指令和MEAN指令求A/D轉(zhuǎn)換的平均值,并將它轉(zhuǎn)換為對應(yīng)的溫度值,存放在D12中,試編寫其梯形圖。9-15用時鐘運(yùn)算指令控制路燈的定時接通和斷開,20:00時開燈,06:00時關(guān)燈,試編寫其梯形圖。思考題與習(xí)題

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。
大家都在看
近期熱門
關(guān)閉