這個項目是我們公司其中一個產(chǎn)品需要額外添加的一個pid功能,因為要控制排風(fēng)口的壓力,保持在一個范圍之內(nèi),所以需要檢測進氣口的輸入壓力來達到控制排風(fēng)口的壓力,所以就采取了pid調(diào)節(jié),本來用變頻器本身的pid也是可以的,但是為了將參數(shù)可以在觸摸屏上設(shè)置(這里做的復(fù)雜了,但是客戶操作起來方便些)模塊:cj1m 歐姆龍的plc 模擬量輸入模塊cj1w-mad42 (還有別的模塊這里用不到,就暫時不寫明)。
首先要使用這個通道:下面的程序表示的是使用此通道,而且我使用的是第二個模擬量輸出通道,這個必須設(shè)置為1,才表示使用這個模擬量通道,非常重要。
plc硬件部分的設(shè)置如下:因為采集的是電壓輸入(0-5v),所以要處于off狀態(tài),這里要結(jié)合cj1w-mad42,可以去歐姆龍官網(wǎng)進行下載。
下面這部分是為了設(shè)置歐姆龍plc中硬件輸入的電壓范圍(0-10v)分辨率是4000 ,分辨率就是模擬量對應(yīng)的數(shù)值量。
上圖中,這是在編程軟件中設(shè)置通道模擬量的輸入范圍,而我這個實際在程序中也進行了設(shè)置,后來我和歐姆龍官網(wǎng)的技術(shù)人員溝通過,他們說只需要在這個地方進行設(shè)置就好了,你們以后可以就這樣操作,不需要在程序中進行賦值了。
那現(xiàn)在直接附上我的程序部分了,首先是初始化p、i、d等參數(shù)
先初始化pid參數(shù)之后,然后接通pidat這個指令,這時候要確保過程值是圍繞設(shè)定值進行3次上下波動的,這樣才能完成自整定,這點很重要,一定要先大于一次,在小于一次,這樣的反復(fù)三次,待自整定結(jié)束之后,我程序中的d2600.15位會有1轉(zhuǎn)換到0,這就表示自整定結(jié)束了,這時候你會發(fā)現(xiàn)p、i、d這三個數(shù)值發(fā)生了變化,那就表示可以了。