Bewise Inc. www.tool-tool.com Reference source from the internet.

常見的可程式邏輯控制器外觀

常見的可程式邏輯控制器外觀

可程式邏輯控制器(Programmable Logic Controller,PLC),是一種用於自動化實時控制的微型電腦,廣泛應用於目前的工業控制領域 。在可程式邏輯控制器出現之前,一般要使用成百上千的繼電器以及齒輪定時器才能組成具有相同功能的自動化系統,而現在,經過編程的簡單的可程式邏輯控制器模塊基本上已經代替了這些大個頭的裝置。可程式邏輯控制器的系統程序一般在出廠前已經初始化完畢,用戶可以根據自己的需要自行編輯相應的用戶程序來滿足不用的自動化生產要求。

最初的可程式邏輯控制器只有邏輯控制的功能,所以被命名為可程式邏輯控制器, 後來隨著不斷的發展,這些當初功能簡單的電腦模塊已經有 了包括邏輯控制,時序控制、模擬控制、多機通信等許多的功能,名稱也改為可程式控制器(Programmable Controller),但是由於它的簡寫也是PC與個人電腦(Personal Computer )的簡寫相衝突,也由於多年來的使用習慣,人們還是經常使用可程式邏輯控制器這一稱呼,並在術語中仍沿用PLC這一縮寫。

現在工業上使用可程式邏輯控制器(PLC)已經相當於是由一臺輕巧型電腦所構成,能透過數位或類比輸入/輸出模組控制機器設備、製造處理流程、及其它控制模組的電子系統。PLC可接收(輸入)及發送(輸出)多種型態的電氣或電子訊號,並使用他們來控制或監督幾乎所有種類的機械與電氣系統。

PLC具有通用性強、使用方便、適應面廣、可靠性高、抗干擾能力強、編程簡單等特點。可以預料:在工業控制領域中,PLC控制技術的應用必將形成工業界的潮流。

國際電工委員會(IEC)在其標準中將PLC定義為:
「可程式邏輯控制器是一種數位運算操作的電子系統,專為在工業環境應用而設計的。
它採用一類可程式的存儲器,用於其內部存儲程序,執行邏輯運算、順序控制、定時、計數與算術操作等
面向用戶的指令,並通過數字或模擬式輸入/輸出控制各種類型的機械或生產過程。可程式邏輯控制器及
其有關外部設備,都按易於與工業控制系統聯成一個整體,易於擴充其功能的原則設計。」


[編輯] 發展歷史

三菱Q系列PLC,可藉由擴充底座連接各種模組擴充許多高性能之功能

三菱Q系列PLC,可藉由擴充底座連接各種模組擴充許多高性能之功能

PLC的興起,是與美國現代工業自動化生產發展的要求密不可分的。

  • PLC 源起於1960 年代,當時美國一汽車製造公司,為解決工廠生產線調整時,繼電器順序控制系統之電路修改耗時,平時檢修與維護不易等問題。

在可程式邏輯控制器出現之前,汽車製造業中的一般控制、順序控制以及安全互鎖邏輯控制必須完全依靠眾多的繼電器定時器以及專門的閉迴路控制器來實現。它們體積龐大、有著嚴重的噪音,不但每年的維護工作要耗費大量的人力物力,而且繼電器-接觸器系統的排線檢修等工作對維護人員的熟練度也有著很高的要求。

針對這些問題,美國通用汽車公司在1968年向社會公開招標,要求設計一種新的系統來替換繼電器系統,並提出了著名的「通用十條」招標指標,即:

1、編程方便,現場可修改程序;

2、維修方便,採用模塊化結構;

3、可靠性高於繼電器控制裝置;

4、體積小於繼電器控制裝置;

5、數據可直接送入管理電腦;

6、成本可與繼電器控制裝置競爭;

7、輸入可以是交流115V;

8、輸出為交流115V,2A以上,能直接驅動電磁閥,接觸器等;

9、在擴展時,原系統只要很小變更;

10、用戶程序存儲器容量至少能擴展到4K。

    • 隨後,美國數字設備公司(DEC)根據這一設想,於1969年研製成功了第一臺PDP-14控制器,並在汽車自動裝配線上使用並獲得成功。由於當時系統主要用於順序控制、職能進行邏輯運算,所以被命名為可程式邏輯控制器(Programmable Logic Controller,PLC)。
    • 最早期之PLC只具有簡易之邏輯開/關(on/off)功能,但比起傳統繼電器之控制方式,已具有容易修改、安裝、診斷與不佔空間等優點。
  • 1970 年代初期,PLC引進微處理機技術,使得PLC具有算術運算功能與多位元之數位信號輸出/輸入功能,並且能直接以階梯圖符號進行程式之編寫。這項新技術的使用,在工業界產生了巨大的反響。日本在1971年從美國引進了這項技術,並很快研製成功了自己的DCS-8可程式邏輯控制器,在1973年至1974年間也相繼有了自己的該項技術。中國則於1977年研製成功自己的第一臺可程式邏輯控制器,但是使用的微處理器核心為MC14500。
  • 1970 年代中期,PLC功能加入遠距通訊、類比輸出輸入、NC 伺服控制等技術。
  • 1980 年代以後更引進PLC 高速通訊網路功能,同時加入一些特殊輸出/輸入界面、人機界面、高功能函數指令、資料收集與分析能力等功能。

