Справка по BIRGER


BIRGER - BIRGER Lens Controllers


Документация: Worksheet/.


BIRGER - это встраевымый Driver для контроллеров объективов Birger

Возможности системы на данный момент:

  1. Получение информации о спецификации контроллера;
  2. Получение информации о спецификации объектива;
  3. Контроль подключения объектива;
  4. Управление дифрагмой объектива;
  5. Получение информации о текущем состоянии объектива;
  6. Удаленная работа драйвера при помощи технологии DIM.

В будущем планируется реализовать:

  1. Управление фокусировкой объектива.


Конфигурирование драйвера


Так как данный драйвер является встраевымым, подразумевается, что драйвер будет работать в какой либо системе для которой уже были созданы дериктории и первоначальные файлы системы. Поэтому, для более удобной работы рекомендуется сначала сконфигурировать Daq-систему при помощи инструмента DaqCreator. Для этого следует выполнить следущий алгоритм действий:

  1. Запустить Crw32.exe
  2. Открыть вкладку "Инструменты"
  3. Во вкладке выбрать "Консольные утилиты..."
  4. В открывшемся окне перейти на вкладку "DAQ"
  5. В выбранной вкладке выбрать "DAQ Creator"
  6. В открывшемся окне выбрать дерикторию, где будет храниться система
  7. Ввести название системы
  8. Добавить описание (не обязательно)
  9. Нажать кнопку "Exec"
После выполненного алгоритма, в выбранной дериктории будет создана папка с названием системы, где также будут созданы все необходимые дериктории и файлы для ее работы.

Дальнейшее конфигурирование системы производится при помощи конфигурационного файла birger_devices.cmd. Его необходимо скопировать в дерикторию "Config" вашей системы. Затем сокпированный файл необходимо открыть в текстовом редакторе и найти строки настройки устройства:

   rem   Device        Facility DevName Identitier Simulator Port Baudrate Parity DataBits StopBits DevLabel
   call :BIRGER_COM    DEMO     BIRGER  LC1        0         2    115200   NONE   8        1        LC1
   call :BIRGER_COM    DEMO     BIRGER  LC2        1         2    115200   NONE   8        1        LC2
   rem   Device        Facility DevName Identitier Simulator TCPPort IPClient      Polling Priority       TxSize RxSize Timeout Label
   call :BIRGER_TCP    DEMO     BIRGER  LC3        1         5300    192.168.0.110 1000    tpTimeCritical 16384  32768  1000    LC3
   call :BIRGER_TCP    DEMO     BIRGER  LC4        1         5300    192.168.0.110 1000    tpTimeCritical 16384  32768  1000    LC4
  
В столбце "Device" указывает тип устройства :BIRGER_COM или :BIRGER_TCP. В действительности тот или иной выбор вызывает для разных алгоритма конфигурирования, где :BIRGER_COM - алгоритм конфигурирования для соединения через COM-порт по интерфейсу RS232, :BIRGER_TCP - алгоритм конфигурирования для соединения с устройством через преобразователь интерфейсов TCP-RS232 (например: ADAM-4570).

В столбце "Facility" указывается название системы. В данном случае это DGCS. Если данную систему планируется использовать в качестве подсистемы, то название системы следует указать в формате "NAMESYSTEM.DGCS".

В столбце "DevName" указывается имя устройства. Так как в данном конфигураторе используются устройства SRS Delay Generator DG645, то рекомендуется оставить данный столбец неизменным.

В столбце "Identifire" указывается конфигурационный идентификатор устройства. Идентификатор для каждого устройства должен быть уникален воизбежании конфликта работы драйверов.

В столбце "Simulator" указывается режим работы драйвера - 0 = Driver, 1 = Simulator.

Для :BIRGER_COM, в столбцах "Port", "Baudrate", "Parity", "DataBits", "StopBits" указываются параметры COM-порта, к которому будет подключено устройство.

Для :BIRGER_TCP:

В столбце "TcpPort" необходимо TCP-порт для обмена данных с устройством (обычно указывается в инструкции по эксплуатации к устройству, либо в параметрах устройства).

В столбце "IPClient" указывается IP-адрес устройства.

В столбце "Polling" указывается скорость пробуждения потока канала связи.

