TwinCAT 3溫度控制庫的進(jìn)階詳解與調(diào)試_第1頁
TwinCAT 3溫度控制庫的進(jìn)階詳解與調(diào)試_第2頁
TwinCAT 3溫度控制庫的進(jìn)階詳解與調(diào)試_第3頁
TwinCAT 3溫度控制庫的進(jìn)階詳解與調(diào)試_第4頁
TwinCAT 3溫度控制庫的進(jìn)階詳解與調(diào)試_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第頁TwinCAT3溫度控制庫的TwinCAT3溫度控制庫的進(jìn)階詳解與調(diào)試作者:余洋職務(wù):技術(shù)支持工程師公司:BECKHOFF中國郵箱:yang.yu@日期:2023-12-22摘要:在使用TS4110和TF4110的時候,很多客戶反應(yīng)在使用過程中遇到一些問題:比如模式如何切換、報(bào)警如何正常啟用、自整定不準(zhǔn)確(超調(diào)過大,進(jìn)入死區(qū)之后波動過大)等等。本文檔在TwinCAT3溫度控制庫使用說明與例程的基礎(chǔ)之上,對改庫中的功能塊FB_CTRL_TempController進(jìn)行更加細(xì)致的分析和調(diào)試技巧。(在閱讀本檔之前,請先查看《TwinCAT3溫度控制庫使用說明與例程》)附件:序號文件名備注1.TwinCATTemperatureDemo例程歷史版本:2003-11-04北京辦溫度控制器軟件庫使用說明.pdf史匯源溫度控制庫使用說明與演示.docx2022-08-04余洋TwinCAT3溫度控制庫使用說明與例程.docx免責(zé)聲明:我們已對本文檔描述的內(nèi)容做測試。但是差錯在所難免,無法保證絕對正確并完全滿足您的使用需求。本文檔的內(nèi)容可能隨時更新,如有改動,恕不事先通知,也歡迎您提出改進(jìn)建議。參考信息:

目錄1. 軟硬件版本 31.1. 控制硬件 31.2. 控制軟件 32. FB_CTRL_TempController模式說明 32.1. eCTRL_MODE_IDLE 32.2. eCTRL_MODE_ACTVE 32.3. eCTRL_MODE_TUNE 32.4. eCTRL_MODE_MANUAL 42.5. eCTRL_MODE_PASSIVE、FREEZE、SELFTEST、SYNC_MOVEMENT 43. 報(bào)警功能 54. 自整定功能 64.1. 自整定原理 64.2. 操作方式 64.3. 出現(xiàn)自整定不準(zhǔn)確的解決辦法 75. 冷卻加熱功能的切換使用 76. 例程講解(功能塊FB_TempControl) 76.1. M_01_Init 76.2. M_01_Reinit 86.3. M_02_VariableMatch 86.4. M_03_SetpointSelect 96.5. M_HeatingCoolingSwitch 96.6. M_OperateAuto 106.7. M_OperateIdle 116.8. M_OperateManual 116.9. M_OperateSemiAuto 126.10. M_OperateTestTune 126.11. M_SimulateTemp 136.12. M_StateChange 136.13. P_Inited、P_InternalFBMode、P_OriginTemp: 146.14. 主體功能塊邏輯 157. 常見問題 15

