Язык программирования Форт


Глава 11. Создание слов-определителей - часть 19


Собственно говоря, он изучил Форт именно потому, что ни один другой язык не позволял ему так просто добиться того, что он хотел. Задача состояла в том, чтобы снять значения разнообразных показателей свойств воды в озере с помощью датчиков, ввести значения в компьютер, а затем обработать данные, чтобы понять их изменения и взаимосвязь.

Общее число датчиков может доходить до 48, они включают в себя фотоэлементы, электроды для измерения концентрации ионов водорода (рН), приборы для измерения прозрачности воды и измерения потоков, а также электроды для измерения растворенного в воде кислорода. Сборки с датчиками погружались в воду озера. Перед нами стояла задача иметь возможность наблюдать, что измерено в данный момент, а также результаты измерений за последние 24 ч. Датчики через кабели соединялись с компьютером, который находился на берегу. Каждый прибор выдавал на выходе напряжение от 0 до 1000 мВ, пропорциональное измеряемой физической величине. Выход его был соединен с аналого-цифровым преобразователем, чтобы получить цифровую величину для ввода в компьютер через порты ввода. Для нашего примера мы будем предполагать, что написана программа на языке Форт, и с помощью нее величины, выраженные в милливольтах, вводятся в массив PORT-DATA так, что, например, с помощью 1 PORT-DATA @ можно положить в стек текущее значение из порта номер 1 в милливольтах. Программу для сбора данных написать несложно, но она будет сильно зависеть от применяемого компьютера и версии языка Форт.

Задача для нас состоит в том, чтобы преобразовать напряжение на входе в фактические значения рН, температуры и т.д. перед тем, как в дальнейшем представить их в виде таблиц, графиков и записей на диске; при этом для каждого датчика имеется своя функция преобразования. Мы ограничимся здесь только температурными измерениями, поскольку процедуры измерения других параметров во многом похожи. Любой датчик температуры дает на выходе напряжение, которое связано с температурой линейной пропорциональностью, т.е.


- Начало -  - Назад -  - Вперед -