0.軟元件
編程軟元件就是PLC在軟件設(shè)計(jì)中所需要的各種各樣的邏輯器件和運(yùn)算器件。
PLC通過程序的運(yùn)行實(shí)施控制的過程其實(shí)質(zhì)就是對(duì)存儲(chǔ)器中的數(shù)據(jù)進(jìn)行操作或處理的過程,PLC把存儲(chǔ)器分為若干個(gè)區(qū)域和種類,這些由用戶使用的每一個(gè)內(nèi)部存儲(chǔ)單元統(tǒng)稱為軟元件。 各種軟元件有其不同的功能,有固定的地址。 軟元件的數(shù)量決定了PLC的規(guī)模和數(shù)據(jù)處理能力,每一種PLC的軟元件數(shù)量是有限的。
編程時(shí),用戶只需要記住軟元件的地址即可。 每個(gè)軟元件都有一個(gè)地址與之一一對(duì)應(yīng),其中軟繼電器的地址編排采用區(qū)域號(hào)加區(qū)域內(nèi)編號(hào)的方式。 PLC內(nèi)部根據(jù)軟元件的功能不同,分成了許多區(qū)域,如輸入繼電器X、輸出繼電器Y、定時(shí)器T、計(jì)數(shù)器C、輔助繼電器M、狀態(tài)器S、數(shù)據(jù)寄存器D等。 當(dāng)有多個(gè)同類軟元件時(shí),在區(qū)域號(hào)字母的后面加以數(shù)字編號(hào),該數(shù)字也是元件的存儲(chǔ)地址。 其中輸入繼電器和輸出繼電器用八進(jìn)制數(shù)字編號(hào),其他均采用十進(jìn)制數(shù)字編號(hào)。
1.輸入繼電器(X000~X267)
輸入繼電器也就是輸入映像寄存器。 每個(gè)PLC的輸入端子都對(duì)應(yīng)一個(gè)輸入繼電器,它用于接收外部的開關(guān)信號(hào),其狀態(tài)唯一地由其對(duì)應(yīng)的輸入端子的狀態(tài)決定。 在程序中其常開觸點(diǎn)閉合,常閉觸點(diǎn)斷開。 這些觸點(diǎn)可以編程時(shí)任意使用,使用數(shù)量(次數(shù))不受限制。
FX系列PLC的輸入繼電器以八進(jìn)制數(shù)字進(jìn)行編號(hào),F(xiàn)X2N 輸入繼電器的編號(hào)范圍為X000~X267(184點(diǎn))。 需要注意的是,基本單元的輸入繼電器的編號(hào)是固定的,擴(kuò)展單元和擴(kuò)展模塊的輸入繼電器是按離基本單元最近的數(shù)開始編號(hào)的。 例如,基本單元FX2N-64M的輸入繼電器編號(hào)為X000~X037(32點(diǎn)),如果接有擴(kuò)展單元或擴(kuò)展模塊,則擴(kuò)展的輸入繼電器從X040開始編號(hào)。
2.輸出繼電器(Y000~Y267)
輸出繼電器也就是輸出映像寄存器,每個(gè)PLC的輸出端子對(duì)應(yīng)一個(gè)輸出結(jié)果。 當(dāng)CPU通過程序使得輸出繼電器線圈“得電”時(shí),PLC上的輸出端開關(guān)閉合,它可以作為控制外部負(fù)載的開關(guān)信號(hào)。 在程序中其常開觸點(diǎn)閉合,常閉觸點(diǎn)斷開。 這些觸點(diǎn)可以在編程時(shí)任意使用,使用次數(shù)不受限制。 輸出繼電器的線圈只能用于程序中,而不能用于直接驅(qū)動(dòng)外部負(fù)載。
在PLC內(nèi)部,輸出映像寄存器與輸出端子之間還有一個(gè)輸出鎖存器。 在每個(gè)掃描周期的輸入采樣、程序執(zhí)行等階段,并不把輸出結(jié)果信號(hào)直接送到輸出鎖存器,而是送到輸出映像存儲(chǔ)器,只有在每個(gè)掃描周期的末尾才將輸出映像寄存器中的結(jié)果信號(hào)幾乎同時(shí)送到輸出鎖存器,對(duì)輸出點(diǎn)進(jìn)行刷新。
3.輔助繼電器(M)
一般的輔助繼電器與繼電器控制系統(tǒng)中的中間繼電器相似。 輔助繼電器不能直接驅(qū)動(dòng)外部負(fù)載。 輔助繼電器采用M與十進(jìn)制數(shù)字共同組成編號(hào)。
1)通用輔助繼電器(M0~M499)
FX2N系列共有500點(diǎn)通用輔助繼電器。 通用輔助繼電器在PLC運(yùn)行時(shí),如果電源突然斷電,則全部線圈均為OFF。 當(dāng)電源再次接通時(shí),除了因外部輸入信號(hào)而變?yōu)镺N的以外,其余仍將保持OFF狀態(tài),它們沒有斷電保護(hù)功能。 通用輔助繼電器常在邏輯運(yùn)算中作輔助運(yùn)算、狀態(tài)暫存、移位等。 根據(jù)需要可通過程序設(shè)定,將M0~M499變?yōu)閿嚯姳3州o助繼電器。
2)斷電保持輔助繼電器(M500~M3071)
FX2N系列有M500~M3071共2572個(gè)斷電保持輔助繼電器。 它與普通輔助繼電器不同的是具有斷電保護(hù)功能,即能記憶電源中斷瞬時(shí)的狀態(tài),并在重新通電后再現(xiàn)其狀態(tài)。 它之所以能在電源斷電時(shí)保持其原有的狀態(tài),是因?yàn)殡娫粗袛鄷r(shí)用PLC中的鋰電池保持其映像寄存器中的內(nèi)容。 其中M500~M1023可由軟件將其設(shè)定為通用輔助繼電器。
3)特殊輔助繼電器
PLC內(nèi)有大量的特殊輔助繼電器,它們都有各自的特殊功能。 FX2N系列中有256個(gè)特殊輔助繼電器,可分成觸點(diǎn)型和線圈型兩大類。
(1)觸點(diǎn)型。 該類特殊輔助繼電器的觸點(diǎn)為只讀型,用戶可讀取該觸點(diǎn)來監(jiān)視PLC的運(yùn)行或獲取時(shí)鐘等狀態(tài)。 例如:
M8000——運(yùn)行監(jiān)視器(在PLC運(yùn)行中接通),M8001與M8000的邏輯相反。
M8002——初始脈沖(僅在PLC從STOP到RUN時(shí),瞬時(shí)接通一個(gè)掃描周期),M8003與M8002的邏輯相反。
M8011、M8012、M8013和M8014分別是產(chǎn)生10ms、100ms、1s和1min時(shí)鐘脈沖的特殊輔助繼電器。
(2)線圈型。 由用戶程序驅(qū)動(dòng)線圈后PLC執(zhí)行特定的動(dòng)作。 例如:
M8033——若使其線圈得電,則PLC停止時(shí)保持輸出映像存儲(chǔ)器和數(shù)據(jù)寄存器內(nèi)容。
M8034——若使其線圈得電,則將PLC的輸出全部禁止。
M8039——若使其線圈得電,則PLC按D8039中指定的掃描時(shí)間工作。
4.狀態(tài)器(S)
狀態(tài)器是對(duì)工序步進(jìn)型控制進(jìn)行編程的重要軟元件,也稱為順序繼電器。 與步進(jìn)指令STL組合使用,也可作為一般的輔助繼電器使用。
1)初始狀態(tài)器(S0~S9)初始狀態(tài)即為步進(jìn)指令開始時(shí)的狀態(tài),存儲(chǔ)初始狀態(tài)的狀態(tài)器稱為初始狀態(tài)器。 在并行分支中最多可以有10個(gè)初始狀態(tài)被同時(shí)選中。
2)普通型(S10~S499)/斷電保持型(S500~S899)
普通型狀態(tài)器在電源斷開后,都變?yōu)镺FF狀態(tài)。 而斷電保持型狀態(tài)器的狀態(tài)可記憶斷電前的ON/OFF狀態(tài),所以,恢復(fù)供電后可以從中途工序開始運(yùn)行。 在應(yīng)用指令(FNC60)IST的使用中,S10~S19被用做指示回零狀態(tài)。
3)信號(hào)報(bào)警器型狀態(tài)器(S900~S999)
信號(hào)報(bào)警器型狀態(tài)器也稱故障報(bào)警狀態(tài),主要用做外部故障診斷。
5.定時(shí)器(T)
定時(shí)器又稱計(jì)時(shí)器,用于時(shí)間控制。 根據(jù)設(shè)定時(shí)間值與當(dāng)前時(shí)間值的比較,使定時(shí)器觸點(diǎn)動(dòng)作,也可以將當(dāng)前時(shí)間值作為數(shù)值讀取用于控制。 不使用的定時(shí)器,可用做數(shù)據(jù)寄存器。
計(jì)時(shí)器對(duì)PLC內(nèi)部的1ms、10ms和100ms等時(shí)鐘進(jìn)行計(jì)數(shù),并將計(jì)數(shù)值存儲(chǔ)于當(dāng)前時(shí)間值寄存器中,在當(dāng)前時(shí)間值寄存器中的數(shù)值等于或大于時(shí)間設(shè)定值寄存器中的設(shè)定值時(shí),該定時(shí)器觸點(diǎn)動(dòng)作。
定時(shí)器(T)的地址號(hào)與功能見表
定時(shí)器的定時(shí)常數(shù)可采用立即數(shù)設(shè)定,也可用數(shù)據(jù)寄存器D間接尋址方法設(shè)定。
(1)立即數(shù)設(shè)定如圖所示。 當(dāng)X003=ON,則將十進(jìn)制整數(shù)K100賦予定時(shí)器T10的時(shí)間設(shè)定值寄存器,同時(shí)啟動(dòng)T10定時(shí)器,對(duì)PLC內(nèi)部的100ms時(shí)基進(jìn)行計(jì)數(shù)。
(2)間接尋址方法設(shè)定如圖所示。 當(dāng)X001=ON,則將十進(jìn)制整數(shù)K100賦予數(shù)據(jù)寄存器D5,當(dāng)X003=ON,將D5的數(shù)值(K100)賦予定時(shí)器T10的時(shí)間設(shè)定值寄存器,同時(shí)啟動(dòng)T10定時(shí)器,對(duì)PLC內(nèi)部的100ms時(shí)基進(jìn)行計(jì)數(shù)。
FX2N系列PLC的定時(shí)器分為通用定時(shí)器和積算型定時(shí)器兩類。
(1)通用定時(shí)器
通用定時(shí)器的特點(diǎn)是不具備斷電保持功能,即當(dāng)輸入電路斷開或停電時(shí)定時(shí)器復(fù)位。 通用定時(shí)器有100ms和10ms兩種。
① 100ms通用定時(shí)器(T0~T199)共200點(diǎn)。 其中T192~T199為子程序和中斷服務(wù)程序?qū)S枚〞r(shí)器。 這類定時(shí)器是對(duì)100ms時(shí)鐘累積計(jì)數(shù),設(shè)定值為1~32767,所以其定時(shí)范圍為0.1~3276.7s。
② 10ms通用定時(shí)器(T200~T245)共46點(diǎn)。 這類定時(shí)器是對(duì)10ms時(shí)鐘累積計(jì)數(shù),設(shè)定值為1~32767,所以其定時(shí)范圍為0.01~327.67s。
(2)積算型定時(shí)器
積算型定時(shí)器具有計(jì)數(shù)累積的功能。 在定時(shí)過程中如果斷電或定時(shí)器線圈變?yōu)镺FF,積算型定時(shí)器將保持當(dāng)前值,通電或定時(shí)器線圈變?yōu)镺N后繼續(xù)累積,只有將積算型定時(shí)器復(fù)位,其當(dāng)前值才變?yōu)?。
① 1ms積算型定時(shí)器(T246~T249)共4點(diǎn)。 這類定時(shí)器對(duì)1ms時(shí)鐘脈沖進(jìn)行累積計(jì)數(shù)的定時(shí)時(shí)間范圍為0.001~32.767s。
② 100ms積算型定時(shí)器(T250~T255)共6點(diǎn)。 這類定時(shí)器對(duì)100ms時(shí)鐘脈沖進(jìn)行累積計(jì)數(shù)的定時(shí)時(shí)間范圍為0.1~3276.7s。
6.計(jì)數(shù)器(C)
計(jì)數(shù)器用于對(duì)X、Y、M、S、T和C等變量元件的觸點(diǎn)通斷次數(shù)進(jìn)行計(jì)數(shù)。 計(jì)數(shù)器與定時(shí)器相同,可以根據(jù)設(shè)定計(jì)數(shù)值與當(dāng)前計(jì)數(shù)值的比較結(jié)果輸出觸點(diǎn)信號(hào),也可以讀取計(jì)數(shù)器的當(dāng)前值用于控制。 不使用的計(jì)數(shù)器,可用做數(shù)據(jù)寄存器。
當(dāng)用MOV等應(yīng)用指令將小于當(dāng)前值寄存器的數(shù)據(jù)寫入設(shè)定值寄存器時(shí),則在下次計(jì)數(shù)輸入到來時(shí),計(jì)數(shù)器觸點(diǎn)立即接通,當(dāng)前值寄存器的數(shù)值變?yōu)樵O(shè)定值。
計(jì)數(shù)器的地址號(hào)與功能見表(最高位是符號(hào)位)
FX2N系列計(jì)數(shù)器分為內(nèi)部計(jì)數(shù)器和高速計(jì)數(shù)器兩類。
1)內(nèi)部計(jì)數(shù)器
內(nèi)部計(jì)數(shù)器是在執(zhí)行掃描操作時(shí)對(duì)內(nèi)部信號(hào)(如X、Y、M、S、T等)進(jìn)行計(jì)數(shù)。 內(nèi)部輸入信號(hào)的接通和斷開時(shí)間應(yīng)比PLC的掃描周期稍長。
(1)16位增計(jì)數(shù)器(C0~C199)共200點(diǎn)。 這類計(jì)數(shù)器為遞加計(jì)數(shù),應(yīng)用前先對(duì)其設(shè)置一設(shè)定值,當(dāng)輸入信號(hào)(上升沿)個(gè)數(shù)累加到設(shè)定值時(shí),計(jì)數(shù)器動(dòng)作,即其常開觸點(diǎn)閉合、常閉觸點(diǎn)斷開。 計(jì)數(shù)器的設(shè)定值為1~32767(16位二進(jìn)制)。 設(shè)定值除了用常數(shù)K設(shè)定外,還可間接通過指定數(shù)據(jù)寄存器設(shè)定。
(2)32位增/減計(jì)數(shù)器(C200~C234)共有35點(diǎn),其中C200~C219(共20點(diǎn))為通用型,C220~C234(共15點(diǎn))為斷電保持型。 這類計(jì)數(shù)器與16位增計(jì)數(shù)器除位數(shù)不同外,還在于它能通過控制實(shí)現(xiàn)加/減雙向計(jì)數(shù)。 設(shè)定值范圍均為-2147483648~+2147483647(32位)。
C200~C234是增計(jì)數(shù)還是減計(jì)數(shù),分別由特殊輔助繼電器M8200~M8234設(shè)定。 對(duì)應(yīng)的特殊輔助繼電器被置為ON時(shí)為減計(jì)數(shù),置為OFF時(shí)為增計(jì)數(shù)。
32位計(jì)數(shù)器的設(shè)定值與16位計(jì)數(shù)器一樣,可直接用常數(shù)K或間接用數(shù)據(jù)寄存器D的內(nèi)容作為設(shè)定值。 在間接設(shè)定時(shí),要用編號(hào)緊連在一起的兩個(gè)數(shù)據(jù)寄存器。
2)高速計(jì)數(shù)器(C235~C255)
高速計(jì)數(shù)器與內(nèi)部計(jì)數(shù)器相比除允許輸入頻率高之外,應(yīng)用也更為靈活。 高速計(jì)數(shù)器均有斷電保持功能,通過參數(shù)設(shè)定也可變成非斷電保持。 FX2N有C235~C255共21點(diǎn)高速計(jì)數(shù)器。 適合用來作為高速計(jì)數(shù)器輸入的PLC輸入端口有X000~X007。 X000~X007不能重復(fù)使用,即某一個(gè)輸入端已被某個(gè)高速計(jì)數(shù)器占用,則既不能再用于其他高速計(jì)數(shù)器,也不能用作它用。
各高速計(jì)數(shù)器對(duì)應(yīng)的輸入端如下表,U為加計(jì)數(shù)輸入,D為減計(jì)數(shù)輸入,B為B相輸入,A為A相輸入,R為復(fù)位輸入,S為啟動(dòng)輸入。 X006、X007只能用作啟動(dòng)信號(hào),而不能用做計(jì)數(shù)信號(hào)。
高速計(jì)數(shù)器可分為如下4類。
(1)單相單計(jì)數(shù)輸入高速計(jì)數(shù)器(C235~C245)。 其觸點(diǎn)動(dòng)作與32位增/減計(jì)數(shù)器相同,可進(jìn)行增或減計(jì)數(shù)(取決于M8235~M8245的狀態(tài))。
(2)單相雙計(jì)數(shù)輸入高速計(jì)數(shù)器(C246~C250):這類高速計(jì)數(shù)器具有兩個(gè)輸入端,一個(gè)為增計(jì)數(shù)輸入端,另一個(gè)為減計(jì)數(shù)輸入端。 利用M8246~M8250的ON/OFF動(dòng)作可監(jiān)控C246~C250的增計(jì)數(shù)/減計(jì)數(shù)動(dòng)作。
(3)雙相高速計(jì)數(shù)器(C251~C255):A相和B相信號(hào)決定計(jì)數(shù)器是增計(jì)數(shù)還是減計(jì)數(shù)。 如圖2.18所示,當(dāng)A相為ON時(shí),B相由OFF到ON,則為增計(jì)數(shù);當(dāng)A相為ON時(shí),B相由ON到OFF,則為減計(jì)數(shù)。 當(dāng)X012接通時(shí),C251計(jì)數(shù)開始。
高速計(jì)數(shù)器的計(jì)數(shù)頻率較高,它們的輸入信號(hào)的頻率受兩方面的限制。 一是全部高速計(jì)數(shù)器的處理時(shí)間,因采用中斷方式,所以計(jì)數(shù)器用的越少,則計(jì)數(shù)頻率就越高; 二是輸入端的響應(yīng)速度,其中X000、X002、X003最高頻率為10kHz,X001、X004、X005最高頻率為7kHz。
7.數(shù)據(jù)寄存器(D)
數(shù)據(jù)寄存器為16位,最高位為符號(hào)位。 可用兩個(gè)數(shù)據(jù)寄存器來存儲(chǔ)32位數(shù)據(jù),最高位仍為符號(hào)位。 PLC在進(jìn)行I/O處理、模擬量控制、位置控制時(shí),需要許多數(shù)據(jù)寄存器存儲(chǔ)數(shù)據(jù)和參數(shù)。
數(shù)據(jù)寄存器有以下幾種類型。
1)通用數(shù)據(jù)寄存器(D0~D199)
通用數(shù)據(jù)寄存器共200點(diǎn)。 當(dāng)M8033為ON時(shí),D0~D199有斷電保護(hù)功能; 當(dāng)M8033為OFF時(shí)則無斷電保護(hù),即當(dāng)PLC由RUN→STOP或停電時(shí),數(shù)據(jù)全部清零。
2)斷電保持?jǐn)?shù)據(jù)寄存器(D200~D7999)
斷電保持?jǐn)?shù)據(jù)寄存器共7800點(diǎn),其中D200~D511(共312點(diǎn))有斷電保持功能,可以利用外部設(shè)備的參數(shù)設(shè)定改變通用數(shù)據(jù)寄存器與有斷電保持功能數(shù)據(jù)寄存器的分配; D490~D509供通信用; D512~D7999的斷電保持功能不能用軟件改變,但可用指令清除其內(nèi)容。 根據(jù)參數(shù)設(shè)定可以將D1000以上的數(shù)據(jù)寄存器作為文件寄存器。
3)特殊數(shù)據(jù)寄存器(D8000~D8255)
特殊數(shù)據(jù)寄存器共256點(diǎn)。 特殊數(shù)據(jù)寄存器的作用是監(jiān)控PLC的運(yùn)行狀態(tài),如掃描時(shí)間、電池電壓等。 未加定義的特殊數(shù)據(jù)寄存器,用戶不能使用。 具體情況可參見用戶手冊(cè)。
8.變址寄存器(V/Z)
FX2N系列PLC有V0~V7和Z0~Z7共16個(gè)變址寄存器,都是16位的寄存器。 變址寄存器V/Z實(shí)際上是一種特殊用途的數(shù)據(jù)寄存器,其作用相當(dāng)于計(jì)算機(jī)中的變址寄存器,用于改變?cè)木幪?hào)(變址)。 例如,設(shè)V0=5,則執(zhí)行D20V0時(shí),被執(zhí)行的數(shù)據(jù)寄存器的地址編號(hào)為D25(D20+5)。 變址寄存器可以像他數(shù)據(jù)寄存器一樣進(jìn)行讀寫,需要進(jìn)行32位操作時(shí),可將V、Z串聯(lián)使用(Z為低位,V為高位)。
9.指針(P、I)
在FX系列中,指針用來指示分支指令的跳轉(zhuǎn)目標(biāo)和中斷程序的入口標(biāo)號(hào),分為分支用指針、輸入中斷指針、定時(shí)中斷指針和計(jì)數(shù)中斷指針。
1)分支用指針(P0~P127)
分支用指針用來指示跳轉(zhuǎn)指令(CJ)的跳轉(zhuǎn)目標(biāo)或子程序調(diào)用指令(CALL)調(diào)用子程序的入口地址。 FX2N有P0~P127共128點(diǎn)分支用指針。
2)中斷指針(I0□□~I(xiàn)8□□)
中斷指針用來指示某一中斷程序的入口位置。 執(zhí)行中斷后遇到IRET(中斷返回)指令,則返回主程序。 中斷用指針有以下3種類型。
(1)輸入中斷指針(I00□~I(xiàn)50□)共6點(diǎn),用來指示由特定輸入端的輸入信號(hào)而產(chǎn)生中斷的中斷服務(wù)程序的入口位置,這類中斷不受PLC掃描周期的影響,可以及時(shí)處理外界信息。輸入中斷指針的編號(hào)格式如下所示
例如,當(dāng)輸入X001從OFF→ON變化時(shí),執(zhí)行以I101為標(biāo)號(hào)的后面的中斷程序,并根據(jù)IRET指令返回。
(2)定時(shí)中斷指針(I6□□~I(xiàn)8□□)共3點(diǎn),用來指示周期定時(shí)中斷的中斷服務(wù)程序的入口位置,這類中斷的作用是PLC以指定的周期定時(shí)執(zhí)行中斷服務(wù)程序,定時(shí)循環(huán)處理某些任務(wù),處理的時(shí)間也不受PLC掃描周期的限制。□□表示定時(shí)范圍,可在10~99ms中選取。
(3)計(jì)數(shù)中斷指針(I010~I(xiàn)060)共6點(diǎn),用在PLC內(nèi)置的高速計(jì)數(shù)器中。根據(jù)高速計(jì)數(shù)器的計(jì)數(shù)當(dāng)前值與計(jì)數(shù)設(shè)定值的關(guān)系確定是否執(zhí)行中斷服務(wù)程序,常用于利用高速計(jì)數(shù)器優(yōu)先處理計(jì)數(shù)結(jié)果的場(chǎng)合。
10.常數(shù)(K、H)
K是表示十進(jìn)制整數(shù)的符號(hào),主要用來指定定時(shí)器或計(jì)數(shù)器的設(shè)定值及應(yīng)用功能指令操作數(shù)中的數(shù)值。
H是表示十六進(jìn)制數(shù)的符號(hào),主要用來表示應(yīng)用功能指令的操作數(shù)值。
例如,20用十進(jìn)制表示為K20,用十六進(jìn)制則表示為H14。
評(píng)論