|
將S7-1200的PID調(diào)試出來(lái),發(fā)現(xiàn)不太好用,容易報(bào)錯(cuò)。將寫好的PID增量式程序下載進(jìn)去,終于好了。
這個(gè)問(wèn)題我遇到過(guò),現(xiàn)在已經(jīng)解決了。個(gè)人感覺(jué)西門子的PID還是很強(qiáng)大的,自整定后非常穩(wěn)定。我有個(gè)5個(gè)加熱區(qū)需要工作,其他4個(gè)區(qū)用自己做的PID 可以正常工作,但是有一個(gè)區(qū)卻始終達(dá)不到使用要求,溫度的偏差在20度左右。
然后用S71200的PID功能塊自整定以后,效果非常好,溫差在0.5度以內(nèi)。問(wèn)題就是當(dāng)模塊的輸入值超限以后,PID工作塊會(huì)報(bào)故障,復(fù)位故障,重新上電以后也不能正常工作。
這個(gè)時(shí)候,你需要做一個(gè)自己復(fù)位的小程序,復(fù)位下功能塊就可以了。當(dāng)有故障時(shí)自動(dòng)復(fù)位功能塊,但是這個(gè)時(shí)候功能塊的狀態(tài)值會(huì)變成0。狀態(tài)為0的時(shí)候加熱是不會(huì)工作的。
下面做了個(gè)小程序,當(dāng)狀態(tài)字的值為零時(shí),把3賦值給地址"PID_Compact_DB_1".sRet.i_Mode就OK了。做了這個(gè)以后加熱功能PID 再也沒(méi)有出過(guò)問(wèn)題。
下面的內(nèi)容來(lái)源于S7-1200的PID功能塊的幫助信息。
PID功能塊的輸出參數(shù)State用來(lái)顯示PID控制器的當(dāng)前操作模式。
State = 0:未激活
State = 1:預(yù)調(diào)節(jié)
State = 2:精確調(diào)節(jié)
State = 3:自動(dòng)模式
State = 4:手動(dòng)模式
不能修改State 參數(shù),需要通過(guò)修改變量sRet.i_Mode來(lái)更改操作模式。首先設(shè)置sRet.i_Mode = 0,然后設(shè)置sRet.i_Mode = 3。如果控制器的當(dāng)前操作模式支持此更改,則會(huì)將State設(shè)置為sRet.i_Mode的值。
|
|