В столбце "Priority" указывается приоритет потока канала связи. Данный параметр может иметь следующие значени:

  1. tpIdle - самый низший приоритет. Рекомендуется для вычислительных потоков, которые выполняют длительные вычисления. Чтобы они не мешали выполнению других потоков, им дается самый низший приоритет. Низкоприоритетный поток будет выполняться, только пока система не занята. При высокой загрузке процессора выполнение потока может задерживаться на неопределенное время.
  2. tpLowest - низкий приоритет.
  3. tpLower - приоритет ниже среднего.
  4. tpNormal - средний приоритет. Такой приоритет имеет основной поток программы, где выполняются команды пользователя и отображение графики.
  5. tpHigher - выше среднего.
  6. tpHighest - высокий.
  7. tpTimeCritical - самый высокий. Потоки этого приоритета обязаны освобождать процессор в самые минимальные сроки. Если для низкоприоритетных потоков циклы ожидания не рекомендуются, то для высокоприоритетных потоков они просто запрещены, так как могут подвесить систему. Потоки с приоритетом tpTimeCritical с высокой вероятностью будут выполняться строго периодически, примерно каждые 10 миллисекунд. При высокой загрузке процессора выполнение высокоприоритетного потока будет также с большой вероятностью происходить вовремя.

В столбце "DevLabel" указывается наименавиение устройство, которое будет отображаться на мнемосхеме системы.

После того, как все параметры будут указаны следует запустить отредактированный файл, что создаст файлы конфигурации устройств. Затем следует сослаться на созданные файлы в основном конфигурационном файле:

   [ConfigFileList] ; BIRGER resources & services
   ConfigFile = birger_devices_hdw.cfg
   ConfigFile = birger_devices_sim-.cfg
   []
  

Также, если драйвер планируется использовать для удаленной работы по технологии DIM, слудет сослаться на созданные файлы в основных файлах конфигурации клиентской и серверной частях.

Пример для сервеной:

   [ConfigFileList] ; BIRGER resources & services
   ConfigFile = birger_devices_hdw.cfg
   ConfigFile = birger_devices_sim-.cfg
   ConfigFile = birger_devices_dis.cfg
   []
  
Пример для клиентской:
   [ConfigFileList] ; BIRGER resources & services
   ConfigFile = birger_devices_hdw.cfg
   ConfigFile = birger_devices_sim-.cfg
   ConfigFile = birger_devices_diс.cfg
   []
  
Прежде чем приступать к настройке клиент-серверного приложения по технологии DIM, прочитайте Help-файлы по конфигурации DIM в Crw.

Так же в файле ".crc" основной системы следует сослать на созданный ".crc" файл.

   [ConfigFileList] ; Include the Painter GUI Library
   ConfigFile = ~~\Resource\DaqSite\Default\Painter.crc
   ConfigFile = birger_devices_link.crc
   []
  

Файл birger_ctrl.crc следует из папки Circuits следует скопировать в соответствующую дерикторию своей системы. Также следует поступить с BMP-файлами из папки Bitmaps.


Список сокращений и аббревиатур


Для именования кривых, тегов, сенсоров, окон и других программных объектов используются следующие соглашения о наименовании:

   Тип устройства:
    BIRGER
   Идентификатор:
    .LC1 - Идентификатор устройства
   Параметры:
    .DIMGUICLICK    - Обрабочик "кликов" по DIM-серверу ( The DIM click sensor data )
    .DIMMYCMD       - Обработчик команд от клиента      ( The DIM command handler   )
    .SERVMODE       - Режим работы запущенной системы
    .APEROPEN       - Открыть диафрагму
    .APERCLOSE      - Закрыть диафрагму
    .APERINCR       - Инкрементально двигать диафрагму
    .APERDECR       - Декрементально
    .APERRANGE      - Диапазон апертуры
    .APERNUM        - Апертурное число
    .APERSTEP       - Положение диафрагмы
    .APERSET        - Линейка апертур
    .FOCUSZERO      - Двигать фокусировку в 0
    .FOCUSINF       - Двигать фокусировку в бесконечность
    .FOCUSINCR      - Двигать фокусировку инкрементально
    .FOCUSDECR      - Двигать фокусировку декрментально
    .FOCUSSTEP      - Шаг фокусировки дли инкремента и декремента
    .FOCUSCUR       - Текущее положения серводвигателя фокусировки
    .FOCUSDIST      - Дистанция фокусировки
    .FOCUSMIN       - Минимальное положение серводвигателя фокусировки
    .FOCUSMAX       - Максимальное положение сервовдвигателя фокусировки
    .LENS.PRES      - Подключен ли объектив?
    .LENS.ZOOMRANGE - Диапазон увеличения
    .LENS.CONFIGCUR - Текущая конфигурация объектива
    .SERNUM         - Серийный номер контроллера
    .LIBVER         - Версия библиотеки
    .BOOTVER        - Версия загрузчика
    .HWVER          - Аппаратная версия устройства
    .RX             - Скорость получения данных
    .TX             - Скорость отправки данных
    .POLLEN         - Вкл./выкл. опрос устройства
    .STATUS         - Статус устройства
    .ERROR          - Ошибки устройства
    .REINIT         - Запуск переинициализации объектива
   Например:
    BIRGER.LC1.DIMGUICLICK
  


CRW-DAQ © 2001..2021 Alexey Kuryakin kouriakine@mail.ru.