Мы имеем контроллер Z5R Web и обращаемся к нему из своего ПО по сети с помощью SDK Guard.
Можем ли мы реализовать задержку повторного прохода для определенного ключа?
Наша задача запретить повторный проход в течении 5 минут или 24 часов.
Периодически на конвертерах Z-397 Web получаем ошибку:
Ошибка ZG_Cvt_Open (80040303)
Помогает лишь физическая перезагрузка конвертера.
Но при этом GuardLight видит контроллеры.
В чем может быть проблема?
Подскажите, а как в C# вызвать эту функцию: ZPIntf.ZP_SetLog ?
Добавьте #define ZP_LOG или уберите #if ZP_LOG, а дальше как обычно.Как правильнее организовать непрерывную работу с контроллерами Z5R Net 8000? Можно ли открыть (ZG_Ctr_Open) и не закрывать сразу несколько контроллеров на одном конверторе?
Можно открыть (ZG_Ctr_Open) и не закрывать сразу несколько контроллеров. Ещё можно ловить уведомление об ошибке и переподключаться к конвертеру. Речь об ZG_Ctr_SetNotification . Никак не могу решить проблему:
ZG_FIND_CTR_INFO ControllerInfo = new ZG_FIND_CTR_INFO();
// (ZG_FIND_CTR_INFO)Marshal.PtrToStructure(IntPtr.Zero, typeof(ZG_FIND_CTR_INFO));
while (ZGIntf.ZG_Cvt_FindNextController(hConverter, ref ControllerInfo) == ZGIntf.S_OK) { ...
Ошибка: ref ControllerInfo не может быть ref. А если писать без ref, то тоже ошибка.
Cannot marshal 'parameter #2': Invalid managed/unmanaged type combination (this value type must be paired with Struct).
Передавая в ZG_Ctr_WriteKeys массив ключей на запись, можно ли полагаться, что они будут записаны в том же порядке, как и были помещены в массив?
Дело в том, что для ускорения удаления ключей из контроллера (а поиск ключа для удаления - довольно таки долгая операция), хочу заносить в БД индекс ключа в контроллере.
Если по одному ключу заносить - то всё понятно, а вот как массивом?
TopIdx + N (из массива)
При чтении ключей через SDK с контроллеров Guard Net вылетает ошибка с кодом - 2147220733. В Документации информации по такой ошибке нет. С чем она может быть связана? В контроллере включено объединение банков ключей. Записано > 10 000 ключей на данный момент.
Ошибка -2147220733 = 0x80040303L = ZG_E_NOANSWER означает, что конвертер не ответил на запрос. Возможно, конвертер не успел ответить. Попробуйте увеличить тайм-аут ответа, передав в функцию ZG_Cvt_Open параметр pWait в структуре ZG_CVT_OPEN_PARAMS, установите в pWait параметр nReplyTimeout =5000, остальные параметры =0..Используем контроллеры Guard Net на турникетах и шлагбаумах, соответственно, используем прошивки турникет и шлагбаум для этого контроллера. Через SDK получаем события с этого контроллера о поднесениях карт, подключении/отключении контроллера и т.п. Но события с тампера почему-то не приходят. Можно ли как-то включить сигнал об открытии крышки контроллера, то есть срабатывания этого самого тампера в прошивках турникет и шлагбаум?
Состояние тампера передаётся если включена охрана и стоит в маске охраны соответствующий бит. Скачали с сайта и установили SDK для Delphi .
Программа Demo.exe отлично работает и управляет контроллером.
Однако при попытке скомпилировать проект Demo.dpr (SDK Guard/ Delphi/Demo/ Demo.dpr) появляется ошибка "Запуск программы невозможен, т.к. на компьютере отсутствует ZGuard.dll. Попробуйте переустановить программу" хотя библиотека на ПК установлена и Demo.exe отлично работает.
Просим Вас помочь в решении проблемы