APP下载

实验室环境监测系统的设计与实现

2020-12-07丛雨山毓俊

品牌与标准化 2020年6期

丛雨 山毓俊

【摘要】 为实现对实验室环境温湿度的集中监测,本文设计了一套实验室环境监测系统,包含硬件网络结构和软件代码编程,该系统易于部署、方便移植,能够应用于绝大多数环境温湿度监测的场合。

【关键词】 温湿度检测;Modbus;TCP协议;实时曲线

【DOI编码】 10.3969/j.issn.1674-4977.2020.06.018

Abstract: In order to realize the centralized monitoring of temperature and humidity in the laboratory,this paper designs a laboratory environment monitoring system,including hardware network structure and software code programming. The system is easy to deploy and transplant,and can be applied to most environmental temperature and humidity monitoring occasions.

Key words: temperature and humidity detection;modbus;TCP;real-time curve

很多实验室对温湿度等环境条件都有特殊的技术要求,而有些技术要求的环境温湿度上下限变化比较细微,很多时候并不能通过身体感知。有时候需要同时对多个现场环境进行检测,为此,我们提出建立一套温湿度环境监控系统来对环境进行监控。

1 系统总体设计

系统设计有三个目的,或者说要达到如下三个效果:

1)获取实时环境温湿度,超限及时报警、处理;

2)绘制各环境监控点温湿度实时曲线,便于人员观察、检测;

3)记录各时段温湿度参数,绘制各时段温湿度曲线,便于出具报告和追溯。

2 系统编程与实现

2.1 数据采集与ModbusTCP协议

系统选用的温湿度传感器采用ModbusTCP协议,在传感器和上位机之间传输数据。Modbus是MODICON公司于1979年设计开发的一种工业现场总线协议标准,施耐德公司在1996年推出基于以太网TCP/IP的Modbus协议:即ModbusTCP协议。各个温湿度传感器终端作为Server,环境监控服务器作为Client,按照环境采样周期与传感器建立连接,遍历各温湿度监测点,读取温湿度传感器温湿度记录。以下为该功能的部分实现代码

sSQL="select Lab_name,Sensor_ID,Sensor_IP Sensor_name,Conn_setting from t_Sensor_info” Set rs= Conn.Execute(sSQL) ‘从数据库读取温湿度传感器信息

j=0

If Not (rs.EOF And rs.BOF) Then

rs.MoveFirst ‘获取第一条温湿度传感器信息

Do While Not rs.EOF

If Connect_Sensor(rs(“Sensor_IP”), rs(“Conn_setting”))=1 ‘返回1表示连接成功

Get_wendu_value()

Get_shidu_Value()

sSQL2=”insert into T_wendu_table(lab_name,Sensor_name,record_time,Value) values (rs(“Lab_name”), rs(“Sensor_name”),now(),Get_wendu_value())” ‘将采集的温湿度数据写入数据库

Conn.Execute(sSQL2)

rs.MoveNext  ‘转到下一个传感器

Loop

End If

2.2 实时曲线绘制

在进行校准、测试工作时,我们通常会按照技术要求记录一下环境温湿度。但实际上,环境温湿度是一直在动态变化的,而我们没办法在记录上记录整个时段温湿度数据。如果我们能按要求绘制出某个时段的温湿度变化曲线,就可以对我们工作的环境参数进行更有效地记录和表达。而对环境监控人员来说,温湿度变化曲线无疑比数据表格更直观。配上各实验室要求的环境温湿度上下限,更方便环境监控人员进行监控。

本文利用两张图片来绘制温湿度曲线,每次在后台的图片中绘制好变化部分,再显示到前台,防止图片刷新产生的闪烁。以下为该功能的部分实现代码。

sSQL="select * from T_wendu_table where Record_time> " string(t1) +” and Record_time<”+string(t2) ‘从数据库读取某个时间段内各测量点的温度数据

Set rs =Conn.Execute(sSQL)

j=0

If Not (rs.EOF And rs.BOF) Then

rs.MoveFirst

Do While Not rs.EOF

j=j+1

Value(1,j)=rs!Value

If Real_Max

Real_Max=rs!Value ‘最高溫度记录值

End If

If Real_Min>rs!Value Then

Real_Min=rs!Value ‘最低温度值

End If

Label9(1).Caption=Format(Real_Max, "###.0000")

Label10(1).Caption=Format(Real_Min, "###.0000")

Label3(P_index*24+j).Caption=Format(Value(1,j), "##.0000")

Zuobiao_Value(1,j)=Picheight-400-(Value(1,j)-Min_value) /(Max_value-Min_value)*100*StepY

rs.MoveNext

Loop

End If

Picture1(P_index).Visible=True

P_index=P_index+1

If P_index=2 Then

P_index=0

End If

Picture1(P_index).Visible=False

refresh_picture(P_index)

rs.Close

Set rs=Nothing

实际运行时,温湿度会随着空气的循环、人员的进出有一定程度的波动,下图为利用本程序绘制的实时曲线。

上述系统除了用于实验室环境监测,亦可用广泛应用于仓库、粮库、武器弹药库的环境监控。

【参考文献】

[1] 邵婷婷,韦强,肖晟涵.一种基于云平台的溫湿度监测系统设计[J].电子设计工程,2020(5):92-96.

[2] 王涛,王纪强,赵林.粮仓光纤温湿度监测技术研究[J].粮油仓储科技通讯,2019(6):49-52.

[3] 尹婷婷,沈志勇,韩振华,等.木结构建筑温湿度在线监测系统研究[J].建筑施工,2019(12):2242-2249.

[4] 尹婷婷.基于物联网的木结构建筑温湿度监测系统预警机制探讨[J].建筑施工,2020(3):458-461.

[5] 谢剑英.一种军用备件库房温湿度监测装置的设计[J].电子世界,2019(22):138-140.

[6] 李重阳,徐劲松.航空弹药贮存环境温湿度远程智能监测仿真[J].计算机仿真,2019(1):57-60.

[7] 纪学鑫.一种新型无线温湿度监测系统的设计与应用[J].中国医学装备,2019(7):30-33.

【作者简介】

丛雨(1978-),男,工程师,研究方向为计算机信息系统,网络管理,网络安全。

山毓俊(1978-),男,高级工程师,硕士,研究方向为信息技术、包括自动化检测、图像模拟、图像识别。