Институт Физики им.Л.В.Киренского
Победитель конкурса сайтов СО РАН - 2010
Яndex

www.yandex.ru
  Главная
  Офис
  Новости
  Службы
  Семинары
  Достижения
  Научные отчеты
  Лаборатории
  Направления
  Интеграция
  Разработки
  Ученый совет
  Советы по защитам
  Аспирантура
  Конференции
  Конкурсы, Гранты
  Публикации
  Препринты
  Издательство
  Библиотека
  Совет молодых учёных
  Студентам
  Виртлаб
  История
  Фоторепортажи
  Персоналии
  О  Киренском
  Ученики и соратники
  Мемориальный музей
  Бухг-рия, план. отдел
  Download
  Карта  сервера

ТЕХНИЧЕСКОЕ РУКОВОДСТВО
по написанию Интерфейсного Модуля
для программного комплекса "Universal Spectrometer"

1. ВВЕДЕНИЕ

Интерфейсный Модуль является компонентой программного комплекса "Universal Spectrometer". Он отвечает за работу функций по взаимодействию управляющего компьютера и системы КАМАК.

Разработка данного модуля предполагает исключительно реализацию использующихся в Алгоритмическом Модуле функций КАМАК. Каждая реализация Интерфейсного Модуля может отличаться от другой, и соответствует используемому в системе драйверу КАМАК.

2. РЕАЛИЗАЦИЯ МОДУЛЯ

2.1. Введение

Для создания Интерфейсного Модуля необходимо реализовать функции чтения и записи данных, а так же функции управления системой КАМАК.

Итогом разработки модуля является DLL (Dynamic Link Library).

Не забудьте, что все функции необходимо объявить с методом вызова "__stdcall", а так же каждую функцию следует указать в *.def-файле в разделе EXPORTS.

2.2. Функции работы с КАМАК

 bool Camac_Port_Init ();
 bool Camac_Port_Close();
  
 void CamO   (const unsigned char n, const unsigned char f, const unsigned char a, long d);
 long CamI   (const unsigned char n, const unsigned char f, const unsigned char a);
 void CamDrv (const unsigned char n, const unsigned char f, const unsigned char a);
    
 void SetC   ();
 void SetZ   ();
 void SetI   ();

 unsigned int CamL   ();
 bool CamQ   ();
 bool CamX   ();

 void Waiting(const unsigned char n);
 void WaitingExt(const unsigned char n, const unsigned char a);

2.2.1. Функция Camac_Port_Init

Прототип:
   bool Camac_Port_Init();

Функция инициализирует устройство КАМАК. В случае успешной инициализации возвращает true, в противном случае fasle. Несмотря на то, что в некоторых Алгоритмических Модулях эта функция может не использоваться, она должна быть реализована.

2.2.2. Функция Camac_Port_Close

Прототип:
   bool Camac_Port_Close();

Функция закрывает заголовок устройства КАМАК. В случае успешного закрытия возвращает true, в противном случае fasle. Функция так же не всегда обязательна к реализации.

2.2.3. Функция CamO

Прототип:
   void CamO(const unsigned char n, const unsigned char f, const unsigned char a, long d);

Функция записи передачи данных системе КАМАК.

В качестве параметров используются:
    n - номер модуля
    f - номер функции
    a - субадрес
    d - непосредственно, данные

2.2.4. Функция CamI

Прототип:
   long CamI(const unsigned char n, const unsigned char f, const unsigned char a);

Функция чтения данных от КАМАК.

В качестве параметров используются:
    n - номер модуля
    f - номер функции
    a - субадрес

Функция возвращает полученные от КАМАК данные.

2.2.5. Функция CamDrv

Прототип:
   void CamDrv(const unsigned char n, const unsigned char f, const unsigned char a);

Функция передачи управляющих команд системе КАМАК.

В качестве параметров используются:
    n - номер модуля
    f - номер управляющей функции
    a - субадрес

2.2.6. Функция SetC

Прототип:
   void SetC();

Сброс, определенных пользователем регистров, в начальное состояние.

2.2.7. Функция SetZ

Прототип:
   void SetZ();

Сброс всех регистров в начальное состояние.

2.2.8. Функция SetI

Прототип:
   void SetI();

Установка сигнала блокировки.

2.2.9. Функция CamL

Прототип:
   unsigned int CamL();

Проверка сигнала требования на обслуживание.

2.2.10. Функция CamQ

Прототип:
   bool CamQ();

Проверка состояния сигнала подтверждения.

2.2.11. Функция CamX

Прототип:
   bool CamX();

Проверка состояния готовности.

2.2.12. Функция Waiting

Прототип:
   void Waiting(const unsigned char n);

Функция приостановления процесса эксперимента до получения сигнала Q от модуля, расположенного в станции с номером n.

2.2.13. Функция WaitingExt

Прототип:
   void WaitingExt(const unsigned char n, const unsigned char a);

Функция приостановления процесса эксперимента до получения сигнала Q от модуля, расположенного в станции с номером n при проверке субадреса a.

 




© И н с т и т у т   Ф и з и к и
им. Л.В.Киренского 1998—2011    Для вопросов и предложений

TopList

[an error occurred while processing this directive]