PLC之功能早已不止當初數位邏輯之運算功能,因此近年來PLC常以可程式控制器(Programmable Controller)簡稱之。

[編輯] PLC內部運作方式

雖 然PLC所使用之階梯圖程式中往往使用到許多繼電器、計時器與計數器等名稱,但PLC內並非實體上具有這些硬體,而是以記憶體與程式上的模擬方式 來取代。因此能大大減少控制器所需之硬體空間。實際上PLC執行階梯圖程式的運作方式是逐行的將階梯圖程式碼掃瞄讀入CPU 中並執行之。在整個的掃瞄過程包括三大步驟,「輸入狀態檢查」、「程式執行」、「輸出狀態更新」說明如下:

 步驟一「輸入狀態檢查」:
PLC首先檢查輸入端元件所連接之各點開關或感測器狀態(1 或0 代表開或關),並將其狀態寫入記憶體中對應之位置Xn。

步驟二「程式執行」:
將階梯圖程式逐行取入CPU 中運算,若程式執行中需要輸入接點狀態,CPU直接自記憶體中查詢取出。
輸出線圈之運算結果則存入記憶體中對應之位置,暫不反應至輸出端Yn。

步驟三「輸出狀態更新」:
將步驟二中之輸出狀態更新至PLC輸出部接點,並且重回步驟一。

此三步驟稱為PLC之掃瞄周期,而完成所需的時間稱為PLC 之反應時間,PLC 輸入訊號之時間若小於此反應時間,則有誤讀的可能性。每次程式執行後與下一次程式執行前,輸出與輸入狀態會被更新一次,因此稱此種運作方式為輸出輸入端「程式結束再生」。

[編輯] PLC的硬體結構及基本配置

PLC內部運作架構

PLC內部運作架構

一 般講,PLC分為箱體式和模組式兩種。但它們的組成是相同的,對箱體式PLC,有一塊CPU板、I/O板、顯示面板、記憶體塊、電源等,當然按 CPU性能分成若干型號,並按I/O點數又有若干規格。對模組式PLC,有CPU模組、I/O模組、記憶體、電源模組、底板或機架。無任哪種結構類型的 PLC,都屬於匯流排式開放型結構,其I/O能力可按用戶需要進行擴展與組合。PLC的基本結構框圖如下:


[編輯] 硬體結構

可程式邏輯控制器(Programable Logic Controller)簡稱PLC,是一種具有微處理機的數位電子設備,可以將控制指令隨時載入記憶體內儲存與執行。

可程式控制器由內部CPU,指令及資料記憶體、輸入輸出單元、電源模組、數位類比...等單元所模組化組合成.

以下大概會做一個說明

[編輯] CPU中央處理單元

PLC 中的CPU是PLC的核心,起神經中樞的作用,每台PLC至少有一個CPU,它按PLC的系統程式賦予的功能接收並存貯用戶程式和資料,用掃 描的方式採集由現場輸入裝置送來的狀態或資料,並存入規定的暫存器中,同時,診斷電源和PLC內部電路的工作狀態和編程過程中的語法錯誤等。進入運行後, 從用戶程式存貯器中逐條讀取指令,經分析後再按指令規定的任務產生相應的控制信號,去指揮有關的控制電路,與通用電腦一樣,主要由運算器、控制器、暫存器 及實現它們之間聯繫的資料、控制及狀態匯流排構成,還有週邊晶片、匯流排界面及有關電路。它確定了進行控制的規模、工作速度、記憶體容量等。記憶體主要用 於存儲程式及資料,是PLC不可缺少的組成單元。

CPU的控制器控制CPU工作,由它讀取指令、解釋指令及執行指令。但工作節奏由震盪信號控制。CPU的運算器用於進行數位或邏輯運算,在控制器指揮下工作。

CPU的暫存器參與運算,並存儲運算的中間結果,它也是在控制器指揮下工作。

CPU雖然劃分為以上幾個部分,但PLC中的CPU晶片實際上就是微處理器,由於電路的高度集成,對CPU內部的詳細分析已無必要,我們只要弄清它在PLC中的功能與性能,能正確地使用它就夠了。

CPU 模組的外部表現就是它的工作狀態的種種顯示、種種介面及設定或控制開關。一般講,CPU模組總要有相應的狀態指示燈,如電源顯示、運行顯示、 故障顯示等。箱體式PLC的主箱體也有這些顯示。它的匯流排界面,用於接I/O範本或底板,有記憶體介面,用於安裝記憶體,有外設口,用於接外部設備,有 的還有通訊口,用於進行通訊。CPU模組上還有許多設定開關,用以對PLC作設定,如設定起始工作方式、記憶體區等。