軟硬件版本控制硬件測試電腦(Windows11專業(yè)版)控制軟件TwinCAT3(文檔測試版本為v3.1.4024.47)FB_CTRL_TempController模式說明eCTRL_MODE_IDLE該模式為閑置模式:當(dāng)功能塊剛剛被調(diào)用的時候會進(jìn)入改模式。在改模式下,不會有任何的輸出和控制算法操作。eCTRL_MODE_ACTVE該模式為活躍模式:在改模式下,功能塊會根據(jù)內(nèi)部或者外部的PID參數(shù)進(jìn)行溫控。選擇是內(nèi)部還是外部參數(shù)是通過stControllerParameter結(jié)構(gòu)體當(dāng)中的bSelCtrlParameterSet切換的。(FALSE=使用PID內(nèi)部參數(shù),,TRUE=使用外部參數(shù))內(nèi)部參數(shù)如果沒有進(jìn)行自整定的話會是空的,所以如果使用內(nèi)部參數(shù),且一開始就將功能塊切換至改模式是不會有輸出的。除非使用外部參數(shù),也就是功能塊的輸入引腳sParaControllerExternal(外部參數(shù)可以通過整定完記錄下來保存,再經(jīng)過一定的調(diào)試確定):eCTRL_MODE_TUNE該模式為自整定模式:如果是第一次對設(shè)備使用改功能塊,建議將功能塊首先切換值該模式進(jìn)行自整定。如相關(guān)參數(shù)正確,且具體目標(biāo)溫度有足夠的溫差,功能塊的輸出State會進(jìn)入eCTRL_STATE_TUNING,整定完之后State進(jìn)入eCTRL_STATE_TUNED。此時功能塊的內(nèi)部PID參數(shù)會有數(shù)值。用戶可以觀察功能塊的輸出sParaControllerInternal結(jié)構(gòu)體進(jìn)行配方保存或者記錄:eCTRL_MODE_MANUAL該模式為手動模式:此時輸出完全由用戶決定,任何PID控制和自整定處于非活躍狀態(tài)。eCTRL_MODE_PASSIVE、FREEZE、SELFTEST、SYNC_MOVEMENT這些模式功能暫時還未被啟用。

