用C#语言开发上位机(来控制下位机比如了解下位机测量的温度湿度压力并控制下位机)要用到啥知识?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C#语言开发上位机(来控制下位机比如了解下位机测量的温度湿度压力并控制下位机)要用到啥知识?相关的知识,希望对你有一定的参考价值。

RT。需要着重了解哪些控件和知识? 如果用VB是不是简单一些?

这其实已经不仅是上位机的问题了,会同时牵涉到上下位机,最主要的一点就是你们要先确定一个通讯协议表,也就是上下位机时通讯用的协议,协议格式通常早都是由命令头、长度、内容、校验位、命令尾这几部分组成的(这个协议可以自己查资料确定一下,比较自由)。无论是上下位机都按规定的协议去发送数据就可以了。
这个弄好之后,就要根据你们用的接口来确定用哪种技术了,一般常见的上下位机通讯是用串口,涉及的知识主要是数据的转换(比如字符串或者数字转字节,或者字节转字符等等),这方面去找C#的串口调试工具源码就行了,基本上都有涉及)
用VB的话(这里说的是vb6,而不是vb.net),难度其实差不多的。如果你是指vb.net,它与c#基本上完全一样,二者代码可以用工具相互转换的。
参考技术A 啥控件都不用,这个用的是人家下位机的sdk,一般这些设备商会提供C语言写的sdk给你,你要会PInvoke相关的知识,以及人家的sdk里面的函数,别的只需要会C#或VB的基本语法就行。
最后,VB算是比C#简单些,但是VB面临淘汰的命运,你现在学新知识,推荐学C#追问

我和几个同学在做学校的项目。东西都是自己焊的,没有sdk怎么办?

追答

自己焊的?!你们好厉害啊。
不管你怎么做的,总之想要能在电脑上跑起来,就必须有能驱动这个设备的方法。最底层应该是数模转换,上层一点的就是如何发送给设备这些数字信号,以及不同的数字信号代表什么意思,此外还有使用什么接口和电脑连接。
于是:接口类型、包装起来的多组数字信号,用C去控制这些,基本就是驱动了。你们自己做的设备,那就要自己写这个驱动了,写好了以后用C# PInvoke调用就成了。

追问

驱动就是单片机里面的代码么?还有,做这个上位机主要就是学会调用代码里的函数了?

追答

呃,不是单片机的那种,不过性质差不多了。单片机的CPU和X86 CPU是不同的,无法使用同一种驱动,你要编写C#代码,就只能在x86的CPU下运行,所以你的底层设备也必须针对x86编程。

对了对了,你只是说C#的事情,都忘记了。你这个还必须要C语言配合才行,或者其他能直接编译的语言,用C#这样的托管语言,是无法直接控制设备的。(所以一开始就说要C语言写成的sdk)

追问

(最后一问)1、可不可以理解成用C#编一个程序,然后用串口连接上单片机(单片机里面的程序用C编写)?2、430单片机能够设置中断什么的,部分充当上位机的功能吗?

追答

1、单片机里的还是用单片机写,C是充当C#和单片机之间的连接。
2、不能,上位机指PC,和单片机使用完全不同的语言、语法。上位机主要写的是一些PC上的用户界面,主要侧重于和人沟通,单片机上写的是和机器沟通的语言。这之间使用C(或其他低级语言)来连接人和机器。

本回答被提问者采纳
参考技术B 只需要学习System.IO.Ports.SerialPort对象的使用就可以了.

上位机与下位机简介

      上位机指的是可以直接发送操作指令的计算机或者单片机,一般提供用户操作交互界面并向用户展示反馈数据。

典型设备:电脑、平板、手机、面板、触摸屏

      下位机:指的是与机器相连接的计算机或者单片机,一般用于接收和反馈上位机的指令,并根据指令控制机器执行动作以及从机器传感器读取数据。

典型设备:PLC、stm32、51、FPGA、ARM等各类可编程芯片。

上位机软件:用于完成上位机操作交互的软件

  1. 上位机给下位机发送控制命令,下位机接收到此命令并执行相应的动作;
  2. 上位机给下位机发送状态获取命令,下位机接收到此命令后调用传感器测量,然后够转化为数字信息反馈给上位机。
  3. 下位机主动发送状态信息或者报警信息给上位机

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

通信协议:上位机和下位机之间的通信协议有很多,只要完成通信的协议都可以在上位机和下位机之间,比如USB,蓝牙,UDP/TCP

通信API:在通信协议的基础上,具体发送什么数据即发送什么指令,还需要规定各个功能对应的指令,每个功能对应的指令叫做API。

只要通信协议可以建立,上位机软件可以是任意开发语言和任意平台,下位机也可以是热议类型的单片机。

开发上位机软件与其他软件的最大区别在于“上位机软件要连接设备并与之通信”

以上是关于用C#语言开发上位机(来控制下位机比如了解下位机测量的温度湿度压力并控制下位机)要用到啥知识?的主要内容,如果未能解决你的问题,请参考以下文章

c#上位机开发

上位机控制软件开发

上位机 下位机

C#做上位机,需要跟下位机施行串口通讯,原理是,下位机采集数据,通过串口传到PC机,我的环境是VS2008

什么是上位机和下位机

什么叫上位机软件