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