PLC的CPU內部包含CU、ALU、暫存器三大部分:

CU:(控制單元-指令解碼器) 負責將儲存在記憶體內的程式解碼成控制信號,用以決定各單元模組的工作狀態,是PLC的指揮部。

ALU:(算數及邏輯運算單元)專門負責做加減乘除的算術運算及AND、OR、NOT邏輯運算

暫存器:CPU內部記憶體可以暫時存放運算的結果,等待下一次運算。

[編輯] 記憶體

PLC內部存放撰寫完成的程式指令及資料的地方,也可以使用RAMEEPROM等專用記憶體擴充(但擴充能力得依各廠牌有所不同)。

[編輯] 輸入/輸出單元(IO單元)

PLC 的對外功能,主要是通過各種I/O介面模組與外界聯繫的,按I/O點數確定模組規格及數量,I/O模組可多可少,但其最大數受CPU所能管理 的基本配置的能力,即受最大的底板或機架槽數限制。I/O模組集成了PLC的I/O電路,其輸入暫存器反映輸入信號狀態,輸出點反映輸出鎖存器狀態。

輸入單元是用來連結擷取輸入元件的信號動作並透過內部匯流排將資料送進記憶體由CPU處理驅動程式指令部分。PLC輸入模組PLC系統的架構和輸入模組產品的選擇端視需要被監測的輸入訊號位準而定。

來自不同類型被監測的感測器與流程式控制制之變量訊號,可以涵蓋從±10mV至±10V的輸入訊號範圍。

輸出單元是用來驅動外部負載的介面,主要原理是由CPU處理以書寫在PLC裡的程式指令,判斷驅動輸出單元在進而控制外部負載,如指示燈、電磁接觸器、繼電器、氣(油)壓閥等。

PLC輸出模組在工業環境中用來控制制動器、氣閥及馬達等的PLC系統類比輸出範圍包括±5V、±10V、0V到5V、0V到10V、4到20mA、或0到20mA等。

[編輯] AD/DA 類比/數位 單元(類比數位轉換控制)

AD-類比訊號轉數位訊號:主要是把外部微電壓微電流以及0與1的資料,透過專用模組接面接收,再以專用指令轉換運算給程式運用。

DA-數位訊號轉類比訊號:主要是把PLC內部數學數值及專用指令以CPU做運算,並透過專用模組將數學術值轉微電壓微電流信號再加以控制外部設備,如變頻器、溫控器等包含其他具有數位類比收送的介面設備。

通常在使用AD/DA模組時我們都會去考慮到設備的解析度,因為解析度會影響到精準度,所以我門通常會選用高解析度的設備使用,並遵照期線性比例做數學運算。

[編輯] 電源模組

有 些PLC中的電源,是與CPU模組合二為一的,有些是分開的,其主要用途是為PLC各模組的積體電路提供工作電源。同時,有的還為輸入電路提供 24V的工作電源。電源以其輸入類型有:交流電源,加的為交流220VAC或110VAC,直流電源,加的為直流電壓,常用的為24V。

[編輯] 通訊

現 在PLC大多具有可擴充通信網路模組的功能,即使是最簡單的PLC也需以BUS方式通訊連結其他裝置。它使PLC與PLC 之間、PLC與上位電腦以及其他智慧設備之間能夠交換資訊,形成一個統一的整體,實現分散集中控制。現在幾乎所有的PLC新產品都有通信網路功能,它和電 腦一樣具有RS-232介面,通過雙絞線、同軸電纜或光纜,可以在幾公里甚至幾十公里的範圍內交換資訊。

當然,PLC之間的通訊網路是各廠家專用的,PLC與電腦之間的通訊,一些生產廠家採用工業標準匯流排,並向標準通訊協定靠近,這將使不同機型的PLC之間、PLC與電腦之間可以方便地進行通訊與網路。

[編輯] PLC的外部設備

外部設備是PLC系統不可分割的一部分,它有四大類

[編輯] 編程設備

有簡易編程器和智慧圖形編程器,用於編程、對系統作一些設定、監控PLC及PLC所控制的系統的工作狀況。編程器是PLC開發應用、監測運行、檢查維護不可缺少的器件,但它不直接參與現場控制運行。

[編輯] 監控設備

資料監視器和圖形監視器。直接監視資料或通過畫面監視資料。

[編輯] 存儲設備

有存儲卡、存儲磁帶、軟碟或唯讀記憶體,用於永久性地存儲用戶資料,使用戶程式不丟失,如EPROM、EEPROM寫入器等。

[編輯] 輸入輸出設備

用於接收信號或輸出信號,一般有條碼讀人器,輸入模擬量的電位器,印表機等。

[編輯] PLC內主要元件

PLC利用內部記憶體,規劃許多順序控制程式上常會使用到的元件,這些元件包括: 輸入繼電器、輸出繼電器、補助繼電器、計數器、計時器、資料暫存器等主要元件,各元件功能與使用方法,說明如下:

