藍藍天
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 66 個
工控威望: 263 點
下載積分: 23468 分
在線時間: 372(小時)
注冊時間: 2007-10-21
最后登錄: 2024-11-23
查看藍藍天的 主題 / 回貼
樓主  發(fā)表于: 2011-03-25 20:59
我剛學西門子PLC編程,因為公司需要我用PID向?qū)ё隽艘粋PID程序不知對不對,請那位高手給我看一下,如果不對的話應該要怎么改?
(我用的PLC是224的,溫度模塊是2路PT100熱電阻輸入模塊,量程我設的是400度.程序中M3.0是位式和PID切換,VW250是測量溫度,VD200是設定溫度,Q0.1是控制電加熱的,在觸摸屏上設的數(shù)據(jù)地址是P=VW12,I=VW20,D=VW24,采樣時間是VW16,采樣時間是不是就是周期時間?)
附件: 位式和PID共用 LPG5.rar (9 K) 下載次數(shù):424
網(wǎng)站提示: 請不要用迅雷下載附件,容易出錯
beiye1234
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 255 個
工控威望: 282 點
下載積分: 914 分
在線時間: 250(小時)
注冊時間: 2010-02-05
最后登錄: 2017-07-31
查看beiye1234的 主題 / 回貼
1樓  發(fā)表于: 2011-03-25 22:02
1,變量輸入有問題應該讀取數(shù)字量0-4000,而不是實際值。
2,VD200與VW200地址問題,你可以將VW250轉(zhuǎn)換成實數(shù)與VD200比較
3,不知道PID0_INIT中網(wǎng)絡13以后的處理依據(jù)。
beiye1234
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 255 個
工控威望: 282 點
下載積分: 914 分
在線時間: 250(小時)
注冊時間: 2010-02-05
最后登錄: 2017-07-31
查看beiye1234的 主題 / 回貼
2樓  發(fā)表于: 2011-03-25 22:31
P=VW12,I=VW20,D=VW24,采樣時間是VW16???
地址應該是VD,寫入的是實數(shù)!
我覺得你對字、雙字的理解有問題
1,如果VD要求寫入的是整數(shù)的,當然可以寫入其低字節(jié)(值小于66535)是可以的,假如VD200,其低字節(jié)是VW202,而不是vw200。
2,你要明白實數(shù)與整數(shù)的存儲的方式是不樣的。
采樣周期-間隔多少時間調(diào)用一次PID運算
beiye1234
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 255 個
工控威望: 282 點
下載積分: 914 分
在線時間: 250(小時)
注冊時間: 2010-02-05
最后登錄: 2017-07-31
查看beiye1234的 主題 / 回貼
3樓  發(fā)表于: 2011-03-27 09:41
引用
引用第4樓藍藍天于2011-03-26 20:17發(fā)表的  :
我在VD200里面寫入的是整數(shù)而不是實數(shù)那應該不用整數(shù)實數(shù)轉(zhuǎn)換了吧

PID的運算要求設定值是實數(shù),你沒有看到局部變量對Setpoint_R的要求是real嘛!,如果你想輸入為整數(shù)的話,那建議在子程序里修改。
PID0_Output_D:VD86和PID0_Dig_Timer:VD82應該是生產(chǎn)向?qū)r給PID配置空間,你用這兩個單元的目的是為什么?如果只是找兩個存儲單元,建議不要用這兩個,本人猜測是為PID自整定使用的。
然后你PID0子程序的網(wǎng)絡13以后程序你是怎樣的一個思路?

至于你想讓我改發(fā)給你的話!你程序中的一些問題我已經(jīng)寫出來了,你自己改你才會有收獲,我改收獲全是我的。
有什么問題你可以發(fā)e-mail  QQ295491418