Интерфейсный Модуль является компонентой программного комплекса "Universal Spectrometer". Он отвечает за работу функций по взаимодействию управляющего компьютера и системы КАМАК.
Разработка данного модуля предполагает исключительно реализацию использующихся в Алгоритмическом Модуле функций КАМАК. Каждая реализация Интерфейсного Модуля может отличаться от другой, и соответствует используемому в системе драйверу КАМАК.
Для создания Интерфейсного Модуля необходимо реализовать функции чтения и записи данных, а так же функции управления системой КАМАК.
Итогом разработки модуля является DLL (Dynamic Link Library).
Не забудьте, что все функции необходимо объявить с методом вызова "__stdcall", а так же каждую функцию следует указать в *.def-файле в разделе EXPORTS.
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);
Прототип:
bool Camac_Port_Init();
Функция инициализирует устройство КАМАК. В случае успешной инициализации возвращает true, в противном случае fasle. Несмотря на то, что в некоторых Алгоритмических Модулях эта функция может не использоваться, она должна быть реализована.
Прототип:
bool Camac_Port_Close();
Функция закрывает заголовок устройства КАМАК. В случае успешного закрытия возвращает true, в противном случае fasle. Функция так же не всегда обязательна к реализации.
Прототип:
void CamO(const unsigned char n, const unsigned char f, const unsigned char a, long d);
Функция записи передачи данных системе КАМАК.
В качестве параметров используются:
n - номер модуля
f - номер функции
a - субадрес
d - непосредственно, данные
Прототип:
long CamI(const unsigned char n, const unsigned char f, const unsigned char a);
Функция чтения данных от КАМАК.
В качестве параметров используются:
n - номер модуля
f - номер функции
a - субадрес
Функция возвращает полученные от КАМАК данные.
Прототип:
void CamDrv(const unsigned char n, const unsigned char f, const unsigned char a);
Функция передачи управляющих команд системе КАМАК.
В качестве параметров используются:
n - номер модуля
f - номер управляющей функции
a - субадрес
Прототип:
void SetC();
Сброс, определенных пользователем регистров, в начальное состояние.
Прототип:
void SetZ();
Сброс всех регистров в начальное состояние.
Прототип:
void SetI();
Установка сигнала блокировки.
Прототип:
unsigned int CamL();
Проверка сигнала требования на обслуживание.
Прототип:
bool CamQ();
Проверка состояния сигнала подтверждения.
Прототип:
bool CamX();
Проверка состояния готовности.
Прототип:
void Waiting(const unsigned char n);
Функция приостановления процесса эксперимента до получения сигнала Q от модуля, расположенного в станции с номером n.
Прототип:
void WaitingExt(const unsigned char n, const unsigned char a);
Функция приостановления процесса эксперимента до получения сигнала Q от модуля, расположенного в станции с номером n при проверке субадреса a.
|