用PLC构成水塔水位自动控制系统,掌握定时器的使用方法。
二、实验内容
(1)当水池水位低于水池低水位界(S4为ON表示),阀Y打开进水(Y为ON)定时器开始定时;
(2)阀Y打开4秒后,如果S4还不为OFF,那么阀Y指示灯闪烁,表示阀Y没有进水,出现故障;
第 1 页
水位检测系统水位监测系统采用GPRS模块进行数据传输,具有停、掉电数据不丢失,软、硬件采用多种抗干扰技术,使用可靠性高的特点。该仪表可与任何液位变送器配接组成液位测控系统。
本控制器具有万能输入特点,能与各种液位传感器配套具有完善的网络通讯功能,与计算机控制软件进行高速、高效的双向数据交换
产品功能特点
1、水位及流量监测
控制器通过GPRS模块与流量计/水位监测器相连接,按照其通讯协议读取瞬时流量、累计流量以及当前水位等测量数据,并即时传送给控制软件,使监控人员随时了解当前状况。 2、水泵的电量测量
通过内置的电参数采集模块,可测量水泵的三相电压、三相电流、有功功率、功率因数、有功电量等数据。通过上位机对电压互感器或电流互感器的变比进行远程配置。
3、传感器信号输入
控制器有两路4~20mA /0(1)~5V的标准模拟信号输入通道,与现场水位和(或)压力传感器(或其变送器)连接,用于检测水井的水位和管线压力,量程由上位机根据现场的情况配置。 4、本地及远程启停水泵
控制器有三路继电器输出,可用于对交流接触器的控制,进而控制水泵的启停。一路使用继电器的常闭触点,控制水泵停机;一路使用继电器的常开触点,控制水泵启动。两路均可通过GPRS远程控制或现场按键控制。第三路继电器为根据
需要进行功能扩展预留(如预付费功能-增加加入水量充值功能,根据剩余水量的有无控制水泵的启停;或报警功能等)。 5、启停控制结果反馈
控制器有四路无源开关量信号输入通道,用于对水泵启停状态的反馈。在上位机发出水泵的启停命令后,若命令成功执行,水泵状态发生 启->停 或 停->启 的变化,控制器通过四路开关量信号输入通道检测到水泵状态的变化,并将水泵的状态和电参数主动上传给上位机,供监控人员查看。在水泵启动成功后的正常运行过程中该功能可用于对水泵状态的监测,使监控人员及早获知如水泵停机等故障的发生。
6、参数超限自动报警
控制器具有对敏感参数(电压、电流、流量)的监视功能,可通过上位机本地或远程对参数的上下限进行配置。当参数超出设定的上下限范围时,控制器立即主动向上位机发出报警信号,并将参数的数值发送给上位机供监控人员参考。 7、设备检查和故障主动上传
控制器对与其相连接的设备(水表、电表、传感器)具有实时检查的功能,当发现设备运行不正常时,可将故障信息反馈给上位机,使监控人员及早获知并排除故障。
8、按键 *** 作,具有手动、自动切换功能
控制器有6个按键,从左至右分别为:控制器复位键、水泵启动键、水泵停止键、保留、水泵现场控制使能键、定屏及翻屏键。 9、面板信息指示
面板右侧设置有电源指示、运行指示、开关信号输入指示(4个)、模拟信号输入指示(2个)、水表故障、电表故障共10个指示灯,反应控制器内部的运行情况。 10、通讯
控制器有两个通讯接口。一个RS485通讯接口,可与其他485接口设备的连接,也可以为程序下载口,用于控制器程序的升级下载,也可在调试程序时与上位机连接,方便调试;另外一个为RS232数据远传接口,根据用户需要进行组网(比如:GPRS、CDMA、微波、数传电台等)。
个s实现的程序,按照流程走已v经实现,不g过单片3机的数据通道你应该可以4自己j打开w吧,以8及l把单片5机传感器上u获得的值给我写的那些参数就可以2了j,自己w去实现以2下e就可以1了y,我用的C++写的,你可以1把预处理文5件改称C,更具自己r的编译器来吧 #include <iostream>using namespace stdvoid checkWaterLevel(int uLevel,int dLevel)。。检查水5位函数 bool controlWaterLevel()。。PI算法检查水4位 ,算法自己z添加进去, int main() { int upLevel,downlevelupLevel = 4。。 设置水0位的最高值 downlevel = 0。。 设置水6位的最低值 cout <<"The water's upLevel is 8 and downlevel is 2! " <<endlcheckWaterLevel(upLevel,downlevel)return 0} void checkWaterLevel(int uLevel,int dLevel) { int levelcout <<"Get a water level: "cin >>levelif (level <uLevel) 。。 检查是否在最高水3位的下f限 { cout <<"start work!"<<endl。。 自己i把这里的方5法改成单片4机的控制命令就OK了u,我就不e帮你写了j } else { if(level >dLevel) 。。 检查是否在最低水4位的下i限 { cout <<"stop work!" <<endl。。 自己y把这里的方7法改成单片8机的控制命令就OK了t,我就不w帮你写了i } else { controlWaterLevel()} } } bool controlWaterLevel() 。。 PI算法自己k有的话,可以1把PI算法放进这个a函数里面去就可以4了w { int setWaterLevel,getWaterLevelcout <<"Set water's level!" <<endl。。设置水5位的 预设值 cin >>setWaterLevelcout <<"now water's Level is: "cin >>getWaterLevel。。获得水2位,怎么m获得水2位更具自己d单片1机的传感器来设置 cout <<endlif (getWaterLevel == setWaterLevel) 。。 判断水2位是否等于l设置水5位 cout <<"end work!" <<endl。。自己n把这里的方8法改成单片7机的控制命令就OK了o,我就不r帮你写了v return falsecontrolWaterLevel()} 另外,团IDC网上o有许多产品团购,便宜有口d碑z茅mu铡ou铡tx肌簪病瘿qⅣ◇cqⅣ◇欢迎分享,转载请注明来源:内存溢出
评论列表(0条)