实验20 自动灭火场景实验

实验20 自动灭火场景实验 1.实验目的串口屏通过温度传感器检测火焰温度当火焰温度超过报警温度时启动风扇进行灭火。2.实验工具支持MODBUS、IO的串口屏本例程串口屏型号为SANY-WV-S43-04M-C支持MODBUS的温度传感器本例程使用的是自主生产的传感器一个5V继电器、一个直流电机、一个IO转接板及软排线3.页面设计项目设置勾选MODBUS 主机。修改波特率为9600传感器波特率为9600需要保持一致。page0 页面控件控件名属性功能image0可见 图片场景UIprogressbar6可见 进度条显示当前温度numf6可见 浮点数显示当前温度numf8可见 浮点数设置报警温度透明度属性设置为0gif7可见 GIF图片显示动态报警io2不可见 IO控件输出高低电平初始化为低电平0mod3不可见 MODBUS支持使用MODBUS协议timer4不可见 定时器用于定时查询温度传感器并显示timer10不可见 定时器用于对比报警值超出报警温度时IO输出高电平4.传感器模块参数波特率9600 功能码03读取寄存器设备地址寄存器地址10x0000温度只读float类型一个寄存器表示温度单位*0.01℃0x0001湿度只读float类型一个寄存器表示湿度单位*0.01%rh本例程仅使用温度寄存器。5.逻辑实现5.1 页面加载事件初始报警温度脚本如下numf8.valf60.0;//初始化报警温度5.2 定时查询温度timer4脚本如下intRet;RetmodbusRead(0x01,0x03,0x0000,2,100);//查询一次if(Ret0)//查询成功{numf6.valf(float)(mod3.rxBuf[1]8|mod3.rxBuf[2])/100;//转换温度progressbar6.val(int)numf6.valf;}5.3 对比报警温度timer10脚本如下if(numf6.valfnumf8.valf)//读取温度超过设置温度{gif7.visible1;//GIF图片可见io2.val1;//IO.Pin0输出高电平}else{gif7.visible0;//GIF图片隐藏io2.val0;//IO.Pin0输出低电平}6.实验结果编译成功后点击下载按钮下载到串口屏。具体实验现象用串口屏做一个自动灭火场景哔哩哔哩bilibili