一般地可認(rèn)為編程元件和繼電接觸器的元件類(lèi)似、具有線圈和常開(kāi)常閉觸點(diǎn)。而且觸點(diǎn)的狀態(tài)隨著線圈的狀態(tài)而變化,即當(dāng)線圈披選中(通電)時(shí),常開(kāi)觸點(diǎn)閉合,常閉觸點(diǎn)斷開(kāi),當(dāng)線圈失去選中條件時(shí),常閉接通,常開(kāi)斷開(kāi)。從實(shí)質(zhì)上來(lái)說(shuō),某個(gè)元件被選中,只是代表這個(gè)元件的存儲(chǔ)單元置1,失去選中條件只是這個(gè)存儲(chǔ)單元置0,由于元件只不過(guò)是存儲(chǔ)單元,可以無(wú)限次地訪問(wèn)。
數(shù)據(jù)結(jié)構(gòu)
在plc內(nèi)部結(jié)構(gòu)和用戶(hù)應(yīng)用程序中使用著大量的數(shù)據(jù)。這些數(shù)據(jù)從結(jié)構(gòu)或數(shù)制上具有以下幾種形式。
(1)十進(jìn)制數(shù)
十進(jìn)制數(shù)在plc中又稱(chēng)字?jǐn)?shù)據(jù)。它主要存在于定時(shí)器和計(jì)數(shù)器的設(shè)定值k;輔助繼電器、定時(shí)器、計(jì)數(shù)器、狀態(tài)繼電器等的編號(hào);定時(shí)器和計(jì)數(shù)器當(dāng)前值等方面。
(2)二進(jìn)制數(shù)
十進(jìn)制數(shù)、八進(jìn)制數(shù)、十六進(jìn)制數(shù)、bcd碼在plc內(nèi)部均是以二進(jìn)制數(shù)的形態(tài)存在。但使用外圍設(shè)備進(jìn)行系統(tǒng)運(yùn)行監(jiān)控顯示時(shí),會(huì)還原成原來(lái)的數(shù)制。一位二進(jìn)制數(shù)在plc中又稱(chēng)位數(shù)據(jù)。它主要存在于各類(lèi)繼電器、定時(shí)器、計(jì)數(shù)器的觸點(diǎn)及線圈。
(3)八進(jìn)制數(shù)
fx系列plc的輸入繼電器、輸出繼電器的地址編號(hào)采用八進(jìn)制。
(4)十六進(jìn)制數(shù)
十六進(jìn)制數(shù)用于指定應(yīng)用指令中的操作數(shù)或指定動(dòng)作。
(5)bcd碼
bcd碼是以4位二進(jìn)制數(shù)表示與其對(duì)應(yīng)的一位十進(jìn)制數(shù)的方法。plc中的十進(jìn)制數(shù)常以bcd碼的形態(tài)出現(xiàn),它還常用于bcd輸出形式的數(shù)字式開(kāi)關(guān)或七段碼的顯示器控制等方面。
(6)常數(shù)k、h
常數(shù)是plc內(nèi)部定時(shí)器、計(jì)數(shù)器、應(yīng)用指令不可分割的一部分。常數(shù)k用來(lái)表示十進(jìn)制數(shù),16位常數(shù)的范圍為-32768~+32767,32位常數(shù)的范圍為-2147483648~+2147483647。
常數(shù)h用來(lái)表示十六進(jìn)制數(shù),十六進(jìn)制包括0~9和a~f這16個(gè)數(shù)字,16位常數(shù)的范圍為0~ffff,32位常數(shù)的范圍為0~ffffffff。
軟元件(內(nèi)部繼電器)
軟元件簡(jiǎn)稱(chēng)元件。將plc內(nèi)部存儲(chǔ)器的每一個(gè)存儲(chǔ)單元均稱(chēng)為元件,各個(gè)元件與plc的監(jiān)控程序、用戶(hù)的應(yīng)用程序合作,會(huì)產(chǎn)生或模擬出不同的功能。當(dāng)元件產(chǎn)生的是繼電器功能時(shí),稱(chēng)這類(lèi)元件為軟繼電器,簡(jiǎn)稱(chēng)繼電器,它不是物理意義上的實(shí)物器件,而是一定的存儲(chǔ)單元與程序的結(jié)合產(chǎn)物。后面介紹的各類(lèi)繼電器、定時(shí)器、計(jì)數(shù)器都指此類(lèi)軟元件。
元件的數(shù)量及類(lèi)別是由plc監(jiān)控程序規(guī)定的,它的規(guī)模決定著plc整體功能及數(shù)據(jù)處理的能力。我們?cè)谑褂胮lc時(shí),主要查看相關(guān)的操作手冊(cè)。表1表示系列plc軟元件一覽表。
表1 系列plc軟元件一覽表
(1)輸入繼電器(x)
輸入繼電器是plc中用來(lái)專(zhuān)門(mén)存儲(chǔ)系統(tǒng)輸入信號(hào)的內(nèi)部虛擬繼電器。它又被稱(chēng)為輸入的映像區(qū),它可以有無(wú)數(shù)個(gè)動(dòng)合觸點(diǎn)和動(dòng)斷觸點(diǎn),在plc編程中可以隨意使用。這類(lèi)繼電器的狀態(tài)不能用程序驅(qū)動(dòng),只能用輸入信號(hào)驅(qū)動(dòng)。fx系列plc的輸入繼電器采用八進(jìn)制編號(hào)。系列plc帶擴(kuò)展時(shí),輸入繼電器最多可達(dá)184點(diǎn),其編號(hào)為x0~x7、x10~x17…x260~x267。
(2)輸出繼電器(y)
輸出繼電器是plc中專(zhuān)門(mén)用來(lái)將運(yùn)算結(jié)果信號(hào)經(jīng)輸出接口電路及輸出端子送達(dá)并控制外部負(fù)載的虛擬繼電器。它在plc內(nèi)部直接與輸出接口電路相連,它有無(wú)數(shù)個(gè)動(dòng)合觸點(diǎn)與動(dòng)斷觸點(diǎn),這些動(dòng)合與動(dòng)斷觸點(diǎn)可在plc編程時(shí)隨意使用。外部信號(hào)無(wú)法直接驅(qū)動(dòng)輸出繼電器,它只能用程序驅(qū)動(dòng)。fx系列plc的輸出繼電器采用八進(jìn)制編號(hào)。系列plc帶擴(kuò)展時(shí),輸出繼電器最多可達(dá)184點(diǎn),其編號(hào)為y0~y267。
(3)內(nèi)部輔助繼電器(m)
plc內(nèi)有很多輔助繼電器。輔助繼電器的線圈與輸出繼電器一樣,由plc內(nèi)各軟元件的觸點(diǎn)驅(qū)動(dòng)。輔助繼電器的動(dòng)合和動(dòng)斷觸點(diǎn)使用次數(shù)不限,在plc內(nèi)可以自由使用。但是,這些觸點(diǎn)不能直接驅(qū)動(dòng)外部負(fù)載,外部負(fù)載的驅(qū)動(dòng)必須由輸出繼電器執(zhí)行。在邏輯運(yùn)算中經(jīng)常需要一些中間繼電器作為輔助運(yùn)算用。這些元件不直接對(duì)外輸入、輸出,但經(jīng)常用作狀態(tài)暫存、移位運(yùn)算等。它的數(shù)量比軟元件x、y多。內(nèi)部輔助繼電器中還有一類(lèi)特殊輔助繼電器,它有各種特殊功能,如定時(shí)時(shí)鐘、進(jìn)/借位標(biāo)志、啟動(dòng)/停止、單步運(yùn)行、通信狀態(tài)、出錯(cuò)標(biāo)志等。系列plc的輔助繼電器按照其功能分成以下三類(lèi)。
a.用輔助繼電器m0~m499(500點(diǎn)) 通用輔助繼電器元件是按十進(jìn)制進(jìn)行編號(hào)的,系列plc有500點(diǎn),其編號(hào)為m0~m499。
b.?dāng)嚯姳3州o助繼電器m500~m1023(524點(diǎn)) plc在運(yùn)行中發(fā)生停電,輸出繼電器和通用輔助繼電器全部成斷開(kāi)狀態(tài)。再運(yùn)行時(shí),除去plc運(yùn)行時(shí)就接通的以外,其它都斷開(kāi)。但是,根據(jù)不同控制對(duì)象要求,有些控制對(duì)象需要保持停電前的狀態(tài),并能在再運(yùn)行時(shí)再現(xiàn)停電前的狀態(tài)情形。斷電保持輔助繼電器完成此功能,停電保持由plc內(nèi)裝的后備電池支持。
c.特殊輔助繼電器m8000~m8255(256點(diǎn))這些特殊輔助繼電器各自具有特殊的功能,一般分成兩大類(lèi)。一類(lèi)是只能利用其觸點(diǎn),其線圈由plc自動(dòng)驅(qū)動(dòng)。例如:m8000(運(yùn)行監(jiān)視)、m8002(初始脈沖)、m8013(1s 時(shí)鐘脈沖)。另一類(lèi)是可驅(qū)動(dòng)線圈型的特殊輔助繼電器,用戶(hù)驅(qū)動(dòng)其線圈后,plc做特定的動(dòng)作。例如,m8033指plc停止時(shí)輸出保持,m8034是指禁止全部輸出,m8039是指定時(shí)掃描。
(4)內(nèi)部狀態(tài)繼電器(s)
狀態(tài)繼電器是plc在順序控制系統(tǒng)中實(shí)現(xiàn)控制的重要內(nèi)部元件。它與后面介紹的步進(jìn)順序控制指令stl組合使用,運(yùn)用順序功能圖編制高效易懂的程序。狀態(tài)繼電器與輔助繼電器一樣,有無(wú)數(shù)的動(dòng)合觸點(diǎn)和動(dòng)斷觸點(diǎn),在順控程序內(nèi)可任意使用。狀態(tài)繼電器分成四類(lèi),其編號(hào)及點(diǎn)數(shù)如下:
初始狀態(tài):s0~s9(10點(diǎn));
回零:s10~s19(10點(diǎn));
通用:s20~s499(480點(diǎn));
保持:s500~s899(400點(diǎn));
報(bào)警:s900~s999(100點(diǎn))。
有關(guān)狀態(tài)繼電器的應(yīng)用,參考項(xiàng)目十stl指令的內(nèi)容。
(5)內(nèi)部定時(shí)器
定時(shí)器在plc中相當(dāng)于一個(gè)時(shí)間繼電器,它有一個(gè)設(shè)定值寄存器(一個(gè)字)、一個(gè)當(dāng)前值寄存器(字)以及無(wú)數(shù)個(gè)觸點(diǎn)(位)。對(duì)于每一個(gè)定時(shí)器,這三個(gè)量使用同一個(gè)名稱(chēng),但使用場(chǎng)合不一樣,其所指的也不一樣。通常在一個(gè)可編程控制器中有幾十個(gè)至數(shù)百個(gè)定時(shí)器,可用于定時(shí)操作。其詳細(xì)介紹參照項(xiàng)目七。
(6)內(nèi)部計(jì)數(shù)器
計(jì)數(shù)器是plc重要內(nèi)部部件,它是在執(zhí)行掃描操作時(shí)對(duì)內(nèi)部元件x、y、m、s、t、c的信號(hào)進(jìn)行計(jì)數(shù)。當(dāng)計(jì)數(shù)達(dá)到設(shè)定值時(shí),計(jì)數(shù)器觸點(diǎn)動(dòng)作。計(jì)數(shù)器的動(dòng)合、動(dòng)斷觸點(diǎn)可以無(wú)限使用。其詳細(xì)介紹參照項(xiàng)目八
(7)數(shù)據(jù)寄存器(d)
可編程控制器用于模擬量控制、位置控制、數(shù)據(jù)i/o時(shí),需要許多數(shù)據(jù)寄存器存儲(chǔ)參數(shù)及工作數(shù)據(jù)。這類(lèi)寄存器的數(shù)量隨著機(jī)型不同而不同。
每個(gè)數(shù)據(jù)寄存器都是16位,其中最高位為符號(hào)位,可以用兩個(gè)數(shù)據(jù)寄存器合并起來(lái)存放32位數(shù)據(jù)(最高位為符號(hào)位)。
a.通用數(shù)據(jù)寄存器d0~d199 只要不寫(xiě)入數(shù)據(jù),則數(shù)據(jù)將不會(huì)變化,直到再次寫(xiě)入。這類(lèi)寄存器內(nèi)的數(shù)據(jù),一旦plc狀態(tài)由運(yùn)行(run)轉(zhuǎn)成(stop)時(shí)全部數(shù)據(jù)均清零。
b.停電保持?jǐn)?shù)據(jù)寄存器d200~d7999 除非改寫(xiě),否則數(shù)據(jù)不會(huì)變化。即使plc狀態(tài)變化或斷電,數(shù)據(jù)仍可以保持。
c.特殊數(shù)據(jù)寄存器d8000~d8255 這類(lèi)數(shù)據(jù)寄存器用于監(jiān)視plc內(nèi)各種元件的運(yùn)行方式用,其內(nèi)容在電源接通(on)時(shí),寫(xiě)入初始化值(全部清零,然后由系統(tǒng)rom安排寫(xiě)入初始值)。
d.文件寄存器d1000~d7999 文件寄存器實(shí)際上是一類(lèi)專(zhuān)用數(shù)據(jù)寄存器,用于存儲(chǔ)大量的數(shù)據(jù),例如采集數(shù)據(jù)、統(tǒng)計(jì)計(jì)算器數(shù)據(jù)、多組控制參數(shù)等。其數(shù)量由cpu的監(jiān)視軟件決定。在plc運(yùn)行中,用bmov指令可以將文件寄存器中的數(shù)據(jù)讀到通用數(shù)據(jù)寄存器中,但不能用指令將數(shù)據(jù)寫(xiě)入文件寄存器。
(8)內(nèi)部指針(p、i)
內(nèi)部指針是plc在執(zhí)行程序時(shí)用來(lái)改變執(zhí)行流向的元件。它有分支指令專(zhuān)用指針p和中斷用指針i兩類(lèi)。
a.分支指令專(zhuān)用指針p0~p63 分支指令用指針在應(yīng)用時(shí),要與相應(yīng)的應(yīng)用指令cj、call、fend、sret及end配合使用,p63為結(jié)束跳轉(zhuǎn)使用。
b.中斷用指針i中斷用指針是應(yīng)用指令iret中斷返回、ei開(kāi)中斷、di關(guān)中斷配合使用的指令。