C#编程中上位机与下位机怎么实时通信

问题描述

最近用C#做了一个上位机界面,想要在上位机界面上实时显示出Arduino单片机通过传感器采集的数据,求大神指点,我是一名非软件专业的学生,基本属于大白,求大神详解!!!

解决方案

解决方案二:
看下你的硬件接口,一般是com通讯,C#用serialport通讯。
解决方案三:
单片机都有串口,把你单片机上的TX和RX俩个引脚通过USB转串口芯片,常用的有PL2303(10块钱左右),通过它将计算机的串口与单片机的串口连接起来,就可以通信了。C#开发的上位机的话,当然就用SerialPort类了。
解决方案四:
现在实现基本的通信了,但是我想把采集的数据在不同的textbox里面显示出来,该怎样做啊
解决方案五:
引用2楼SCGH_Fx的回复:

单片机都有串口,把你单片机上的TX和RX俩个引脚通过USB转串口芯片,常用的有PL2303(10块钱左右),通过它将计算机的串口与单片机的串口连接起来,就可以通信了。C#开发的上位机的话,当然就用SerialPort类了。

现在实现基本的通信了,但是我想把采集的数据在不同的textbox里面显示出来,该怎样做啊
解决方案六:
我以前做的是plc数据采集,把数据存到数据库,再使用c#显示
解决方案七:
arduino啊直接c#读取就行了
解决方案八:
采集的数据,一般是二进制或者是十六进制的字符串,如果通讯协议中没有解析的话,你要把收到的字符串处理一下,翻译成你要的数据。存储在一个数据类中,界面上直接从数据类中去取数据显示就可以了。
解决方案九:
引用6楼diaodiaop的回复:

arduino啊直接c#读取就行了

我下位机用的就是Arduino,读取数据后不知道如何显示在不同textbox中啊
解决方案十:
引用7楼guonan198811的回复:

采集的数据,一般是二进制或者是十六进制的字符串,如果通讯协议中没有解析的话,你要把收到的字符串处理一下,翻译成你要的数据。存储在一个数据类中,界面上直接从数据类中去取数据显示就可以了。

我现在已经可以将数据采集显示在一个textbox里,但不知道该怎么将不同数据显示在不同textbox里面代码是这样的上位机界面
解决方案十一:
求大神帮忙啊!!!
解决方案十二:
解析this.txGet.text里的数据啊,你取到的数据肯定是有规律的,第几位到第几位是经度,第几位是维度,心跳,温度什么的一样的道理,你解析一下存到一个数据类里面,往外取不久可以了
解决方案十三:
都取到数据了,就是对照协议,每个字节都代表什么,把具体的数据从字节数组中取出来,放到它该放的位置就可以了。
解决方案十四:
引用4楼wulongdeai的回复:

Quote: 引用2楼SCGH_Fx的回复:
单片机都有串口,把你单片机上的TX和RX俩个引脚通过USB转串口芯片,常用的有PL2303(10块钱左右),通过它将计算机的串口与单片机的串口连接起来,就可以通信了。C#开发的上位机的话,当然就用SerialPort类了。

现在实现基本的通信了,但是我想把采集的数据在不同的textbox里面显示出来,该怎样做啊

privatedelegatevoidinvokeDelegate(stringtext);///<summary>///接收串口信息///</summary>publicvoidReceiveDataThread(){while(SerialPortIsOpen){try{receivetext=sp.ReadExisting();if(receivetext!=null&&receivetext!=""){/*if(Flag){SendReceiveDataQueue.Enqueue(receivetext.Replace("",""));}*/this.BeginInvoke(newinvokeDelegate(UpdataReceiveTextBox),receivetext.Replace("",""));}Thread.Sleep(20);}catch{}}}///<summary>///更新串口信息显示区///</summary>///<paramname="text1"></param>publicvoidUpdataReceiveTextBox(stringtext1){ReceiveTextBox.AppendText(text1);ReceiveTextBox.Select(ReceiveTextBox.TextLength,0);ReceiveTextBox.ScrollToCaret();}thread_receiveserialportdata=newThread(newThreadStart(ReceiveDataThread));thread_receiveserialportdata.Start();
解决方案十五:
我编的上位机软件是用TCP/IP通讯的,然后监听取数据,存到数据库……

时间: 2025-01-05 17:28:04

C#编程中上位机与下位机怎么实时通信的相关文章

C#上位机解析下位机传上来的数据

问题描述 求帮忙啊!!!协议数据格式:起始(1b)+设备地址(1b)+功能代码(1b)+数据(nb)+结束(1b)+CRC校验(2b)下位机传上来的数据是:AA51500008553322一个板子30个点,每个点可以点亮一个灯或者灯带,干簧管触发了下位机会给我一串上面的代码,我要根据这个代码去发送点亮这个触发点的灯:同事是写C的给我说了下大概的是说:把数据转成二进制来判断是哪个口触发了,但是我该怎么解析啊....今天第一次做上位机...水好深啊.. 解决方案 解决方案二:该回复于2016-05-

