Автор Тема: подключится к Matrix III RD-ALL через Z-397 web  (Прочитано 14515 раз)

gsa

  • Пользователь
  • *****
  • Сообщений: 269
Re: подключится к Matrix III RD-ALL через Z-397 web
« Ответ #15 : 14 Июня 2019, 17:35 »
передергивание питания считывателю и конвертеру не помогло. Я думаю, сообщение "Err5: Syntax" прилетало и раньше, но до этого мы вообще не получали данных из-за адвансед мода, а потом торопились и не ждали больше 90 секунд.
Это ошибка Sdk. Скоро пришлю обновление.

gsa

  • Пользователь
  • *****
  • Сообщений: 269
Re: подключится к Matrix III RD-ALL через Z-397 web
« Ответ #16 : 14 Июня 2019, 19:19 »
Обновление Sdk Readers v3.26.19 https://yadi.sk/d/FpfnizmH3KFhZQ
Sdk теперь само отправляет 'r' и теперь перестаёт опрашивать конвертер после подключения функцией ZR_Rd_Open.
Тестировал на эмуляторе, который 'r' игнорирует, поэтому возможно обновление не заработает как надо с Z-397 Web.

P.S. Но так как после ZR_Rd_Open устройству не посылаются никакие команды, то возможно конвертер будет обрывать связь по тайм-ауту отсутствия передачи данных, этого можно избежать 2 способами: 1) в конфиге конвертера установить NODATA_TIMEOUT=0 (отключить тайм-аут), 2) установить параметр ZR_RD_NOTIFY_SETTINGS::nCheckCardPeriod = 3000 функцией ZR_Rd_SetNotification. Хотя после разрыва конвертер должен сразу же связь восстановить.

andrei

  • Пользователь
  • *****
  • Сообщений: 16
Re: подключится к Matrix III RD-ALL через Z-397 web
« Ответ #17 : 14 Июня 2019, 20:50 »
протестировали. Данные получаются и без "r", err5 не прилетает, но после перезагрузки конвертера не приходит событие о потере\восстановлении соединения и данные от ридера тоже не приходят.

gsa

  • Пользователь
  • *****
  • Сообщений: 269
Re: подключится к Matrix III RD-ALL через Z-397 web
« Ответ #18 : 17 Июня 2019, 10:08 »
после перезагрузки конвертера не приходит событие о потере\восстановлении соединения и данные от ридера тоже не приходят.
Похоже, что Sdk не обнаруживает потерю связи (вероятно не приходит уведомление от сокета). Попробуйте установить параметр ZR_RD_NOTIFY_SETTINGS::nCheckCardPeriod = 3000 функцией ZR_Rd_SetNotification. Тогда при попытке отправить данные если нет связи, то произойдёт ошибка и Sdk закроет сокет и будет ждать новое подключение конвертера.

andrei

  • Пользователь
  • *****
  • Сообщений: 16
Re: подключится к Matrix III RD-ALL через Z-397 web
« Ответ #19 : 06 Июля 2019, 21:16 »
Проверил: ZR_RD_NOTIFY_SETTINGS::nCheckCardPeriod = 3000 помогает. После установки этого параметра множественное отсоединение\восстановление сети от конвертера, снятие\восстановление питание конвертера, снятие\восстановление питания ридера не влияет на приход событий от ридера. Но, вот, перезагрузка конвертера через телнет иногда с третьего или четвертого раза "вешает" приход событий и не помогает уже снятие питания с конвертера, отсоединение сети, только перезагрузка программы.
И можно-ли как-то восстанавливать работу и с портом тоже, а не только с ридером?
« Последнее редактирование: 06 Июля 2019, 21:38 от andrei »

gsa

  • Пользователь
  • *****
  • Сообщений: 269
Re: подключится к Matrix III RD-ALL через Z-397 web
« Ответ #20 : 08 Июля 2019, 10:55 »
...не помогает уже снятие питания с конвертера, отсоединение сети, только перезагрузка программы.
И можно-ли как-то восстанавливать работу и с портом тоже, а не только с ридером?
Включите уведомление об ошибках:
ZR_RD_NOTIFY_SETTINGS rRNS;
rRNS.nNMask = ZR_RNF_ERROR;
ZR_Rd_SetNotification(hRd, rRNS);
В обработчике уведомления ZR_RN_ERROR переподключитесь к считывателю ZP_CloseHandle(hRd), ZR_Rd_Open(hRd, ...).
Попробуйте обновление Sdk Readers v3.26.20 https://yadi.sk/d/FpfnizmH3KFhZQ исправил алгоритм подключения к IP конвертеру в режиме "Клиент".

andrei

  • Пользователь
  • *****
  • Сообщений: 16
Re: подключится к Matrix III RD-ALL через Z-397 web
« Ответ #21 : 08 Июля 2019, 15:52 »
С новым сдк ZR_Rd_SearchCards возвращает 0x80040303, те ZR_E_BADANSWER. События не приходят.

