想做一个PC在线采集系统,请给些建议!

[复制链接]
4937|34
 楼主| wangpeng59 发表于 2017-12-24 23:42 | 显示全部楼层 |阅读模式
不知道发在这里是否合适:
只需要很简单的功能:由下面的系统采用串口方式,1ms发送一次8路数组到PC。想在PC上做一个软件,同时显示8路数据的变化波形,并且可以导出为EXCEL文件供查看。

本人没有任何做这种软件的基础。问题如下:
1.请问做一个这种功能的软件难吗?
2.用什么工具做会比较容易实现,或者学起来比较容易上手呢?C#?VC++?MATLAB……还是什么
各位高人请给些建议,我希望认准一个方向就踏实学做下去了,谢谢谢谢!
z_no1 发表于 2017-12-25 00:48 | 显示全部楼层
用VB读串口 生成文本,存成CSV格式,
renxiaolin 发表于 2017-12-25 08:15 | 显示全部楼层
  我可以帮你做
@若水 发表于 2017-12-25 09:00 | 显示全部楼层
1ms发一次,你这是采集的什么数据?要发这么快?用C#开发会快点
@若水 发表于 2017-12-25 09:00 | 显示全部楼层
上发时间可以改为100ms发一次,或50ms发一次
 楼主| wangpeng59 发表于 2017-12-25 18:49 | 显示全部楼层
z_no1 发表于 2017-12-25 00:48
用VB读串口 生成文本,存成CSV格式,

VB好上手吗?能够实现这个频率吗?
 楼主| wangpeng59 发表于 2017-12-25 18:49 | 显示全部楼层

谢谢,我想要自己学着做
 楼主| wangpeng59 发表于 2017-12-25 18:52 | 显示全部楼层
@若水 发表于 2017-12-25 09:00
1ms发一次,你这是采集的什么数据?要发这么快?用C#开发会快点

1.我需要采集的是人体的肌肉信号。确保这个频率是必须的……
2.请问C#能做到这么快吗?还是只能50或100ms呢?
3.C#容易上手吗?是不是现在主流的上位机用C#做比较多一些?
4.我通讯用的是串口,因为我只做过串口,请问需不需要有别的选择?

谢谢您!!
zxq6 发表于 2017-12-25 19:22 来自手机 | 显示全部楼层
c#做这个是很轻松的。不过你的数据发送是连续的,没有明显的间隔,上位机处理的时候要注意分包。软件上要麻烦些
 楼主| wangpeng59 发表于 2017-12-25 19:49 | 显示全部楼层
zxq6 发表于 2017-12-25 19:22
c#做这个是很轻松的。不过你的数据发送是连续的,没有明显的间隔,上位机处理的时候要注意分包。软件上要麻 ...

好的,谢谢!我看看C#的相关资料~
linqing171 发表于 2017-12-25 20:26 | 显示全部楼层
网络的话,1ms 一个数据,攒够50个发一次,实时性比串口差。
串口的话,1ms发一次也行,不过9600bps的波特率,极限也就是1000 byte per second 左右,1ms也就是一个字节。
C#的话,System.IO.Ports.SerialPort 可靠性比较高。
 楼主| wangpeng59 发表于 2017-12-25 20:51 | 显示全部楼层
linqing171 发表于 2017-12-25 20:26
网络的话,1ms 一个数据,攒够50个发一次,实时性比串口差。
串口的话,1ms发一次也行,不过9600bps的波特 ...

我目前是3100000的波特率发送的……串口助手可以无误地接收
@若水 发表于 2017-12-26 08:29 | 显示全部楼层
wangpeng59 发表于 2017-12-25 18:52
1.我需要采集的是人体的肌肉信号。确保这个频率是必须的……
2.请问C#能做到这么快吗?还是只能50或100ms ...

用你感觉操作容易的工具与语言就可以了,按你这样发,要注意下面几点:
1、要有帧头与帧尾,这样方便上位机分包处理
2、在上位机上要有缓冲区,因为你1mS发一次,每次读出来的可能不止一帧数据,也有可能只有半帧数据
3、上位机就算是用事件触发的方式去读数据,也达不到1ms读一次,我记得系统是10ms还是20ms轮询一次的

评分

参与人数 1威望 +3 收起 理由
wangpeng59 + 3

查看全部评分

yklstudent 发表于 2017-12-26 08:30 | 显示全部楼层
這麽高的波特率,距離能有多遠?
dirtwillfly 发表于 2017-12-26 09:06 | 显示全部楼层
用labview很简单
ddlxiaoxu 发表于 2017-12-26 09:32 | 显示全部楼层
果断labview
tdh03z 发表于 2017-12-26 11:57 来自手机 | 显示全部楼层
1ms上位机不好处理,最好攒够50到100次数据为一包
linqing171 发表于 2017-12-26 13:42 | 显示全部楼层
wangpeng59 发表于 2017-12-25 20:51
我目前是3100000的波特率发送的……串口助手可以无误地接收

好厉害啊。
你的PC机用的什么串口芯片? 有多少字节的缓冲? 3.1M的波特率可不慢。
gujiamao12345 发表于 2017-12-26 14:38 | 显示全部楼层
labview or cvi
gujiamao12345 发表于 2017-12-26 14:38 | 显示全部楼层
labview or cvi
您需要登录后才可以回帖 登录 | 注册

本版积分规则

39

主题

217

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部