USRP通信的结构体和常量(上位机、下位机共用)

fw_common.h包含了USRP固件和上位机共用的代码,寄存器地址映射.结构体定义等 #include <stdint.h> /*! * Structs and constants for usrp2 communication. * This header is shared by the firmware and host code. * Therefore, this header may only contain valid C code. */ #ifdef __cplusplu

用c#写的上位机 通过socket从下位机得到数据汇成折线图

问题描述 我打算用c#写上位机通过socket接收下位机传来的温度湿度光照强度的数据需要接收这些数据然后分别绘制成温度曲线图湿度曲线图光照强度曲线图我想问问各位大神socket接收的数据格式是怎么样的能把接收的这些数据区分开哪个是温度的数据哪个湿度数据然后采用什么样的方法能分别接收数据同时绘制成三张曲线图 解决方案 解决方案二:socket接收的数据格式是怎么样的取决于你和下位机开发者的约定.解决方案三:那对不同数据怎么区分像温度和光照解决方案四:不同的传感器会有不同的地址码,比如温度地址是00

局域网-C# 用modbus tcp协议,怎么做一个上未将与多个下位机通讯

问题描述 C# 用modbus tcp协议,怎么做一个上未将与多个下位机通讯 C# 用modbus tcp协议,怎么做一个上未将与多个下位机通讯,是要建立局域网吗,要怎么建立,连接?求大虾帮帮忙! C#上位机的.. 解决方案 将上位机与下位机全都连上局域网,并获取ModbusTCP的端口号(默认502),在上位机上用Socket打开下位机的TCP连接,按照ModbusTCP规范轮询下位机.如果下位机直接接入局域网,那一个下位机就需要一个TCP连接.如果通过网关接入,就需要查看网关的使用文档. 解

交叉编译-怎样实现上位机(虚拟机Ubuntu14.04)与下位机(picozed7015开发板)的命令传输

问题描述 怎样实现上位机(虚拟机Ubuntu14.04)与下位机(picozed7015开发板)的命令传输 我的上位机是在虚拟机中安装的Ubuntu14.04,下位机是picozed 7015 开发板,现在已将Linux内核3.17移植到开发板中,但是只有一些简单命令,像ls ,cd等. 我的问题是怎么能在开发板中的Linux使用make这些命令(最终想装iptables),或者说怎么实现交叉编译? 非常感谢! 解决方案 用网络通讯,或者com串口等

mysql-qt 多线程接收下位机数据写进MySQL中。

问题描述 qt 多线程接收下位机数据写进MySQL中. qt 多线程接收下位机数据写进MySQL中.上位机是一个多线程的服务端,想接收多个客户端(下位机)发来的数据(每个下位机大致有50MB的数据).网络环境是局域网.问题1,大数据在tcpsocket上怎么发送,接收.问题2,如何多线程的写进MySQL中.问题3,传输和读写的速度需要越快越好,有大咖说这样的话可以使用索引+写硬盘.没见过呀. 希望大咖们百忙中指教哈. 解决方案 你没有说清楚多少时间内50M,有几个下位机.就你的需求,建议不要用数

pos机 上位机 下位机-求懂POS机的大神指教,关于POS机的问题,求指教

问题描述 求懂POS机的大神指教,关于POS机的问题,求指教 可不可以将POS当作下位机,由上位机告诉POS机该刷多少钱,然后POS机再把交易结果返回给上位机? 解决方案 请参看银联gmc接口文档 解决方案二: http://download.csdn.net/detail/onlyonexhj/5475405

数据帧-c#串口通信中上位机测试数据组帧

问题描述 c#串口通信中上位机测试数据组帧 测试 发送数据的参数,设置温度频率时延输出功率,,这些数据组成一帧并且发送,然后接收,,, 解决方案 参考:http://www.360doc.com/content/13/0829/09/7531335_310657574.shtml 解决方案二: 可以在串口使用modbus协议通讯. 或者根据modbus的思想自己弄一套协议. modbus有应答和校验机制,能够保证串口通讯的可靠性. 解决方案三: 上位机-串口通信-C#

串口上位机-通过com口给下位机发字节时有时无

问题描述 通过com口给下位机发字节时有时无 电脑通过com口给下位机发送一字节命令,有时候有回应有时候怎么发都无回应,甚至重启电脑装置也无回应,好的时候一直又好着-奈何,调试程序一步步没回应就是没,延时也不起作用? 有时候运行好几天都没事, 该是哪里问题 解决方案 我感觉应该检查一下硬件连接是否有问题吧