報(bào)警功能報(bào)警功能是由內(nèi)部的子功能塊FB_CTRL_Alarm處理的。如果出現(xiàn)多個錯誤,會在對應(yīng)的位進(jìn)行累加。報(bào)警值信息如下:而能夠影響到報(bào)警功能的參數(shù)不僅僅在FB_CTRL_TempController的輸入中,還有部分設(shè)置在stControllerParameter結(jié)構(gòu)體當(dāng)中:硬件故障標(biāo)志位:bOpenThermocouple、bReverseThermocouple、bBackVoltage bLeakage 、bShortCircuit、bOpenCircuit。這些都是溫控功能塊的輸入引腳。這些故障判斷需要由用戶自己寫額外的程序去進(jìn)行判斷。建議用戶程序的輸出給到這些引腳。報(bào)警設(shè)置stControllerParameter.dwAlarmSupp:該參數(shù)用戶啟用和關(guān)閉報(bào)警功能塊。(0=啟用報(bào)警功能,16#FF_FF_FF_FF=禁用報(bào)警功能)stControllerParameter.iReactionOnFailure:該參數(shù)用于設(shè)置應(yīng)對當(dāng)報(bào)警出現(xiàn)時,溫控主體功能塊的反應(yīng)。建議不同的報(bào)警使用不同的反應(yīng)模式。stControllerParameter.TempLow、stControllerParameter.TempLowLow:代表溫度設(shè)定值和實(shí)際值相對差報(bào)警值下限/下下限。(例:該參數(shù)分別設(shè)置為50、100,當(dāng)實(shí)際溫度比設(shè)定溫度低時,如果低于超過50或者100攝氏度且溫度還在往下降的趨勢,那么會分別觸發(fā)這兩個報(bào)警)stControllerParameter.TempHigh、stControllerParameter.TempHighHigh:代表溫度設(shè)定值和實(shí)際值相對差報(bào)警值上限/上上限。(例:該參數(shù)分別設(shè)置為50、100,當(dāng)實(shí)際溫度比設(shè)定溫度高時,如果高于超過50或者100攝氏度且溫度還在往上升的趨勢,那么會分別觸發(fā)這兩個報(bào)警)stControllerParameter.TempAbsoluteHigh、stControllerParameter.TempAbsoluteLow:代表絕對溫度超過上下限。(例:該參數(shù)分別設(shè)置為200、-200,當(dāng)實(shí)際溫度超過200或者低于-200,那么會分別觸發(fā)這兩個報(bào)警)自整定功能TF4110/TS4110為了能給用戶提供更加方便的控制,加入了自整定功能。自整定功能是通過內(nèi)部的子功能塊FB_CTRL_SelfTuner處理的:自整定原理該自整定算法基于級聯(lián)式反饋控制方法。最初由Zieger和Nichos開發(fā),算法通過觀察多個樣本之間的差異來構(gòu)造一條切線,它與實(shí)驗(yàn)步驟中變化率最大的點(diǎn)相交。這個交點(diǎn)給出了一個延遲時間Tu。接著,通過Tu和Vomax,使用CHR公式可以計(jì)算出實(shí)現(xiàn)20%超調(diào)抑制的控制參數(shù)。自整定功能的啟用需要有一些預(yù)控制器的參數(shù)。(即stControllerParameter.Kp、Tn、Tv、Td)最后,在自整定完成后,功能塊會將整定完成之后的參數(shù)傳遞給FB_CTRL_TempController的sParaControllerInternal結(jié)構(gòu)體中。操作方式首先確保實(shí)際溫度與目標(biāo)溫度大概有超過20攝氏度的溫差,同時在正確初始化stControllerParameter的前提下將溫控功能塊FB_CTRL_TempController的模式切換至0eCTRL_MODE_TUNE即可。(后續(xù)步驟見eCTRL_MODE_TUNE模式說明)出現(xiàn)自整定不準(zhǔn)確的解決辦法在實(shí)際使用過程中,會有用戶反應(yīng)對于一些非線性的對象,功能塊會出現(xiàn)自整定不準(zhǔn)確,具體表現(xiàn)的形式為整定之后的參數(shù)超調(diào)過大,死區(qū)波過大的現(xiàn)象。當(dāng)此類情況發(fā)生的時候,建議先嘗試不同的預(yù)控制器參數(shù)整定。然后將整定完的相對最優(yōu)參數(shù)記錄下來。在此基礎(chǔ)之上進(jìn)一步進(jìn)行手動微調(diào),最后選取對對象控制最優(yōu)解,將之放進(jìn)功能塊的輸入引腳sParaControllerExternal,同時將bSelCtrlParameterSet置為TRUE。用外部參數(shù)進(jìn)行控制。如果效果仍然不理想,建議采用多套外部參數(shù)控制的方式。(例:快速升溫/降溫一套參數(shù),接近目標(biāo)溫度一定范圍內(nèi)采用另外一套參數(shù))冷卻加熱功能的切換使用TF4110/TS4110除了能進(jìn)行加熱之外,還能進(jìn)行冷卻控制、加熱冷卻通道同時控制。但在使用不同控制方式的時候,有一些參數(shù)也需要做出更改:stControllerParameter.iMode:加熱時使用eCTRL_ControlMode_Heating;冷卻時使用eCTRL_ControlMode_Cooling;加熱冷卻通道同時使用啟用的時候使用eCTRL_ControlMode_Heating_Cooling。stControllerParameter.iTuningMode:加熱自整定時使用eCTRL_TuneMode_Heating;冷卻自整定時使用eCTRL_TuneMode_Cooling;自整定使用先加熱后冷卻時使用eCTRL_TuneMode_Heating_Cooling;自整定使用先冷卻后加熱時使用eCTRL_TuneMode_Cooling_Heating。stControllerParameter.fYTuneHeating:加熱自整定過程加熱的輸出量。(建議用100)stControllerParameter.fYTuneCooling:冷卻自整定過程冷卻的輸出藍(lán)。(建議用-100)例程講解(功能塊FB_TempControl)例程中,對功能塊FB_CTRL_TempController之上又封裝了一個功能塊,該功能塊有完整的自動模式、半自動模式、手動模式的應(yīng)用??梢詫?shí)現(xiàn)應(yīng)對不同需求自動選擇對應(yīng)參數(shù)的功能。并提供了一個溫度模擬器,模擬溫度升溫至目標(biāo)溫度的過程,具體程序講解如下:M_01_Init該方法只在功能塊剛被調(diào)用的時候執(zhí)行一次,用來配置stControllerParameter里面的基本參數(shù),同時記錄初始溫度:M_01_Reinit該方法在功能塊中模式切換的時候都會被執(zhí)行一次,用來復(fù)位一些特定模式下參數(shù)的改變:M_02_VariableMatch該方法在初始化之后的第一步被調(diào)用,用于溫度主體功能塊FB_CTRL_TempController功能塊輸入輸出參數(shù)的傳遞:M_03_SetpointSelect該方法緊跟著M_02_VariableMatch被調(diào)用,里面進(jìn)行當(dāng)前控制溫度的選擇,并給用戶一些信息:M_HeatingCoolingSwitch該方法在前面講述的方法之后被調(diào)用,用于進(jìn)行加熱和冷卻的切換步驟:bControlByBothHeatCooling用來選擇是否同時啟用加熱和冷卻,后續(xù)的邏輯是根據(jù)初始溫度和設(shè)定點(diǎn)溫度自動選擇是冷卻還是加熱:

M_OperateAuto該方法內(nèi)包含了自動運(yùn)行所需的步驟:第一步是先進(jìn)行模式切換到Auto時以及報(bào)警被解除時的上升沿檢測(第一次切換到Auto時,以及每當(dāng)報(bào)警被解除一次且實(shí)際溫度與目標(biāo)溫度之差的絕對值在20攝氏度以內(nèi),為了防止溫差過低重新自整定報(bào)錯),然后當(dāng)有輸出的時候自動進(jìn)入自整定模式。隨后當(dāng)自整定完成,自動進(jìn)入Active模式:隨后的部分用戶可以根據(jù)自己的實(shí)際項(xiàng)目需求進(jìn)行一些代碼調(diào)整,例程中用了三段:第一段是距離目標(biāo)溫度20攝氏度開外,被判定為快速升溫區(qū)域。該區(qū)域使用自整定后的內(nèi)部參數(shù);而在距離5-20攝氏度之間使用第一組外部參數(shù)控制;在5攝氏度以內(nèi)可以理解為死區(qū),使用第二組外部參數(shù)控制:最后的部分為自動進(jìn)行報(bào)警檢測和反應(yīng)功能。如果報(bào)警代碼不為0時,將bAlarm置為TRUE。如果超過相對和絕對上限,則將冷卻通道拉滿輸出;反之超過下限,則將加熱通道拉滿輸出;硬件故障,立即停止溫控,避免事故;無事故的情況下,選擇無反應(yīng):M_OperateIdle該方法內(nèi)包含了閑置模式所需的步驟,即檢測上升沿并將溫控主體功能塊切換到Idle模式:M_OperateManual該方法內(nèi)包含了手動模式所需的步驟,即檢測上升沿、取消報(bào)警功能并將溫控主體功能塊切換到Manual模式:M_OperateSemiAuto該方法內(nèi)包含了半自動模式所需的步驟,其內(nèi)容類似于全自動模式,但需要手動切換到達(dá)整定完成之后的溫控主體功能塊模式,并且在溫控主體功能塊到達(dá)ACTIVE模式之后,手動輸入外部參數(shù)控制。此外,如果出現(xiàn)報(bào)警,都切換至手動模式控制:M_OperateTestTune該方法內(nèi)包含了自整定測試模式的步驟,建議在第一次進(jìn)行溫控的時候使用,用來進(jìn)行參數(shù)的自整定:M_SimulateTemp該方法是用于模擬升溫至目標(biāo)溫度的過程,該方法通過一個BOOL變量bActiveSimulation啟用。先進(jìn)行模擬器的一些參數(shù)設(shè)置,然后用一個TON功能塊去進(jìn)行延遲tTuneStablisation時間之后升溫(防止溫度直接上升導(dǎo)致無法進(jìn)入自整定模式):M_StateChange該方法內(nèi)包含了不同模式之間切換的代碼,檢測模式是否被切換,當(dāng)每切換一次模式都會調(diào)用M_01_Reinit方法進(jìn)行一些參數(shù)的重新初始化。在進(jìn)入一個模式時,復(fù)位其他檢測模式的上升沿功能塊:P_Inited、P_InternalFBMode、P_OriginTemp:三個屬性訪問三個中間變量。P_Inited用于訪問功能塊是否已經(jīng)被初始化,該屬性為只讀;P_InternalFBMod

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論