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