gsa

  • Пользователь
  • *****
  • Сообщений: 269
Re: подключится к Matrix III RD-ALL через Z-397 web
« Ответ #22 : 08 Июля 2019, 16:44 »
С новым сдк ZR_Rd_SearchCards возвращает 0x80040303, те ZR_E_BADANSWER. События не приходят.
Это происходит после перезагрузки конвертера? Часто возникает ошибка? Можете прислать лог файл Sdk? Для записи лог файла нужно: 1) использовать библиотеку из папки "Log", 2) первым вызвать ZR_Initialize с флагами ZP_IF_LOG + ZR_IF_LOG, 3) с помощью функции ZP_SetLog установить путь к файлу лога.

andrei

  • Пользователь
  • *****
  • Сообщений: 16
Re: подключится к Matrix III RD-ALL через Z-397 web
« Ответ #23 : 08 Июля 2019, 18:41 »
Ошибка возникает всегда, сразу после подключения к считывателю. Пробовал со строй dll - всё ок. Логи сделаю чуть позже.

andrei

  • Пользователь
  • *****
  • Сообщений: 16
Re: подключится к Matrix III RD-ALL через Z-397 web
« Ответ #24 : 08 Июля 2019, 18:48 »
Не понял, что значит ZP_IF_LOG + ZR_IF_LOG

gsa

  • Пользователь
  • *****
  • Сообщений: 269
Re: подключится к Matrix III RD-ALL через Z-397 web
« Ответ #25 : 08 Июля 2019, 18:51 »
Не понял, что значит ZP_IF_LOG + ZR_IF_LOG
ZR_Initialize(0x102)
ZP_IF_LOG, ZR_IF_LOG - это константы, объявленные в заголовочном файле.

andrei

  • Пользователь
  • *****
  • Сообщений: 16
Re: подключится к Matrix III RD-ALL через Z-397 web
« Ответ #26 : 08 Июля 2019, 19:01 »
19:00:19.401 [L I303 1] "127.0.0.1:50156" connected.
19:00:19.401 [  I0 1] Log 08.07.2019 (Windows 64-bit v6.2.9200 ; App 32-bit: ZPort.dll v1.18.14, \Z2M_EnumCards.exe v1.0.0, ZReader.dll v3.26.20)
19:00:19.401 [P I40000 2] "ZP_Initialize" returned 0. Flags=103h, RefCount=1.
19:00:19.401 [R I45000 2] "ZR_Initialize" returned 0. Flags=103h, RefCount=1.
19:00:20.104 [P I40022 3] Port "5000\192.168.98.50\38902" is open. Handle=57C73B0h, Baud=9600, char=0Dh, stopBits=2.
19:00:20.104 [P I40011 1] "ZP_Write" returned 0h.  Handle=57C73B0h, data=[3]{"i\r\n" 69 0D 0A}.
19:00:21.120 [P I40011 1] "ZP_Write" returned 0h.  Handle=57C73B0h, data=[3]{"i\r\n" 69 0D 0A}.
19:00:21.214 [P I40012 1] "ZP_Read" returned 0h.  Handle=57C73B0h, buf=[14/14]{"Err5: Syntax\r\n" 45 72 72 35 3A 20 53 79 6E 74 61 78 0D 0A}.
19:00:21.214 [P I40011 1] "ZP_Write" returned 0h.  Handle=57C73B0h, data=[3]{"i\r\n" 69 0D 0A}.
19:00:21.807 [P I40012 1] "ZP_Read" returned 0h.  Handle=57C73B0h, buf=[218/218]{"\r\nThe MATRIX-III RD-ALL S/N:10585 [0501]\r\nCopyRight (C)2006 IronLogic, Saint-Petersburg,RUSSIA\r\nwww.ironlogic.ru ph. +7(495)78-77066,+7(812)542-04-80\r\nPlease send Email: marketing@ironlogic.ru\r\nSoftware version: 0031\r\n"}.
19:00:21.807 [R I45003 1] "ZR_Rd_Open" returned 0h.  Handle=12FF1E4h.
19:00:21.807 [P I40011 1] "ZP_Write" returned 0h.  Handle=57C73B0h, data=[1]{"r" 72}.
19:00:22.573 [P I40012 1] "ZP_Read" returned 0h.  Handle=57C73B0h, buf=[218/218]{"\r\nThe MATRIX-III RD-ALL S/N:10585 [0501]\r\nCopyRight (C)2006 IronLogic, Saint-Petersburg,RUSSIA\r\nwww.ironlogic.ru ph. +7(495)78-77066,+7(812)542-04-80\r\nPlease send Email: marketing@ironlogic.ru\r\nSoftware version: 0031\r\n"}.

В файл почему-то не пишет, но в лог сервер отправляет.
« Последнее редактирование: 08 Июля 2019, 19:03 от andrei »