[編輯] 輸入接點(input)與輸出接點(Output)

  1. 用於PLC與外部元件之間的狀態傳送。可連接外部器件,及按鈕開關選擇開關光電開關、數字開關等,使用過大電流將會造成內部接點元件損壞。
  2. PLC 輸出(Yn)與輸入(Xn)之繼電器對應至實際輸出與輸入之接點狀態,由PLC內部之記體來記憶,在每回程式執行完畢後,PLC會將運算結 果後記憶體之值(0 或1)反應至輸出接點Yn(ON或OFF);接著掃瞄輸入接點Xn之狀態,並更新所有輸入點記憶體內之值,以備下一回程式執行使用。
  3. 輸入點Xn與輸出點Yn可當作一虛擬繼電器的接點,因此可作常開接點(-| |-)與常閉接點(-|/|-)處理,每個輸出點Yn(-( )-)只能使用在程序一次(步進指令STL+RET例外),但如作為接點,則可在程式設計的程序中無限使用。
  4. 以上為三菱PLC標記方式,其中n 代表接點之編號,接點編號方式各廠牌不同,有些PLC採八進制而非慣用之十進制。

[編輯] 內部繼電器(M)

  1. PLC內部提供很多補助繼電器M或者R表示),用來取代傳統順序控制中的繼電器。傳統繼電器包括接點與線圈二部份,但實際上PLC是以記憶體來記憶補助繼電器之狀態,若線圈被驅動則將1 寫入,否則將0 寫入。接點之運算則直接讀自所對應之記憶體值(0 或1),其但原理與傳統繼電器相同,只有持續輸出電源或採用自保設計,才可保持繼電器的ON(1)狀態,如果切斷PLC的電源,或者對PLC進行復歸,內部繼電器都將斷開OFF,除非是停電保持形態之內部繼電器。
  2. 補助繼電器可分為一般型與停電保持型,差別在系統重新啟動或斷電後,停電保持型會記憶啟動或斷電前之狀態。
  3. 依各廠牌生產型別,尚可能有網路繼電器(B)、步進繼電器(S)...等特殊型態。

[編輯] 計數器(Counter)

  1. 計數器在程式中被用來計算重覆動作的次數。
  2. 每一個計數器Cn 有一個位元記憶體位址代表其接點狀態,另有一字元暫存器用來記錄目前所計數之大小。
  3. 一般PLC的計數器計數方式可分為上數或下數方式,有的計數器則同時具有上數與下數方式。上數指的是由小往大數(如:1,2,3...),下數指的是由大的往小數(如:9,8,7...)。因此首先要了解所使用之計數器到底是上數或下數。
  4. 一般PLC中的計數器並非真有硬體計數器存在,而是以記憶體配合軟體的模擬方式來完成計數等功能。但有的PLC具有高速計數器,則是以實際的硬體來完成所需的高速計數工作。順序控制使用一般計數器即可,但若輸入訊號為高速脈波,則須改採高速計數器。
  5. 有的PLC為避免意外停電後計數器計數值的遺失,也提供部份計數器具有停電後保持計數值與接點狀況之功能。

[編輯] 計時器(Timer)

  1. 計時器用來計算動作的時間長短。
  2. 每一個計時器Tn 有一個記憶體位址記憶其接點狀態,另有一暫存器用來記錄目前所計時之次數。每單位計時時間乘上計時次數,代表所計時之時間長短。
  3. 一般型計時器按其接點動作方式可分為「啟動延遲型」「斷電延遲型」二種
  4. 另有一積算型計時器,在輸入訊號消失或停電後,計時器內之資料會被保存。因此積算型計器內之資料在每一次重新計時動作前,應先予以歸零。
  • 「啟動延遲型」計時器:在啟動訊號輸入後開始計時,等到計時終了才啟動計時線圈與接點;
  • 「啟動延遲型」計時器:則在啟動訊號輸入後,除了開始計時,並啟動計時線圈與接點,等到計時終了才將計時線圈與接點關閉。


[編輯] 資料暫存器(Data)

  1. 資料暫存器(Dn)用來儲存字元組之數值或字元資料。
  2. 其資料型態使用二進制符號,數據用O與1表示。每個暫存器使用16位元儲存,但是如果使用二個資料暫存器,則可處理32位元的數據。
  3. 數值存入後其內容會一直保持,直到新數據送入或程式停止運轉才清除歸零。
  4. 依其功能可分為一般用、停電保持用、特殊用、檔案暫存用四種。
    • 一般與停電保持用資料暫存器用來暫存程式中之運算值;特殊用資料暫存器用來控制或監視PLC 內部各項要素;檔案暫存資料暫存器用來讀入周邊裝置資料。

[編輯] 指標

其概念與程式語言上的指標功能相同,可作為程式的跳步指令與之配合使用。

[編輯] 可程式邏輯控制器的系統與控制迴路

[編輯] 模擬信號和數字信號的處理

PLC是一種監控設備, 為了監視及控制各項機電等設備, 當然必須與那些設備有相互溝通的方式.

