四、計數器和高速計數器[C]
計數器可以分為16位計數器和32位計數器。兩種計數器都有一般用和停電保持用兩種類型。計數器編號不用于計數器功能時可以當做數據寄存器用來保存數據。
16位計數器只能增計數,設定值范圍為1~32767;32位計數器可以切換為增計數或減計數,設定值范圍為-214783648~214783647。
計數器對PLC的內部信號X、Y、M、S、C等觸點的動作進行循環掃描并計數,其響應速度根據PLC的掃描時間可推算通常在10Hz以下。但很多情況下輸入信號的頻率都會大于這個數值,這時就要用到高速計數器,高速計數器的計數采用中斷處理,與PLC掃描時間無關,可以達到數KHz的計數。
高速計數器必須與外部端子X0~X7配合使用,并且根據高速計數器編號占用輸入點的情況,一旦X點被占用后該點不能再用于其它用途。高速計數器編號與輸入點的對應情況如下表:
五、數據寄存器[D]
數據寄存器是存儲數值數據的軟元件,這些寄存器都是16位的,最高位為符號位,其余15位代表數值大小。兩個連續的數據寄存器組合后可存儲32位數據,在32位指令中只需指定低16位的數據寄存器,其緊接著的數據寄存器就會被自動占為高16位。在編程時需注意這點,以免重復使用數據寄存器造成邏輯混亂。
16位數據寄存器可以處理的數據范圍為-32768~+32767,32位數據寄存器可以處理的數據范圍為-2147483648~+2147483647。
數據寄存器也可以分為一般用、停電保持用和特殊用三種類型。
1. 一般用數據寄存器
數據寄存器中寫入數據后,只要不再寫入其他數據或被復位指令復位就不會發生變化,但在PLC從RUN狀態撥到STOP狀態或是PLC停電后所有數據都會被清零。但如果驅動了特殊輔助繼電器M8033,則PLC由RUN變為STOP時數據也不會變化。
2. 停電保持數據寄存器
停電保持型的數據寄存器可以在PLC由RUN變為STOP時以及PLC斷電時保持其存儲內容,該類數據寄存器必須通過重新寫入數據或使用復位指令改變其內容。
3. 特殊用數據寄存器
特殊用數據寄存器和特殊輔助繼電器一樣,其代表的功能都已在PLC中設定好,通過修改其數值可以實現特定的功能。
以下為一些常用的特殊數據寄存器:
D8000 監視定時器
D8010 PLC掃描時間
D8014 PLC實時時鐘-分
D8015 PLC實時時鐘-時
D8016 PLC實時時鐘-日
D8030 模擬電位器VR1數值
D8031 模擬電位器VR2數值
D8039 恒定掃描時間
D8120 通訊格式設定
六、變址寄存器[V][Z]
變址寄存器V和Z同普通的數據寄存器一樣,是進行數據數值儲存的16位寄存器,其編號為V0~V7和Z0~Z7共有16個。這種寄存器除了和普通的數據寄存器有相同的使用方法外,在應用指令的操作數中還可以同其他的軟元件編號或數值組合使用,從而在程序中更改軟元件的編號和數值的內容。
對于FX1S、FX1N、FX2N系列PLC,LD、AND、OUT等基本順空指令或步進梯形圖指令的軟元件編號不能同變址寄存器組合使用,而在FX3U和FX3G系列PLC中則允許組合使用。
當變址寄存器與32位的應用指令中的軟元件配合使用時,直接指定Z的編號即可,PLC會自動將同一編號的V、Z組合成32位編制寄存器,V作為高位、Z作為低位使用。
七、指針[P][I]
P為分支用指針,它用來作為分支的標識,與跳轉指令CJ或子程序調用指令CALL組合使用,使程序掃描到這些指令時會轉移到該標識處繼續執行。P63是一個特殊的分支用指針,它表示使用CJ指令時直接跳到END,所以該指針不能用于標識。
I為中斷用指針,它用來作為中斷程序的標識,與各種中斷配合使用驅動中斷程序。FX系列的中斷主要有輸入中斷、定時器中斷和計數器中斷三種類型。只有X0~X5這六個輸入點具備輸入中斷功能,同時這些輸入點還被指定為高速計數器和SPD等指令時的專用輸入點,故使用這三種指令時需注意其編號占用不能相互沖突。
八、數值處理-常數
FX系列PLC的數值類型主要包括以下幾種:
1. 十進制數(DEC: Decimal)
主要用于定時器和計數器的設定值(數字前加K),輔助繼電器M、定時器T、計數器C、狀態S等的編號,執行應用指令操作數中的數值與指令動作(數字前加K)。
2. 十六進制數(HEX:Hexadecimal)
用途與十進制數一樣,用于指定應用指令中的操作數與指定動作(數字前加H)。
3. 二進制數(BIN:Binary)
在PLC內部所有數值都以二進制的形式進行處理。對于負數而言,PLC內部以補碼來表現。
4. 八進制數(OCT:Octal)
PLC的輸入、輸出繼電器軟元件編號以八進制數值進行分配。
5. BCD碼(BCD:Binary Code Decimal)
BCD碼就是將構成十進制數每位上0~9的數值以四位二進制表示的形式。
6. 實數(浮點數)
通過浮點數運算可以提高運算結果的精度。PLC內部以二進制浮點數進行浮點運算,但可以采用10進制浮點數進行監控。
二進制浮點數使用編號連續的一堆數據寄存器進行存儲,占用32位,最高位為符號位。
對于用戶而言,這種二進制浮點數的表示形式不易理解,所以可以將其轉換成十進制浮點數,十進制浮點數也占用編號連續的一堆數據寄存器,但它分為尾數和指數兩部分,例如對于十進制浮點數(D1,D0)而言: