① 设计洪水位、校核洪水位怎么确定设计频率洪水过程怎么做
设计洪水位是发生设计频率的洪水时,断面对应的水位,校核洪水位也是一样的
首先要进行洪水计算,方法有水文比拟法和推理公式法;其次如果是水工建筑物要进行调洪演算,确定相应频率洪水对应的水位;如果是一般的河道,一般选择较为顺直的断面,用谢才公式推流,再结合历史洪水调查,综合确定洪水位。
洪水过程一般都在洪水计算时,软件自动生成的。
② 水塔水位自动控制plc程序图,求大神
水塔水位自动控制plc程序图:
梯形图编程的一般规则有:
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();
}