用于从RS232设备接收数据的HTBasic

问题描述 投票:0回答:2

尽管我必须在实验室中进行实验,并且必须使用HTBasic从2个GPIB设备(IEE 488)和1个RS232(这是一个高精度实验室规模)接收数据,但我对代码也不了解甚少。 )。

我正在更改/添加其他人编写的旧脚本。只是从2个GPIB设备接收数据。

我必须每15-30分钟获取一次数据(实验将运行一个月),即使我成功地从实验室规模接收到数据(设备接口选择代码= 12),它们也只会在每个循环中“同步”到达例如10ms(毫秒)。如果我每隔1秒钟做一次,则数据是“旧的”,例如我从秤上删除了该项目,但没有显示零“ 0”,而是显示了重量。想象一下,如果我每15分钟请求一次循环。

似乎接收到的数据按一个顺序到达并按该顺序显示。可能有一个内部缓冲区或存储它们的东西。是否有人知道如何在DEMAND上打开和关闭与串行设备的通信?例如对于GPIB设备,每次循环发生时,我都会发送一条命令,如TALK(通话)和UNT(取消通话),但是我找不到如何使用串行设备执行此操作。我尝试了CONTROL 12,100; 0和CONTROL 12,100; 1(XOFF / XON),但没有用。

这里是我尝试的脚本之一,可以为我提供正确的加权值,但是每0.01秒循环一次。

LOOP

ENTER 12 USING "10D";W
PRINT TABXY(70,20),"wEIGHT IS:";W

WAIT 0.01
END LOOP
END
serial-port basic
2个回答
0
投票

我建议尝试使用握手控制。您可以使用HTBASIC CONTROL语句控制串行接口。例如,您可以打开


0
投票

这应该工作15分钟(900秒):

© www.soinside.com 2019 - 2024. All rights reserved.