如何用C#设计上位机(小白篇)

Posted 玩电源

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用C#设计上位机(小白篇)相关的知识,希望对你有一定的参考价值。

上位机,简单地说就是电脑上的一个小软件,用来实现远程控制。远程控制是自动化控制的第一步。
一般来说,一个上位机的开发包括几个模块:
  1. 界面及功能设计

  2. 设备指令编写

  3. 通信模块设计

一. 界面功能设计:

C#是一款方便设计界面的语言,微软确实牛批!

以下是visual studio开发窗体的界面,界面设计中有几个常用的工具分别为:

  1. buttun(按钮)

  2. textBox(文本框)

  3. checkBox(勾选开关)

  4. comboBox(复选框)

  5. label(标签)

  6. Timer(时钟)

以上常用工具均可在窗体编辑界面中编辑默认属性,基本属性如命名,颜色等。

常用用法介绍如下:

  1. buttun:一般只需编辑Text属性(如下图为“连接”),命名后直接双击按钮,跳到程序编辑界面,编辑该按钮想要实现的功能。例如:下图为“连接”按钮的程序代码,实现连接和断开的功能。


    如何用C#设计上位机(小白篇)


    如何用C#设计上位机(小白篇)

  2. textBox:一般有两种用途:

    (1)作为用户输入的参数,可双击该文本框,跳到程序编辑界面,编辑该文本框的文本变化时所要实现的功能。例如:下图为“标签”文本框的程序代码,当“标签”文本框的文本被改变时,将该文本框的文本发送给示波器。

    如何用C#设计上位机(小白篇)

    如何用C#设计上位机(小白篇)

    (2)作为输出显示的参数,程序控制该文本框的内容,显示给用户看。例如下图“测量数据”文本框,每隔1S读取示波器的测量值,显示出来


    如何用C#设计上位机(小白篇)

  3. checkBox:一般用于开关。例如下图,开关某个通道,其属性为checkBox.checked,开为true,关为false。双击该开关,编辑开关状态变化时,实现发送开关指令给示波器。




    如何用C#设计上位机(小白篇)


    如何用C#设计上位机(小白篇)

  4. comboBox:一般用于多个档位选择工具,在属性中需要编辑“集合”,如下图,测量类型的选择。双击该复选框,编辑选择项变化时,实现发送测量类型指令给示波器。

如何用C#设计上位机(小白篇)

如何用C#设计上位机(小白篇)

如何用C#设计上位机(小白篇)

5.  Label:一般用于显示一些提示文本,所以不需要做编程。

如何用C#设计上位机(小白篇)

6.Timer:时钟工具可以实现每隔一段时间自动执行某些操作,需要设计Interval属性(时间间隔),以及Enable属性(打开)。例如:实现每秒读取示波器测量值并显示的功能。

如何用C#设计上位机(小白篇)

如何用C#设计上位机(小白篇)


二. 设备指令编写

这个部分主要参考仪器的指令集进行编写各种控制命令,相对来说比较简单。如下图为示波器的通道打开和关闭指令:

如何用C#设计上位机(小白篇)


三. 通信模块设计

本例中选择VISA软件协议中的USB接口通信,VISA是NI公司推出的仪器通信软件协议,本例中引用了VISA的库,在发送和接收命令过程中将变得十分简单,如下图分别为发送和接收指令:(NI也牛批!)

如何用C#设计上位机(小白篇)


如何用C#设计上位机(小白篇)


如何用C#设计上位机(小白篇)


最后,介绍一点相对来说比较高级的应用——快捷键。当窗体处于最小化时,如果需要使用快捷键,需要引用Windows的热键注册功能,具体实现如下代码:

如何用C#设计上位机(小白篇)


如何用C#设计上位机(小白篇)



以上是关于如何用C#设计上位机(小白篇)的主要内容,如果未能解决你的问题,请参考以下文章

c#上位机开发

C#上位机开发一:串口通讯之如何制作一个串口调试助手

开源应用QT—TCP网络上位机的设计

C#上位机开发

stm32+AMG8833+VS2015 C#上位机图像显示

C# 事实证明学好数学对编程来讲是多么重要