LabVIEW上位机与串口通信
2017-08-21 17:16
435 查看
定义通信格式及功能
因为数据不算复杂,所以定义简单下位机帧格式:帧头(0xAA) 类型字节 数据低8位 数据高8位 保留字节1 保留字节2 校验字节如果要传送的数据比较多/复杂,则可以参考ModuleBus协议!主要功能包括:对帧中的类型字节进行解析,并多通道显示在示波器上
帧偏差校正(这个一般人可能都没有做,造成数据丢失,而我这只要串口传输的数据没错,就能无错漏的解析每一帧)
实时显示读取的每个字节/双字节/4字节
信号保存,保存文件名自动按时间命名,适合查阅
信号回放
对信号进行解析,用指示灯显示
界面展示
程序关键点展示
上面虽然简单,但却是功能的最主要部分,包括帧头查找和错帧处理的程序。错帧发送的情况是:比如从串口中独到的帧并不是从帧头开始而是帧中间开始,如
0x12(数据) 0x00 0x00 0x00 0xAA(帧头) 0x00其前面一帧可能是这样:
... 0xAA(帧头) 0x01(类型) 0x01(数据)这样,按查找帧头的方法,数据0x12就会丢失,实际数据按理应该是0x02*256+0x01,错帧处理就是将上一帧尾部不足一帧的部分加到下一帧中,这样下一帧就变成了:
0xAA(帧头) 0x01(类型) 0x01(数据) 0x12(数据) 0x00 0x00 0x00 0xAA(帧头) 0x00
判断类型过程很简单,使用switch结构就行了(LabVIEW中就是条件结构同时实现了if和switch),编程时就是注意必须设置默认分支就行!
文件保存我使用了数据表,因为它确实简单,这里的亮点是增加了按时间保存的功能,相当于将时间字符串加入到文件名中,这样便于后期对采集的数据进行查找,不至于混乱。
波形回放就是将存储在数据表中的程序重新显示一遍,比较简单!到现在为止,完整的程序请到https://github.com/xiahouzuoxin/zxSerial下载!仅供研究使用,谢谢!
相关文章推荐
- LabVIEW上位机与串口通信
- Labview 串口通信之——PC控制云台方向
- Arduino与LabVIEW交互---串口通信方式
- 如何建立cc2430串口与上位机通信的任务
- labview与单片机串口通信
- CC2530串口通信中如何接收上位机的一串字符串
- qt实现串口,UDP,TCP与嵌入式通信上位机软件
- C#学习与上位机开发之串口通信模块介绍
- CC2530串口通信中如何接收上位机的一串字符串
- 上位机 串口 通信 协议
- Labview 串口通信
- C# / VB / LabView /VC 上位机使用S7-TCP协议与西门子PLC进行网口通信的教程
- 【串口通信】Labview与C51单片机实现串口通信
- C# / VB / LabView /VC 上位机使用OPC方式与PLC进行通信的教程
- 怎样简单的Arduino与上位机的串口通信
- 【串口通信】labview实现串口通信
- 【转】如何建立cc2430串口与上位机通信的任务
- LabVIEW串口通讯—通信协议
- LabVIEW中的串口通信问题
- 上位机串口通信