可編程邏輯控制器(PLC)是一種基于微控制器的通用的電子器件,它是用來控制機器操作或過程的。PLC和傳統(tǒng)的微控制器系統(tǒng)不同,它不是由器件廠商編程的,而是由機器設備制造商或最終用戶編程的。PLC的應用包括:
•自動測試設備
•上料與下料設備
•機器控制
•家庭自動化
•電梯系統(tǒng)
•工廠自動化
根據處理輸入和輸出的數目。PLC可以分為下列幾種主要類別:
• 極小型PLC:少于32輸電子產品世界http://www.eepw.com.cn/article/121874.htm入/輸出(I / O)功能的可編程邏輯控制器。
• 微型PLC:超過32輸入/輸出(I / O)點,但是不超過128輸入/輸出(I / O)功能的可編程邏輯控制器。
• 小型PLC:超過128輸入/輸出(I / O)點,但是不超過256輸入/輸出(I / O)功能的可編程邏輯控制器。它不包括任何根據基電子產品世界http://www.eepw.com.cn/article/121874.htm本系統(tǒng)所做得I / O改進。
• 中型和大型PLC:控制數目比較大(> 256),使用非??焖俚妮斎?輸出(I / O)掃描頻率的可編程邏輯控制器。
根據ARC咨詢集團最近的一項調查顯示,在2007年,可編程邏輯控制器(PLC)的市場達到了近90億美元,預計到2012年將超過120億美元。
PLC編程
PLC使用梯形圖來編程,提供前端定制軟件,使最終用戶可以編程。這些用戶通常不是程序員,他們沒有任何C或Verilog / VHDL的編程知識。
梯形邏輯編程看起來像機電繼電器控制電路的配線圖一樣。我們舉一個例子,一個樓梯的照明使用了兩個控制開關。如果任何一個開關按下,樓梯的燈都要打開,如果任何一個開關又按了一次,那么就應該關閉。圖1中顯示了使用了兩種開關和一盞燈的布線圖控制實現(xiàn) (開關1裝在樓梯底部,開關2安裝在樓梯上層)。
圖1中開關1和開關2處于關的位置。如果開關1按下,那么上面的電路閉合將會開燈。如果開關2按下,將打開上面的電路并閉合下面的電路。然而,開關1已經打開下面的電路了,所以燈泡不會發(fā)光。再按下開關1,將會閉合下面的電路,燈泡就會發(fā)光。
圖1:使用兩個開關的樓梯燈控制布線圖
圖2所示為使用PLC進行相同控制實施方案和梯形邏輯。硬件開關接觸用--||--(通常為斷開)和--|/|--(通常為閉合)符號代替。
圖2:可編程邏輯控制器(PLC)實現(xiàn)樓梯燈控制梯形邏輯圖
圖3顯示了如何使用集成了PLC功能的PLD、 FPGA或片上系統(tǒng)(SoC)里的邏輯門實現(xiàn)相同的控制(非,與,或)。值得注意的是,圖3中所有的門電路都可以用或非門代替。
圖3使用“門”電路實現(xiàn)樓梯燈控制邏輯圖
PLC工作原理
市場上大多數PLC是基于微處理器電路的。這些PLC讀出所有的輸入狀態(tài)(即開關),然后執(zhí)行用戶寫進去的梯形邏輯程序來確定最后的輸出(例如,燈泡)。圖4顯示了創(chuàng)建一個傳統(tǒng)的基于PLC的控制系統(tǒng)的各種部件。
PLC輸入使用絕緣體進行孤立和水平傳輸,并連接到單片機端口。PLC輸出連接到緩沖器和繼電器,連接到相同的輸出元素,如下圖所示。
Figure 4: Conventional PLC Block diagram
圖4:傳統(tǒng)的PLC控制框圖
The flow chart in Figure 5 shows how the PLC operates.
圖5給出了PLC 的工作流程圖。
圖5:傳統(tǒng)的PLC程序執(zhí)行流程
傳統(tǒng)PLC的局限
傳統(tǒng)的PLC中程序順序執(zhí)行大約需要10 ms或更多時間來完成。以這樣的速度,它們適用于輸入信號頻率低于100赫茲的控制應用。掃描時間也受程序長度的限制。舉例來說,如果你想讀一個速度傳感器輸入來測量大約每分鐘1200轉的速度(1200/60 = 200赫茲的信號頻率),一個基于微控制器的 PLC使用該輸入不能正確測量速度。這種系統(tǒng)可能需要解碼器或計算IC自定義一個輸入模塊,方可讀出高頻信號,并把它們轉化成一個數字值并傳輸給單片機;或者,可以考慮用一個10千赫頻率的PWM來控制電磁閥流量。由于上述的限制,可編程邏輯控制器(PLC)不能直接輸出,需要一個定制的輸出模塊和PWM發(fā)生器。加入這樣的高速計數器模塊和PWM發(fā)生器模塊,那么可編程邏輯控制器(PLC)成本將增加2 ~ 3成。
有數字可編程邏輯的(例如FPGA或CPLD)可以解決頻率問題。然而, FPGA缺乏內置模擬器件能力。例如,如果你需要用模擬溫度傳感器測量溫度,你就不能直接連到FPGA接口。此外,F(xiàn)PGA對于這種應用來說太貴了。
為了滿足PLC低成本的需求,開發(fā)人員需要一個這樣的設備,它可以處理高速數字輸入,高頻輸出,而且也能直接處理模擬信號。今天,有許多片上系統(tǒng)芯片(SoC),他們結合了完整的可編程邏輯的單片機和可配置的模擬模塊來實現(xiàn)這一具成本效益的方式。
例如,這些SoC可以實現(xiàn)基于HDL的正交解碼器的功能,使用兩個90度相移傳感器信號,通過高速讀出速度/位置傳感器信號來檢測電機的旋轉速度和方向。同樣的,PWM波形發(fā)生器可以使用片上可編程數字資源實現(xiàn)。通常機器控制操作所需的任何定時器和計數器模塊也可以用同樣的方式實現(xiàn)。這些器件(正交解碼器、PWM發(fā)生器、定時器、計數器等等)可以通過一個編程器一次編碼成可以利用的可配置庫元件。這種方法使沒有HDL經驗的終端用戶也可以給PLC編程,使用這些器件不需要底層HDL/ C編程,并且不必學習器件的底層結構。除此之外,其他控制功能也能夠使用與、或、非門實現(xiàn),這些是SoC的標準部件。
系統(tǒng)舉例
圖6顯示了適合PLC的SoC組件,包括CPU,可配置的模擬模塊(比較器、放大器、 DAC、ADC),以及可編程數字模塊(基于PLD)。這些組件集成到了一顆器件,開發(fā)人員可以建立一個單芯片低成本的可編程邏輯控制器(PLC),從而可以克服標準PLC中的速度限制,同時能夠為最終用戶提供簡單易用的編程方式。
圖6:SoC實現(xiàn)可編程邏輯控制器(PLC)應用,如賽普拉斯的PSoC,它結合了微控制器與可編程數字和模擬模塊。
基于PLD的通用數字模塊(UDB)可用于實現(xiàn)門邏輯,而可配置的模擬部件(如ADC,DAC,放大器,比較器)可以處理模擬信號。集成的CAN控制模塊可以用于連接網絡上的多個PLC,支持更多的輸入和輸出。內嵌的USB控制器可以用作PLC的編程和調試接口。
使用可編程SoC結構(如賽普拉斯的PSoC),任何內部模擬或數字信號都可以路由到任何GPIO(通用輸入/輸出)管腳。這種靈活性使可編程邏輯控制器(PLC)用戶可以使用單個PLC設計實現(xiàn)各類機器控制功能。例如產品生產線機器" A "(10個數字輸入,2模擬輸入,7個數字輸出,1個模擬輸出)和機器“B”(12數字輸入和8數字輸出)。12數字輸入和8數字輸出的PLC可以通過固件配置,控制其中的任何機器。這是數?;旌闲盘柨删幊唐骷米鱌LC應用的最大好處。
圖7:基于PSoC的可編程邏輯控制器(PLC)框圖(綜合了繼電器板和編程器)
例如,如果一個PID速度控制回路需要使用正交調制編碼器為速度反饋建立一個直流電機控制,就可能使用相同的基于SoC的可編程邏輯控制器(PLC)子系統(tǒng)。這些基于PLD的通用數字模塊(UDB)使用預構建組件可以設置為正交調制解碼器,來高速讀出速度信號(> 100千赫),其他的UDB可以配置為PWM發(fā)生器,生成一個需要的脈沖寬度調制信號(例如,32千赫)來控制場效應管H橋,從而控制直流電機的速度和方向。把這些融合在一起,可以使用一個單獨的器件設計,那么需要給PLC編程的最終用戶就可以簡單拖放這些組件,分別給他們配置參數,就可以開始使用PLC控制電機了。
網絡化的可編程邏輯控制器(PLC)
為了控制有許多輸入和輸出的機器,就需要把許多PLC組合為一個單個的大型PLC。這可以通過CAN總線實現(xiàn)PLC模塊之間的接口,從而支持更多的輸入和輸出(見圖8)。
圖8:基于PSoC的模塊化的和可擴展的可編程邏輯控制器(PLC)網絡
這種架構允許開發(fā)人員構建一個網路可編程邏輯控制器(PLC),能夠控制有很多輸入與輸出的更大系統(tǒng)。此外,許多工業(yè)控制應用使用觸摸屏作為機器控制面板。綜合觸摸屏和可配置的人機界面(HMI)能力可以進一步鞏固成本優(yōu)勢(消除了分立和昂貴的定制觸摸屏HMI面板的成本問題)。
簡單易用的編程方式
開發(fā)人員還可以利用半導體廠商為最終用戶PLC編程設計的開發(fā)工具,而不需要建立客戶化梯形邏輯編程。例如,賽普拉斯的“PSoC Creator”編程軟件允許用戶對基于PSoC 的PLC進行直觀的編程,在原理級(schematic-level)視窗中可以使用與、或、非門部件。結果是,用戶不需要C或VHDL/ Verilog編程知識就可以給可編程邏輯控制器(PLC)編程來實現(xiàn)它的全部功能。圖9所示為使用PSoC Creator實現(xiàn)的樓梯開關邏輯。門級實現(xiàn)可以代替梯形實現(xiàn),允許用戶充分利用所有的系統(tǒng)特色。
圖9:使用PSoC Creator的樓梯開關實現(xiàn)方式