找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2576|回复: 7

LabVIEW 编程实例:手把手教你串口仪器控制

  [复制链接]
  • 打卡等级:常驻代表
  • 打卡总天数:34
  • 打卡月天数:6
  • 打卡总奖励:9027
  • 最近打卡:2025-12-17 23:15:51

2823

主题

541

回帖

2万

积分

管理员

积分
22569
发表于 2020-2-21 22:44:11 | 显示全部楼层 |阅读模式
首先,用串口助手测试下。先看自己需要的功能,一般仪器的功能都特别多。而自己一般需要测试输入通道或者输出即可。所以,先找到自己需要的功能。

上位机仪器的通信方式主要分为下面几种;
①,只发送指令,不接受指令。
②,不用发送命令,就只用读取响应。
③,发送一次指令,只读取一次响应。
④,发送一次命令,就一直连续读取响应
很多人,如果自己写单片机的话,大多都一直发送命令出来,就是第②种。正常的仪器,是第①③④种居多。

所以,首先分清你的仪器的指令,有没有返回字符串等。
如上图所示,如果是这个仪器,你就按后面的功能发送。注意那些 dd 和 nn 是格式说明符。上图的仪器,dd 指仪器的 ID 号,如果你仪器是 01,你要输入 ASCII 格式,就是输入 *01A。注意不要混淆了格式符。

下面看看 Keithley2000 的指令怎么用。


如果是国外的仪器,说明手册里面,都会有个 Remote Operation.见上图,是 Keithley2000万用表的说明书。自己看相关章节指令。

如果我们要读取 Keithley2000 测量读数,就可以用下面的 SCPI 指令。


在串口调试助手里或者 LabVIEW 发送一个 :READ?然后就会返回仪器读数。其他指令参照说明书即可。不过国外的一些仪器,有些指令可能有先后顺序,需要按一定顺序发送。具体看说明书。


如下是,另一个仪器的说明片段,差不多告诉了用户格式。

注意看我红框部分。每个仪器差不多都会有的。都有发送命令,和相应命令。然后发送的命令和相应的命令都是有格式的。按照说明书的格式来。这个,是发送一次指令,就返回一次响应的。后面会详细解释。

这台仪器,还提供了例子,自己可以用这个例子测试一下仪器通不通。后面的接受数据部分,请看字符串那一节。

下面,我们把上图的例子部分,用 LabVIEW 写一下。注意:命令串:$012B7(cr)中$012 是 ASCII 显示下的,而 B7 是十六进制显示下的。cr是回车符,即 16 进制的 OD。


由于显示不一样,所以我用连接字符串来组合。

这样,最简单的收发式的仪器通信就完成了。

问:我看自带的范例,在 VISA 写之后,都有个延时,这个延时,起个什么作用?

这个延时,主要是因为编程人员用的是这种组合。前面已经讲过了,它读取串口缓冲区所有数据,当你发送一个数据,要等待仪器回送完响应数据,再读取才是完整的数据,所以,要等待仪器响应。这个时间,看自己摸索,最好刚好合适,毕竟一直等待也不是最好的方法。

如果是本例,由于回送的字符串是固定的,如下图,有 11 个,那你就可以不要用延时。直接用固定字符串,这样,程序自己会自动等待 11 个字符串接受完再执行下一个。

正常情况下,如果接受的字符串是固定的,推荐使用固定字符串个数,就是如下图的方式来编程,等待延时这种方式不推荐。

注意:以上程序是发送一次指令,仪器回送一次响应的。有些仪器的指令,可能不需要返回指令。

下面举例一下:

比如某个仪器的开关接口,开关的命令如下,没有返回值;
输出允许:OUT1
禁止:OUT0
那么最简单的程序如下,控制


有些仪器,检测到串口连接或者打开电源就会往串口发送数据,利用如下组合就可以了。因为上位机只需要读串口,不需要写串口。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
工控课堂 www.gkket.com

0

主题

98

回帖

282

积分

注册会员

积分
282
发表于 2020-2-21 22:46:43 | 显示全部楼层
好东西一定要看看!
工控课堂 www.gkket.com

0

主题

126

回帖

393

积分

注册会员

积分
393
发表于 2020-10-13 20:47:32 | 显示全部楼层
这个类目最活跃了!赞一个!
工控课堂 www.gkket.com

0

主题

174

回帖

541

积分

中级会员

积分
541
发表于 2025-11-14 14:24:44 | 显示全部楼层
原来还有这种操作,长见识了!
工控课堂 www.gkket.com

0

主题

96

回帖

147

积分

新手上路

积分
147
发表于 2025-11-17 04:01:42 | 显示全部楼层
救命!这波发言太秀了,直接原地封神~
疯狂认同!楼主说出了我不敢说的话
工控课堂 www.gkket.com

0

主题

306

回帖

1037

积分

中级会员

积分
1037
发表于 2025-11-23 19:47:42 | 显示全部楼层
来凑个热闹,为楼主增加点人气!
工控课堂 www.gkket.com

0

主题

91

回帖

136

积分

新手上路

积分
136
发表于 2025-12-2 15:25:16 | 显示全部楼层
我先占个楼,等下再慢慢看~
工控课堂 www.gkket.com

0

主题

86

回帖

142

积分

新手上路

积分
142
发表于 2025-12-2 16:11:01 | 显示全部楼层
水个经验,楼主加油,支持你~
工控课堂 www.gkket.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-23 05:29 , Processed in 0.169283 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表