Программа carr предназначена для автоматической установки каретки облучателя
на заданную позицию в соответствии с делениями ее механической линейки.
Необходимые параметры установки, перечисленные в разделе , передаются
этой программе в качестве параметров командной строки.
Программа переводит метрические значения параметров во внутреннюю систему
единиц и передает их драйверу KAMAK через ioctl() загрузки (см.
табл. ). Программа carr построена с использованием
системной функции fork(), позволяющей разделить ее на две копии и выполнить,
соответственно, два раза. Один раз,
сразу после запуска, каретку установливает ``родительский" процесс, и
второй раз в указанное время - процесс "потомок". Это позволяет
минимизировать
затраты времени и в полной мере реализовать точностные параметры привода.
Перед запуском процедуры установки каретки программа проверяет, была
ли начальная установка (``привязка" отсчетов углового датчика к нулевому
значению), и если необходимо, делает ее. Начальная установка представляет
собой ускоренное движение каретки до ближайшего концевого выключателя,
положение которого фиксирует номер оборота датчика.
Таким образом в данной системе
управления, несмотря на существенную минимизацию аппаратуры, получается более
высокая точность4.14 и сохраняется
значение начала отсчета4.15 так же, как и в системах с многоступенчатыми датчиками
и механическими редукторами (Авдушев и др. 1984; Голубчин и др. 1987).