一区二区三区成人-一区二区三区www-一区二区三区 日韩-一区二区日韩欧美-一区二区日韩精品中文字幕-一区二区日韩

huyou
級別: 略有小成
精華主題: 0
發帖數量: 152 個
工控威望: 322 點
下載積分: 946 分
在線時間: 162(小時)
注冊時間: 2009-08-04
最后登錄: 2025-01-14
查看huyou的 主題 / 回貼
樓主  發表于: 2009-08-09 10:27
在學習PID指令時,雖然有框圖,但理解還是感覺比較吃力,花了許多功夫最終還是用不好PID指令。對某些有自整定參數功能的PID指令如何實現所謂“自整定參數”的功能也是一頭霧水。反反復復地看了許多關于PID方面的文章,也琢磨了一些自己的理解,下面是用S7-300的“STL源文件”編寫的一段程序,純粹當作練習:

FUNCTION_BLOCK FB 1
TITLE =
//KNOW_HOW_PROTECT
VERSION : 0.1


VAR_INPUT
PV : REAL ;
END_VAR
VAR_OUTPUT
out : INT ;
END_VAR
VAR
I : INT ; //積分時間(0.1s)
Kp : REAL ; //比例
Kd : REAL ; //微分增益
PV0 : REAL ; //上次過程值
SP : REAL ; //設定點
MV : REAL ; //輸出值
_1 : BOOL ;
_2 : BOOL ;
EV : REAL ; //靜差
END_VAR
VAR_TEMP
temp0 : REAL ;
temp1 : REAL ;
temp2 : BOOL ;
temp3 : BOOL ;
END_VAR
BEGIN
NETWORK
TITLE =
//積分時間設定:每次運算的周期
A M 0.0; //0.1s脈沖
CD C 0;
A #_1; //設定時間值
L #I;
S C 0;
AN C 0;
FP #_2;
= #_1;

NETWORK
TITLE =
//PID運算:MV=MV+Kp{(SP-PV)-Kd(PV-PV0)}
//
A #_1;
JNB _001;
L #PV;
L #PV0;
-R ;
L #Kd;
*R ;
T #temp0;
L #SP;
L #PV;
-R ;
T #EV;
L #temp0;
-R ;
L #Kp;
*R ;
T #temp1;
L #MV;
+R ;
T #MV;
_001: NOP 0;


NETWORK
TITLE =
//設置上限為100%
//運算結果超出上限是無意義的,例如當結果為150%時,實際上執行的是100%,更重要的是從
//150%返回到100%會使反應緩慢。


A( ;
L #MV;
L 1.000000e+002;
>=R ;
) ;
JNB _002;
L 1.000000e+002;
T #MV;
_002: NOP 0;
NETWORK
TITLE =

A( ;
L #MV;
L 0.000000e+000;
<=R ;
) ;
JNB _003;
L 0.000000e+000;
T #MV;
_003: NOP 0;
NETWORK
TITLE =
//將工程量(如溫度值)轉換為數字量輸出,供數/模轉換(模擬量輸出)
L #MV;
L 2.764800e+002;
*R ;
RND ;
T #out;

NETWORK
TITLE =
//將本次過程值寫入“上次過程值”,以準備下次運算
// ------刷新

L #PV;
T #PV0;

END_FUNCTION_BLOCK
[fly]忽悠,接著忽悠……[/fly]

主站蜘蛛池模板: 日本三级在线观看免费| 成人涩涩屋福利视频| 亚洲视频精选| 国产精品福利| 亚洲精品青青草原avav久久qv| 91美女在线视频| 美女舒服好紧太爽了视频| 秘书喂奶好爽一边| 4444www免费看| 久久黄色大片| 亚洲欧美国产自拍| jzz大全部| 国内精品久久久久久不卡影院| 日本在线播放视频| 99这里只有精品在线| 日韩v| bestialitysex杂交| 四虎国产精品视频免费看| 三级理论在线观看| 午夜影视免费| 俄罗斯女人与公拘i交酡| 华人亚洲欧美精品国产| 无码任你躁久久久久久久 | 沉沦艳妇杨幂肉体小说| 日本xxxxx18护士xxx| 边摸边操| 69短视频| 不良小说| 国产成人精品s8sp视频| 日本mv精品中文字幕| 亚洲好色网| 亚洲高清在线视频| 国产视频福利| 51精品| www.99精品视频在线播放| 亚洲国产高清一区二区三区| 日韩精品一区二区三区中文字幕| 欧美人xxxxxbbbb| 日韩精品在线视频观看| 国产理论片在线观看| 久久黄色免费|