藍(lán)藍(lán)天
級(jí)別: 略有小成
![]() |
我剛學(xué)西門子PLC編程,因?yàn)楣拘枰矣肞ID向?qū)ё隽艘粋(gè)PID程序不知對(duì)不對(duì),請(qǐng)那位高手給我看一下,如果不對(duì)的話應(yīng)該要怎么改? (我用的PLC是224的,溫度模塊是2路PT100熱電阻輸入模塊,量程我設(shè)的是400度.程序中M3.0是位式和PID切換,VW250是測(cè)量溫度,VD200是設(shè)定溫度,Q0.1是控制電加熱的,在觸摸屏上設(shè)的數(shù)據(jù)地址是P=VW12,I=VW20,D=VW24,采樣時(shí)間是VW16,采樣時(shí)間是不是就是周期時(shí)間?) |
---|---|
|
beiye1234
級(jí)別: 略有小成
![]() |
1,變量輸入有問題應(yīng)該讀取數(shù)字量0-4000,而不是實(shí)際值。 2,VD200與VW200地址問題,你可以將VW250轉(zhuǎn)換成實(shí)數(shù)與VD200比較 3,不知道PID0_INIT中網(wǎng)絡(luò)13以后的處理依據(jù)。 |
---|---|
|
beiye1234
級(jí)別: 略有小成
![]() |
P=VW12,I=VW20,D=VW24,采樣時(shí)間是VW16??? 地址應(yīng)該是VD,寫入的是實(shí)數(shù)! 我覺得你對(duì)字、雙字的理解有問題 1,如果VD要求寫入的是整數(shù)的,當(dāng)然可以寫入其低字節(jié)(值小于66535)是可以的,假如VD200,其低字節(jié)是VW202,而不是vw200。 2,你要明白實(shí)數(shù)與整數(shù)的存儲(chǔ)的方式是不樣的。 采樣周期-間隔多少時(shí)間調(diào)用一次PID運(yùn)算 |
---|---|
|
藍(lán)藍(lán)天
級(jí)別: 略有小成
![]() |
我在VD200里面寫入的是整數(shù)而不是實(shí)數(shù)那應(yīng)該不用整數(shù)實(shí)數(shù)轉(zhuǎn)換了吧 |
---|---|
|
藍(lán)藍(lán)天
級(jí)別: 略有小成
![]() |
那樓上的朋友能不能幫我改一下,改好后給我發(fā)到郵箱里面.我的郵箱是326767265@QQ. 或者上傳到論壇也行. |
---|---|
|
beiye1234
級(jí)別: 略有小成
![]() |
PID的運(yùn)算要求設(shè)定值是實(shí)數(shù),你沒有看到局部變量對(duì)Setpoint_R的要求是real嘛!,如果你想輸入為整數(shù)的話,那建議在子程序里修改。 PID0_Output_D:VD86和PID0_Dig_Timer:VD82應(yīng)該是生產(chǎn)向?qū)r(shí)給PID配置空間,你用這兩個(gè)單元的目的是為什么?如果只是找兩個(gè)存儲(chǔ)單元,建議不要用這兩個(gè),本人猜測(cè)是為PID自整定使用的。 然后你PID0子程序的網(wǎng)絡(luò)13以后程序你是怎樣的一個(gè)思路? 至于你想讓我改發(fā)給你的話!你程序中的一些問題我已經(jīng)寫出來(lái)了,你自己改你才會(huì)有收獲,我改收獲全是我的。 有什么問題你可以發(fā)e-mail QQ295491418 |
---|---|
|