- 4
- 0
- 约2.56千字
- 约 18页
- 2019-06-08 发布于天津
- 举报
基于以太网的多协议温湿度采集系统 高能所:张银鸿、闵建 时间:2015.4.11 课题来源和任务 来源: 核电子学与探测技术国家重点实验室自主部署课题 经费支持10万 任务: 硬件电路的设计和PCB的制作 单片机程序的开发 单片机上TCP/IP协议栈的移植 PC上Windows下驱动的开发和LabVIEW软件的设计 Linux下EPICS驱动开发和CSS软件的设计 基于WEB页面的监测软件的开发 传感器的介绍 接口方式为1-Wire 总线式扩展 供电范围是3.0-5.5V 测量的温度范围-55°C 到 +125°C 从-10°C 到 +85°C测量的精度为±0.5°C 采用专利的CMOSens技术 供电范围是2.4-5.5V 测量的相对湿度范围0-100% 测量的温度范围-40°C 到 +123.8°C 湿度测量的精度典型值为±1.8%,分辨率0.05% 温度测量的精度为±0.3°C,分辨率0.01°C DS18B20 SHT75 传感器的通信时序 18B20时序图 SHT75时序图 硬件设计 硬件选择基于单片机系统 有比较大的FLASH和RAM 通用I/O口数量多,支持5V输入 I/O口的输出模式具有漏极开路和推挽两种方式 只扩展了网络控制器芯片 硬件接口可以连接多种传感器 实现了18B20的远距离通信 硬件设计(续) 单片机软件的设计 使用Keil IDE和C51编译器作为开发平台 TCP/IP协议栈的移植和IP地址的设置 传感器的扫描识别 通过CGI方式实现的Web Server 传感器数据采集 单片机软件的设计(续) 设置MCU运行参数 MCU初始化 包括初始化系统时钟、初始化 EMIF(扩展接口)、初始化通用接口 设置传感器参数 设置IP地址 等待网络连接 进入TCP通讯处理过程 执行上层软件通过网络发给采集模块的命令,实现上位机通讯,传感器通讯控制,传感器扫描,数据采集等功能 命令分析 读取传感器采集数据 读取传感器扫描表 设置IP地址 设置运行参数 无效命令 返回数据写入缓冲区 OPEN TCP SOCKET 检查缓冲区有数据? 有 没有 发送数据 命令执行过程 等待接收TCP包 收到正确的TCP命令和数据包 LabVIEW监控软件的设计 软件的模块化设计 实现了实时显示、报警、日志、实时曲线和历史曲线查询、数据存储等功能 软件直接安装使用 只需根据连接的传感器进行配置 LabVIEW监控软件的设计 基于Web的监控 基于linux下EPICS的监控软件设计 EPICS(Experiment Physics and Industrial Control System)是分布式的控制软件 客户端/服务器模式 使用的是Channel Access协议 Linux版本为SL 6.0,EPICS Base版本为3.14.12 模块asyn-4-20,StreamDevice-2-6 客户端软件使用的CSS BOY开发 EPICS工程的创建和StreamDevice的编译 EPICS工程的创建 TH$EPICS_BASE/bin/$EPICS_HOST_ARCH/makeBaseApp.pl –t app TH TH$EPICS_BASE/bin/$EPICS_HOST_ARCH/makeBaseApp.pl –i -t ioc TH 将StreamDevice拷贝到新创建的EPICS工程的TH目录下 修改$(TOP)/TH/configure/RELEASE文件 ASYN=/home/epics/support/asyn-4-20 STREAM=/home/epics/TH/StreamDevice 修改THApp/src/Makefile文件并重新编译 TH_DBD += stream.dbd TH_LIBS += stream asyn 创建协议文件TH.proto Protocol文件定义了EPICS记录与硬件设备间的通信协议 不同类型的设备应使用各自独立的protocol文件 ExtraInput = Ignore; Terminator = CR LF; Replytimeout = 30000; cmdReadData { out “#AA8”; in “%(TH:header.RVAL)4r%(TH:data1.RVAL)#2r%(TH:data2.RVAL)2r%”; } …… 编辑st.cmd和.db文件 编辑st.cmd文件 epicsEnvSet(“ STREAM_PROTOCOL_PATH”, “$(TOP)/协议文件的路径”) drvAsynIPPortConfigure(“TH_Port”,
原创力文档

文档评论(0)