新闻中心

EEPW首页 > 测试测量 > 设计应用 > labview串口被动接收数据

labview串口被动接收数据

作者:时间:2017-01-06来源:网络收藏
一、电机转数

在机械厂成功获取电机转数,在串口接线时,把VCC、RXD、TXD、GND四根线都接上,其中VCC-8,GND-9,RXD-10,TXD-11。其中TTL-232电平转换模块的电源输入可以从VCC输入,即在电脑-电机控制器-开发板三者连接中,可以由电脑的VCC端来供电。

本文引用地址:http://www.eepw.com.cn/article/201701/337037.htm

二、labview串口被动接收数据

这里labview被动接收传感器发送来的数据,即在开发板获取传感器的数据来进行计算控制时,labview用来数据的采集。

​这里可以参考下面这篇文章,接下去具体分析自己编的labview程序。http://www.docin.com/p-148766261.html#0-tsina-1-61364-397232819ff9a47a7b7e80a40613cfe1

labview串口配置和指令发送

这是labview串口配置和指令发送,指令发送用于主动发送再接收时,此处不需要用到该模块,直接将if结构置假即可,或者直接删除。这其中用到的CRC子vi主要是在输入指令不同时自己计算出校验位,如果程序始终只用到一个电机运行速度读取命令,可以直接手工计算并发送校验位。

由于被动接收数据,所以接收到的数据不一定是刚刚好从标识位开始,所以要进行识别。这里用到while循环的移位寄存器,每次连续读取15位,因为一串完整的命令为8位,所以连续15位中肯定存在一组完整的数据,但这样读取数据的弊端在于每读取一串数据必定损失掉一串数据,考虑到labview读取的速度跟不上传感器发送数据的速度,所以这其中会损失掉很多数据,但读取的数据还是可以整体上反应出倾角传感器倾角的变化情况。

串口数据读入并寻找帧头
未找到帧头

读取15位数据后进行帧头寻找,第一位为68,第二位为07,注意都是16进制表示的。如果找到帧头,就输出帧头索引值,如果找不到帧头就将索引值置为14,即最后一位,使得后面索引到的数据都为0,即倾角为0。

数组索引和数值转化

根据通信协议,将索引值开始的3位数据读出并转为所需要的角度值,注意正负的转换。

三、接线问题

在倾角传感器-开发板-电脑labview连接中,开发板和传感器之间严格进行着发送一串数据接收一串数据的传输,而电脑labview只是来接收传感器数据,所以电脑labview只用RXD端连接传感器的TXD端,TXD置空,因为发现TXD如果接入三者连线中,会导致单片机和传感器间发送接收异常,这个问题在电机控制器-开发板-电脑labview中应该注意避免。



评论


技术专区

关闭