在這些機電設備的世界裡, 人類發明了各種形式的訊號, 以作為它們之間的溝通媒介.

目前來說, 人們研發出來的各種偵測如: 溫度, 濕度, 壓力等自然現象的偵測元件, 都是將所測得的數據轉換為線性對應的電流信號, 通常是4~20mA.

PLC接受這樣的信號, 就可依據電流的大小而知道偵測器偵得的目前狀況.

Pulse(脈衝)信號是一種形式的接點信號. 它的意思是每"達到條件"時, 接點會閉合一次. 例如: 某個轉輪式的流量計, 可能被設計成--當它計算出水流累計量達到一度時, 就將輸出接點閉合一次.

至於所謂的RS232訊號, 乃是指一種"通訊"的方式(RS232是一種電氣規格). 以上所提的各種信號都是電氣形式的訊號. 而且每個信號都需要獨立的線路來作傳遞.

通訊的方式, 則可以把它當作設備用"交談"的方式來做溝通. 它們彼此間以一串列的數值信號來組成所要傳遞的資料, 使得多樣化的資料能夠藉由一組通訊線路來達成.

4~20mA算是通用規格. 另外常見的還有 0~20mA.

另外還有電壓式的: 0~5V, 1~5V, 0~10V, 等等.

當然還有以其他形式來表達自然環境中各種"連續性"數值的方式, 像是: 電阻式, 以及其他變化應用.

總之呢, 4~20mA的規格最多.

但是, 事實上, 4~20mA的電流信號, 在進入電路板時, 還是會串上一個250或500歐姆的電阻, 而獲得一個1~5V或2~10V的電壓, 然後再由A/D(類比/數位)轉換IC得到一個對應的數值.

這個"5V"或"10V"的原因, 乃是人們研發出來的A/D IC最容易且廉價的關係而已. 至於為何以電流的方式較多, 因為4~20mA控制電流不易因傳送距離較長而導致訊號衰減。

[編輯] 編輯程式設計

PLC程式設計示意圖

PLC程式設計示意圖

程式語言 PLC的編程語言與一般電腦語言相比,具有明顯的特點,它既不同於高階語言,也不同與一般的組合語言,它既要滿足易於編寫,又要滿足易於調試的要求。目 前,還沒有一種對各廠家產品都能相容的編程語言。如三菱公司的產品有它自己的編程語言,OMRON公司的產品也有它自己的語言。但不管什麼型號的PLC, 其編程語言都具有以下特點:

1.圖形式指令結構:程式由圖形方式表達,指令由不同的圖形符號組成,易於理解和記憶。系統的軟體發展者已把 工業控制中所需的獨立運算功能編製成象 徵性圖形,用戶根據自己的需要把這些圖形進行組合,並填入適當的參數。在邏輯運算部分,幾乎所有的廠家都採用類似於繼電器控制電路的梯形圖,很容易接受。 如西門子公司還採用控制系統流程圖來表示,它沿用二進位邏輯元件圖形符號來表達控制關係,很直觀易懂。較複雜的算術運算、定時計數等,一般也參照梯形圖或 邏輯元件圖給予表示,雖然象徵性不如邏輯運算部分,也受用戶歡迎

2.明確的變數常數:圖形符相當於操作碼,規定了運算功能,運算元由用戶填人,如:K400,T120等。PLC中的變數和常數以及其取值範圍有明確規定,由產品型號決定,可查閱產品目錄手冊。

3.簡化的程式結構:PLC的程式結構通常很簡單,典型的為塊式結構,不同塊完成不同的功能,使程式的調試者對整個程式的控制功能和控制順序有清晰的概念。

4.簡化應用軟體生成過程:使用組合語言和高階語言編寫程式,要完成編輯、編譯和連接三個過程,而使用編程語言,只需要編輯一個過程,其餘由系統軟體自動完成,整個編輯過程都在人機對話下進行的,不要求用戶有高深的軟體設計能力。

5.強化調測手段:無論是組合語言程式,還是高階語言程式調試,都是令編輯人員頭疼的事,而PLC的程式調試提供了完備的條件,使用編程器,利用PLC和編程器上的按鍵、顯示和內部編輯、調試、監控等,並在軟體支援下,診斷和調試操作都很簡單。

總之,PLC的編程語言是針對使用者應用所開發的,因此對使用者不要求具備高深的知識、不需要長時間的專門訓練。


PLC工作過程及硬體功能的實現,則要靠軟體的支援。PLC的軟體提供了各種邏輯模組(軟體),經程式撰寫來完成邏輯控制功能。

[編輯] PLC專用程式語言種類

PLC常用的程式語言主要有四種:基本指令、階梯圖、流程、IEC61131。另有一些較少使用的專用程式語言。

