#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()
}
另外,团IDC网上有许多产品团购,便宜有口碑
首先,请你具体说明题意。
我理解的思路如下:
1.控制思路:有高液位感应器和低液位感应器,用于给PLC反馈液位高度;
2.控制要求:低于低液位时向水塔注水,高于高液位时停止注水;
3.编写程序:首先排配IO点,我们假设低液位感应为X0,高液位感应为X1,触发水泵动作的控制点为Y0,则编写如下。
工作原理:
系统采用AT89S52单片机作为主、从机的控制芯片,24位高精度A/D转换芯片Hx711处理称重传感器输出微弱电压信号的变化,将其转换为数字信号,通过软件将ADHX711转换后的数字信号换算成相应的水位值显示在液晶屏12864上。水位控制装置如图,水位控制系统。
系统采用刻度尺作为实际值的测量工具;主机按键模块的作用是设定水箱水位;主机显示模块显示水泵状态及水箱水位值、当前水位值;串口模块传输数据及控制信号;从机显示模块显示状态与主机显示模块一致。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)