《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 使用可編程片上系統(tǒng)設(shè)計(jì)高效的可編程邏輯控制器
使用可編程片上系統(tǒng)設(shè)計(jì)高效的可編程邏輯控制器
摘要: 可編程邏輯控制器(PLC)是一種基于微控制器的通用的電子器件,它是用來(lái)控制機(jī)器操作或過(guò)程的。PLC和傳統(tǒng)的微控制器系統(tǒng)不同,它不是由器件廠商編程的,而是由機(jī)器設(shè)備制造商或最終用戶編程的。
關(guān)鍵詞: CPLD PLC 片上系統(tǒng)
Abstract:
Key words :

可編程邏輯控制器(PLC)是一種基于微控制器的通用的電子器件,它是用來(lái)控制機(jī)器操作或過(guò)程的。PLC和傳統(tǒng)的微控制器系統(tǒng)不同,它不是由器件廠商編程的,而是由機(jī)器設(shè)備制造商或最終用戶編程的。PLC的應(yīng)用包括:

•自動(dòng)測(cè)試設(shè)備
•上料與下料設(shè)備
•機(jī)器控制
•家庭自動(dòng)化
•電梯系統(tǒng)
•工廠自動(dòng)化

根據(jù)處理輸入和輸出的數(shù)目。PLC可以分為下列幾種主要類(lèi)別:
• 極小型PLC:少于32輸電子產(chǎn)品世界http://www.eepw.com.cn/article/121874.htm入/輸出(I / O)功能的可編程邏輯控制器。
• 微型PLC:超過(guò)32輸入/輸出(I / O)點(diǎn),但是不超過(guò)128輸入/輸出(I / O)功能的可編程邏輯控制器。
• 小型PLC:超過(guò)128輸入/輸出(I / O)點(diǎn),但是不超過(guò)256輸入/輸出(I / O)功能的可編程邏輯控制器。它不包括任何根據(jù)基電子產(chǎn)品世界http://www.eepw.com.cn/article/121874.htm本系統(tǒng)所做得I / O改進(jìn)。
• 中型和大型PLC:控制數(shù)目比較大(> 256),使用非常快速的輸入/輸出(I / O)掃描頻率的可編程邏輯控制器。

根據(jù)ARC咨詢集團(tuán)最近的一項(xiàng)調(diào)查顯示,在2007年,可編程邏輯控制器(PLC)的市場(chǎng)達(dá)到了近90億美元,預(yù)計(jì)到2012年將超過(guò)120億美元。

PLC編程

PLC使用梯形圖來(lái)編程,提供前端定制軟件,使最終用戶可以編程。這些用戶通常不是程序員,他們沒(méi)有任何C或Verilog / VHDL的編程知識(shí)。

梯形邏輯編程看起來(lái)像機(jī)電繼電器控制電路的配線圖一樣。我們舉一個(gè)例子,一個(gè)樓梯的照明使用了兩個(gè)控制開(kāi)關(guān)。如果任何一個(gè)開(kāi)關(guān)按下,樓梯的燈都要打開(kāi),如果任何一個(gè)開(kāi)關(guān)又按了一次,那么就應(yīng)該關(guān)閉。圖1中顯示了使用了兩種開(kāi)關(guān)和一盞燈的布線圖控制實(shí)現(xiàn) (開(kāi)關(guān)1裝在樓梯底部,開(kāi)關(guān)2安裝在樓梯上層)。

圖1中開(kāi)關(guān)1和開(kāi)關(guān)2處于關(guān)的位置。如果開(kāi)關(guān)1按下,那么上面的電路閉合將會(huì)開(kāi)燈。如果開(kāi)關(guān)2按下,將打開(kāi)上面的電路并閉合下面的電路。然而,開(kāi)關(guān)1已經(jīng)打開(kāi)下面的電路了,所以燈泡不會(huì)發(fā)光。再按下開(kāi)關(guān)1,將會(huì)閉合下面的電路,燈泡就會(huì)發(fā)光。

圖1:使用兩個(gè)開(kāi)關(guān)的樓梯燈控制布線圖

圖2所示為使用PLC進(jìn)行相同控制實(shí)施方案和梯形邏輯。硬件開(kāi)關(guān)接觸用--||--(通常為斷開(kāi))和--|/|--(通常為閉合)符號(hào)代替。

圖2:可編程邏輯控制器(PLC)實(shí)現(xiàn)樓梯燈控制梯形邏輯圖

圖3顯示了如何使用集成了PLC功能的PLD、 FPGA或片上系統(tǒng)(SoC)里的邏輯門(mén)實(shí)現(xiàn)相同的控制(非,與,或)。值得注意的是,圖3中所有的門(mén)電路都可以用或非門(mén)代替。