1. 基本指令: 類似於組合語言,由指令語句系列構成,如Mitsubishi FX2的控制指令LD、LDI、AND、ANI、OR、ORI、ANB、ORB、MMP、MMS與OUT等,一般配合書寫器寫入程式,而書寫器只能輸入簡 單的指令,與電腦程式中的階梯圖比較起來陽春許多。書寫器一次只顯示四行指令,所以不太直觀,可讀性差,特別是遇到較複雜的程式,更難讀,所以多數程式用 順序功能流程圖(SFC)表達;其優點就是不需要電腦就可以更改或察看PLC內部程式。
使用書寫器時,必須注意的是PLC指令中輸出有優先次序, 其中若有輸出至相同的單元時(如Y000),輸出的優先次序以位址越大優先次愈越高,一般不容易 從書寫器中察覺所輸入的單元。如下面程式中,有兩個Y000輸出點,而輸出點Y000最大的位置是在X001後面,所以能控制Y000輸出的只有X001 這個輸入點;因而X000輸入點無法控制Y000。

指令例:

        位址       指令      變數
0000 LD X000 ;當輸入點 X0=ON(常開狀態)
0001 OUT Y000 ;則輸出點 Y0=ON
0002 LDI X001 ;當輸入點 X1=OFF(常閉狀態)
0003 OUT Y001 ;則輸出點 Y1=ON
0004 END

2. 階梯圖(Ladder Programming,簡稱LAD):類似於傳統上以繼電器控制接觸器的電路圖,梯形圖是通過連線把PLC指令的梯形圖符號連接在一起的連通圖,用以表達所使用的PLC指令及其前後順序,它與電氣原理圖很相似。
它 的連線有兩種:一為母線,另一為內部橫豎線。內部橫豎線把一個個梯形圖符號指令連成一個指令組,這個指令組一般總是從裝載(LD)指令開始,必要時再繼 以若干個輸入指令(含LD指令),以建立邏輯條件。最後為輸出類指令,實現輸出控制,或為資料控制、流程式控制制、通訊處理、監控工作等指令,以進行相應 的工作。

3. 順序功能流程圖(Sequential Function Chart,簡稱SFC):類似於流程設計(Flow Design),流程圖中的步驟組合而完成,主要是規劃動作順序的流程圖,故謂之順序功能流程圖。如:勞委會中部辦公室所公佈之2004年工業配電乙級技 能檢定術科第三題順序功能流程圖,如下圖。所謂步序式控制,即是一步一步控制,而這一步與上一步是有關連性的,有順序性的。必須有上一個動作(STL), 才會啟動(SET)下一個動作(STL)。

勞委會中部辦公室所公布之2004年工業配電乙級技能檢定術科第三題順序功能流程圖

舉 個簡單的例子,將大象放入冰箱中,第一步先將冰箱門打開,第二步將大象放入冰箱,第三步將冰箱關上。每一個步驟都必須按照這個順序,不能夠缺少, 才能完成這項工作。在步進區STL完成後,必須搭配RET完成該步進區。而將許多STL結合後,即是SFC。 簡單的控制程式如下:

       位址       指令    功能變數
LD X000 ;打開冰箱完成
SET S000 ;將大象放入冰箱
STL S000 ;步進區:將大象放入冰箱
OUT Y001 ;將大象放入冰箱
LD X001 ;等待大象放入冰箱完成
SET S001 ;將冰箱關上
STL S001 ;步進區:將冰箱關上
OUT Y002 ;將冰箱關上
RET ;步進區結束
END

4. IEC 61131:IEC 61131是一個國際標準,它規範了 PLC 相關之軟體硬體的標準,其最終的目的是可以讓PLC的使用者在不改 軟體設計的狀況下可以輕易更換PLC硬體。 目前這個標準主要是由 PLCopen聯盟 www.plcopen.org在推廣。

5. 其他:另外還有功能圖(Function Chart Programming,FBD)以及歐洲常用的IEC編程方法,是各種PLC編程語言規範化的方向。 一些高檔的PLC還具有與電腦相容的C語言、BASIC語言、專用的高階語言(如西門子公司的GRAPH5、三菱公司的MELSAP),還有用布林邏輯語 言、通用電腦相容的組合語言等。

大體而言,階梯圖程式目前依然是應用最廣泛的撰寫語言,因為它與繼電—接觸器控制線路非常相像,容易學習,使用方便。

[編輯] 通信單元及通信協定

PLC的通信單元主要可以區分為程式書寫通信PORT、及外部資料控制擷取PORT。

程式書寫通信PORT,我們通常只會拿來做資料書寫或者是給外部PC設備做讀取用。

外部資料控制擷取PORT,我們通常會拿來做外部資列擷取及送出資料控制用,通常再做這方面的程式編寫時,須具備通信觀念的專業人士才能夠容易上手。一般順序控制的程式設計師會比較不容易上手。在FA業界中的人機介面及圖控程式也是由此延伸出來的。

PLC通信規格可分為: RS-232RS-422RS-432RS-485IEEE 1394IEEE-488(GPIB),其中RS-432最為少見。 其資料格式長度大部份為10筆或11筆,相關格式請參閱各設備說明,因為各設備皆為不同所以在此無法說明很詳細。 目前國際中最常用的通信協定為MODBUS-ASII模式及MODBUS-RTU模式,此為MODCON公司所制定的通訊協定PROFIBUS則為西門子公司所制定。日本三菱公司則自家推出CC-LINK通信規格。

