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