★北京廣利核系統(tǒng)工程有限公司趙偉雄,程康,史雄偉,王家興,王賀
★中廣核數(shù)字科技有限公司鄒文斌
關(guān)鍵詞:PLC;模擬量;輸入模塊;線性擬合;自動校準(zhǔn);最小二乘法
1 引言
隨著工業(yè)自動化技術(shù)的不斷發(fā)展,PLC(可編程控制器)在工業(yè)控制領(lǐng)域中的應(yīng)用日益廣泛[1]。模擬量輸入模塊是PLC系統(tǒng)中的重要組成部分,它能夠?qū)⑼獠磕M信號轉(zhuǎn)換為PLC能夠識別的數(shù)字信號。這些數(shù)字信號可以被PLC系統(tǒng)進(jìn)一步處理,從而控制各種工業(yè)設(shè)備。
然而,在模擬量模塊生產(chǎn)、使用過程中,由于各種PCB布線、元器件精度、溫度等因素的影響,模擬量輸入模塊會出現(xiàn)精度不夠高的情況,不能滿足工業(yè)現(xiàn)場使用要求[2]。這種情況下,就需要進(jìn)行校準(zhǔn)來提高模擬量輸入模塊的精度。傳統(tǒng)的校準(zhǔn)方法通常需要人工干預(yù),且耗時較長。因此,本文設(shè)計(jì)了采用PLC控制器和改良后的模擬量輸出塊作為信號源,利用電腦的強(qiáng)大運(yùn)行能力和直觀的圖形界面顯示,使用線性擬合方法對PLC模擬量輸入模塊進(jìn)行自動校準(zhǔn)。該方案能夠準(zhǔn)確、快速地校準(zhǔn)模擬量輸入模塊。
2 傳統(tǒng)校準(zhǔn)方法
通常,模擬量輸入模塊包括多種類型,如(-10V~10V、-1~1V等)電壓輸入,(0~20mA,4~20mA等)電流輸入等[3],并且每個模擬量輸入模塊包含多個輸入通道。這意味著在校準(zhǔn)過程中,需要對每種類型、每個通道都進(jìn)行校準(zhǔn)。
傳統(tǒng)的校準(zhǔn)方法采用手動調(diào)節(jié)的校準(zhǔn)方法[4],這種方法需要專業(yè)技術(shù)人員使用專門的校準(zhǔn)設(shè)備產(chǎn)生標(biāo)準(zhǔn)電壓或電流信號作為輸入源測量記錄PLC模擬量輸入模塊的采集值。然后,通過對比采集值與標(biāo)準(zhǔn)信號的差異,反復(fù)調(diào)整偏置值和校準(zhǔn)值來完成校準(zhǔn)。最后,重復(fù)相同步驟完成所有通道的校準(zhǔn)。
雖然這種方法在一定程度上可以提高PLC模擬量輸入模塊的精度,但是有幾個明顯的缺點(diǎn)。首先,它依賴于專業(yè)技術(shù)人員對模塊的所有通道逐個進(jìn)行校準(zhǔn),對每個通道校準(zhǔn)的步驟也非常復(fù)雜,校準(zhǔn)過程相對耗費(fèi)人工,不利于批量校準(zhǔn)測試,生產(chǎn)效率低[5]。其次,容易出現(xiàn)人為因素造成的誤差,因?yàn)樾?zhǔn)過程需要人工干預(yù),不同的人有可能會出現(xiàn)不同的誤差。最后,標(biāo)準(zhǔn)設(shè)備電壓、電流信號的方法雖然精度高,但需要購買昂貴的校準(zhǔn)設(shè)備,不夠經(jīng)濟(jì)實(shí)用。
3 基于線性擬合的自動校準(zhǔn)法
線性擬合的自動校準(zhǔn)法是一種高效、精度高的校準(zhǔn)方法[6],能夠解決傳統(tǒng)校準(zhǔn)方法存在的問題,如高人工成本、精度低、時間長等。它的原理很簡單,主要就是使用線性擬合算法來計(jì)算標(biāo)準(zhǔn)值和測量值之間的線性關(guān)系,然后通過計(jì)算機(jī)自動控制校準(zhǔn)過程,使用PLC輸出模塊作為信號源。這樣就可以快速、精確地完成校準(zhǔn),無需人工干預(yù)。
在這種方法中,使用PLC模擬量輸出模塊替代了標(biāo)準(zhǔn)電壓源和電流源。作為模擬量輸入模塊的輸入源,為了滿足校準(zhǔn)要求,對PLC輸出模塊進(jìn)行了優(yōu)化,采用高精度的DAC芯片,其輸出精度比模擬量輸入模塊的精度高一個數(shù)量級,并經(jīng)過了預(yù)先校準(zhǔn)。PLC輸出模塊通常也包含電壓輸入(例如-10V~10V,-1V~1V)和電流輸入(例如0~20mA,4~20mA)等多種類型和多個通道,并且其輸出穩(wěn)定、可編程自動調(diào)節(jié)輸出,這樣就可以避免手動調(diào)節(jié)輸入源的繁瑣,并且減少了反復(fù)調(diào)整的次數(shù),一次校準(zhǔn)多個通道,大大縮短了校準(zhǔn)時間。
下面,我們以風(fēng)機(jī)控制PLC的模擬量輸入模塊AI8(-10V~10V)電壓輸入校準(zhǔn)為例來詳細(xì)介紹這種自動校準(zhǔn)方法的具體流程。
3.1 硬件連接
硬件連接如圖1所示,其中AI08是8通道模擬量輸入模塊,AO08是8通道模擬量輸出模塊,MPC7000是風(fēng)機(jī)PLC主控制器模塊。
圖1 硬件連接圖
將AO08模塊的輸出電壓接到AI08模塊的輸入端,并將兩個模塊的GND連接在一起。電腦通過網(wǎng)線連接PLC的主控模塊MPC7000,電腦上運(yùn)行校準(zhǔn)軟件。校準(zhǔn)軟件采用C#語言編寫,通過以太網(wǎng)和PLC進(jìn)行通信。校準(zhǔn)軟件界面如圖2所示。
圖2 電腦校準(zhǔn)工具
3.2 校準(zhǔn)過程
PLC模塊提供了兩個功能接口來滿足用戶的校準(zhǔn)要求,分別是AI_Calibrate_Set和AI_Mode_Set。前者用于設(shè)置模擬量模塊的校準(zhǔn)值,參數(shù)包括CardID、Channel、Gain和offset;后者用于設(shè)置模塊的工作模式,參數(shù)包括CardID、Channel和mode。這些功能接口可以通過在PLC上編寫ST語言進(jìn)行調(diào)用。
電腦自動校準(zhǔn)軟件為了使校準(zhǔn)工作盡可能準(zhǔn)確,通常會設(shè)計(jì)一系列步驟來進(jìn)行校準(zhǔn)。
(1)首先軟件會設(shè)置校準(zhǔn)模式,例如設(shè)定校準(zhǔn)模式為(-10V~10V)的電壓輸入模式。
(2)軟件會發(fā)送AO輸出電壓值,輸出值的大小和范圍可以根據(jù)輸入模式動態(tài)調(diào)整。例如,如果范圍是(-10V~10V),那么就可以從-10V開始作為輸出值。
(3)軟件會延遲100ms,等待數(shù)據(jù)穩(wěn)定后再讀取對應(yīng)的AI輸入電壓值。將AI輸入電壓值和AO輸出值記錄到Excel文件中,便于用戶查看。
(4)最后,軟件會修改AO輸出值,然后重復(fù)上述步驟,直到記錄完成-10V~10V范圍內(nèi)多組不同的AO輸出值和AI輸入值。為了提高校準(zhǔn)精度,軟件需要盡可能多地采集測量值和實(shí)際值。
當(dāng)軟件完成了對多組值的采集后,就可以使用線性擬合算法來計(jì)算出偏差和增益值,然后調(diào)用AI_Calibrate_Set函數(shù)設(shè)置AI校準(zhǔn)值。在設(shè)置完校準(zhǔn)值后,軟件還需要進(jìn)行校驗(yàn),以確保校準(zhǔn)工作的準(zhǔn)確性。為此,軟件會隨機(jī)從(-10V~10V)范圍內(nèi)選擇幾組值,并設(shè)置AO輸出值,同時記錄AI采集值。然后,軟件會判斷誤差是否滿足要求,如果不滿足,則重復(fù)上述步驟,直到連續(xù)3次誤差都滿足要求為止。如果連續(xù)3次誤差都不滿足要求,則軟件會報警提示操作人員。
通過使用PLC模塊的AI_Calibrate_Set和AI_Mode_Set功能接口,電腦自動校準(zhǔn)軟件可以自動完成多組測量值和實(shí)際值的采集,并使用線性擬合算法計(jì)算出偏差和增益值,最終使得校準(zhǔn)工作更加精確。在校準(zhǔn)過程中,軟件還提供了記錄、顯示和檢測的功能,使得校準(zhǔn)過程更加透明和可控。
電腦自動校準(zhǔn)軟件的校準(zhǔn)功能可以應(yīng)用于多種工業(yè)場景,例如用于自動化測量設(shè)備的校準(zhǔn),或者用于工廠生產(chǎn)線上的自動化設(shè)備校準(zhǔn)。通過使用軟件自動完成校準(zhǔn)工作,可以大大提高工作效率,并減少了人為操作的誤差。此外,電腦自動校準(zhǔn)軟件還可以提供多種定制功能,例如可以根據(jù)用戶的特定要求來設(shè)計(jì)校準(zhǔn)流程,或者提供多種數(shù)據(jù)輸出格式,使得校準(zhǔn)工作更加靈活。
3.3 線性擬合校準(zhǔn)算法
線性擬合算法校準(zhǔn)模擬量輸入是一種常用的校準(zhǔn)方法[7],它通過對數(shù)據(jù)進(jìn)行線性擬合來校準(zhǔn)模擬量輸入的值。這種方法可以用來確定模擬量輸入值與實(shí)際輸出電壓值之間的關(guān)系。例如本文使用AI08模塊的1通道來收集模擬量輸入的數(shù)據(jù),并記錄下來,同時通過電腦記錄下AO08模塊的1通道的實(shí)際輸出電壓值。我們可以使用線性擬合算法來對這些數(shù)據(jù)進(jìn)行分析,從而確定模擬量輸入值與AO81通道輸出電壓值之間的關(guān)系。表1是校準(zhǔn)前AO08模塊1通道的實(shí)際輸出電壓值對應(yīng)的AI08模塊1通道的測量電壓值。
表1 模擬電壓測量值和實(shí)際值
為了更好地看出測量電壓值和實(shí)際電壓值的對應(yīng)關(guān)系,在Matlab中用曲線表示出來,如圖3所示。
圖3 實(shí)際電壓和測量電壓的對應(yīng)關(guān)系圖
從圖3中可以看出實(shí)際電壓值和測量電壓值之間呈現(xiàn)良好的線性關(guān)系,這意味著可以將測量值和實(shí)際值之間的關(guān)系抽象為線性關(guān)系方程。為了更好地表示這種關(guān)系,可以設(shè)定一個變量x表示測量電壓值,并設(shè)定一個變量y表示實(shí)際電壓值。然后,通過使用線性方程y=ax+b來模擬測量值和實(shí)際值之間的關(guān)系。在這個方程中,參數(shù)a表示斜率,也就是增益值;參數(shù)b則是方程的常數(shù)項(xiàng),也就是偏置值。
為了精確地計(jì)算參數(shù)a、b,采用線性擬合中常用的最小二乘法[8][9],它是一種數(shù)學(xué)方法,可以幫助我們確定模型參數(shù),使得模型在預(yù)測值和實(shí)際值之間的差距最小。圖4所示的是最小二乘法的c語言實(shí)現(xiàn)。
圖4 c程序最小二乘法
把測量值作為x,實(shí)際輸出值作為y,代入根據(jù)上面計(jì)算,可以得到以下結(jié)果:
a=1.046,b=569。
即可得到校準(zhǔn)曲線為:y=1.046x+569。然后把校準(zhǔn)參數(shù)通過AI_Calibrate_Set更新到AI08模塊中,重新測量模擬電壓輸入值,可得到如表2所示的數(shù)據(jù)。
表2 模擬電壓測量值和實(shí)際值
在分析表1和表2的數(shù)據(jù)后,可以發(fā)現(xiàn):表1中的最大誤差為988mV,測量結(jié)果與實(shí)際電壓值之間的差距較大,而在經(jīng)過線性擬合校準(zhǔn)之后,表2中的最大誤差降至了9mV。這表明,線性擬合校準(zhǔn)技術(shù)能夠有效地提高測量精度,使得誤差小于最大量程的0.1%。測量結(jié)果已經(jīng)達(dá)到了設(shè)計(jì)要求的精度水平。
綜上所述,通過對測量結(jié)果進(jìn)行線性擬合校準(zhǔn),可以大幅度地提高測量的準(zhǔn)確性,從而滿足設(shè)計(jì)要求。
4 結(jié)論
在進(jìn)行PLC模擬量輸入模塊的校準(zhǔn)工作時,本文所提出的方法顯得尤為有效。實(shí)驗(yàn)結(jié)果表明,該方法不僅具有較高的精度,而且能夠自動完成校準(zhǔn)過程,避免了人為因素造成的誤差。與傳統(tǒng)的校準(zhǔn)方法相比,這點(diǎn)顯得更加優(yōu)越。除了精度和自動化程度方面的優(yōu)勢之外,該方法還具有較低的計(jì)算復(fù)雜度。使用線性擬合方法進(jìn)行校準(zhǔn)時,計(jì)算量并不大,且采用計(jì)算機(jī)自動控制,節(jié)省人力,因此該方法在實(shí)際應(yīng)用中具有較好的實(shí)用性。
在后續(xù)工作中,如果想進(jìn)一步提升校準(zhǔn)精度,也可以考慮分區(qū)間校準(zhǔn)的方式[10]。根據(jù)模擬量輸入信號的曲線,可以將其劃分為可近似認(rèn)為線性的多個區(qū)間[11]。對于不同的區(qū)間,可以采用不同的校準(zhǔn)曲線[12]。這樣,就可以更加精確地校準(zhǔn)模擬量輸入信號,從而提高校準(zhǔn)精度。
總之,本文所提出的校準(zhǔn)方法在精度、自動化程度和實(shí)用性方面都具有很大的優(yōu)勢。在實(shí)際應(yīng)用中,可以根據(jù)需要進(jìn)一步提升校準(zhǔn)精度,使校準(zhǔn)工作更加高效、精確。
作者簡介:
趙偉雄(1990-),男,河北邯鄲人,高級工程師,碩士,現(xiàn)就職于北京廣利核系統(tǒng)工程有限公司,主要從事廣利核嵌入式軟件開發(fā)方面的研究。
參考文獻(xiàn):
[1] 劉濤. 一種用于模擬量校準(zhǔn)的校準(zhǔn)函數(shù)關(guān)系獲取方法及裝置: CN110968833A[P]. 2020.
[2] 田垅, 劉宗田. 最小二乘法分段直線擬合[J]. 計(jì)算機(jī)科學(xué), 2012, 39(B06): 3.
[3] 肖貝. 數(shù)字系統(tǒng)中模擬量的線性擬合校準(zhǔn)[J]. 現(xiàn)代商貿(mào)工業(yè), 2018, 39(5): 3.
[4] 黃中玉, 黃衛(wèi)紅. 使用PLC模擬量輸出模塊對輸入模塊進(jìn)行偏置增益校準(zhǔn)的方法研究[J]. 電氣開關(guān), 2010, 48(4): 3.
[5] 龐偉, 龍辛, 黃波, 等. 風(fēng)機(jī)PLC內(nèi)部通信系統(tǒng)的分析與設(shè)計(jì)[J]. 機(jī)械工程與自動化, 2013(5): 3.
[6] Yidan B, Yanping W U, Yong H E, et al. A New Forecasting Model Based on the Combination of GM (1,1) Model and Linear Regression [J]. 系統(tǒng)工程理論與實(shí)踐, 2004, 24(3): 95-98.
[7] 黃富貴, 崔長彩. 評定直線度誤差的最小二乘法與最小包容區(qū)域法精度之比較[J]. 光學(xué)精密工程, 2007.
[8] 廖常初. PLC模擬量輸入模塊的使用方法[J]. 電工技術(shù), 2003(10): 2.
[9] 李金城. PLC模擬量與通信控制應(yīng)用實(shí)踐[M]. 北京: 電子工業(yè)出版社, 2011.
[10] 趙德政, 張帥, 張彪, 等. 一種基于改善PLC模擬量輸入模塊通道校準(zhǔn)效果的方法: CN112165330A[P]. 2021.
[11] 劉巧珍, 欒松, 陳燕光. 最小二乘法在PLC模擬量測量系統(tǒng)標(biāo)定中的應(yīng)用[J]. 測控技術(shù), 2007, 26(5): 3.
[12] 趙金榮. PLC模擬量輸入通道及其在數(shù)據(jù)采集處理中的應(yīng)用[J]. 上海應(yīng)用技術(shù)學(xué)院學(xué)報: 自然科學(xué)版, 2003, 3(4): 4.
摘自《自動化博覽》2023年12月刊