姜永華 張正中
摘 要: 為了解決原有PLC生產(chǎn)過(guò)程中手工調(diào)試參數(shù)校準(zhǔn)效率低和測(cè)試精度低的弊端,設(shè)計(jì)并實(shí)現(xiàn)了小型PLC自動(dòng)控制器。詳細(xì)分析了PLC硬件中AIO模塊、DIO模塊、PTA模塊以及CPU模塊的功能,基于這些模塊的功能,設(shè)計(jì)小型PLC自動(dòng)控制器的模塊級(jí)自動(dòng)檢測(cè)方案,重點(diǎn)分析AIO模塊的自動(dòng)檢測(cè)過(guò)程。描述自動(dòng)控制器中矩陣開(kāi)關(guān)以及上位機(jī)軟件的實(shí)現(xiàn)過(guò)程,采用最小二乘擬合的方法校準(zhǔn)AIO模塊中的數(shù)據(jù),降低系統(tǒng)誤差的干擾度,提升檢測(cè)精度。實(shí)驗(yàn)結(jié)果表明,所設(shè)計(jì)自動(dòng)控制器各測(cè)試模塊檢測(cè)方案可行,具有較高的測(cè)試精度。
關(guān)鍵詞: 小型PLC; 自動(dòng)控制器; 嵌入式設(shè)計(jì); 最小二乘擬合
中圖分類(lèi)號(hào): TN876?34; TM315 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2017)22?0082?03
Abstract: In order to eliminate the disadvantages of low calibration efficiency and low test accuracy of manual debugging parameters in original production process of PLC, a small automatic controller for PLC was designed and implemented. The functions of AIO module, DIO module, PTA module and CPU module in PLC hardware are analyzed in detail. The automatic detection scheme in module level of small automatic controller for PLC is designed on the basis of the module functions. The process of automatic detection of AIO module is analyzed emphatically. The realization process of the matrix switch and the host computer software in the automatic controller is described. The least square fitting method is used to calibrate the data in the AIO module to reduce the interference degree of the system error and improve the detection precision. The experimental results show that the detection scheme for each module of the designed automatic controller is feasible and has high test precision.
Keywords: small PLC; automatic controller; embedded system; design; implementation
由于信息技術(shù)的快速發(fā)展,基于PLC的自動(dòng)檢測(cè)技術(shù)在產(chǎn)品質(zhì)量檢測(cè)領(lǐng)域的應(yīng)用價(jià)值也不斷提升,并且在工業(yè)生產(chǎn)領(lǐng)域具有廣泛的應(yīng)用價(jià)值。為了解決原有PLC生產(chǎn)過(guò)程中手工調(diào)試參數(shù)校準(zhǔn)效率低、測(cè)試精度低的弊端,基于嵌入式模塊化設(shè)計(jì)原理,設(shè)計(jì)并實(shí)現(xiàn)了小型PLC自動(dòng)控制器。
1 小型PLC設(shè)計(jì)
1.1 硬件體系架構(gòu)設(shè)計(jì)
小型PLC采用模塊化設(shè)計(jì),主要由PLC底板、CPU模塊、I/O模塊、通信模塊以及溫度采集模塊構(gòu)成[1]。其中通信模塊由CAN通信模塊和網(wǎng)絡(luò)通信模塊構(gòu)成。圖1是單條底板組態(tài)下的小型PLC的架構(gòu)圖。
其中CPU模塊是關(guān)鍵模塊,各模塊間采用底板實(shí)現(xiàn)通信。單個(gè)CPU模塊可為16個(gè)I/O模塊提供服務(wù)。為了增強(qiáng)CPU模塊數(shù)據(jù)通信質(zhì)量,本文PLC在CPU模塊中塑造協(xié)議處理器對(duì)CPU模塊數(shù)據(jù)的輸入/輸出實(shí)施處理,主CPU同協(xié)議處理采用共享數(shù)據(jù)區(qū)完成數(shù)據(jù)交互。
1.2 軟件體系結(jié)構(gòu)設(shè)計(jì)
小型PLC的軟件系統(tǒng)結(jié)構(gòu)如圖2所示,PLC的軟件系統(tǒng)由系統(tǒng)軟件和應(yīng)用軟件構(gòu)成[2]。
其中PLC硬件組成中的AIO模塊是模擬量輸入/輸出模塊,其由16組輸入/輸出通道構(gòu)成。輸入通道收集電壓源、電流源以及Pt100傳感器信號(hào),輸出通道輸出±10 V的電壓控制信號(hào)[3]。
DIO模塊是數(shù)字量輸入/輸出模塊,其通過(guò)1~16通道位輸入/輸出可配通道,并采用LED呈現(xiàn)不同通道的狀態(tài)。PTA模塊是模擬量輸入模塊,包括16組輸入,采用12組輸入通道采集溫度。對(duì)輸入配置寄存器中的值實(shí)施調(diào)控[4],對(duì)其他4組輸入通道輸入采集模式實(shí)施在線配置。
CPU處理器模塊采用Powerpc技術(shù),處理器芯片為8280,并配備一個(gè)3 V紐扣鋰電池,是總體小型PLC的指揮站,完成系統(tǒng)配置、數(shù)據(jù)交互運(yùn)算以及程序運(yùn)行。
2 小型PLC自動(dòng)控制器的嵌入式設(shè)計(jì)與實(shí)現(xiàn)
基于第1節(jié)分析的各PLC模塊的特征,設(shè)計(jì)PLC自動(dòng)控制器的模塊級(jí)自動(dòng)檢測(cè)方案,并對(duì)AIO模塊的自動(dòng)檢測(cè)過(guò)程進(jìn)行重點(diǎn)分析。
2.1 模塊級(jí)自動(dòng)檢測(cè)方案
嵌入式小型PLC自動(dòng)控制器是一種閉環(huán)檢測(cè)系統(tǒng),由上位機(jī)、需要檢測(cè)的模塊以及不同的外圍部件組成[5],通過(guò)上位機(jī)對(duì)檢測(cè)結(jié)果實(shí)施分析。其中I/O模塊由AIO模塊、DIO模塊以及PTA模塊構(gòu)成。I/O模塊檢測(cè)內(nèi)容是分析該模塊能否準(zhǔn)確辨識(shí)輸入信號(hào)、輸入信號(hào)精確度以及輸出信號(hào)精確度引起的負(fù)載性能等內(nèi)容。其結(jié)構(gòu)如圖3所示,包括上位機(jī)、待測(cè)I/O模塊、PLC測(cè)試底板、交換機(jī)、萬(wàn)用表以及矩陣開(kāi)關(guān)等。程控電源向總體控制器提供電源,模擬I/O模塊需求的輸入信號(hào);不同模塊輸出信號(hào)以及電源端的輸入信號(hào)都傳遞到萬(wàn)用表中,I/O模塊的檢測(cè)參照值則是萬(wàn)用表內(nèi)的信號(hào);通過(guò)矩陣開(kāi)關(guān)完成檢測(cè)電路和外圍設(shè)備的變換[6]。檢測(cè)I/O模塊時(shí)將數(shù)字萬(wàn)用表當(dāng)成實(shí)際值和待測(cè)模塊參照值構(gòu)成閉環(huán)系統(tǒng),對(duì)I/O模塊實(shí)施檢測(cè)和校準(zhǔn)。本文重點(diǎn)分析AIO模塊自動(dòng)檢測(cè)系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)過(guò)程。endprint
2.2 矩陣開(kāi)關(guān)實(shí)現(xiàn)
矩陣開(kāi)關(guān)行和列的高效配置,能夠?qū)崿F(xiàn)不同模塊的檢測(cè)需求。本文按照小型PLC自動(dòng)控制器閉環(huán)控制系統(tǒng)的需求,設(shè)計(jì)一種基于FPGA的大規(guī)模矩陣開(kāi)關(guān),其控制邏輯的關(guān)鍵部分是FPGA,可對(duì)通道進(jìn)行旋轉(zhuǎn)和變換處理[7],矩陣開(kāi)關(guān)原理結(jié)構(gòu)圖如圖4所示。自動(dòng)控制器設(shè)計(jì)兩塊8×32矩陣開(kāi)關(guān),包括8條行信號(hào)線和32條列信號(hào)線,不同行和列的信號(hào)能夠進(jìn)行變換。
2.3 上位機(jī)軟件
小型PLC自動(dòng)控制器的控制核心是上位機(jī)。上位機(jī)能夠顯示不同的數(shù)據(jù)界面、對(duì)控制器實(shí)施管理、對(duì)數(shù)據(jù)實(shí)施檢測(cè)和解析[8]。上位機(jī)對(duì)AIO模塊檢測(cè)流程如圖5所示[9]。按照用戶(hù)選擇的模塊號(hào)等參數(shù)設(shè)置AIO模塊參數(shù),調(diào)控信號(hào)源的輸出,獲取AIO模塊的狀態(tài)值,對(duì)狀態(tài)寄存器的標(biāo)識(shí)情況實(shí)施檢測(cè)[10]。上位機(jī)采用開(kāi)關(guān)矩陣變換溫度信號(hào)獲取AIO模塊的輸入信號(hào),通過(guò)萬(wàn)用表得輸入信號(hào)的參照值,分析參照值和實(shí)際數(shù)據(jù),獲取檢測(cè)結(jié)果。上位機(jī)向AIO模塊數(shù)據(jù)區(qū)寄存器存入電壓輸出設(shè)置值,采用矩陣開(kāi)關(guān)切換,將電壓設(shè)置值同萬(wàn)用表輸出的實(shí)際電壓值進(jìn)行對(duì)比,完成AIO模塊電壓輸出檢測(cè)。
3 實(shí)驗(yàn)測(cè)試
3.1 AIO模塊檢測(cè)結(jié)果分析
本文設(shè)計(jì)的小型PLC自動(dòng)控制器中的AIO模塊需要實(shí)現(xiàn)0~20 mA電流輸入檢測(cè)、±10 V電壓輸出檢測(cè)。上位機(jī)按照檢測(cè)數(shù)據(jù)自動(dòng)繪制波形,如圖6、圖7所示。電壓輸入檢測(cè)時(shí)間是21 s,最高誤差是0.45%。0~20 mA電流輸入檢測(cè)通道檢測(cè)時(shí)間是20 s,最高誤差是0.13%。分析這些數(shù)據(jù)得AIO模塊在通過(guò)本文設(shè)計(jì)的控制器校準(zhǔn)后,不同檢測(cè)條件下各通道的誤差值都小于最高誤差值1%,說(shuō)明校準(zhǔn)后的誤差符合要求,本文設(shè)計(jì)小型PLC自動(dòng)控制器中AIO自動(dòng)檢測(cè)方案是有效的。
3.2 溫度記錄模塊PTA測(cè)試
溫度記錄模塊PTA應(yīng)進(jìn)行0~20 mA電流輸入檢測(cè)以及Pt100輸入檢測(cè),結(jié)果如圖8、圖9所示。電壓輸入檢測(cè)方法同AIO一致,0~20 mA電流輸入測(cè)試單通道測(cè)試時(shí)間是20 s,最高誤差是0.1%。Pt100輸入測(cè)試手段同AIO一致,單通道總測(cè)試時(shí)間是25 s,最高誤差是0.45%。分析這些測(cè)試數(shù)據(jù)可得,PTA模塊通過(guò)校準(zhǔn)后各測(cè)試項(xiàng)的不同通道實(shí)驗(yàn)誤差值小于最高誤差值1%,說(shuō)明校準(zhǔn)后的誤差符合需求。本文設(shè)計(jì)的小型PLC自動(dòng)控制器中的PTA自動(dòng)檢測(cè)方案可行,并且有較高精度。
4 結(jié) 論
本文基于嵌入式模塊化設(shè)計(jì)原理,設(shè)計(jì)并實(shí)現(xiàn)了小型PLC自動(dòng)控制器,實(shí)驗(yàn)結(jié)果表明,所設(shè)計(jì)自動(dòng)控制器各測(cè)試模塊檢測(cè)方案可行,具有較高的測(cè)試精度。
參考文獻(xiàn)
[1] 喬全勝,邢雙云,尚文利,等.可信PLC的設(shè)計(jì)與實(shí)現(xiàn)[J].自動(dòng)化儀表,2016,37(12):76?78.
[2] 王超,張春,楊蓮紅,等.基于組態(tài)軟件的電梯遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2016,39(9):167?170.
[3] 喬榮華,董建剛,張永恒.基于TRIO和PLC雙控制器的船舶焊接機(jī)器人運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)[J].熱加工工藝,2016(11):253?256.
[4] 張媛,蔣樂(lè)天,翟任何,等.基于嵌入式小型PLC的移動(dòng)式保溫餐車(chē)控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].機(jī)械設(shè)計(jì)與制造工程,2016,45(4):31?36.
[5] 齊繼陽(yáng),孟洋,李金燕,等.基于安卓移動(dòng)設(shè)備的嵌入式監(jiān)控系統(tǒng)設(shè)計(jì)方法[J].自動(dòng)化與儀表,2015,30(9):5?9.
[6] 陳小貝,汪志成,葉寶安.基于嵌入式系統(tǒng)的PLC觸摸屏控制系統(tǒng)設(shè)計(jì)[J].電子測(cè)量技術(shù),2015,38(3):54?56.
[7] 肖成.PLC的嵌入式風(fēng)機(jī)智能控制系統(tǒng)設(shè)計(jì)探討[J].中國(guó)新通信,2016,18(9):123.
[8] 李雪蓮,楊?lèi)?基于加密與驗(yàn)證機(jī)制的嵌入式PLC系統(tǒng)設(shè)計(jì)[J].青島大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,28(1):80?84.
[9] 李林琛,蔣小平.基于改進(jìn)遺傳算法的PLC壓力傳感誤差控制器設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2016,39(17):161?163.
[10] 楊碩,沈振軍.基于Linux的步進(jìn)電機(jī)嵌入式控制系統(tǒng)[J].儀表技術(shù)與傳感器,2015(1):77?80.endprint