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