NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

RS232串口VISA读取,如何实现多组数据整合后显示

已解决!
转到解答

      大家好,我正在用LabVIEW编写一个串口读取和显示的程序。串口使用RS232,硬件部

分是主单片机和5个分单片机。分单片机采集完温度数据和一个相关模拟量后,把数据

传给主单片机,再由主单片机传给计算机,分5个显示控件显示出各自的值。串口调试

助手以十六进制显示接收到的数据格式是 05 24 01 01 03| 05 31 02 01 01| 05 24 03 01

03 |05 24 04 01 01| 05 24 05 01 01,说明:(前面数据中的的‘|’是我为了大家方便看人为加上的)此时1号温度值为5.24,模拟量为1.03;

2号温度值为5.31,模拟量为1.01;其它类似。我已经实现了串口调试助手的基本接收

和显示功能,并且把VISA读到的字符串数据以字节数组的形式显示出来,但是我不知

道怎样把数据整合到一起——即不是让5,24,1,1分别显示出来,而是边采集边显示

5.24及1.01(这两个数据当然要分开的),并且5组都要提出来。

     能否告诉我怎么办,不胜感激!

感谢您的任何回复!
Any reply is appreciated!
0 项奖励
1 条消息(共 5 条)
5,505 次查看

Hi,

 

Since the data is of hex, do you regard 10 as 16 in decimal? Or, 10 is 10? 

Ian F
Since LabVIEW 5.1... 7.1.1... 2009, 2010, 2014
依恩与LabVIEW
LVVILIB.blogspot.com
0 项奖励
2 条消息(共 5 条)
5,485 次查看
解答
已被主题作者 wkelake 接受

Attached for your reference... it uses Decimate 1D Array and For-Loop to form the desire data, and Array To Spreadsheet String to display the data.

 

It is ready to be used as sub-vi... 

Message Edited by ian fung on 04-05-2010 10:06 AM
Ian F
Since LabVIEW 5.1... 7.1.1... 2009, 2010, 2014
依恩与LabVIEW
LVVILIB.blogspot.com
3 条消息(共 5 条)
5,479 次查看

你好。我个人意见:

1、每次发送的各组数据以","号隔开,并且每次发送都要使用回车换行标识符;

2、数据操作可以在程序中操作,不用显示到TXT文本框中;

3、数据操作,读取到每次发送的数据,我们可以使用分隔符来分开显示各组数据的值。将字符串转换为数值数组,然后再将数值数组中按你的输出,比如05 24 01 01 03,转换成数组以后为:num[5]={0x05,0x24,0x01,0x01,0x03};

4、数组分析:num[0]+num[1]/100,然后再将改值使用“数值转换为小数字符串”函数来转换成字符串显示。

5、使用连接字符串:将“温度值为”和上述4中的字符串连接,再在TEXT文本框中显示即可。

 

上面是显示一个的列子,你可以使用类似的方法将其余的数据显示。

0 项奖励
4 条消息(共 5 条)
5,338 次查看

个人意见:每组都单独发送。

上位机向下位机写命令请求一次,单片机发送一组,这样数据比较可靠!

0 项奖励
5 条消息(共 5 条)
5,189 次查看