C# 开发的环境监测上位机应用
前言
在工业和科研领域,环境监测系统的重要性日益凸显。上位机软件作为环境监测系统的关键组成部分,负责数据采集、处理和显示,对提高监测效率和准确性起着至关重要的作用。
本文将向大家介绍一款用 C# 开发的环境监测上位机软件。
软件介绍
本上位机软件为广西北海渔场监控项目定制的监控上位机软件。

开发环境
开发工具:Visual Studio 2019
开发框架:WinForms
使用控件:BeauGaugeInstrumentationSuitePro
主要语言:C#
主要功能
1、使用环境
- 在数据资料目录下先安装以下控件和软件
- 安装 BeauGaugeInstrumentationSuitePro 控件:
- 运行BeauGaugeInstrumentationSuitePro.msi 安装包进行安装。
- 安装上位机软件
- 运行北部湾深海网箱养殖水质环境监控系统.msi 安装包进行安装。
- 或者,您可以下载绿色版压缩文件,解压后直接双击运行recvdatasection.exe文件。
2、界面介绍
本上位机软件分为3个从监测节点和1个主监测节点:
- 从节点:温度、盐度、浊度、PH值、溶解氧
- 主节点:气温、风速、气压、俯仰角、横滚角、雨量、经纬度
同时,软件还隐藏了3个备用从节点,以备不时之需。

3、重启
软件菜单重启按钮:重新内部启动上位机软件
4. 设备管理
可以进行各种设备的管理。
点击打开和关闭则对应的相关设备进行通电和断电操作。

5、数据查看
对应监测点数据曲线图




历史曲线图需点击如下图箭头所示按钮,弹出当天的数据信息如下所示:




6、历史数据
可以进行各种历史数据操作,可以选择历史时间点并打开该天的数据图。
7、低信号模式
当下位机数据传输不稳定或者节点开启但无数据显示可打开低信号模式。
8、阈值设置
点击阈值设置按钮可展出阈值设置界面,再次点击隐藏,如下图:

初始化阈值设定:点击初始化阈值设定按钮打开初始阈值界面,可设定传感器数据监测范围,设定完后保存。点取消退出设定界面。初始阈值数据保存本地,即软件刚使用时设定完即可,一般不可更改。

重置:重置按钮即将初始化设定的阈值数据全部覆盖当前阈值范围数据,并关闭监测的作用。
一键开启:打开全部传感器监测数据。可手动单独开启,开启按钮提示为蓝色,关闭为白色。
若监测点数据异常在消息界面以黄色警告字体提示,同时阈值显示界面异常数据文本变红色,且每分钟自动播放2秒提示音。