圖3使用“門(mén)”電路實(shí)現(xiàn)樓梯燈控制邏輯圖

PLC工作原理

市場(chǎng)上大多數(shù)PLC是基于微處理器電路的。這些PLC讀出所有的輸入狀態(tài)(即開(kāi)關(guān)),然后執(zhí)行用戶寫(xiě)進(jìn)去的梯形邏輯程序來(lái)確定最后的輸出(例如,燈泡)。圖4顯示了創(chuàng)建一個(gè)傳統(tǒng)的基于PLC的控制系統(tǒng)的各種部件。

PLC輸入使用絕緣體進(jìn)行孤立和水平傳輸,并連接到單片機(jī)端口。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或更多時(shí)間來(lái)完成。以這樣的速度,它們適用于輸入信號(hào)頻率低于100赫茲的控制應(yīng)用。掃描時(shí)間也受程序長(zhǎng)度的限制。舉例來(lái)說(shuō),如果你想讀一個(gè)速度傳感器輸入來(lái)測(cè)量大約每分鐘1200轉(zhuǎn)的速度(1200/60 = 200赫茲的信號(hào)頻率),一個(gè)基于微控制器的 PLC使用該輸入不能正確測(cè)量速度。這種系統(tǒng)可能需要解碼器或計(jì)算IC自定義一個(gè)輸入模塊,方可讀出高頻信號(hào),并把它們轉(zhuǎn)化成一個(gè)數(shù)字值并傳輸給單片機(jī);或者,可以考慮用一個(gè)10千赫頻率的PWM來(lái)控制電磁閥流量。由于上述的限制,可編程邏輯控制器(PLC)不能直接輸出,需要一個(gè)定制的輸出模塊和PWM發(fā)生器。加入這樣的高速計(jì)數(shù)器模塊和PWM發(fā)生器模塊,那么可編程邏輯控制器(PLC)成本將增加2 ~ 3成。

有數(shù)字可編程邏輯的(例如FPGA或CPLD)可以解決頻率問(wèn)題。然而, FPGA缺乏內(nèi)置模擬器件能力。例如,如果你需要用模擬溫度傳感器測(cè)量溫度,你就不能直接連到FPGA接口。此外,F(xiàn)PGA對(duì)于這種應(yīng)用來(lái)說(shuō)太貴了。

為了滿足PLC低成本的需求,開(kāi)發(fā)人員需要一個(gè)這樣的設(shè)備,它可以處理高速數(shù)字輸入,高頻輸出,而且也能直接處理模擬信號(hào)。今天,有許多片上系統(tǒng)芯片(SoC),他們結(jié)合了完整的可編程邏輯的單片機(jī)和可配置的模擬模塊來(lái)實(shí)現(xiàn)這一具成本效益的方式。

例如,這些SoC可以實(shí)現(xiàn)基于HDL的正交解碼器的功能,使用兩個(gè)90度相移傳感器信號(hào),通過(guò)高速讀出速度/位置傳感器信號(hào)來(lái)檢測(cè)電機(jī)的旋轉(zhuǎn)速度和方向。同樣的,PWM波形發(fā)生器可以使用片上可編程數(shù)字資源實(shí)現(xiàn)。通常機(jī)器控制操作所需的任何定時(shí)器和計(jì)數(shù)器模塊也可以用同樣的方式實(shí)現(xiàn)。這些器件(正交解碼器、PWM發(fā)生器、定時(shí)器、計(jì)數(shù)器等等)可以通過(guò)一個(gè)編程器一次編碼成可以利用的可配置庫(kù)元件。這種方法使沒(méi)有HDL經(jīng)驗(yàn)的終端用戶也可以給PLC編程,使用這些器件不需要底層HDL/ C編程,并且不必學(xué)習(xí)器件的底層結(jié)構(gòu)。除此之外,其他控制功能也能夠使用與、或、非門(mén)實(shí)現(xiàn),這些是SoC的標(biāo)準(zhǔn)部件。

系統(tǒng)舉例

圖6顯示了適合PLC的SoC組件,包括CPU,可配置的模擬模塊(比較器、放大器、 DAC、ADC),以及可編程數(shù)字模塊(基于PLD)。這些組件集成到了一顆器件,開(kāi)發(fā)人員可以建立一個(gè)單芯片低成本的可編程邏輯控制器(PLC),從而可以克服標(biāo)準(zhǔn)PLC中的速度限制,同時(shí)能夠?yàn)樽罱K用戶提供簡(jiǎn)單易用的編程方式。

圖6:SoC實(shí)現(xiàn)可編程邏輯控制器(PLC)應(yīng)用,如賽普拉斯的PSoC,它結(jié)合了微控制器與可編程數(shù)字和模擬模塊。

