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

问题描述

我打算用c#写上位机通过socket接收下位机传来的温度湿度光照强度的数据需要接收这些数据然后分别绘制成温度曲线图湿度曲线图光照强度曲线图我想问问各位大神socket接收的数据格式是怎么样的能把接收的这些数据区分开哪个是温度的数据哪个湿度数据然后采用什么样的方法能分别接收数据同时绘制成三张曲线图

解决方案

解决方案二:
socket接收的数据格式是怎么样的取决于你和下位机开发者的约定。
解决方案三:
那对不同数据怎么区分像温度和光照
解决方案四:
不同的传感器会有不同的地址码,比如温度地址是001,光照地址是005,这样你采集的数据如果是001开头的,你就知道是温度了。
解决方案五:
再有了,哪怕你在一条485电缆上接了255个都是温度的传感器,你也可以(也必须)为这些传感器分配255个不同的地址的。
解决方案六:
你下位机好高端,怎么用socket进行通信的?研究一下串口和485通信还实在些。
解决方案七:
引用5楼keith_cheung的回复:

你下位机好高端,怎么用socket进行通信的?研究一下串口和485通信还实在些。

因为上位机和下位机隔得太远用串口不现实
解决方案八:
如果把接收的数据汇成曲线用什么方法比较好要求曲线实时更新
解决方案九:
引用6楼wp2989152的回复:

Quote: 引用5楼keith_cheung的回复:
你下位机好高端,怎么用socket进行通信的?研究一下串口和485通信还实在些。

因为上位机和下位机隔得太远用串口不现实

太远是多远呢?1000M以内,用低速率的485是没问题的。另外,如果很远可以考虑用485<->光纤<->485,这样就没问题了。因为现在的设备接口485用得真心的多。
解决方案十:
看不懂
解决方案十一:
下位机定时更新上传,上位机一直监听!
解决方案十二:
先了解下位机的协议先。
解决方案十三:
表示也在做这个,目前只完成界面,对通信协议和通信程序完全不太懂
解决方案十四:
socket接收的数据的格式一定是byte[]那么如果你要从这个byte[]中得到温度湿度光照强度就得看你跟下位机的通讯协议了..比如长度是....第一个字节是.....第二个字节是....第三个字节是.....肯定有这样的文档,否则还开发个毛?有了这个你通过拆分byte[]肯定能得到相应的温度湿度光照强度数据都有了你想干什么就干什么了..至于什么曲线图跟这个协议是没一毛钱关系的..你可以先打印出来看数据是否正确,,然后在做图....
解决方案十五:
画图就简单了。有现成的函数,你只要传入一个数组,就画出结果了。至于实时的话,你就看看,如果有下位机传入数据,服务端接受成功就调用画图函数就OK
解决方案:
还是现研究一下通讯协议吧,你的问题只有画曲线算是问题,其他的是知识面
解决方案:
我现在也在做类似的东西,只是开发环境是QT。画图有plot,实时更新就不晓得怎么搞。。。
解决方案:
你想下位机用socket,起码下位机要有以太网端口,而且还能编程而根据你上面的说法,你的下位机根本就是一个设备而已,就不要谈什么socket不socket了socket不过是封装了以太网通信的一个类,不同设备使用以太网通信,可不一定用的是什么socket这种涉及硬件的问题,你还是问问硬件工程师,搞搞清楚,不要拍脑袋想不是你学了软件,就所有问题都能用软件解决了你去跟一块砖头通信试试
解决方案:
一个上位机连接多个下位机(1··100台),上位机是X86计算机上运行的软件,下位机是arm平台的。上位机发送指令给下位机,下位机按照指令做采集数据并将数据传给上位机。上位机得到数据后,成表,成曲线图。另外上位机还需要将当前即时的有采样装置接受的信号形成动态图(类似心电图)。·················································································································和楼主的貌似一样,大牛们给点建议。
解决方案:
这是谁又挖出来这个帖子了。

时间: 2024-09-13 15:43:43

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

c# b/s 串口通信-.net B/S架构下,浏览器客户端通过本机的串口与下位机(单片机)通信

问题描述 .net B/S架构下,浏览器客户端通过本机的串口与下位机(单片机)通信 10C .net B/S架构下,浏览器客户端通过本机的串口与下位机(单片机)通信.如何实现,求教各位大神! 解决方案 做一个web server,浏览器发送HTTP请求给web server,服务器再调用串口跟单片机通信 解决方案二: 这需要一个COM Dll,它负责和本机的串口通讯.这个 dll 需要封装在 .cab 中,必须由用户许可后安装到本地.页面中的客户端脚本调用 dll 中的对象,就可以访问串口了.

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

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

bms-编写一个上位机来处理modbus协议过来的数据,需要用什么平台,学习什么知识

问题描述 编写一个上位机来处理modbus协议过来的数据,需要用什么平台,学习什么知识 化学转行过来的,这算是第一个任务.这两个星期学了C语言和C++,以及一些简单的计算机原理.下面是电池保护板,要提取出温度,电压,电流这几种数据.身边没有人教,学习起来没有方向.希望大家解惑一下. 解决方案 你是想知道处理modbus协议过来的数据,还是提取出温度,电压,电流这几种数据呢?modbus协议的处理还是比较简单的,可参考:Modbus通讯协议 Modbus协议中文版[完整版] 提取出温度,电压,电流

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

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

c#上位机与单片机通信,上位机接收不到单片机返回的数据

问题描述 c#上位机与单片机通信,上位机接收不到单片机返回的数据 我遇到的问题是: 1上位机给单片机发送数据,单片机能接收到,但是单片机返回的数据上位机收不到 2我不用单片机,直接把数据线上的TX.RX短接,再用上位机发送数据,这时 上位机显示区就能显示上位机发送的数据: 3我用串口调试助手调试单片机程序,调试助手能正常接收单片机返回的数据: 以上3个问题,很是矛盾,不知道哪里出问题了,请高手帮助一下! 解决方案 asc码接收,十六进制接收不行,上位机编码 解决方案二: 曾经写过的一个,接收函数

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

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

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

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

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

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

socket网络编程-求解决真机测试socket

问题描述 求解决真机测试socket 用安卓模拟器测试socket成功,到时用真机测试就失败真机是连接的wifi,怎么回事 解决方案 是否处于局域网呢~ 两台设备之间要能ping通 解决方案二: 可能手机和电脑没连同一个wifi 解决方案三: 可能手机和电脑没连同一个wifi