[編輯] PLC未來展望

[編輯] 關於PLC工程師的訓練

對於企業來講,不管使用任何開發環境,最注重的不外乎成本、效率。在軟體開發上,要求的重點便在於工程師可以在最短的時間開發出程式,程式具有可重用性,以及新人的訓練成本可以降到最低。

如 果你是一個機台設備的電控開發廠商,當然希望找來的新進員工最好對 PLC 有一定程度認知,最好不要訓練就可以開始進入程式寫作。但以現在台灣的教育環境,技職體系已經逐漸放棄實習,相關科系最多只教一些基本設定,普通大學不管 是電機、機械、資工等控制相關系所更是三不管地帶,學校完全沒有教學。在這種情況下,如果使用傳統階梯圖來訓練新PLC 程式工程師,還需要解釋一些工業電子才能開始入門。坊間"電機補習班"大都以考照為目標,缺乏整體教育訓練。

因此真正有心成為自動控制方 面的工程師,唯有參加職業訓練局的機電整合班等相關訓練,目前,職訓局的機電整合班的教學,強調實務技術的能力;實習的 課目盡量接近實際場合,從一個系統抽出一個部分:由感測、控制、 驅動、及機構等組件的實習中,使同學能認識機電整合的概念,同學在學習了機械、電子、電機、電腦方面的技能後,應用於實習課目上,培養學員創造的能力。而 且目機電整合班有產生合作關係廠商,各行各業均有,產業別如:各行業設備生產製造及研發公司、環境監控公司、生技科技製造研發公司等

對於 初學者應首當學習階梯圖,對於簡單的控制,如簡單的開關直接驅動燈號顯示,打開電源開關等,應該是最容易表達,最快可以完成的程式寫法。但對於 不在硬體支援列表的控制元件,程式設計者很難用階梯圖去開發函數庫。對於不是單一製程的機器,能彈性加工不同產品的設備,可能需要依照使用者設定的配方去 跑,或者需要簡單的排程處理一些產品的優先加工順序,或是需要一些數學函示運算,這些要求對階梯圖的方式都有表示上的困難。且當程式大到一定程度,階梯圖 的程式就遠不如結構化的高階語言能夠很快的看懂,不管是開發或者後續的程式維護,對於公司都是很大的挑戰。因此現在出現一種新型稱為OpenPLC 的語法來彌補這項缺失。

技術文件取得

對 於一個程式設計工程師,在選擇使用各家不同的開發環境工具的熟悉程度和操作是否人性化都是選擇重點。但是當你面對全新機台的開發,某些領域是過去 未曾接觸過的,這時候技術文件是否可以很容易取得, PLC 原廠的支援,便成為這個開發案的成敗關鍵。各家 PLC 廠商在一般的程式語法上大都有提供說明文件,或者從官方網站登錄後皆可下載相關技術文件,如有困難也可像供應商請求技術支援。

電控設備廠的的工程師常面臨的共有8大問題:

1.交期延誤、2.設計者獨立作業、3.設計者異動,造成大衝擊、4.試車拖延、5.程式缺設計手法、6.程式缺模擬驗證、7.文件資料不全、8.不易傳承等。

其 中第二∼八項只須提升電控能力即可改善,因此台灣設備廠商最大的風險就是電控能力不足,而改善電控能力,則可解決80%的設備廠商問題。為加強電 控設計手法,奇美力推「CMO設計手法」,而其友達及工研院也同樣推出「MSD設計法」,兩者都是採取模組化設計,以PC常用的標準流程圖方式規劃PLC 程式,讓經驗快速累積、技術加以傳承,據奇美表示,引進CMO設計手法,設備廠商可節省5年摸索時間。

[編輯] OpenPLC

PLC 在台灣大部分為 Mitsubishi PLC或 OMRON PLC的市場,因為在台灣與中國的PLC市占率高,但在歐美市場則在各家都有一定佔有率。

在歐洲,大部分的 PLC 廠商所提供的開發工具都支援 IEC 61131-3,在歐洲的 Mitsubishi也都有提供 IEC 版本的 GX IEC Developer以滿足市場需求。

IEC61131是一個國際標準,它規範了 PLC 相關之軟體硬體的標準,其最終的目的是可以讓PLC的使用者在不改軟體設計的狀況下可以輕易更換PLC硬體。

目前這個標準主要是由 [PLCopen|www.plcopen.org]在推廣。

IEC 61131-3是其中開發軟體介面的標準,它主要是提供了五大程式介面,包含:

1. Instruction List, IL (文字) 類似組合語言的描述文字。

2. Structured Text, ST (文字) 類似 PASCAL 的語法,適合撰寫較複雜的演算法,除錯上也比階梯圖要容易得多。

3. Ladder Diagram, LD (圖形) 傳統階梯圖,讓熟悉階梯圖的使用者也能使用 IEC 61131-3,不會因為換了 IEC 61131-3 就需要重新學習。

