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