管琦
摘要:為提高PLC在其控制系統(tǒng)上的開發(fā)效率,本文對(duì)PLC系統(tǒng)的功能及單片機(jī)與上位機(jī)的PLC自檢和外圍測試系統(tǒng)進(jìn)行分析,并實(shí)現(xiàn)模擬、數(shù)字輸入輸出信號(hào)及數(shù)據(jù)在測試系統(tǒng)軟件中的傳遞的模擬,為系統(tǒng)的開發(fā)提供參考。為達(dá)到良好的調(diào)試效果,需要到工業(yè)現(xiàn)場聯(lián)機(jī),但是過程中成本較高,同時(shí)會(huì)影響生產(chǎn)進(jìn)度,本文開發(fā)一套模擬環(huán)境中PLC自檢測及外圍設(shè)備測試系統(tǒng),提供模擬工業(yè)的生產(chǎn)現(xiàn)場環(huán)境對(duì)系統(tǒng)的功能進(jìn)行分析。
關(guān)鍵詞:PLC測試系統(tǒng) 單片機(jī)系統(tǒng) Modbus總線
中圖分類號(hào):TP274 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2016)07-0014-01
PLC在工業(yè)現(xiàn)場中的自動(dòng)化控制上應(yīng)用十分廣泛,因其具有可靠性高,接口模塊豐富以及抗干擾能力很強(qiáng)的優(yōu)點(diǎn)而被開發(fā),PLC控制系統(tǒng)需要反復(fù)調(diào)試軟硬件系統(tǒng)以確保其在實(shí)際操作程序中實(shí)現(xiàn)預(yù)定的功能。
1 系統(tǒng)的功能
在文中的PLC自檢測及外圍設(shè)備測試系統(tǒng)是由軟件和硬件兩部分所構(gòu)成的,硬件部分是外圍設(shè)備使用單片機(jī)進(jìn)行電路模擬,軟件部分是上位機(jī)測試系統(tǒng)。以下本位對(duì)兩者的功能進(jìn)行闡述。
1.1 硬件之功能
硬件部分提供當(dāng)前系統(tǒng)的接口電路以及PLC硬件接口。將模擬輸入信號(hào)與數(shù)字輸入信號(hào)提供給PLC。對(duì)PLC發(fā)出的模擬輸出信號(hào)及數(shù)字輸出信號(hào)進(jìn)行接收,另一個(gè)硬件的功能是數(shù)據(jù)傳遞,對(duì)上位機(jī)軟件的測試系統(tǒng)與PLC的數(shù)據(jù)進(jìn)行傳遞。
1.2 軟件之功能
自檢測系統(tǒng)也包含兩個(gè)部分,一個(gè)是測試系統(tǒng)本身的軟件即目標(biāo)機(jī),另外一個(gè)是上位機(jī)測試系統(tǒng)軟件。目標(biāo)機(jī)是對(duì)上位機(jī)測試系統(tǒng)的數(shù)據(jù)信息與測試系統(tǒng)的數(shù)據(jù)進(jìn)行接收同時(shí)發(fā)送給測試系統(tǒng)和PLC系統(tǒng)。軟件上位機(jī)的作用是反映PLC工作狀態(tài),并且以圖表的形式表達(dá)反映出來,通過對(duì)其接收的測試數(shù)據(jù)了解PLC程序工作狀態(tài)表現(xiàn)層度是否符合當(dāng)前環(huán)境標(biāo)準(zhǔn),起到調(diào)試的目的,這樣可以節(jié)省時(shí)間,節(jié)省人力和財(cái)力,方便PLC教學(xué)培訓(xùn)。
2 系統(tǒng)的硬件設(shè)計(jì)
2.1 系統(tǒng)結(jié)構(gòu)
大部分都用單MCU擴(kuò)展接口對(duì)單片機(jī)大量接口進(jìn)行對(duì)接,缺點(diǎn)是對(duì)數(shù)量巨大的MCU難以管理,對(duì)軟件和硬件的設(shè)計(jì)造成困難,應(yīng)用多MCU 模塊化進(jìn)行接口的擴(kuò)展,對(duì)單個(gè)MCU在設(shè)計(jì)時(shí)留出接口的數(shù)量空間,這樣對(duì)接口芯片就不再需要擴(kuò)展,軟件編程更加簡單,同樣在開關(guān)量和模擬量上也設(shè)計(jì)出定量的接口,等到具體調(diào)試時(shí)就可以針對(duì)需要的數(shù)量選擇接口,本文系統(tǒng)的單片機(jī)是STC12C5410AD模塊的MCU,現(xiàn)場總線采用Modbus總線協(xié)議,也是目前常用的協(xié)議。這樣保持通信質(zhì)量的同時(shí)成本也不高,設(shè)計(jì)簡單[1]。
2.2 模塊電路設(shè)計(jì)
PLC的工作電壓為24V,單片機(jī)與之接口連接使需要電平轉(zhuǎn)換,開關(guān)量電平轉(zhuǎn)換可以用TLP521-4型號(hào)的光電耦合器實(shí)現(xiàn)操作。共有2個(gè)模塊一致的硬件結(jié)構(gòu),都由數(shù)量為16的DI與DO組合而成,AI和AO都是4個(gè),因?yàn)镮O口的單片機(jī)數(shù)量受限,所以用2個(gè)74LS595對(duì)16個(gè)DI實(shí)現(xiàn)級(jí)聯(lián),2個(gè)74LS165對(duì)16個(gè)DO級(jí)聯(lián),4路10位A/D在單片機(jī)內(nèi)部形成集成電路與4個(gè)AI轉(zhuǎn)換,同樣4路PWM也是在單片機(jī)內(nèi)部集成電路與4個(gè)AO調(diào)轉(zhuǎn),使用PMN的D/A時(shí)要用到濾波電路,文中的濾波電路是2級(jí)源電路,可將PWM信號(hào)通過MCU輸出變成模擬電壓信號(hào),實(shí)際應(yīng)用時(shí)匹配PLC接口信號(hào)需要電壓信號(hào)轉(zhuǎn)換成電流信號(hào),所以需要調(diào)理電流在AI于AO的接口銜接時(shí)進(jìn)行[2]。
3 單片機(jī)系統(tǒng)
3.1 單片機(jī)系統(tǒng)軟件功能
單片機(jī)系統(tǒng)能夠解包上位機(jī)的Modbus命令,接收命令后將PLC的開關(guān)量與模擬量的接口操作。最后發(fā)送到上位機(jī)Modbus幀格經(jīng)過組織后對(duì)其進(jìn)行應(yīng)答。整個(gè)程序要經(jīng)過相應(yīng)的步驟,第一步是系統(tǒng)初始化,第二步是對(duì)上位機(jī)的命令幀進(jìn)行接收,Modbus總線對(duì)上位機(jī)的命令幀實(shí)現(xiàn)發(fā)送,第三步是解包處理接收的命令幀,處理地址碼與功能碼,第四步和第五步分別為讀寫操作開關(guān)量、模擬量的接口,最后,上位機(jī)將數(shù)據(jù)返回應(yīng)答機(jī),根據(jù)命令組織應(yīng)答幀發(fā)送給上位機(jī)。
3.2 單片機(jī)系統(tǒng)主程序流程
第一步是初始化系統(tǒng),串口初始化、I/O口初始化及初始化中斷系統(tǒng)。結(jié)束初始化后,進(jìn)入循環(huán)程序,在過程中會(huì)發(fā)生程序跑飛,這時(shí)就要防止跑飛的定時(shí)器,俗稱看門DOG,A/D轉(zhuǎn)換經(jīng)過的輸入模擬量,轉(zhuǎn)換速度完全取決于轉(zhuǎn)換器A/D的速度,所以要設(shè)置緩沖區(qū)控制數(shù)據(jù)的模擬量輸入在單片機(jī)的內(nèi)部,讀入的數(shù)據(jù)先在緩沖區(qū)滯留,對(duì)其進(jìn)行數(shù)字濾波過濾,循環(huán)后判斷接收標(biāo)準(zhǔn)中來自Modbus的命令是否在正確的位置,如果位置正確就代表數(shù)據(jù)幀是完整的,從而完成相應(yīng)動(dòng)作[3]。
3.3 單片機(jī)通信子程序
串口通信的子程序,在系統(tǒng)里將上位機(jī)是為主要節(jié)點(diǎn),從節(jié)點(diǎn)是單片機(jī)模塊,從節(jié)點(diǎn)接收主節(jié)點(diǎn)發(fā)送的請(qǐng)求后中斷數(shù)據(jù)的發(fā)送并及時(shí)響應(yīng)主節(jié)點(diǎn),在3.5個(gè)字符間隔后,串口及時(shí)中斷數(shù)據(jù)接收并進(jìn)入子程序服務(wù),鑒別種類,接收1個(gè)字節(jié)后接收中斷,代表是地址碼,與自身地址通過比對(duì)后如果繼續(xù)接收就代表本站地址,設(shè)置相應(yīng)的計(jì)數(shù)器和標(biāo)志位,等到接收一幀完畢時(shí),斷開開口串,然后返回上一程序,如果接收的不是本站地址終止接收,返回程序。
4 結(jié)語
本文的PLC自檢及外圍設(shè)備測試系統(tǒng)的構(gòu)成是單片機(jī)系統(tǒng)、上位機(jī)軟件和Modbus總線的相互合作實(shí)現(xiàn)的。在調(diào)試中可以看出PLC的操作問題與操作失誤,并及時(shí)作出反饋后進(jìn)行調(diào)整,開系統(tǒng)的穩(wěn)定與運(yùn)行效果都良好,提高其PLC在控制系統(tǒng)上的開發(fā)效率,另一方面,在設(shè)計(jì)中,對(duì)接口實(shí)現(xiàn)了優(yōu)化,具有一定的參考價(jià)值。
參考文獻(xiàn)
[1]白晗東.PLC自檢測及外圍設(shè)備測試系統(tǒng)[D].西華大學(xué),2010.
[2]車暢,胡丹,白晗東.PLC輸入輸出接口測試系統(tǒng)設(shè)計(jì)[J].中國測試,2011,03:53-56.
[3]車暢,胡丹,韋興平.PLC自檢測及外圍設(shè)備測試系統(tǒng)[J].西華大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,04:45-49+57.