導航:首頁 > 源碼編譯 > 水位控制演算法

水位控制演算法

發布時間:2022-09-20 10:25:51

① 設計洪水位、校核洪水位怎麼確定設計頻率洪水過程怎麼做

設計洪水位是發生設計頻率的洪水時,斷面對應的水位,校核洪水位也是一樣的
首先要進行洪水計算,方法有水文比擬法和推理公式法;其次如果是水工建築物要進行調洪演算,確定相應頻率洪水對應的水位;如果是一般的河道,一般選擇較為順直的斷面,用謝才公式推流,再結合歷史洪水調查,綜合確定洪水位。
洪水過程一般都在洪水計算時,軟體自動生成的。

② 水塔水位自動控制plc程序圖,求大神

水塔水位自動控制plc程序圖:

(2)水位控制演算法擴展閱讀

梯形圖編程的一般規則有:

1、梯形圖按自上而下、從左到右的順序排列。每一個邏輯行起始於左母線然後是觸點的各種連接,最後是線圈或線圈與右母線相連,整個圖形呈階梯形。梯形圖所使用的元件編號地址必須在所使用PLC的有效范圍內。

2、梯形圖是PLC形象化的編程方式,其左右兩側母線並不接任何電源,因而圖中各支路也沒有真實的電流流過。

但為了讀圖方便,常用「有電流」、「得電」等來形象地描述用戶程序解算中滿足輸出線圈的動作條件,它僅僅是概念上虛擬的「電流」,而且認為它只能由左向右單方向流;層次的改變也只能自上而下。

3、梯形圖中的繼電器實質上是變數存儲器中的位觸發器,相應某位觸發器為「1態」,表示該繼電器線圈通電,其動合觸點閉合,動斷觸點打開,反之為「O態」。

梯形圖中繼電器的線圈又是廣義的,除了輸出繼電器、內部繼電器線圈外,還包括定時器、計數器、移位寄存器、狀態器等的線圈以及各種比較、運算的結果。

4、梯形圖中信息流程從左到右,繼電器線圈應與右母線直接相連,線圈的右邊不能有觸點,而左邊必須有觸點。

5、繼電器線圈在一個程序中不能重復使用:而繼電器的觸點,編程中可以重復使用,且使用次數不受限制。

③ 圖中是嵌入式空調裡面的水位報警開關 請問一下它的原理是什麼 謝謝

入水口處安裝一個電磁閥,水池中安置一個液位感測器。用按鍵,MCU和LED來完成數字輸入與顯示。把設定的水位與夜位感測器的數值比較得到水位誤差,用該誤差的放大信號去控制電磁閥開斷!(可以用PID演算法)從而控制水位在設定值。

④ PID演算法怎麼用

U不能代替V,它們有關聯但不是同一個東東。

一般在自動控制中,控制模塊(PID等)輸出的是控制值,但不是輸出值。它們的關系在於PID控制模塊輸出到PID輸出的部分——這個部分,你初入門把它當成「另一個系統X或另一個單獨的設備X」即可。系統X是接受U輸入,再產生V輸入。
拿個實際的例子來說,有個PID要控制水箱水位,上面有入水的水龍頭,下方是出水口流出。這個水位就是V輸入,通過某個測量器(水位計什麼的)輸入到PID。然後PID輸出U,這里請注意!它的輸出U接到水龍頭,而水龍頭給出的控制方式,是以它的水量影響水箱水位,最後繞回來,水位被測出以V輸入到PID。
所以在這個系統中,除PID外,「水龍頭-出水-水箱水位」可以視為一套單獨的系統,PID以輸出影響水龍頭(水龍頭排出的水量),再注意一下,水龍頭對水箱水位的控制是不可預知的,因為不是小學數學題,沒有恆定值。水龍頭開了100%能產生的流量,可能是200,可能是180,也可能是170,更進一步在水箱中,因為排出量可能變化的影響,即例水龍頭恆定了流量,水位也會波動,因此PID外部的「水龍頭-出水-水箱水位」系統,可能會有不可預知的波動,但「大方向」是可預料的,比如這個系統,PID的U影響水龍頭,間接對水位的大小是一個正向變化,U越大,水位V(輸出值)在正常情況下加一個向上增值的影響。
考慮有個同學,他按「人工思考」的方式控制水箱水位,他的能力是可以操作水龍頭,能看到水箱水位,相當於上面的U和V,現在BOSS要求他說,必須把水箱水位控制在40%這個位置(給定值),有誤差可以,盡量控制。當他看到水位低於40%時,會把水龍頭開大,然後根據水位的變化再調水龍頭出水的大小,好吧他發現開了水龍頭,水位從30%緩慢上升,他一想可能是下面出水太多,就會把水龍頭擰大一點(D演算法,偏差變化越大,正反向開得越大,I演算法,經過一定時間累積值越大,調節U的力度越大),反之亦然,水位從30%向給定的40%上升的速度太快,他會想,快到40%前把水龍頭擰小點,讓出水和進水差不多。