项目地址
Gitee:https://gitee.com/tytokongjian /beihai-host-computer
总结
此为北海项目中的一部分。监控上位机模板项目,应用于实际生产环境,需要下位机传感器配合使用。
希望通过本文能为大家在上位机软件开发方面提供有价值的参考。欢迎在评论区留言交流,分享您的宝贵经验和建议。
最后
如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。
也可以加入微信公众号[DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!

C# 开发的环境监测上位机应用的更多相关文章
- (原创)使用C#开发高性能PLC上位机监控系统服务器应用程序
PLC服务器监控系统的特点: 1·使用微软C#面向对象开发语言开发应用程序.2·使用了健壮性与性能良好的SUPER SOCKET服务器通信框架,实现自定义应用层通信协议,支持多台PC客户端访问服务器, ...
- C#上位机开发(一)—— 了解上位机
在单片机项目开发中,上位机也是一个很重要的部分,主要用于数据显示(波形.温度等).用户控制(LED,继电器等),下位机(单片机)与 上位机之间要进行数据通信的两种方式都是基于串口的: USB转串口 — ...
- Winform 快速开发框架,上位机开发,工控机程序开发,CS程序开发
1.当客户让你做个CS程序时,当你手上一穷二白,所有都要重复造轮,你是不是很烦. 2.但如果有一个通用的,快速开发框架,就可以把你从这些基础的工作解救出来,你专注做业务就好了. 3.本人其中一个项目的 ...
- [自娱自乐] 4、超声波测距模块DIY笔记(四)——终结篇·基于C#上位机软件开发
前言 上一节我们已经基本上把超声波硬件的发射和接收模块全部做好了,接下来我们着手开发一个软硬结合的基于C#的平面定位软件! 目录 一.整体思路 二.效果提前展示 2-1.软件部分展示 2-2.硬件部分 ...
- MFC开发上位机到底用Dialog结构还是文档结构?
最近要跟着导师一起开发一款大型上位机.MFC新人在考虑用对话框结构还是文档结构. 虽然说书上说大型结构的软件都需要文档结构,但是目前来看,对话框可以实现功能,并且对话框的程序更小一些,节省资源加载速度 ...
- vc++MFC开发上位机程序
用vc++MFC开发过不少跟单片机通讯的上位机程序了.搞懂了MFC架构,开发还是很快的,与底层单片机程序通讯,可以用串口.usb.网络.短信形式.串口现在用的越来越少了,一般电脑跟单片机在一块,使用串 ...
- 【专题教程第8期】基于emWin模拟器的USB BULK上位机开发,仅需C即可,简单易实现
说明:1.如果你会emWin话的,就可以轻松制作上位机.做些通信和控制类上位机,比使用C#之类的方便程度一点不差,而且你仅会C语言就可以.2.并且成功将emWin人性化,可以做些Windows系统上的 ...
- 1-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(来看一下怎么样监听网络数据,监听电脑上位机软件的数据)
首先安装网络监听软件 运行这个软件 这个软件安装到电脑上,默认是监听咱电脑上的网络通信 咱们先监听电脑的软件的网络通信数据,然后再说怎么监听Wi-Fi和APP的软件的网络通信数据 咱就监听咱基础篇的 ...
- CY7C68013 USB接口相机开发记录 - 第四天:上位机编写1
前面学习了USB相机硬件固件.设备驱动,可以实现USB设备识别.数据发送的功能.然后,非常重要的一部分,USB设备发出的数据,我要怎么接受,怎么查看发送的数据是否是正确的.网上百度了下,大部分人都使用 ...
- 基于uFUN开发板的心率计(三)Qt上位机的实现
前言 上两周利用周末的时间,分别写了基于uFUN开发板的心率计(一)DMA方式获取传感器数据和基于uFUN开发板的心率计(二)动态阈值算法获取心率值,介绍了AD采集传感器数据和数据的滤波处理获取心率值 ...
随机推荐
- JVM笔记二双亲委派机制
JVM笔记二双亲委派机制 JVM双亲委派机制,简单来说:我爸是李刚,有事找我爸.用三个字来说:往上捅.不信?咱们一起看看. JVM的双亲委派机制 JVM类加载器是什么机制?为什么使用这种机制(这种 ...
- docker 命令 报错device or resource busy
背景: docker-compose up -d 运行容器报错:failed to remove root filesystem for xxx: remove /var/lib/docker/dev ...
- java-GUI编程之布局类型介绍
java使用AWT和Swing相关的类可以完成图形化界面编程,其中AWT的全称是抽象窗口工具集(Abstract Window Toolkit),它是sun公司最早提供的GUI库,这个GUI库提供了一 ...
- C语言浮点数转字符串实现函数
C语言浮点数转字符串可用库函数sprintf,此处为编写的简单函数. 小数部分最多显示六位. pOut:输出字符串缓冲区 f:浮点数值 isize:输出字符串缓冲区大小 char * Funftoa( ...
- Coursera, Big Data 5, Graph Analytics for Big Data, Week 3
Graph Analytics 有哪些类型 node type (labels) node schema: attributes 组成了schema. 同样的, Edge也有 Edge Type 和E ...
- 在 windows 上部署 django
环境 Django 4.1.7 python 3.11.2 Apache 2.4.46 1:安装配置 Apache 1.1:下载 Apache Apache官方下载链接 按照系统版本选择对应的,以下是 ...
- CSS – 实战 Spacing & Layout
前言 这篇想整理一下在网页开发中, Spacing (间距) 和 Layout 排版是如果被处理的. Spacing 介绍 东西密密麻麻会给人一种很恐怖的感觉. 只要加上一点空间 (间距), 整体感觉 ...
- 二叉树的 Morris 中序遍历——O(1)空间复杂度
回顾 问题陈述: 给定一棵二叉树,实现中序遍历并返回包含其中序序列的数组 例如给定下列二叉树: 我们按照左.根.右的顺序递归遍历二叉树,得到以下遍历: 最终中序遍历结果可以输出为: [3, 1, 9, ...
- 理解IO多路复用
I/O 多路复用是什么? I/O 多路复用是用户程序通过复用一个线程来服务多个 I/O 事件的机制,我们也可以将他说成是一个线程服务多个文件描述符 fd,而 I/O 多路复用是在操作系统层面实现提供的 ...
- 一条 SQL 语句在 MySQL 中是如何执行的?
本篇文章会分析下一个 SQL 语句在 MySQL 中的执行流程,包括 SQL 的查询在 MySQL 内部会怎么流转,SQL 语句的更新是怎么完成的. 在分析之前我会先带着你看看 MySQL 的基础架构 ...
