1概述
本文中所討論的功能塊(SFB41/FB41,SFB42/FB42,SFB43/FB43)僅僅是使用于S7和C7的CPU中的循環中斷程序中。該功能塊,定期計算所需要的數據,保存在指定的DB中(背景數據塊)。允許多次調用該功能塊。CONT_C塊與PULSEGEN塊組合使用,可以獲得一個帶有比例執行機構脈沖輸出的控制器(例如,加熱和冷卻裝置)。
SFB41/FB41 (CONT_C),連續控制方式;
SFB42/FB42 (CONT_S),步進控制方式;
SFB43/FB43 (PULSEGEN),脈沖寬度調制器;
注意:SFB41/42/43,與FB41/42/43兼容,可以用于CPU 313C、CPU 313C-2 DP/PTP和CPU 314C-2 DP/PTP中。
1.1應用
借助于由你組態大量模塊組成的控制器,可以完成帶有PID算法的實際控制器。控制效率,即處理速度取決于你所使用的CPU性能。對于給定的CPU,必須在控制器的數量和控制器所需要執行頻率之間找到一個折衷方案。連接的控制電路越快,所安裝的控制器數量越少,則每個時間單位計算的數值就越多。對于控制過程的類型沒有限制。較慢(溫度、填料位,等)以及較快的控制系統(流量、速度,等)都可以控制。
1.2控制系統分析
控制系統的靜態性能(增益)和動態性能(滯后、空載時間、積分常數,等),都是設計系統控制器及其靜態參數(P操作)和動態參數(I、D操作)的主要因素。
因此,熟練掌握控制系統的類型和特性非常重要。(如圖1,圖2,圖3,圖4)
圖1
圖2
圖3
圖4
2PID系統控制器的選擇
控制系統的屬性由技術過程和機器條件決定。因此,為了獲得良好的控制效果,你必須選擇最適用的系統控制器。
2.1連續控制器、開關控制器
連續控制器,輸出一個線性(模擬)數值。
開關控制器,輸出一個二進制(數字)數值。
2.2固定值控制器
固定值控制,使用設定固定數值進行的過程控制,只是偶爾修改一下參考變量,過程偏差的控制。
2.3級聯控制器
級聯控制器,控制器串行連接控制。第一個控制器(主控制器)決定了串行控制器(從控制器)的設定點,或者根據過程變量的實際錯誤影響器設定點。
一個級聯控制器的控制性能可以使用其它的過程變量加以改進。為此,可以為主控制變量添加一個輔助過程變量PV2(主控制器SP2的輸出)。主控制器可以將過程變量PV1施加給設定點SP1,并且可以調整SP2,以便盡可能快地到達目標,而沒有過調節。(如圖5)
圖5
2.4混合控制器
混合控制器是指根據每個被控組件所需要的設定點總數量,來計算總SP數量的一種控制結構。在此,混合系數FAC的和必須為“1”。(如圖6)
圖6
2.5比例控制器
2.5.1單循環比例控制器
單循環比例控制器,可以用于“兩個過程變量之間的比率”比“兩個過程變量的絕對數值”重要的場合。(例如,速度控制)。(如圖7)
圖7
2.5.2多循環比例控制器
對于多循環比例控制,兩個過程變量PV1和PV2之比保持為常數。因此,可以使用第一個控制循環的過程數值,來計算第二個控制循環的設定點。對于過程變量PV1的動態變化,也可以保證保持特定的比例。(如圖8)
圖8
2.6二級控制器
一個二級控制器只能采集兩個輸出狀態(例如,開和關)。典型的控制為:一個加熱的系統,通過繼電器輸出的脈沖寬度調制。
2.7三級控制器
一個三級控制器只能采集到三個具體的輸出狀態。我們需要區分:“脈沖寬度調制”(例如,加熱-冷卻,加熱-關機-冷卻)和“使用集成執行機構的步進控制”(例如,左-停止-右)之間的區別。
3布線
對于沒有集成的I/O控制器,你必須使用附加的I/O模塊。
3.1布線規則
3.1.1連接電纜
對于數字I/O,如果線路有100米長,必須使用屏蔽電纜;
電纜屏蔽時必須在兩端進行接地;
軟電纜的截面積選擇0.25…1.5 mm2;
無需選擇電纜套。如果決定選擇使用電纜套,你可以使用不帶絕緣套圈的電纜套(DIN 46228, Shape A, Short version);
3.1.2屏蔽端接元件
你可以使用屏蔽端接元件,將所有屏蔽的電纜直接通過導軌連接接地;
必須在斷電情況下對組件進行接線;
3.1.3警告
帶電作業會有生命危險。
如果你帶電對組件的前插頭進行接線,會有觸電危險!
3.1.4其它信息
其他注意事項可參見手冊“CPU數據”手冊以及CPU的安裝手冊。
4參數賦值工具介紹
借助于“PID參數設置”工具,可以很方便的調試功能塊SFB41/FB41,SFB42/FB42的參數(背景數據塊)。
4.1調試PID參數的用戶界面
在Windows操作系統中,調用“調試PID參數用戶界面”的操作過程如下:
Start > SIMATIC > STEP7 > PID Control Parameter Assignment(如圖9)。
圖9
在最開始的對話框中,你既可以打開一個已經存在的FB41/ SFB41 “CONT_C” 或者FB42/ SFB42 “CONT_S”的背景數據塊。也可以生成一個新的數據塊,再可以分配給FB41/ SFB41 “CONT_C”或者FB42/ SFB42 “CONT_S”,作為背景數據塊。(如圖10)
圖10
FB43/SFB43 “PULSEGEN”沒有參數設置的用戶界面工具。你必須在STEP 7中去設置它的參數。
4.2獲取在線幫助的途徑
當分配參數給FB41/ SFB41“CONT_C”、FB42/ SFB42 “CONT_S”或者FB43/SFB43 “PULSEGEN”時,你可以通過以下三條途徑獲得幫助:
·使用Step7菜單Help>Contents,獲得相應的幫助信息;
·通過按下F1鍵得到幫助;
·在PID參數設置對話框中,通過點擊Help,可以得到具體的幫助信息。
5在用戶程序中實現
以下章節將幫助你根據你的應用設計一個用戶程序。
5.1調用功能塊
使用相應的背景數據塊調用系統功能塊。
舉例:CALL SFB 41, DB30(或者,CALL FB 41, DB 31)
5.2背景數據塊
系統功能塊的參數將保存在背景數據塊中。在第6章中將闡述這些參數。
你可以通過以下方式訪問這些參數
·DB編號和偏移地址
·數據塊編號和數據塊中的符號地址
5.3程序結構
SFB必須在重新啟動組織塊OB100中和循環中斷組織塊OB30…38中調用。
模式:
·OB100 Call SFB/FB 41、42、43, DB 30
·OB35 Call SFB/FB 41、42、43, DB 30
6功能塊介紹
6.1連續調節功能SFB 41/FB 41 “CONT_C”
6.1.1簡介
SFB/FB“CONT_C”(連續控制器)用于使用連續的I/O變量在SIMATIC S7控制系統中控制技術過程。你可以通過參數打開或關閉PID控制器,以此來控制系統。通過參數賦值工具,可以很容易地做到這一點。調用:Start > SIMATIC > STEP 7 > PID Control Parameter Assignment(如圖)。在線電子手冊,見Start > SIMATIC > Documentation > English> STEP 7 – PIDControl(如圖11)。
圖11
6.1.2應用程序
你可以使用控制器作為單獨的PID定點控制器或在多循環控制中作為級聯控制器、混合控制器和比例控制器使用。控制器的功能基于帶有一個模擬信號的采樣控制器的PID控制算法,如果必要的話,可以通過脈沖發送器(PULSEGEN)進行擴展,以產生脈沖寬度調制的輸出信號,來控制比例執行機構的兩個或三個步進控制器。
6.1.3說明
除了設定點操作和過程數值操作的功能以外,SFB41/FB 41(CONT_C)可以使用連續的變量輸出和手動影響控制數值選項,來實現一個完整的PID控制器。下面是關于SFB 41/FB41(CONT_C)詳細的子功能說明:
6.1.3.1設定點操作
設定點以浮點格式在“SP_INT”端輸入。
6.1.3.2實際數值操作
過程變量可以在外圍設備(I/O)或者浮點數值格式輸入。“CRP_IN”功能可以將“PV_PER”外圍設備數值轉換為一個浮點格式的數值,在–100和+100 %之間,轉換公式如下:
CPR_IN的輸出=PV_PER x100 /27648
“PV_NORM”功能可以根據下述規則標準化“CRP_IN”的輸出:
輸出PV_NORM =(CPR_IN的輸出)x PV_FAC + PV_OFF
“PV_FAC”的缺省值為“1”,“PV_OFF”的缺省值為“0”。
變量“PV_FAC”和“PV_OFF”為下述公式轉化的結果:
PV_OFF =(PV_NORM的輸出)-(CPR_IN的輸出)x PV_FAC
PV_FAC =(PV_NORM的輸出)- PV_OFF)/(CPR_IN的輸出)
不必轉換為百分比數值。如果設定點為物理確定,實際數值還可以轉換為該物理數值。
6.1.3.3負偏差計算
設定點和實際數值之間的區別便形成負值偏差。為了抑制由于被控量的量化引起的小的、恒定的振蕩(例如使用PULSEGEN進行脈沖寬度調制),在死區將施加一個死區(DEADBAND)。如果DEADB_W = 0,則死區將關閉。
6.1.3.4PID算法
PID算法作為一種位置算法進行控制。比例運算、積分運算(INT)和微商運算(DIF)都可并行連接,也可以單獨激活或取消。這就允許組態成P、PI、PD和PID控制器。也可以是純I和D調節器。
6.1.3.5手動模式
可以在手動模式和自動模式之間切換。在手動模式下,被控量被修改成手動選定的數值。
積分器(INT)內部設置為“LMN-LMN_P-DISV”,微商器(DIF)內部設置為“0”,并進行內部匹配。這就是說切換到自動模式時不會引起被控量的突變。
6.1.3.6受控數值的處理
使用LMNLIMIT功能,受控數值可以被限制為一個所選擇的數值。當輸入變量超出極限值時,信號位將指示。“LMN_NORM”功能可以根據下述公式標準化“LMNLIMIT”的輸出:
LMN =(LMNLIMIT的輸出)x LMN_FAC +LMN_OFF
“LMN_FAC”的缺省值為“1”,“LMN_OFF”的缺省值為“0”。
受控數值也適用于外圍設備(I/O)格式。“CPR_OUT”功能可以將浮點值“LMN”轉換為一個外圍設備值,轉換公式如下:
LMN_PER = LMN x2764/10
6.1.3.7前饋控制
一個干擾變量被引入“DISV”端輸入。
6.1.3.8初始化
SFB 41/FB 41“CONT_C”有一個初始化程序,可以在輸入參數COM_RST =TRUE置位時運行。在初始化過程中,積分器可以內部設置為初始值“I_ITVAL”。如果在一個循環中斷優先級調用它,它將從該數值繼續開始運行。所有其他輸出都設置為其缺省值。
6.1.3.9出錯信息
故障輸出參數RET_VAL不使用。
6.1.3.10SFB/FB“CONT_C”(連續調節控制器)塊圖
如圖12。
圖12
6.1.3.11輸入參數
SFB 41/FB 41“CONT_C”(如圖13)
圖13
下表列出SFB 41/FB 41“CONT_C”輸入參數的說明:
序號 | 參數 | 數據類型 | 數值范圍 | 缺省 | 說明 |
1 | COM_RST | BOOL | FAULSE |
COMPLETE RESTART(完全再起動)。 該塊有一個初始化程序,可以在輸入參數COM_RST置位時運行。 |
|
2 | MAN_ON | BOOL | TRUE |
MANUAL VALUE ON(手動數值接通) 如果輸入端“手動數值接通”被置位,那么閉環控制循環將中斷。手動數值被設置為受控數值。 |
|
3 | PVPER_ON | BOOL | FALSE |
PROCESS VARIABLE PERIPHERY ON/(過程變量外設接通) 如果過程變量從I/O讀取,輸入 “PV_PER”必須連接到外圍設備, 并且輸入“PROCESS VARIABLE PERIPHERY ON”必須置位。 |
|
4 | P_SEL | BOOL | TRUE |
PROPORTIONAL ACTION ON(比例分量接通) PID各分量在PID算法中可以分別激活或者取消。當輸入端“比例分量接通”被置位時,P分量被接通。 |
|
5 | I_SEL | BOOL | TRUE |
INTEGRAL ACTION ON(積分分量接通) PID各分量在PID算法中可以分別激活或者取消。當輸入端“積分分量接通”被置位時,I分量被接通。 |
|
6 | INT_HOLD | BOOL | FALSE |
INTEGRAL ACTION HOLD(積分分量保持) 積分器的輸出被凍結。為此,必須置 位輸入“Integral Action Hold(積分 操作保持)”。 |
|
7 | I_ITL_ON | BOOL | FALSE |
INITIALIZATION OF THE INTEGRAL ACTION(積分分量初始化接通) 積分器的輸出可以被設置為輸入 “I_ITLVAL”。為此,必須置位輸 入“積分操作的初始化”。 |
|
8 | D_SEL | BOOL | FALSE |
DERIVATIVE ACTION ON(微分分量接通) PID各分量在PID算法中可以分別激活或者取消。當輸入端“微分分量接通”被置位時,D分量被接通。 |
|
9 | CYCLE | TIME | >=1ms | T#1s |
SAMPLE TIME(采樣時間) 塊調用之間的時間必須恒定。“采 樣時間”輸入規定了塊調用之間的 時間,應該與OB35設定時間保持一致。 |
10 | SP_INT | REAL | -100.0至+100.0(%)或者物理值1 | 0.0 |
INTERNALSETPOINT(內部設定點) “內部設定點”輸入端用于確定設定值。 |
11 | PV_IN | REAL | -100.0至+100.0(%)或者物理值1 | 0.0 |
PROCESSVARIABLE IN(過程變量輸入) 可以設置一個初始值到“過程變量輸 入”輸入端或者連接一個浮點數格式的外部過程變量。 |
12 | PV_PER | WORD | W#16#0000 |
PROCESS VARIABLE PERIPHERY(過程變量外設) 外圍設備的實際數值,通過I/O格式的過程變量被連接到“過程變量外圍設備”輸入端,連接到控制器 |
|
13 | MAN | REAL | -100.0至+100.0(%)或者物理值2 | 0.0 |
MANUAL VALUE(手動數值) “手動數值”輸入端可以用于通過操作者接口功能設置一個手動數值。 |
14 | GAIN | REAL | 2.0 |
PROPORTIONAL GAIN(比例增益) “比例增益”輸入端可以設置控制器的比例增益系數。 |
|
15 | TI | TIME | >=CYCLE | T#20s |
RESET TIME(復位時間) “復位時間”輸入端確定了積分器的時間響應。 |
16 | TD | TIME | >=CYCLE | T#10s |
DERIVATIVE TIME(微分時間) “微商時間”輸入端確定了微商單元的時間響應。 |
17 | TM_LAG | TIME | >=(CYCLE/2) | T#2s |
TIME LAG OF THE DERIVATIVE ACTION(微分分量的滯后時間) 微商操作的算法包括一個時間滯后,可以被賦值給“微分分量的滯后時間”輸入端上。 |
18 | DEADB_W | REAL | >=0.0(%)或者物理值1 | 0.0 |
DEAD BAND WIDTH(死區寬度) 死區用于存儲錯誤。“死區寬度”輸入端確定了死區的容量大小。 |
19 | LMN_HLM | REAL | LMN_LLM至100.0(%)或者物理值2 | 100.0 |
MANIPULATED ALUE HIGH LIMIT(受控數值的上限) 受控數值必須設定有一個“上限”和一個“下限”。“受控數值上限”輸入端確定了“上極限”。 |
20 | LMN_LLM | REAL | -100.0(%)至LMN_HLM或者物理值2 | 0.0 |
MANIPULATED VALUE LOW LIMIT(受控數值的下限) 受控數值必須設定有一個“上限”和一個“下限”。“受控數值下限”輸入端確定了“下極限”。 |
21 | PV_FAC | REAL | 1.0 |
PROCESS VARIABLE FACTOR(過程變量系數) “過程變量系數”輸入端用于和過程 變量相乘。該輸入端可以用于匹配過程變量范圍。 |
|
22 | PV_OFF | REAL | 0.0 |
PROCESSVARIABLE OFFSET(過程變量偏移量) “過程變量偏移”輸入端可以添加到“過程變量”。該輸入端可以用于匹配過程變量的范圍。 |
|
23 | LMN_FAC | REAL | 1.0 |
MANIPULATED VALUE FACTOR(受控數值系數) “受控數值系數”輸入端用于與受控數值相乘。該輸入端可以用于匹配受控數值的范圍。 |
|
24 | LMN_OFF | REAL | 0.0 |
MANIPULATED VALUE(受控數值的偏移量) “受控數值的偏移量”可以與受控數值相加。該輸入端可以用于匹配受控數值的范圍。 |
|
25 | I_ITLVAL | REAL | -100.0至+100.0(%)或者物理值2 | 0.0 |
INITIALIZATION VALUE OF THE INTEGRAL-ACTION(積分分量初始化值) 積分器的輸出可以用輸入端“I_ITL_ON”設置。初始化數值可以設為“積分分量初始值”輸入。 |
26 | DISV | REAL | -100.0至+100.0(%)或者物理值2 | 0.0 |
DISTURBANCE VARIABLE(干擾變量) 對于前饋控制,干擾變量被連接到“干擾變量”輸入端。 |
1)“設定值通道”和“過程變量通道”中的參數,應該有相同的單位。例如,如果使用PV_IN作為“過程物理值”或者“過程物理值百分比”,SP_INT必須使用相應相同的單位;如果使用PV_PER作為外圍設備的實際數值,SP_INT只能使用“-100.0至+100.0(%)”作為設定值。如果設定值是SP_INT是0~10Mpa中的8Mpa,那么需要填寫0.8,PV_PER填寫硬件外設地址IW XXX;
2)受控量通道中的參數應該有相同的單位。
6.1.3.12輸出參數
下表列出SFB 41/FB 41“CONT_C”輸出參數的說明:
序號 | 參數 | 數據類型 | 數值范圍 | 缺省 | 說明 |
1 | LMN | REAL | 0.0 |
MANIPULATED VALUE(受控數值) 有效的受控數值被以浮點數格式輸出在“受控數值”輸出端上。 |
|
2 | LMN_PER | WORD | W#16#0000 |
MANIPULATEDVALUE PERIPHERY(受控數值外圍設備) I/O格式的受控數值被連接到“受控數值外圍設備”輸出端上的控制器。 |
|
3 | QLMN_HLM | BOOL | FALSE |
HIGH LIMIT OF MANIPULATED VALUE REACHED(達到受控數值上限)受控數值必須規定一個最大極限和一個最小極限。“達到受控數值上限”指示已超過最大極限。 |
|
4 | QLMN_LLM | BOOL | FALSE |
LOW LIMIT OF MANIPULATED VALUE REACHED (達到受控數值下限) 受控數值必須規定一個最大極限和一個最小極限。“達到受控數值下 限”指示已超過最小極限。 |
|
5 | LMN_P | REAL | 0.0 |
PROPORTIONALITY COMPONENT(比例分量) “比例分量”輸出端輸出受控數值的比例分量。 |
|
6 | LMN_I | REAL | 0.0 |
INTEGRAL COMPONENT(積分分量) “積分分量”輸出端輸出受控數值的積分分量。 |
|
7 | LMN_D | REAL | 0.0 |
DERIVATIVE COMPONENT(微分分量) “微商分量”輸出端輸出受控數值的微商分量。 |
|
8 | PV | REAL | 0.0 |
PROCESS VARIABLE(過程變量) 有效的過程變量在“過程變量”輸出端上輸出。 |
|
9 | ER | REAL | 0.0 |
ERROR SIGNAL(誤差信號) 有效誤差在“誤差信號”輸出端輸出。 |
6.2步進控制功能SFB 42/FB 42“CONT_S”
6.2.1簡介
SFB/FB“CONT_S”(步進控制器)用在SIMATIC S7可編程控制器上,用于二進制數控數值輸出信號積分執行機構的控制技術過程。在參數賦值過程中,你可以激活或取消PI步進控制器的子功能,以使控制器與過程匹配。通過參數賦值工具,可以很容易地做到這一點。調用:Start > SIMATIC > STEP 7 > PID Control Parameter Assignment(如圖)。在線電子手冊,見Start > SIMATIC > Documentation > English> STEP 7 – PIDControl(如圖)。
6.2.2應用程序
你可以使用該控制器作為單獨的PI固定設定值控制器,或者在輔助控制循環(第二級閉環)中作為級聯控制器、混合控制器或者比例控制器使用,但是不能用作主控制器(第一級調節器)。控制器的功能根據采樣控制器的PI控制算法實現,由模擬執行信號生成二進制輸出信號。
下列功能適用于CPU 314 IFM的FB V1.5或V1.1.0以上版本:
利用TI = T#0 ms,可以封鎖調節器的積分分量。因此,允許功能塊用作比例(P)控制器。
由于控制器不使用任何位置反饋信號,內部計算的受控變量將不能準確地匹配信號控制元件的位置。如果受控變量(ER*GAIN)為負值,應進行調整。然后調節器置位輸出端QLMNDN(受控量信號低),直到LMNR_LS(位置反饋信號下限)被置位。
控制器還可以在一個控制器級聯中用作一個輔助控制器(第二個執行器)。設定點輸入端“SP_INT”用于賦值控制元件的位置。在這種情況下,實際數值輸入和參數“TI(積分時間)”必須被設置為“0”。一個應用實例:通過電控閥瓣控制溫度,即是借助二進制脈沖數值輸出信號來控制熱量輸出的溫度調節和利用閥門控制制冷容量。在這種情況下,為了全部關閉閥門,受控變量(ER*GAIN)應該有一個負值。
6.2.3說明
除了過程數據通道的功能外,SFB/FB“CONT_S”(步進控制器)可以使用一個數字受控數值輸出和手動影響控制數值選項,來實現一個完整的PI控制器。步進控制器不使用位置反饋信號。限位信號可以用于限制脈沖輸出。下面你可以找到詳細的子功能說明:
6.2.3.1設定點操作
設定點以浮點數格式在“SP_INT”輸入端上輸入。
6.2.3.2實際數值操作
過程變量可以在外圍設備(I/O)或浮點數格式輸入。“CRP_IN”功能可以將“PV_PER”外圍設備數值轉換為一個浮點數格式的數值,在–100和+100 %之間,轉換公式如下:
CPR_IN的輸出=PV_PER x100/27648
“PV_NORM”功能可以根據下述公式標準化“CRP_IN”的輸出:
PV_NORM的輸出=(CPR_IN的輸出)x PV_FAC + PV_OFF
PV_FAC的缺省值為“1”,PV_OFF的缺省值為“0”。
變量“PV_FAC”和“PV_OFF”為下述公式轉化的結果:
PV_OFF =(PV_NORM的輸出)-(CPR_IN的輸出)x PV_FAC
PV_FAC =((PV_NORM的輸出)- PV_OFF)/(CPR_IN的輸出)
6.2.3.3負偏差計算
設定點和實際數值之間的區別便形成負值偏差。為了抑制由于受控變量的量化造成的小的、恒定的振蕩(例如,由于執行機構閥門引起的受控數值的波動),為負偏差設置了一個死區(DEADBAND)。如果DEADB_W = 0,則死區將被關閉。
6.2.3.4PI步進算法
SFB/FB“CONT_S”(步進控制器)不使用位置反饋信號。PI算法的積分操作和假定位置反饋信號都在積分器(INT)中計算,并作為一個反饋值與剩余P操作進行比較。比較差被用于一個三步元件(THREE_ST)和一個脈沖發生器(PULSEOUT),以生成執行機構的控制脈沖。控制器的開關頻率可以通過在三步元件上采用閾值控制來減少。
6.2.3.5前饋控制
一個干擾變量被引入“DISV”輸入端。
6.2.3.6初始化操作
SFB/FB“CONT_S”(步進控制器)有一個初始化程序,可以在輸入參數COM_RST= TRUE置位時運行。所有其它輸出端都設置為其缺省值。
6.2.3.7出錯信息
故障輸出參數RET_VAL不使用。
6.2.3.8SFB/FB“CONT_S”(步進控制器)塊圖
如圖14
圖14
6.2.3.9輸入參數
SFB 42/FB 42“CONT_S”(如圖15)
圖15
下表列出SFB 42/FB 42“CONT_S”輸入參數的說明:
序號 | 參數 | 數據類型 | 數值范圍 | 缺省 | 說明 |
1 | COM_RST | BOOL | FAULSE |
COMPLETE RESTART(完全再起動)。 該塊有一個初始化程序,可以在輸入參數COM_RST置位時運行。 |
|
2 | LMNR_HS | BOOL | FALSE |
HIGH LIMIT OF POSITION FEEDBACK SIGNAL(位置反饋信號上限) “執行器在上限停”信號連接到“位置反饋信號上限”輸入端。LMNR_HS = TRUE表示執行器處于最大上限。 |
|
3 | LMNR_LS | BOOL | FALSE |
LOW LIMIT OF POSITION FEEDBACK SIGNAL(位置反饋信號下限) “執行器在下限停”信號連接到“位置反饋信號下限”輸入端。LMNR_LS = TRUE表示執行器處于最大下限。 |
|
4 | LMNS_ON | BOOL | TRUE | MANUAL ACTUATING SIGNALS ON(手動執行信號接通)通過“手動執行信號接通”執行信號處理切換為手動模式。 | |
5 | LMNUP | BOOL | FALSE |
ACTUATING SIGNALS UP(執行信號上升) 通過手動執行信號,輸出信號“QLMNUP”在“執行信號上升 沿”輸入被置位。 |
|
6 | LMNDN | BOOL | FALSE |
ACTUATING SIGNALS DOWN(執行信號下降) 通過手動執行信號,輸出信號“QLMNDN”在“執行信號下降 沿”輸入被置位。 |
|
7 | PVPER_ON | BOOL | FALSE |
PROCESS VARIABLE PERIPHERY ON(過程變量外設接通) 如果從I/O讀取過程變量,輸入端“PV_PER”必須連接到外圍設備,并且輸入端 “PROCESS VARIABLE PERIPHERY ON”必須置位。 |
|
8 | CYCLE | TIME | >=1 ms | T#1s |
SAMPLING TIME(采樣時間) 塊調用之間的時間必須恒定。“采 樣時間”輸入端規定了塊調用之間的 時間。 |
9 | SP_INT | REAL | -100.0至+100.0(%)或物理值1 | 0.0 |
INTERNAL SETPOINT(內部設定值) “內部設定值”輸入用于確定一個 設定值。 |
10 | PV_IN | REAL | -100.0至+100.0(%)或物理值1 | 0.0 |
PROCESS VARIABLE IN(過程變量輸入) 可以設置一個初始值到“過程變量輸入”輸入端或者連接一個浮點數格式的外部過程變量。 |
11 | PV_PER | WORD | W#16#0000 |
PROCESS VARIABLE PERIPHERY(過程變量外設) I/O格式的過程變量被連接到調節器的“過程變量外圍設備”輸入端。 |
|
12 | GAIN | REAL | 2.0 |
PROPORTIONAL GAIN(比例增益) “比例增益”輸入端設置控制器的增益。 |
|
13 | TI | TIME | >=CYCLE | T#20s |
RESET TIME(復位時間) “復位時間”輸入端確定了積分器的 時間響應。 |
14 | DEADB_W | REAL | 0.0至+100.0(%)或物理值1 | 1.0 |
DEAD BAND WIDTH(死區寬度) 死區用于誤差。“死區寬度”用于確定死區的大小。 |
15 | PV_FAC | REAL | 1.0 |
PROCESS VARIABLE FACTOR(過程變量系數) “過程變量系數”輸入用于和過程變量相乘。該輸入可以用于匹配過程變量的范圍。 |
|
16 | PV_OFF | REAL | 0.0 |
PROCESS VARIABLE OFFSET(過程變量偏移量) “過程變量偏移”輸入端與過程變量相加。該輸入端用于匹配過程變量的范圍。 |
|
17 | PULSE_TM | TIME | >=CYCLE | T#3 s |
MINIMUM PULSE TIME(最小脈沖時間) 最小脈沖寬度可以使用參數“最小 脈沖時間”賦值。 |
18 | BREAK_TM | TIME | >=CYCLE | T#3 s |
MINIMUM BREAK TIME(最小間隔時間) 最小脈沖間隔時間可以使用參數“最小間隔時間”賦值。 |
19 | MTR_TM | TIME | >=CYCLE | T#30 s |
MOTOR MANIPULATED VALUE(電動執行時間) 執行機構從一個限幅位置移動到另 一個限幅位置所需的時間,可以在參 數“電動執行時間”參數中輸入。 |
20 | DISV | REAL | -100.0至+100.0(%)或物理值2 | 0.0 |
DISTURBANCE VARIABLE(干擾變量) 對于前饋控制,干擾變量連接到輸入端“干擾變量”。 |
3)“設定值通道”和“過程變量通道”中的參數,應該有相同的單位;
4)受控量通道中的參數應該有相同的單位。
6.2.3.10輸出參數
下表列出SFB 42/FB 42“CONT_S”輸出參數的說明:
序號 | 參數 | 數據類型 | 數值范圍 | 缺省 | 說明 |
1 | QLMNUP | BOOL | FALSE |
ACTUATING SIGNAL UP(執行信號上升) 如果輸出端“執行信號上升”被置位,那么執行閥是打開的。 |
|
2 | QLMNDN | BOOL | FALSE |
ACTUATING SIGNAL DOWN(執行信號下降) 如果輸出端“執行信號下降”被置位,那么執行閥是打開的。 |
|
3 | PV | REAL | 0.0 |
PROCESS VARIABLE(過程變量) 有效的過程變量是在“過程變量”輸出端輸出。 |
|
4 | ER | REAL | 0.0 |
ERROR SIGNAL(負偏差信號) 有效的負偏差數值在“負偏差信號”輸出端輸出。 |
6.3脈沖寬度調制器SFB 43/FB 43“PULSEGEN”
6.3.1簡介
SFB/FB“PULSEGEN”(脈沖發生器)可以用于為PID控制器使用比例執行機構的脈沖輸出。在線電子手冊,見Start > SIMATIC > Documentation > English> STEP 7 – PIDControl(見圖)。
6.3.2應用程序
使用SFB/FB“PULSEGEN”(脈沖發生器),可以通過脈沖寬度調制,組態PID兩步或三級控制器。該功能一般與連續控制器SFB/FB“CONT_C”一起使用。(如圖16)
圖16
6.3.3說明
功能“PULSEGEN”可以通過調制脈沖寬度,將輸入變量“INV”(= PID控制器的LMN)轉換為一個恒定周期的脈沖串,該恒定周期相當于輸入變量刷新的循環時間,必須在“PER_TM”中賦值。
每個周期的脈沖寬度與輸入變量成正比。“PER_TM”中的循環時間與SFB/FB“PULSEGEN”的處理時間不同。“PER_TM”循環時間由多個SFB/FB“PULSEGEN”執行循環之和。因此,每個“PER_TM”循環的SFB/FB“PULSEGEN”調用次數是脈沖寬度,可以精確測量脈沖寬度。最小受控數值在參數“P_B_TM”中確定。(如圖17)
圖17
6.3.3.1脈沖寬度調制
輸入變量30%以及每個PER_TM循環時間調用SFB/FB“PULSEGEN”10次,含義如下:
?對于前三個SFB/FB“PULSEGEN”(10次調用的30 %),輸出“QPOS”為“1”
?對于其余7個SFB/FB“PULSEGEN”(10次調用的70 %),輸出“QPOS”為“0”
6.3.3.2SFB/FB“PULSEGEN”塊圖
如圖18。
圖18
6.3.3.3受控數值的精度
如果“采樣頻率比例”為1:10(“CONT_C”調用與“PULSEGEN”調用之比),那么在這個例子中受控數值的精度降低為10 %。換句話說,設定的輸入數值“INV”只能在“QPOS”輸出端上以“10%”的步長轉換成脈沖寬度。
只有當每次“CONT_C”調用中“PULSEGEN”調用的次數增加時,才能提高精度。
例如,如果每個“CONT_C”調用的“PULSEGEN”調用次數為100,受控數值的分辨率將達到1%(建議分辨率<= 5 %)。
注意
“采樣頻率比例”必須由用戶編程。
6.3.3.4自動同步
可以使刷新輸入變量“INV”的塊(例如,“CONT_C”),與脈沖輸出自動同步。這就保證了輸入變量中的一個變化可以盡可能快地輸出為一個脈沖。
脈沖發生器可以根據“PER_TM”的周期為時間間隔,定期評價輸入數值“INV”,并將該數值轉換為相應長度的脈沖信號。
但是,由于“INV”一般在較慢的循環中斷級中計算,所以脈沖發生器應在“INV”刷新后盡可能快地將具體數值轉換為一個脈沖信號。
為此,塊必須使用下述程序對周期的起點同步:
如果“INV”變化,并且塊調用不在一個周期的第1個或最后兩個調用循環中,可以進行同步。將重新計算脈沖寬度,并在下一個循環中輸出一個新的周期。(如圖19)
圖19
自動同步可以根據“SYN_ON”(= FALSE)輸入關閉。
注意
在一個周期的開始,“INV”(即LMN)的先前數值的映像將被或多或少的混合到脈沖信號中。
6.3.3.5PID控制器輸出工作模式
根據脈沖發生器所賦值的參數,可以將PID調節器組態成具有一個三級輸出或者一個兩向或單向的兩極輸出PID控制器。下表所示為可能模式的開關組合設置:
模式 | MAN_ON | STEP3_ON | ST2BI_ON |
三級調節 | FALSE | TRUE | ANY |
兩級調節,帶雙向調節區(-100%…+100%) | FALSE | FALSE | TRUE |
兩級調節,帶單向調節區(0…+100%) | FALSE | FALSE | FALSE |
手動模式 | TRUE | ANY | ANY |
6.3.3.5.1三級控制
在“三級控制”模式下,可以生成控制信號的三種狀態。二進制輸出信號“QPOS_P”和“QNEG_P”的數值可以賦值給執行機構的狀態。
下表所示為一個溫度控制的例子:
輸出信號 | 加熱 | 執行器關閉 | 制冷 |
QPOS_P | TRUE | FLASE | FLASE |
QNEG_P | FLASE | FLASE | TRUE |
根據輸入變量,使用一個特性曲線可以計算脈沖寬度。特性曲線的形狀取決于最小脈沖時間或最大中斷時間和比例系數。
比例系數的正常值為“1”。
曲線中的“拐點”是由于最小脈沖時間或最小中斷時間造成的。
最小脈沖或最小間隔時間
正確賦值最小脈沖或最小中斷時間“P_B_TM”,可以防止短促的開斷時間,降低開關元件和執行機構的使用壽命。
注意
否則,會刪除可以生成一個短于“P_B_TM”脈沖寬度的輸入變量“LMN”的較小絕對值。可以生成脈沖寬度大于“PER_TM-P_B_TM”的較大輸入值被設置為100 %或-100 %。
正脈沖寬度和負脈沖寬度可以根據輸入變量(單位[%])和周期時間相乘進行計算。
脈沖周期=INV / 100 xPER_TM
下圖(如圖20)所示為一個三級控制器的系統曲線(比例系數=1):
圖20
使用比例系數“RATIOFAC”,可以改變正脈沖寬度和負脈沖寬度之比。例如,對于熱處理,這可用于使用不同的時間常數加熱和冷卻執行機構。
比例系數也會影響最小脈沖/暫停周期。比例系數< 1意思是指負脈沖的閾值乘以比例系數。
比例系數< 1
通過輸入數值乘以脈沖周期所計算的比例系數,可以減少負脈沖輸出的脈沖周期。
正脈沖周期= INV/100 xPER_TM
負脈沖周期= INV/100 xPER_TM x RATIOFAC
下圖(如圖21)所示為一個三級控制器的系統曲線(比例系數=0.5):
圖21
比例系數> 1
通過輸入數值乘以脈沖周期所計算的比例系數,可以減少正脈沖輸出的脈沖周期。
負脈沖周期=INV/100 xPER_TM
正脈沖周期=INV/100 xPER_T/ RATIOFAC
6.3.3.5.2二級控制
對于二級控制,只能將PULSEGEN的正脈沖輸出“QPOS_P”連接到I/O執行機構。根據所使用的受控數值范圍,二級控制器可以有一個雙極或單極受控數值范圍。
6.3.3.5.2.1兩級調節,帶雙向調節區(-100%…+100%)
圖22
6.3.3.5.2.2兩級調節,帶單向調節區(0…+100%)
圖23
如果控制循環中二級控制器的連接需要一個執行脈沖的邏輯轉換二進制信號,可以在“QNEG_P”將輸出信號進行“非”運算。
脈沖 | 執行機構打開 | 執行機構關閉 |
QPOS_P | TRUE | FALSE |
QNEG_P | FALSE | TRUE |
6.3.3.5.3二級控制或三級控制中的手動模式
在手動模式(MAN_ON = TRUE)中,三級控制器或二級控制器的二進制輸出可以使用信號
“POS_P_ON”和“NEG_P_ON”以及“INV”進行設置。
POS_P_ON | NEG_P_ON | QPOS_P | QNEG_P | |
三級調節 | FALSE | FALSE | FALSE | FALSE |
TURE | FALSE | TRUE | FALSE | |
FALSE | TRUE | FALSE | TRUE | |
TRUE | TRUE | FALSE | FALSE | |
二級調節 | FALSE | Any | FALSE | TRUE |
TRUE | Any | TRUE | FALSE |
6.3.3.6初始化
SFB“PULSGEN”有一個初始化程序,可以在輸入參數COM_RST= TRUE置位時運行。
所有信號都被設置為“0”。
6.3.3.7出錯信息
故障輸出參數RET_VAL不使用。
6.3.3.8輸入參數
SFB 43/FB 43“PULSEGEN”(如圖24)
圖24
下表列出SFB 43/FB 43“PULSEGEN”輸入參數的說明:
序號 | 參數 | 數據類型 | 數值范圍 | 缺省 | 說明 |
1 | INV | REAL | -100.0...100.0 (%) | 0.0 |
INPUT VARIABLE(輸入變量) 模擬受控量連接到輸入參數“輸入變量” ?對于RATIOFAC <1?的三級控制 ?對于RATIOFAC >1的三級控制 ?對于雙極二級控制 ?對于多極二級控制 |
2 | PER_TM | TIME | >=20*CYCLE | T#1s |
PERIOD TIME(周期時間) 脈沖寬度調制的恒定周期可以使用該輸入參數輸入。這相當于“CONT_C”控制器的采樣時間。脈沖發生器的采樣時間和“CONT_C”控制器的采樣時間之比決定了脈沖寬度調制的精度。 |
3 | P_B_TM | TIME | >= CYCLE | T#0ms |
MINIMUM PULSE/BREAK TIME (最小脈沖/間隔時間) 最小脈沖時間或最小中斷時間可以使 用輸入參數“最小脈沖/間隔時間”賦值。 |
4 | RATIOFAC | REAL | 0.1 ...10.0 | 1.0 |
RATIO FACTOR(比例系數) 輸入參數“比例系數”可以用于改變正脈沖寬度和負脈沖寬度之比。例如,在熱處理中,這可用于補償加熱和冷卻的不同時間常數(例如,電加熱和水冷過程)。 |
5 | STEP3_ON | BOOL | TRUE |
THREE STEP CONTROL ON(三級調節接通) 該輸入參數激活“三級調解”。在三級調節中,兩路輸出信 號都被激活。 |
|
6 | ST2BI_ON | BOOL | FALSE |
TWO STEP CONTROL FOR BIPOLAR MANIPULATED VALUE RANGE ON(兩極調節,雙向受控量范圍接通。) 用于雙極受控數值范圍打開的二級控制。你可以在“雙極受控數值”和“多極受控數值范圍的二級控制”模式之間選擇。此時,STEP3_ON = FALSE。 |
|
7 | MAN_ON | BOOL | FALSE |
MANUAL MODE ON(手動模式接通) 通過設置該輸入參數,可以手動設置輸出信號。 |
|
8 | POS_P_ON | BOOL | FALSE |
POSITIVE PULSE ON(正脈沖接通) 在三級控制的手動模式中,輸出信號“QPOS_P”可以使用該輸入參數進行控制。在二級控制的手動模式中,“QNEG_P”必須設置為“QPOS_P”相反。 |
|
9 | NEG_P_ON | BOOL | FALSE |
NEGATIVE PULSE ON(負脈沖接通) 在三級控制的手動模式中,輸出信號“QNEG_P”可以使用該輸入參數進行控制。在二級控制的手動模式中,“QNEG_P”必須設置為“QPOS_P”相反。 |
|
10 | SYN_ON | BOOL | TRUE |
SYNCHRONIZATION ON(同步接通) 通過設置該輸入參數,可以自動與刷新輸入變量“INV”的塊進行同步操作。這可保證輸入變量中的一個變化可以盡可能快地輸出為一個脈沖。 |
|
11 | COM_RST | BOOL | FALSE |
COMPLETE RESTART(完全再起動)。 該塊有一個初始化程序,可以在輸入參數COM_RST置位時運行。 |
|
12 | CYCLE | TIME | >= 1ms | T#10ms |
SAMPLING TIME(采樣時間) 塊調用之間的時間必須恒定。該輸入參數規定了塊調用之間 的時間。 |
輸入參數的數值在塊中沒有限制。沒有參數檢查。
6.3.3.9輸出參數
下表列出SFB 43/FB 43“PULSEGEN”輸出參數的說明:
序號 | 參數 | 數據類型 | 數值范圍 | 缺省 | 說明 |
1 | QPOS_P | BOOL | FALSE |
OUTPUT POSITIVE PULSE (輸出正脈沖) 如果有脈沖輸出,輸出參數“輸出正脈沖”被置位。在三級調節中總是正脈沖輸出。在兩級調節中,QNEG_P總是與QPOS_P反向。 |
|
2 | QNEG_P | BOOL | FALSE |
OUTPUT NEGATIVE PULSE (輸出負脈沖) 如果有脈沖輸出,輸出參數“輸出負脈沖”被置位。在三級調節中總是負脈沖輸出。在兩級調節中,QNEG_P總是與QPOS_P反向。 |
-
PID控制
+關注
關注
10文章
460瀏覽量
40147 -
STEP7
+關注
關注
4文章
103瀏覽量
32634
原文標題:【技術】Step7 中如何實現PID控制
文章出處:【微信號:GKYXT1508,微信公眾號:工控云學堂】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論