HTBasic для получения данных с устройства RS232 - PullRequest
0 голосов
/ 27 февраля 2019

Я не кодирую и не разбираюсь в этом, хотя должен провести эксперимент в лаборатории и использовать HTBasic для получения данных от 2 устройств GPIB (IEE 488) и одного RS232 (это лаборатория высокой точности).scale).

Я изменяю / добавляю в старый скрипт, который кто-то написал.Это было только для получения данных от 2 устройств GPIB.

Я должен получать данные только каждые 15-30 минут (эксперимент будет выполняться в течение месяца), и хотя я успешно получаю данные из лабораторного масштаба (код интерфейса устройства выбирает = 12), они поступают только "синхронно"для цикла каждые, например, 10 мс (миллисекунд).Если я делаю это каждые 1 секунду, данные «старые», например, я удаляю элемент из шкалы и вместо того, чтобы показывать НОЛЬ «0», он все равно показывает вес.Представьте себе, что если я запрашиваю цикл каждые 15 минут.

Кажется, что полученные данные поступают по порядку один за другим и отображаются в этом порядке.Вероятно, есть внутренний буфер или что-то, что хранит их.Кто-нибудь знает, как ОТКРЫТЬ и ЗАКРЫТЬ связь с последовательным устройством по требованию?например, для устройств GPIB я посылаю такие команды, как TALK (talk) и UNT (untalk) каждый раз, когда происходит цикл, но я не могу выяснить, как это сделать с последовательным устройством.Я попробовал 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
...