基于A(yíng)RM和CAN總線(xiàn)的嵌入式PLC設計
2 系統硬件設計
2.1 開(kāi)關(guān)量輸入輸出模塊
開(kāi)關(guān)量輸入電路的功能是接收工業(yè)現場(chǎng)各種開(kāi)關(guān)量信號的輸入,并將其轉換成符合CPU要求的標準邏輯電平。為提高控制器的抗干擾能力,在開(kāi)關(guān)量輸入信號和處理器STM32之間使用光電耦器件TLP521隔離,當開(kāi)關(guān)量輸入信號受到干擾時(shí),只要其共模電壓低于光耦的最大隔離電壓,就不會(huì )對處理器正常工作造成任何影響。
開(kāi)關(guān)量輸入電路如圖2所示。其中X1為輸入端,P1為微控制器端口,LED0為輸入點(diǎn)的狀態(tài)指示燈,TLP521為光電耦合器,它實(shí)現現場(chǎng)與PLC的CPU電氣隔離,提高抗干擾性。
開(kāi)關(guān)量輸出電路是嵌入式PLC與外部連接的輸出通道,PLC通過(guò)它向外部現場(chǎng)執行部件輸出相應的控制信號。開(kāi)關(guān)量輸出通常有晶體管輸出和繼電器輸出兩種形式。本設計中,開(kāi)關(guān)量輸出電路采用了13路繼電器輸出,器件選用松樂(lè )SRD-24VDC-SL-C,繼電器輸出電路可用于直流負載,也可用于交流負載,它特別適合于對動(dòng)作時(shí)間和工作頻率要求不高的場(chǎng)合。其電路圖如圖3所示。D1為穩壓二極管1N4148,因為直流繼電器的線(xiàn)圈在斷開(kāi)時(shí)會(huì )產(chǎn)生反向電動(dòng)勢,這時(shí)需要在繼電器兩極并接一個(gè)1N4148來(lái)進(jìn)行快速放電。
2.2 模擬量輸入模塊
模擬量輸入電路的主要功能是把現場(chǎng)測量到的模擬量信號轉變成PLC可以處理的數字量信號。A/D轉換器是模擬量輸入電路的主要器件,STM32微控制器內部含有8路10位A/D轉換器,配合信號調理電路以及相應的控制電路,可以完成模擬量的采樣和轉換。轉換后的數字量由CPU讀入PLC系統的輸入映像緩沖區,從而完成對模擬量的采集。
本設計中,模擬量輸入電路有8路4~20mA電流輸入。4~20mA直流信號制是國際電工委員會(huì )(IEC)制定的過(guò)程控制系統用模擬信號標準。在工業(yè)現場(chǎng),如果采集的信號經(jīng)調理后是電壓信號并且進(jìn)行長(cháng)線(xiàn)傳輸,會(huì )產(chǎn)生以下問(wèn)題:第一,由于傳輸的信號是電壓信號,傳輸線(xiàn)會(huì )很容易受到噪聲的干擾;第二,傳輸線(xiàn)的分布電阻會(huì )產(chǎn)生電壓降。為了解決上述問(wèn)題和避開(kāi)相關(guān)噪聲的影響,工業(yè)現場(chǎng)大量采用電流來(lái)傳輸信號。
2.3 CAN總線(xiàn)接口電路
CAN總線(xiàn)是一種支持分布式實(shí)時(shí)控制的串行通信網(wǎng)絡(luò ),采用對通信數據進(jìn)行編碼的方式,使得CAN總線(xiàn)上的節點(diǎn)數量理論上幾乎不受限制。然而實(shí)際上,CAN總線(xiàn)上的節點(diǎn)數量不宜超過(guò)100個(gè)。每一個(gè)嵌入式PLC通過(guò)CAN總線(xiàn)實(shí)現與上位機的通信,傳輸距離可達10km,通信速率高、可靠性高、抗干擾能力強。由于STM32F103X內部已集成CAN總線(xiàn)控制器,因此只需要外接CAN收發(fā)器即可,使得電路更加簡(jiǎn)潔而且成本更低,同時(shí)可靠性得以提高。CAN收發(fā)器采用TI公司的SN65HVD230供電電壓為3.3V的CAN總線(xiàn)收發(fā)器,該收發(fā)器采用差分收發(fā)方式,最高速率可達1Mb/s,具有高抗電磁干擾、CAN總線(xiàn)保護、斜率控制等特點(diǎn),電氣連接簡(jiǎn)單,使用方便,完全滿(mǎn)足工業(yè)級產(chǎn)品的技術(shù)要求。通信接口電路如圖4所示。
3 系統軟件設計
由于嵌入式PLC在工業(yè)控制方面的實(shí)時(shí)性和穩定性要求,選用μC/OS-II操作系統來(lái)管理任務(wù)調度。μC/OS-II是一個(gè)專(zhuān)為嵌入式應用設計,基于優(yōu)先級調度的搶占式實(shí)時(shí)操作系統內核,它包含了任務(wù)調度、任務(wù)管理、時(shí)間管理、任務(wù)間通信與同步等功能。各任務(wù)之間通過(guò)信號量、郵箱和消息隊列實(shí)現相互間的數據交換和同步。
評論