4. Function Block Diagram, FBD (圖形) 以畫電路圖的方式來寫 PLC 程式。這在 Mitsubishi PLC 或 OMRON PLC 都需要另外購買才有提供的功能 或是有硬體支援/相容性的問題, 但在 IEC 61131-3 它是內建的程式介面。


5. Sequential Function Chart, SFC (圖形) 以畫流程圖的方式來寫 PLC 程式,這也是最好的一點, 因為大部分的 PLC 都是按一定的順序在運作,利 用 SFC 可以一步一步寫好,最後再串連測試。 �

[source from: www.plcopen.org]

OpenPLC特性

符合 IEC 61131-3 的開發環境會把程式區分為許多 POU (Programming Organization Unit),如函式(Function)、功能區塊 (Function Block)、程式(Program)等。
每個 POU 可以再分兩個部分

  • Common Elemonts

此部分主要是定義程式內所使用到的變數,這些變數可以 對應到實體,也可以是內部變數。

  • Programming Languages

此 部分主要是程式內容,也就是上述的 5 種程式語法的任一種。在程式內可以叫用其他的 POU。 因為變數宣告部分與程式內容是分開的,所以可以在寫好程式後,在對應到實體時,才把變數所對應的實體IO點給定,而不必修改程式。這使得硬體變更時,程式 不必修改就可以使用。對於在開發另外的新機台時,舊有 POU 的重用機會提高,在使用時,也只需要定義實體IO點,不會因硬體變更,修改程式而改出新的BUG。如此,軟體公司可以把常用的功能寫成 POU,日後變成自己的函式庫寫 PLC 就更容易了,或是專門開發 POU 的函式庫作為產品也是可以的,因為組譯過的 POU 就像我們買一般電腦語言的函式庫一樣,是看不到原始碼的。

  • OpenPLC是依照 IEC61131-3 標準來開發 PLC 系統,相對應的技術文件都可查詢得到[1] ,關於硬體間的相關介面的技術文件,相關的文件手冊都在網路上公開,任何人都可以下載,因為是開放標準,如果廠商封鎖特定的技術文件,使用者在得不到協助的狀況下,仍可以很輕易的選擇轉換到其他公司產品。
  • OpenPLC程式開發者可以利用高速工業網路,直接將所有的 IO 狀態對應到 Notebook上,直接在自己的工作電腦執行所有的 PLC 程式,在線上直接觀察程式執行狀況,變數變化,或設立中斷點單步除錯,或者使用其提供的工具,畫出 IO 點執行的時序圖。

而 這些動作在個人電腦與實際硬體並無差別,但提供程式設計者更快速找出程式問題,縮短開發時間。對硬體的改變也只有搬一臺電腦,拆裝工業網路連線。 如果機構還沒完成, 由內附的TwinCAT 本身也提供模擬環境,直接以圖示、動畫的方式連結到對應實體的 IO 點,讓程式執行結果,以模擬動畫方式,讓開發者在沒有實際硬體的情況下,可以同步開發程式,並模擬執行結果,讓整個計畫的設計工作,可以軟硬體同步執行, 有效縮短開發時間。

  • OpenPLC 陣營,只要周邊硬體有公開的通訊協定,軟體工程師便可以使用 Structured Text (ST) 打造自己的專屬函數庫,減少控制硬體互相綁規格的情況。
  • 如果每一項硬體在使用前都事先自己打造專屬函數庫,對開發商來講也是一項很大的成本開銷。
  • 除了 PLC 硬體供應商也不斷的增加支援的硬體來吸引設備開發商使用,電控供應廠商也開始使用標準的工業網路來做為硬體通訊介面,例如目前在高速工業網路介面 CanOpen 針對常用的裝置,如馬達便定義在Profile 402,將使用者會用到的功能、參數定義成標準通訊介面,讓系統間只要插上通訊線,便可開始交換資料,讓使用者有使用開放系統不會被硬體綁死的限制,也有封閉系統只要插上,就能開始通訊的便利。

[編輯] PLC的應用實例

PLC以CPU執 行順序控制,它具有記憶體可進行儲存各輸入,輸出點狀態,使用者可進行編寫的邏輯控制程式,PLC本身功能即包含傳統的繼電器、計數器、計時器等硬體元件 相同的功能,且體積小、重量輕、功耗低,不僅可縮小控制系統空間,配線容易,維修方便。其程式撰寫方法簡單,容易掌握,可經由更改控制程式修改原本執行工 作的動作,具備模組化架構及彈性化工作能力。

由於具有使用容易,節省配線人力,設計彈性等優點,已廣泛的應用於各種控制系統中,在工廠自動化、監視控制中擔任核心控制任務。

目前市面上之PLC種類繁多,依照製造廠商及適用場所的不同而有所差異,但是每種廠牌可依機組複雜度分為大、中、小型;而一般工廠及學校通常使用小型PLC,在 工業用途通常使用大型PLC 應用如:

beeway 發表在 痞客邦 留言(0) 人氣()