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