1、plc 的基本數(shù)據(jù)結(jié)構(gòu)
三菱FX 系列 PLC 內(nèi)部的編程元件從物理實質(zhì)上來說是電子電路及存儲器,按通俗叫法分別稱為輸入繼電器、輸出繼電器、輔助繼電器、定時器、計數(shù)器等,鑒于它們的物理屬性,稱之為軟繼電器或軟元件, 它們與真實元件之間有很大的差別。這些編程用的繼電器的工作線圈沒有工作電壓等級、功耗大小和電磁慣性等問題,觸點也沒有數(shù)量限制、機械磨損和電蝕等問題。在不同的指令操作下,其工作狀態(tài)可以無記憶,也可以有記憶,還可以作脈沖數(shù)字元件使用。一般情況下,這些編程元件分為位元件和字元件兩種。
1. 位元件
FX 系列 PLC 有 4 種基本編程位元件,為了分辨各種編程位元件,給它們指定了專用的字母符號:
X :代表輸入繼電器,用于直接輸入給 PLC 的物理信號。
Y :代表輸出繼電器,用于從 PLC 直接輸出物理信號。
M (輔助繼電器)和 S (狀態(tài)繼電器): PLC 內(nèi)部的運算標志。
上述的各 種元件稱為 “ 位( bit )元件 ” ,它們只有兩種不同的狀態(tài),即 ON 和 OFF ,可以分別用二進制 1 和 0 來表示這兩種狀態(tài)。
2. 字元件
8 個連續(xù)的位組成一個字節(jié)( byte ), 16 個連續(xù)的位組成一個字( word ), 32 個連續(xù)的位組成一個雙字( double word )。定時器和計數(shù)器的當前值和設定值均為有符號字,最高位(第十五位)為符號位,正數(shù)的符號位為 0 ,負數(shù)的符號位為 1 。
2、輸入繼電器(X)與輸出繼電器(Y)
1. 輸入繼電器( X )
PLC 的輸入端子是從外部開關(guān)接受信號的窗口, PLC 內(nèi)部與輸入端子連接的輸入繼電器( X ) 是光電隔離的電子繼電器,它通常采用八進制編碼, 線圈的吸合或釋放只取決于 PLC 外部觸點的狀態(tài) 。內(nèi)部有常開/常閉兩種觸點供編程時隨時使用,且使用次數(shù)不限。各基本單元都是八進制輸入的地址,輸入為 X000 ~ X007 , X010 ~ X017 , X020 ~ X027 ,……,最多 128 點,它們一般位于機器的上端。 圖 為 PLC 系統(tǒng)輸入繼電器與輸出繼電器示意圖。
2. 輸出繼電器( Y )
PLC 的輸出端子是向外部負載輸出信號的窗口。輸出繼電器的線圈由程序控制,且其外部輸出主觸點接到 PLC 的輸出端子上供外部負載使用,而其余常開 / 常閉觸點供內(nèi)部程序使用。輸出繼電器常開 / 常閉觸點的使用次數(shù)不限。各基本單元都是按八進制編碼輸出,輸出為 Y000 ~ Y007 , Y010 ~ Y017 , Y020 ~ Y027 ,……,最多 128 點,它們一般位于機器的下端。
3、輔助繼電器(M)
PLC 內(nèi)部有很多輔助繼電器,其動作原理與輸出繼電器一樣,只能由程序驅(qū)動。輔助繼電器也稱中間繼電器,它沒有向外的任何聯(lián)系,只供內(nèi)部編程使用,且其常開 / 常閉觸點使用次數(shù)不受限制。輔助繼電器不能直接驅(qū)動外部負載,外部負載的驅(qū)動必須通過輸出繼電器來實現(xiàn)。輔助繼電器主要包含以下 3 類:
1 . 通用輔助繼電器
在 FX 系列 PLC 中,除了輸入繼電器和輸出繼電器的元件號采用八進制編碼外,其它編程元件的元件號均采用十進制編碼。
通用輔助繼電器的線圈由用戶程序驅(qū)動,若 PLC 在運行過程中突然斷電,輸出繼電器和通用輔助繼電器將全部變?yōu)?OFF 。若電源再次接通,除了因外部輸入信號而變?yōu)?ON 的以外,其余的仍將保持為 OFF 。
FX 2N 的 PLC 內(nèi)部共有通用輔助繼電器 500 點,從 M0 ~ M499 。
2. 鎖存(斷電保持)輔助繼電器
某些控制系統(tǒng)要求記憶電源中斷瞬間時的狀態(tài),重新通電后再現(xiàn)其狀態(tài),鎖存輔助繼電器就可以用于這種場合。
FX 2N 的 PLC 內(nèi)部共有鎖存繼電器 2572 點,從 M500 ~ M3071 。
在電源中斷時, PLC 用鋰電池保持 RAM 中寄存器的內(nèi)容,它們只是在 PLC 重新上電后的第一個掃描周期保持斷電瞬時的狀態(tài)。為了利用它們的斷電記憶功能,可以采用有記憶功能的電路。設圖 中的 X0 和 X1 分別是起動按鈕和停止按鈕, M600 通過 Y0 控制外部的電動機,若電源中斷時 M600 為 ON 狀態(tài),因為電路的記憶作用,重新通電后 M600 將保持 ON 狀態(tài),從而使 Y0 繼續(xù)為 ON ,電動機重新開始運行。這時若斷開 X1 ,則 M600 失電, Y0 為 OFF 。
3 .特殊輔助繼電器
輔助繼電器中 M8000 ~ M8255 共 256 點為特殊輔助繼電器,它們用來表示 PLC 的某些狀態(tài),提供時鐘脈沖和標志(如進位、借位標志),設定 PLC 的運行方式,或用于步進順控、禁止中斷、設定計數(shù)器是加計數(shù)器或是減計數(shù)器等。特殊輔助繼電器可分為以下兩類:
( 1 )觸點利用型
由 PLC 的系統(tǒng)程序來驅(qū)動特殊輔助繼電器的線圈,在用戶程序中直接使用其觸點,但是不能出現(xiàn)它們的線圈,例如:
M8000 (運行監(jiān)視):當 PLC 執(zhí)行用戶程序時 M8000 為 ON ,停止執(zhí)行時 M8000 為 OFF ,如圖 所示。
M8002( 初始化脈沖 ) : M8002 僅在 M8000 由 OFF 變?yōu)?ON 狀態(tài)時的一個掃描周期內(nèi)為 ON ,如圖 6.10 所示,可以用 M8002 的常開觸點來使有斷電保護功能的元件復位或給它們置初始值。
M8011 ~ M8014 分別是 10ms 、 100ms 、 1s 和 1min 時鐘脈沖,見圖 6.10 。
M8005 (鋰電池電壓降低時用):電池電壓下降至規(guī)定值時變?yōu)?ON ,可以用它的觸點驅(qū)動輸出繼電器和外部指示燈,從而提醒工作人員更換鋰電池。
( 2 ) 線圈驅(qū)動型
由用戶程序驅(qū)動其線圈,從而使 PLC 執(zhí)行特定的操作,因此用戶并不使用它們的觸點。例如:
M8030 的線圈 “ 通電 ” 后, “ 電池電壓降低 ” 發(fā)光二極管熄滅;
M8033 的線圈 “ 通電 ” 后, PLC 進入 STOP 狀態(tài)后,所有輸出繼電器的狀態(tài)保持不變;
M8034 的線圈 “ 通電 ” 后,禁止所有的輸出;
M8039 的線圈 “ 通電 ” 后, PLC 以 D8039 中指定的 掃描時間工作。
4、狀態(tài)繼電器(S)
狀態(tài)繼電器是用于編制順序控制程序的一種編程元件(狀態(tài)標志),常與 STL 指令(步進梯形指令)配合使用,主要用于編程過程中順控狀態(tài)的描述和初始化。它與 STL 指令組合使用,容易編制出易懂的順控程序。當不對狀態(tài)繼電器使用步進梯形指令時,可以把它們當作普通輔助繼電器( M )使用,其地址碼按十進制編碼。 FX 2N 系列 PLC 的狀態(tài)繼電器通常分為以下幾類:
初始化用: S0 ~ S9 ( 10 點);
返回原點狀態(tài)器: S10 ~ S19 ( 10 點);
通用型: S20 ~ S499 ( 480 點);
斷電保持型: S500 ~ S899 ( 400 點);
報警型: S900 ~ S999 ( 100 點)。
5、定時器(T)與計數(shù)器(C)
FX 1N 、 FX 2N 系列 PLC 內(nèi)部可提供 256 個定時器和 256 個計數(shù)器,定時器的編號為 T000 ~ T255 ,計數(shù)器的編號為 C000 ~ C255 。定時器和計數(shù)器不能直接產(chǎn)生輸出,必須通過輸出繼電器才能輸出。
1. 定時器( T )
定時器在 PLC 中的作用相當于一個時間繼電器, PLC 內(nèi)的定時器是根據(jù)時鐘脈沖的累積形式,將 PLC 內(nèi)的 1ms 、 10ms 、 100ms 等時鐘脈沖進行加法計數(shù),當所計時間達到規(guī)定的設定值時,其輸出觸點動作,定時范圍為 0.001 ~ 3276.7s 。定時器可以用用戶程序存儲器內(nèi)的常數(shù) K 作為設定值,也可以用數(shù)據(jù)寄存器( D )的內(nèi)容作為設定值。定時器的元件號及其設定值如下:
( 1 ) 100ms 定時器 T0 ~ T199 ,共 200 點,計時范圍: 0.1 ~ 3276.7 秒;
( 2 ) 10ms 定時器 T200 ~ T245 ,共 46 點,計時范圍: 0.01 ~ 327.67 秒;
( 3 ) 1ms 積算定時器 T246 ~ T249 ,共 4 點,計時范圍: 0.001 ~ 32.767 秒;
( 4 ) 100ms 積算定時器 T250 ~ T255 ,共 6 點,計時范圍: 0.1 ~ 3276.7 秒。
定時器的定時值=設定值×時鐘,定時器指令符號和時序圖如下圖所示。
在上圖中,當定時器線圈 T0 的驅(qū)動輸入 X0 接通時, T0 的當前值計數(shù)器對 100ms 的時鐘脈沖每隔 100ms 加 1 ,當該值與設定值 K100 相等時,定時器的輸出觸點動作,即輸出觸點是在驅(qū)動線圈后的 10 秒( 100 × 100ms=10s )時才動作, T0 的常開觸點閉合后, Y0 就有輸出。當驅(qū)動輸入 X0 斷開或發(fā)生停電時,定時器就復位,輸出觸點也復位。
在 FX 1N 、 FX 2N 系列 PLC 中,積算定時器一共有 10 點, 1ms 積算定時器有 4 點,從 T246 ~ T249 ; 100ms 積算定時器有 6 點,從 T250 ~ T255 。
積算定時器的指令形式和時序圖如下圖所示。該圖中,定時器線圈 T250 的驅(qū)動輸入 X0 接通時, T250 的當前值計數(shù)器開始對 100ms 的時鐘脈沖進行累積計數(shù),當該值與設定值 K100 相等時,定時器的輸出觸點動作。在計數(shù)過程中,即使輸入 X0 斷電,它也會把當前值(如圖中的 6s )保持下來,當 X0 通電時,再繼續(xù)累積 4s ,當累積時間為 10s ( 100 × 100 ms =10s )時觸點動作, Y0 閉合。因為積算定時器的線圈斷電時不會復位,所以需要用復位指令 RST 使其強制復位,如下圖,當復位輸入 X1 接通時,定時器就復位,輸出觸點也復位。
2. 計數(shù)器( C )
FX 2N 系列 PLC 的計數(shù)器是在執(zhí)行掃描操作時對內(nèi)部元件 X 、 Y 、 M 、 S 、 T 、 C 的觸點通斷次數(shù)進行積算式定時方式計數(shù)。當計數(shù)次數(shù)達到計數(shù)器的設定值時,計數(shù)器觸點動作,使控制系統(tǒng)完成相應的控制作用。計數(shù)器的設定值可由常數(shù) K 設定,也可以由指定的數(shù)據(jù)寄存器 D 的存儲數(shù)據(jù)來設定。
計數(shù)器分為如下 5 類:
( 1 ) 16 位通用加計數(shù)器 C0 ~ C99 ,共 100 點,設定值: 1 ~ 32767 , 16 位是指其設定值寄存器為 16 位。
( 2 ) 16 位鎖存加計數(shù)器 C100 ~ C199 ,共 100 點,設定值: 1 ~ 32767 。
( 3 ) 32 位通用加 / 減雙向計數(shù)器 C200 ~ C219 ,共 20 點,設定值:- 2147483648 ~ +2147483647 , 32 位是指其設定值寄存器為 32 位,。
( 4 ) 32 位鎖存加 / 減雙向計數(shù)器 C220 ~ C234 ,共 15 點,設定值:- 2147483648 ~ +2147483647 。
( 5 ) 32 位加 / 減雙向高速計數(shù)器 C235 ~ C255 ,共 21 點,設定值:- 2147483648 ~ +2147483647 。
C200 ~ C255 以上加 / 減雙向計數(shù)器的計數(shù)方向由特殊輔助繼電器 M8200 ~ M8255 設定,對應的特殊輔助繼電器為 ON 時,為減計數(shù)器,反之為加計數(shù)器。
如下圖所示,當 X3 為 OFF 時, M8200 為 OFF ,此時由 M8200 將計數(shù)器 C200 設定為加計數(shù)器。計數(shù)輸 入X0 每次驅(qū)動 C200 線圈時,計數(shù)器的當前值加 1 ,當?shù)?5 次執(zhí)行線圈指令時,計數(shù)器 C200 的輸出常開觸點閉合, Y0 為 ON ,之后即使計數(shù)器輸入 X0 再給計數(shù)器線圈送信號,計數(shù)器的當前值也保持不變。當復位輸入 X1 接通( ON )時,執(zhí)行 RST 指令,計數(shù)器的當前值為 0 ,輸出接點 C200 也復位, Y0 為 OFF 。應注意的是,對于計數(shù)器 C100 ~ C199 ,即使 PLC 斷電,當前值與輸出觸點的動作狀 態(tài)或復位狀態(tài)也能保持。
6、數(shù)據(jù)寄存器(D)
數(shù)據(jù)寄存器主要用來存儲參數(shù)及工作數(shù)據(jù),包括模擬量控制、位置控制、數(shù)據(jù)輸入 / 輸出等工作中所用到的數(shù)據(jù)。 FX 系列中每一個數(shù)據(jù)寄存器都是 16 位(最高位為符號位)二進制數(shù)或一個字,可以用兩個相鄰數(shù)據(jù)寄存器合并起來存儲 32 位(最高位為符號位)二進制數(shù)或兩個字。數(shù)據(jù)寄存器分為 4 種類型:
1. 通用數(shù)據(jù)寄存器
FX 2N 可編程控制器中的 D0 ~ D199 是通用數(shù)據(jù)寄存器,共 200 點。
數(shù)據(jù)寄存器中數(shù)據(jù)的寫入一般采用傳送指令,只要不往通用數(shù)據(jù)寄存器寫入新數(shù)據(jù),已寫入的數(shù)據(jù)就不會變化。但是, PLC 運行狀態(tài)由 RUN → STOP 時,全部數(shù)據(jù)均清零。(若特殊輔助繼電器 M8033 已被驅(qū)動,則數(shù)據(jù)不被清零。)
2. 鎖存數(shù)據(jù)寄存器
FX 2N 可編程控制器中的 D200 ~ D7999 為鎖存數(shù)據(jù)寄存器,共 7800 點(不同機型,該點數(shù)不同)。
鎖存數(shù)據(jù)寄存器有斷電保持功能, PLC 由 RUN 狀態(tài)進入 STOP 狀態(tài)時,鎖存數(shù)據(jù)寄存器中的值保持不變。
3. 文件寄存器
FX 2N 可編程控制器中的 D1000 ~ D7999 為文件寄存器,共 7000 點。
文件寄存器是用戶程序存儲器( RAM 、 EEPROM 、 EPROM )內(nèi)的一個存儲區(qū),以 500 點為一個單位,最多可在參數(shù)設置時達到 7000 點。它只能用外部設備進行寫入操作,在 PLC 運行時,可用 BMOV 指令將其讀到通用數(shù)據(jù)寄存器中,但是不能用指令將數(shù)據(jù)寫入文件寄存器。用 BMOV 將數(shù)據(jù)寫入 RAM 后,再從 RAM 中讀出。將數(shù)據(jù)寫入 EEPROM 盒時,需要花費一定的時間,請務必注意。
4. 特殊數(shù)據(jù)寄存器
FX 2N 可編程控制器中的 D8000 ~ D8255 為特殊數(shù)據(jù)寄存器,共 256 點。
特殊數(shù)據(jù)寄存器用來監(jiān)控 PLC 內(nèi)部的各種工作方式和元件,例如電池電壓、掃描時間等。其內(nèi)容是在 PLC 上電時,寫入的初始化值(一般先清零,然后由系統(tǒng) ROM 來寫入)。如 D8000 用來存放警戒監(jiān)視時鐘,其時間是由系統(tǒng) ROM 設定的。若需要改變,應用傳送指令將目的時間送入 D8000 。該值在由運行轉(zhuǎn)為停止時,保持不變。
此外, FX 系列 PLC 內(nèi)部的編程元件還有變址寄存器( V 、 Z )。
變址寄存器( V 、 Z )除了和普通的數(shù)據(jù)寄存器有相同的使用方法外,還常用于修改器件的地址編號。變址寄存器由 V0 ~ V7 及 Z0 ~ Z7 共 16 點 16 位的數(shù)據(jù)寄存器構(gòu)成,可進行數(shù)據(jù)的讀寫,當進行 32 位操作時,將 V 和 Z 合并,其中 Z 為低 16 位。
7、內(nèi)部 指針與常數(shù)
內(nèi)部指針( P/I )包括分支和子程序用的指針( P )和中斷用的指針( I )。在梯形圖中,指針放在左側(cè)母線的左邊。
內(nèi)部指針( P/I )是在程序執(zhí)行到內(nèi)部時用來改變執(zhí)行流向的元件。分支指令有 P0 ~ P127 ,它們可用來指定條件跳轉(zhuǎn)、子程序調(diào)用等,其中 P63 表示跳轉(zhuǎn)結(jié)束。中斷指令有 I0 ~ I8 ,輸入中斷 I △ 0 □,△表示輸入號,取值范圍為 0 ~ 5 ,□ =0 表示下降沿中斷,□ =1 表示上升沿中斷,每個輸入只能用一次,以接受來自對應的輸入編號( X0 ~ X5 )的輸入信號。定時器中斷 I △□□,△表示定時器中斷號,取值范圍為 6 ~ 8 ,□□表示定時時間,取值范圍為 10 ~ 99ms ,中斷指令根據(jù) IRET 指令返回。
常數(shù) K 用來表示十進制常數(shù), 16 位常數(shù)的范圍為- 32768 ~+ 32768 , 32 位常數(shù)的范圍為- 2147483648 ~+ 2147483647 。
常數(shù) H 用來表示十六進制常數(shù), 16 位常數(shù)的范圍為 0 ~ FFFF , 32 位常數(shù)的范圍為 0 ~ FFFFFFFF 。
PLC 內(nèi)部的編程元件都有確定的地址編號,不同廠家,不同型號的 PLC ,其編程元件的數(shù)量、種類、地址編號都不一樣,這對編程者是很重要的,下表 以 FX 2N 系列 PLC 為例,列出了其相關(guān)的編程元件。










