大部分收放捲應用會用到張力控制功能,擁有固定的處理周期與命令接收的即時性對於張力控制的效果具有關鍵因素。M-R的硬即時多工與內建類比命令接收剛好為這類應用提供最佳的執行環境。為了讓客戶可以容易開發這類應用,M-R提供了泛用型PID物件的功能,透過類似高階物件的概念,可以讓使用者方便撰寫收放捲應用。
張力控制示意圖 放捲 收捲 張力擺桿;因收放捲速度差異造成擺桿角度進而產生類比伏壓;該伏壓即為PID物件的命令 目標伏壓 放捲快 收捲快
韌體版本: V3003 Sub3 版本以後(含)
軟體版本: ezASD 1.3003.1.2以後(含)
張力檢測器:一般常見的檢測器有擺桿後置一個可變電阻、Load Cell、或其他專業張力檢測模組,不論哪種檢測器最終供給M-R 的輸入為類比伏壓 0~10
Volt。需注意檢測器的伏壓變化與收放捲的速度差距需有較佳的比例性,另外伏壓範圍盡量大,擺桿最低點與最高點的伏壓最好可以依比例轉換為 0~10Volt 的範圍,如此會讓整個擺桿變化的伏壓精度更細更精準。
STOP WAIT ACTIVE ERROR On=0 On=0 On=1 伏壓進入啟動伏壓範圍 伏壓超出上下極限 On=0 PID
狀態機
狀態種類:
|
名稱 |
說明 |
|
STOP |
一上電的初始狀態為
STOP;或On開關=0 時會進入 STOP狀態。此時PID輸出0。 |
|
WAIT |
On=1時會先進入WAIT狀態;PID 機制已經開始運作,此時放捲會先回轉將擺桿上拉到目標伏壓。 |
|
ACTIVE |
WAIT狀態時若擺桿上拉到進入啟動伏壓範圍則進入ACTIVE狀態,此時的才讓收捲開始運作。此時PID機制也是運作中,且對於伏壓命令的反應也較為靈敏。 |
|
ERROR |
當 ACTIVE 狀態運作時伏壓超過或低於保護的伏壓上下極限時進入 ERROR狀態,此時PID輸出也會0,避免PID發散時張力過大拉斷收放品。進入 ERROR 狀態需將 On開關關閉後進入 STOP狀態,再重新使用 PID。 |
|
屬性名稱 |
型態 |
屬性 |
預設值 |
說明 |
|
TargetVolt |
DINT |
R/W |
500 |
目標伏壓(單位 0.01
Volt) |
|
ActiveVoltRange |
DINT |
R/W |
15 |
目標伏壓差距於此範圍內為啟動伏壓 |
|
LimitVoltH |
DINT |
R/W |
950 |
上限伏壓 |
|
LimitVoltL |
DINT |
R/W |
50 |
下線伏壓 |
|
On |
INT |
R/W |
0 |
啟動開關 |
|
Polarity |
INT |
R/W |
1 |
誤差極性 |
|
P_Gain |
REAL48 |
R/W |
0 |
比例增益 |
|
I_Gain |
REAL48 |
R/W |
0 |
積分增益 |
|
D_Gain |
REAL48 |
R/W |
0 |
微分增益 |
|
ErrLpGain_WAIT |
REAL48 |
R/W |
1 |
WAIT狀態時伏壓誤差的濾波強度 |
|
ErrLpGain_ACT |
REAL48 |
R/W |
0.001 |
ACTIVE狀態時伏壓誤差的濾波強度 |
|
CurE |
DINT |
R |
NA |
當前誤差伏壓 |
|
dwLpE |
DINT |
R |
NA |
濾波後的誤差伏壓(整數型態) |
|
ReturnVal |
DINT |
R |
NA |
PID最終運算結果 |
|
IntgAll |
DINT |
R |
NA |
積分項值 |
|
State |
INT |
R |
NA |
當前狀態(STOP/WAIT/ACTIVE/ERROR) |
|
fLpE |
REAL48 |
R |
NA |
濾波後的誤差伏壓(浮點數型態) |
|
fLpE_Old |
REAL48 |
R |
NA |
上一次濾波後的誤差伏壓(浮點數型態) |
|
fIntegral |
REAL48 |
R |
NA |
誤差積分值 |
PID
物件共提供6個函式: init、Config、AdvConfig、SetGain、TurnOn、Process,除了init 為系統呼叫函式外,其餘函式下面會分別介紹。
功能: 設定PID 物件運作的參數,包括: 目標伏壓、啟動伏壓範圍、上限伏壓、下限伏壓、極性。
參數列表:
|
屬性名稱 |
型態 |
說明 |
|
TargetVolt |
DINT |
目標伏壓(單位 0.01
Volt) |
|
ActiveVoltRange |
DINT |
目標伏壓差距於此範圍內為啟動伏壓;ex: 目標伏壓 500, 範圍10,則伏壓到到490~510 (0.01Volt)就會進ACT狀態。 |
|
LimitVolt_H |
DINT |
上限伏壓 |
|
LimitVolt_L |
DINT |
下線伏壓 |
|
Polarity |
INT |
誤差極性 |
功能說明: 設定狀態 WAIT與狀態Active 時對於伏壓命令的靈敏度,採用的是低通濾波的方式設定其低通濾波增益,值越小則可以避免過大的擺盪、但越不靈敏。值越接近 1 則表示更靈敏反應當下的伏壓命令
參數列表:
|
屬性名稱 |
型態 |
說明 |
|
ErrorLowPassGian_ST_WAIT |
REAL48 |
狀態WAIT伏壓命令濾波增益 |
|
ErrorLowPassGian_ST_ACT |
REAL48 |
狀態ACTIVE伏壓命令濾波增益 |
功能說明: 設定PID 運行時期各項增益,可以根據不同的狀態與實際加工情形動態調整各項增益,例如WAIT 狀態可以讓P Gain 較小讓擺桿緩和上升。
參數列表:
|
屬性名稱 |
型態 |
說明 |
|
P_Gain |
REAL48 |
比例增益 |
|
I_Gain |
REAL48 |
積分增益 |
|
D_Gain |
REAL48 |
微分增益 |
功能說明: PID啟動開關。
參數列表:
|
屬性名稱 |
型態 |
說明 |
|
OnOff |
INT |
0: 關閉;非0值都會開啟。 |
功能說明: 以當前伏壓值計算PID 輸出,計算結束後的值將記錄在 ReturnVal 屬性,使用者可以再以此數據驅動作用馬達的迴路(速度、扭力、位置環…)。
參數列表:
|
屬性名稱 |
型態 |
說明 |
|
CurrentVolt |
DINT |
當前伏壓命令值。 |
此範例以X軸實做PID放捲軸、Y軸做為主動收線軸。包含M-R、HMI專案
X_PID
out_X_PID_STATE