C# 上位机————计算器界面布局

目录

一、关于上位机

1、上位机与下位机的定义

2、上位机与下位机的关系

3、上位机工作原理

通讯过程

 通信协议

二、项目界面设计过程 

1、新建项目

2、form窗体的添加

3、选择添加需要的串口组件

4、计算器界面布局   

 三、项目代码

四、项目代码运行 


一、关于上位机

1、上位机与下位机的定义

上位机:
  上位机指可以直接发送操作指令的计算机或单片机,一般提供用户操作交互界面并向用户展示反馈数据。
  典型设备类型:电脑,手机,平板,面板,触摸屏

下位机:
  下位机指直接与机器相连接的计算机或单片机,一般用于接收和反馈上位机的指令,并且根据指令控制机器执行动作以及从机器传感器读取数据。
  典型设备类型:PLC,stm32,51,FPGA,ARM等各类可编程芯片

2、上位机与下位机的关系

  过程一:上位机给下位机发送控制命令,下位机收到此命令并执行相应的动作。
  过程二:上位机给下位机发送状态获取命令,下位机收到此命令后调用传感器测量,然后转化为数字信息反馈给上位机。
  过程三:下位机主动发送状态信息或报警信息给上位机。

  为了实现以上过程,上位机和下位机都需要单独编程,都需要专门的开发人员在各自两个平台编写代码。

  上位机与下位机关系示意图:

3、上位机工作原理

通讯过程

  两机如何通讯,一般取决于下位机,TCP/IP一般是支持的,但是下位机一般具有更可靠的独有通讯协议,购买下位机时,会带一大堆手册光盘,告诉你如何使用特有协议通讯,里面会举大量例子,一般对编程人员而言一看也就那么回事,使用一些新的API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节罢了,多语言支持,一般同时支持数种高级语言为上位机编程。

 通信协议

  通常上位机和下位机通讯可以采用不同的通信协议,可以有RS232的串口通讯或者采用RS485串口通讯。当用计算机和PLC通讯的时候,不但可以采用传统的D形式的串行通讯,还可以采用更适合工业控制的双线的PROFIBUS-DP通讯。采用封装好的程序开发工具就可以实现PLC和上位机的通讯,当然可以自己编写驱动类的接口协议控制上位机和下位机的通讯。 

二、项目界面设计过程 

1、新建项目

  第一步搜索窗体应用,第二步框架记得NFT版本的选择 。

### C# 上位机开发概述 C# 是一种功能强大且灵活的编程语言,广泛应用于工业控制领域中的上位机软件开发。通过使用 .NET Framework 提供的强大工具和类库,开发者能够快速构建高效、稳定的上位机应用程序。 #### 开发框架的选择 在 C#上位机开发中,主要涉及两种常见的开发框架:WPF 和 WinForms[^1]。 - **WPF (Windows Presentation Foundation)**:该框架支持 XAML 来设计用户界面,具有高度可定制性和美观性,适合需要复杂图形化界面的应用场景。然而,其较高的内存消耗可能成为某些资源受限环境下的瓶颈[^2][^3]。 - **WinForms**:这是一种较为传统的 Windows 应用程序开发方式,允许开发者利用拖拽式的控件布局轻松创建简单直观的操作界面。由于其实现机制相对轻量级,在性能敏感型项目中有一定优势. #### 环境搭建与基本配置 为了开展实际编码工作之前, 需要安装合适的集成开发环境(IDE),推荐选用最新版本的 Visual Studio 2022 . 创建新工程项目时可以选择对应模板分别针对不同类型的桌面客户端应用进行初始化设置. ##### 示例代码 - 新建一个标准的 WinForm 应用程序并显示消息框: ```csharp using System; using System.Windows.Forms; namespace MyFirstUpperMachineApp { public class Program : Form { private Button buttonShowMessage; public Program() { this.Text = "我的第一个上位机"; buttonShowMessage = new Button(); buttonShowMessage.Location = new System.Drawing.Point(50, 50); buttonShowMessage.Size = new System.Drawing.Size(100, 30); buttonShowMessage.Text = "点击我!"; buttonShowMessage.Click += OnButtonClick; Controls.Add(buttonShowMessage); } void OnButtonClick(object sender, EventArgs e) { MessageBox.Show("你好! 这是一个测试.", "提示"); } static void Main(string[] args) { Application.EnableVisualStyles(); Application.Run(new Program()); } } } ``` 此段示例展示了如何建立最基本的交互式 GUI 组件以及响应事件处理逻辑的基础方法论. ### 学习路径建议 对于初学者而言,可以从以下几个方面入手逐步深入理解整个流程: 1. 掌握核心概念——熟悉面向对象编程(OOP)原则及其具体实现形式; 2. 实践操作练习——尝试模仿完成若干小型案例研究从而积累实战经验; 3. 技术文档阅读——查阅官方指南或者社区分享资料加深理论认知水平;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值