Управление устройствами выполняется через обмен сообщениями (командами) между RUN-файлом и ядром системы. Для реализации данного взаимодействия программного модуля с ядром используется IIDK, подробно рассмотренный в разделе Intellect Integration Developer Kit (IIDK). Необходимую информацию можно также почерпнуть из исходных файлов демонстрационного модуля, которые прилагаются к документации.

Ниже приведен пример использования средств разработки IIDK для демонстрационного модуля DEMO.

CString port = "1100";

CString ip = "127.0.0.1";

CString id = "";

BOOL IsConnect = Connect (ip, port, id, myfunc);

if (!IsConnect)

{

// не удалось подключиться

AfxMessageBox("Error");

Return;

}

SendMsg(id,"CAM|1|REC"); // поставить камеру 1 на запись

SendMsg(id, "DEMO|1|RESTORE"); // восстановление связи с объектом DEMO

//включить устройство DEMO_DEVICE с адресом 1

SendMsg(id,"DEMO_DEVICE|1|ON|params<1>,param0_name<address>,param0_val<1>"); 

Disconnect(id);

Внимание!

Если создан mdl-файл, то для подключения к ядру ПК Интеллект объект Интерфейс IIDK в системе не создается. В качестве идентификатора подключения передается пустая строка, то есть id равен “”.

При выгрузке модуля ему посылается сообщение WM_EXIT:

#define WM_EXIT  (WM_USER+2000)

Используя  функцию WinAPI – PostThreadMessage, необходимо перехватить это сообщение и обеспечить корректную выгрузку модуля. В VC++ и MFC  сообщение WM_EXIT отлавливается в классе, наследуемом от CWinApp, в Delphi и СBuilder – TApplication.

  • No labels