基于PLD的通用數(shù)字模塊(UDB)可用于實(shí)現(xiàn)門(mén)邏輯,而可配置的模擬部件(如ADC,DAC,放大器,比較器)可以處理模擬信號(hào)。集成的CAN控制模塊可以用于連接網(wǎng)絡(luò)上的多個(gè)PLC,支持更多的輸入和輸出。內(nèi)嵌的USB控制器可以用作PLC的編程和調(diào)試接口。

使用可編程SoC結(jié)構(gòu)(如賽普拉斯的PSoC),任何內(nèi)部模擬或數(shù)字信號(hào)都可以路由到任何GPIO(通用輸入/輸出)管腳。這種靈活性使可編程邏輯控制器(PLC)用戶可以使用單個(gè)PLC設(shè)計(jì)實(shí)現(xiàn)各類(lèi)機(jī)器控制功能。例如產(chǎn)品生產(chǎn)線機(jī)器" A "(10個(gè)數(shù)字輸入,2模擬輸入,7個(gè)數(shù)字輸出,1個(gè)模擬輸出)和機(jī)器“B”(12數(shù)字輸入和8數(shù)字輸出)。12數(shù)字輸入和8數(shù)字輸出的PLC可以通過(guò)固件配置,控制其中的任何機(jī)器。這是數(shù)模混合信號(hào)可編程器件用作PLC應(yīng)用的最大好處。

圖7:基于PSoC的可編程邏輯控制器(PLC)框圖(綜合了繼電器板和編程器)

例如,如果一個(gè)PID速度控制回路需要使用正交調(diào)制編碼器為速度反饋建立一個(gè)直流電機(jī)控制,就可能使用相同的基于SoC的可編程邏輯控制器(PLC)子系統(tǒng)。這些基于PLD的通用數(shù)字模塊(UDB)使用預(yù)構(gòu)建組件可以設(shè)置為正交調(diào)制解碼器,來(lái)高速讀出速度信號(hào)(> 100千赫),其他的UDB可以配置為PWM發(fā)生器,生成一個(gè)需要的脈沖寬度調(diào)制信號(hào)(例如,32千赫)來(lái)控制場(chǎng)效應(yīng)管H橋,從而控制直流電機(jī)的速度和方向。把這些融合在一起,可以使用一個(gè)單獨(dú)的器件設(shè)計(jì),那么需要給PLC編程的最終用戶就可以簡(jiǎn)單拖放這些組件,分別給他們配置參數(shù),就可以開(kāi)始使用PLC控制電機(jī)了。

網(wǎng)絡(luò)化的可編程邏輯控制器(PLC)

為了控制有許多輸入和輸出的機(jī)器,就需要把許多PLC組合為一個(gè)單個(gè)的大型PLC。這可以通過(guò)CAN總線實(shí)現(xiàn)PLC模塊之間的接口,從而支持更多的輸入和輸出(見(jiàn)圖8)。

圖8:基于PSoC的模塊化的和可擴(kuò)展的可編程邏輯控制器(PLC)網(wǎng)絡(luò)

這種架構(gòu)允許開(kāi)發(fā)人員構(gòu)建一個(gè)網(wǎng)路可編程邏輯控制器(PLC),能夠控制有很多輸入與輸出的更大系統(tǒng)。此外,許多工業(yè)控制應(yīng)用使用觸摸屏作為機(jī)器控制面板。綜合觸摸屏和可配置的人機(jī)界面(HMI)能力可以進(jìn)一步鞏固成本優(yōu)勢(shì)(消除了分立和昂貴的定制觸摸屏HMI面板的成本問(wèn)題)。

簡(jiǎn)單易用的編程方式

開(kāi)發(fā)人員還可以利用半導(dǎo)體廠商為最終用戶PLC編程設(shè)計(jì)的開(kāi)發(fā)工具,而不需要建立客戶化梯形邏輯編程。例如,賽普拉斯的“PSoC Creator”編程軟件允許用戶對(duì)基于PSoC 的PLC進(jìn)行直觀的編程,在原理級(jí)(schematic-level)視窗中可以使用與、或、非門(mén)部件。結(jié)果是,用戶不需要C或VHDL/ Verilog編程知識(shí)就可以給可編程邏輯控制器(PLC)編程來(lái)實(shí)現(xiàn)它的全部功能。圖9所示為使用PSoC Creator實(shí)現(xiàn)的樓梯開(kāi)關(guān)邏輯。門(mén)級(jí)實(shí)現(xiàn)可以代替梯形實(shí)現(xiàn),允許用戶充分利用所有的系統(tǒng)特色。

圖9:使用PSoC Creator的樓梯開(kāi)關(guān)實(shí)現(xiàn)方式

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。