C#开发工控上位机编程 csdn_C#串口编程示例
[已排版,电脑浏览最佳]
在单片机项目开发中,上位机也是一个很重要的部分,主要用于数据显示(波形、温度等)、用户控制(LED,继电器等),下位机(单片机)与 上位机之间要进行数据通信的两种方式都是基于串口的:
- USB转串口 —— 上位机和下位机通过USB转串口连接线直接相连进行数据交互;
- 串口转WIFI(ESP8266) —— 上位机和下位机基于TCP/IP协议通过WIFI传输数据;
- 串口转蓝牙(HC-06)—— 不多用,暂不介绍;
上位机软软件开发主要包括以下两种:
1、Windows上位机(EXE可执行程序)
在Windows上,最早用VB语言开发,后来由于C++的发展,采用MFC开发,近几年,微软发布了基于.NET框架的面向对象语言C#,更加稳定安全,再配合微软强大的VS进行开发,效率奇高;
另外,如果想要在Linux上跨平台运行,可以选用Qt;如果想要更加丰富好看的数据显示界面,可以选用Labview开发;
2、Android上位机(APP)
在Android操作系统上,主要采用Java语言,使用WIFI或者蓝牙基于TCP/IP协议传输数据,利用Android Studio开发;
在此,我们主要介绍如何通过VS + C#开发电脑上位机,其它上位机的开发暂且不论。
注:VS下载与安装参考这篇较详细的博客
https://blog.csdn.net/qq_36556893/article/details/79430133
我们来自己动手写一个串口助手:
1、构思功能
串口助手在单片机开发中经常被用来调试,最基本的功能就是接收功能和发送功能,其次,串口在打开前需要进行一些设置:串口列表选择、波特率、数据位、校验位、停止位,这样就有了一个基本的雏形;然后我们在下一篇中在此功能上添加:ASCII/HEX显示,发送,发送新行功能,重复自动发送功能,显示接收数据时间这几项扩展功能;
2、设计布局
根据以上功能,将整个界面分为两块:设置界面(不可缩放)+ 接收区和发送区(可缩放),下面就来依次拖放控件实现:
1)容器控件(Panel)
Panel是容器控件,是一些小控件的容器池,用来给控件进行大致分组,要注意容器是一个虚拟的,只会在设计的时候出现,不会显示在设计完成的界面上,这里我们将整个界面分为6个容器池,如图:
2)文本标签控件(Lable)
用于显示一些文本,但是不可被编辑;改变其显示内容有两种方法:一是直接在属性面板修改“Text”的值,二是通过代码修改其属性,见如下代码;另外,可以修改Font属性修改其显示字体及大小,这里我们选择微软雅黑,12号字体;
label1.Text = "串口"; //设置label的Text属性值
3)下拉组合框控件(ComboBox)
用来显示下拉列表;通常有两种模式,一种是DropDown模式,既可以选择下拉项,也可以选择直接编辑;另一种是DropDownList模式,只能从下拉列表中选择,两种模式通过设置DropDownStyle属性选择,这里我们选择第二种模式;
那么,如何加入下拉选项呢?对于比较少的下拉项,可以通过在属性面板中Items属性中加入,比如停止位设置,如图,如果想要出现默认值,改变Text属性就可以,但要注意必须和下拉项一致:
下拉组合框控件
另外一种是直接在页面加载函数代码中加入,比如波特率的选择,代码如下:
private void Form1_Load(object sender, EventArgs e) { int i; //单个添加for (i = 300; i <= 38400; i = i*2) { comboBox2.Items.Add(i.ToString()); //添加波特率列表 } //批量添加波特率列表 string[] baud = { "43000
C#开发工控上位机编程 csdn_C#串口编程示例相关推荐
- 基于C#的工控上位机软件开发从入门到学废,需要几步?
基于C#的工控上位机软件开发从入门到学废,需要几步? 随着工控产品的应用,开始大幅度渗透进民用领域.涉及的工控产品范围广泛,如PLC.DCS.变频器.仪表.电机.SCADA.低压及配电元器件等. 准备 ...
- C#工控上位机——框架
C#工控上位机 第一部分:UI模块 先点击一下Panel,在点击一下屏幕. 先选中Panel,在进行属性设置. 图标连接 嵌入式窗体 设置按键的事件 using System; using Syste ...
- C# Winform工控上位机控件库
C# Winform工控上位机控件库 通讯库集成:支持西门子.欧姆龙.施耐德等主流PLC 报警窗口:报警配置自动弹出 报警历史:报警历史自动保存 数据库操作:增删改查 说明:包含DLL库和使用教程,不 ...
- C#工控上位机实例_南京物流仓库【仓库物流】_智能云仓储库存wms管理分配货_电子标签价签拣货系统_工控erp上位机软件开发设计...
?南京滨江开发区300平方变压器250KVA厂房陆郎加油站附近开发区 | 物流仓库 | 厂房招租 南京滨江开发区陆郎加油站附近300平方独门独户厂房招租?变压器250KVA?适合小型磨具机械加工无污染 ...
- C#工控上位机实例_工控学习,搞工控的到底什么是上位机,什么是下位机?
上位机 上位机是指可以直接发出操控命令的计算机, 一般是PC/host computer/master computer/upper computer, 屏幕上显示各种信号变化(液压,水位,温度等). ...
- C#工控上位机实例_「C#上位机」西门子1200PLC实用定位控制程序案例
1. 引言 本文是一篇综合性非常强的文章,从PLC输入输出及步进电机接线开始,到PLC运动控制程序编写,再到后续的ModbusTCP通信协议及上位机编程实现最终控制,涉及知识面比较广,能够让我们很好 ...
- C#工控上位机开发-->1、C#快速编程入门
学习目标: 一.控制台的输入输出 二.C#中的变量使用 三.字符串的拼接与格式化的三种方式 四.数据类型转换的三种方式 学习内容: 1 控制台的输入输出 (1)输入方法:Console.Read(); ...
- LabVIEW上位机学习 面对对象编程实例项目源码 与下位机PLC
LabVIEW上位机学习 面对对象编程实例项目源码 与下位机PLC,工厂MES通讯,数据库,NI vision视觉等开发,及操作者框架源码可运行,想学习面对对象的可以参考 ID:16199647294 ...
- 记录自用的CAN开发调试工具和上位机
文章目录 前言 二.CANable开源软硬件 三.AMP32F103 方案的自制USB2CAN 调试器 四.TTCAN - USB2CANFD调试器 二.PyQT开发CAN调试器上位机 (1)CAN通 ...
- 如何调试上位机软件与串口进行通信
为了在没有下位机连接的情况下调试上位机软件,看上位机软件是否能通过串口和下位机通信,以及通信的具体内容,下面给出解决方法: 1.下载"vspd虚拟串口" vspd虚拟串口软件是用来 ...
最新文章
- 给自己的Sublime Text换上Soda Theme主题后清爽了好多
- iOS Storyboard创建APP 的国际化操作
- Oracle 查看 对象 持有锁的情况
- 用C++流成员函数put输出单个字符
- pcs7 simatic batch v9.0_西门子V90 伺服STO安全功能注意事项
- Oracle Text简介
- idea中xml文件用浏览器打开
- 制作STM32F429的外部SPI-FLASH下载算法
- 求解TSP问题(python)(穷举、最近邻居法、opt-2法、动态规划、插入法)
- 解决ElementUI列表大数据操作卡顿问题
- java线程状态和状态切换
- html360全景图原理,HTML5 Canvas实现360度全景图
- Python正则表达式及常用匹配
- 8051单片机基础2:内核和存储器(RAM,Flash)架构
- Microsoft Store无法打开的解决办法【成功解决】
- 银河麒麟系统V10sp1共享快捷到桌面
- 【标准全文】GB_17675-2021_汽车转向系_基本要求
- 【集成电源开关拓扑系列二---负载开关】
- 一个9年程序员中年危机的思考
- Hexo+github搭建博客的错误:连接超时port 443: Timed out和OpenSSL错误
热门文章
- Vue warn 屏蔽
- 从微信跳转到appstore下载App
- java 音频波形图_java读取wav文件(波形文件)并绘制波形图的方法
- Matplotlib取代minitab绘制正态分布图
- 前端JS 调用 Google地图 以及拖拽地图事件触发
- 阿里云和Azure ICON图标矢量素材分享
- isbn书号查询php代码,php根据isbn书号查询amazon网站上的图书信息的示例_PHP
- 土木保研可以跨计算机专业吗,本科土木跨考计算机专业研究生可行吗?本科土木跨考计算机专业研...
- Android ViewGroup介绍+实例
- c语言中的矩阵求逆程序,C语言矩阵求逆