說回你那個電機,它接受U,相當於「水龍頭」,後面電機的輸出不可能立即當成V送回PID,而是控制某個設備作正向或反向的增加量,比如這電機連接到一個送料器,控制容器送出給料,那就是個反向增量,PID系統測量出料的多少為V,同樣的,由於現實系統的一些不確定性,經常會有另一個擾動加在送料系統上。PID的目的就是找出控制參數,盡量找到一個平衡點,令U對V的間接輸出趨近PID的給定值

⑤ 如何用變頻器實現水位恆定

一、需要高、低二個水位開關。
二、給變頻器設定一個基礎運行頻率,用來控制水泵的電機。以這個基礎頻率運行的水泵抽到水箱里的水,應等於或略小於出水的流量。
三、水位低至低水位開關接通時,變頻器開始慢慢加速----提升頻率。水位高至高水位開關接通時,變頻器開始慢慢減速----降低頻率。
四、變頻器的設置和接線:各變頻器的接線端子和設置各不相同,你可以向廠家的技術人員問訊。

⑥ 求助。。用C語言寫個代碼:就是做一個低水位一個高水位的檢測,低於某個水位就自動上水,高於就停止。。

#include <iostream>

using namespace std;

void checkWaterLevel(int uLevel,int dLevel); //檢查水位函數
bool controlWaterLevel(); //PI演算法檢查水位 ,演算法自己添加進去,

int main()
{
int upLevel,downlevel;
upLevel = 3; // 設置水位的最高值
downlevel = 7;// 設置水位的最低值

cout << "The water's upLevel is 3 and downlevel is 7! " << endl;

checkWaterLevel(upLevel,downlevel);

return 0;
}

void checkWaterLevel(int uLevel,int dLevel)
{
int level;
cout << "Get a water level: ";
cin >> level;

if (level < uLevel) // 檢查是否在最高水位的下限
{
cout << "start work!"<<endl; // 自己把這里的方法改成單片機的控制命令就OK了,我就不幫你寫了
}
else
{
if(level > dLevel) // 檢查是否在最低水位的下限
{
cout << "stop work!" << endl; // 自己把這里的方法改成單片機的控制命令就OK了,我就不幫你寫了
}
else
{
controlWaterLevel();
}
}
}

bool controlWaterLevel() // PI演算法自己有的話,可以把PI演算法放進這個函數裡面去就可以了
{
int setWaterLevel,getWaterLevel;

cout << "Set water's level!" << endl; //設置水位的 預設值
cin >> setWaterLevel;

cout << "now water's Level is: ";
cin >> getWaterLevel; //獲得水位,怎麼獲得水位更具自己單片機的感測器來設置
cout << endl;

if (getWaterLevel == setWaterLevel) // 判斷水位是否等於設置水位

cout << "end work!" << endl; //自己把這里的方法改成單片機的控制命令就OK了,我就不幫你寫了
return false;

controlWaterLevel();
}

閱讀全文

與水位控制演算法相關的資料

熱點內容
一個單片機一個程序 瀏覽:99
python調用系統時間 瀏覽:765
鴻蒙20怎麼弄大文件夾 瀏覽:613
美團的伺服器是什麼 瀏覽:357
axure原型設計精髓pdf 瀏覽:376
svox文件夾有用嗎 瀏覽:506
怎樣才可以給軟體添加密鑰 瀏覽:587
光纖通信原理pdf 瀏覽:207
c需要用什麼編譯器 瀏覽:702
python設置斷點調試 瀏覽:313
pc手柄怎麼連接安卓 瀏覽:33
dll解壓不成功 瀏覽:344
連接地址伺服器失敗是什麼 瀏覽:399
台達dvp14ss2編程電纜 瀏覽:133
單片機開發板設置技巧 瀏覽:343
阿里雲伺服器怎麼配置git 瀏覽:414
androidcameraid 瀏覽:430
活塞式空氣壓縮機原理 瀏覽:791
vt編輯編制編譯 瀏覽:807
抖音優質創作者推薦程序員 瀏覽:75