Автор Тема: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3  (Прочитано 8717 раз)

Антон

  • Пользователь
  • *****
  • Сообщений: 16
Добрый день.

Возникло несколько вопросов по подключению считывателя:
1. Есть matrix rd 3all, подключен к компьютеру через usb-rs485 болид ацдр.426469.032. Пытаемся через конфигуратор ZR1C подключиться к считывателю, тестовое подключение проходит с ошибкой. В чем может быть проблема?
2. Для подключения к 1С достаточно будет использовать "ZR1C64.dll" которая входит в пакет конфигуратора ZR1C?

gsa

  • Пользователь
  • *****
  • Сообщений: 265
Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
« Ответ #1 : 11 Августа 2022, 15:13 »
1. Есть matrix rd 3all, подключен к компьютеру через usb-rs485 болид ацдр.426469.032. Пытаемся через конфигуратор ZR1C подключиться к считывателю, тестовое подключение проходит с ошибкой. В чем может быть проблема?
Добрый день
Какая версия прошивки у matrix 3 rd all? ZR1C работает только со считывателями с заводскими прошивками, т.е. с прошивкой с меткой "заводская прошивка" https://ironlogic.ru/il_new.nsf/htm/ru_matrix3all

2. Для подключения к 1С достаточно будет использовать "ZR1C64.dll" которая входит в пакет конфигуратора ZR1C?
Да, если 1С 64-битный, то достаточно "ZR1C64.dll", если 1С 32-битный, то "ZR1C.dll".

Антон

  • Пользователь
  • *****
  • Сообщений: 16
Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
« Ответ #2 : 12 Августа 2022, 07:43 »
Добрый день
Какая версия прошивки у matrix 3 rd all? ZR1C работает только со считывателями с заводскими прошивками, т.е. с прошивкой с меткой "заводская прошивка" https://ironlogic.ru/il_new.nsf/htm/ru_matrix3all

Спасибо за ответ.

После следующих манипуляций тест на подключение вроде бы прошел успешно:
1. Отключил питание от считывателя matrix 3 rd all
2. Отключил от usb преобразователь usb-rs485 болид ацдр.426469.032
3. Подключил все обратно
4. В форме конфигуратора ZR1C в подключении указал порт "com3", модель "matrix 3 rd-all", скорость "9600", галка "Виганк" включена
Скрин прикрепил к сообщению.

Но если еще раз нажать провести тест на подключение или в конфигураторе ZR1C нажать отключить, а потом подключиться, то появляется ошибка "Тайм-аут подключения данных ответа из порта". Подобная ошибка в при таких действиях это норма?

gsa

  • Пользователь
  • *****
  • Сообщений: 265
Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
« Ответ #3 : 12 Августа 2022, 08:53 »
Но если еще раз нажать провести тест на подключение или в конфигураторе ZR1C нажать отключить, а потом подключиться, то появляется ошибка "Тайм-аут подключения данных ответа из порта". Подобная ошибка в при таких действиях это норма?
Не норма. Функция теста устройства посылает в COM порт символ 'i', в ответ должен прийти текст из сообщения "The MATRIX-III RD-ALL S/N...". Если появляется ошибка "Тайм-аут подключения данных ответа из порта", то вероятно ответ на запрос 'i' не пришёл за время, указанное на вкладке "Основное" в поле "Тайм-аут запроса (мс)" (по умолчанию 3000 мс = 3 секунды).

Проверьте, пожалуйста, связь со считывателем через преобразователь с помощью любой программы терминала, например PuTTY (нужно открыть COM порт, установить параметры 9600,8,1,N, ввести 'i', должен прийти текст полного ответа). Если через программу-терминал передача проходит стабильно успешно, значит скорее всего что-то не так с ZR1C, иначе - скорее всего что-то не так с преобразователем.

Если проблема с ZR1C, то сообщите номер версии файлов "ZR1C64.dll" и "ConfigZR1C64.exe", и пришлите лог файл "%AppData%\IronLogic\ZR1C\ZR1C.log" (нужно в "Конфигуратор ZR1C" на вкладке "Основное" в группе "Лог" в поле "Уровень лога" выбрать "Подробно", в группе "Настройки компоненты ZR1C" установить "Загрузить при старте ZR1C" и нажать "Сохранить", после этого провести тест устройства с ошибкой, после этого прислать лог файл).
Если проблема с преобразователем, то не могу подсказать. Про считыватель тоже не могу подсказать (возможно плохой контакт, или неподходящие характеристики БП), лучше написать в техподдержку на E-mail: support@ironlogic.ru.

Антон

  • Пользователь
  • *****
  • Сообщений: 16
Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
« Ответ #4 : 12 Августа 2022, 13:05 »
Но если еще раз нажать провести тест на подключение или в конфигураторе ZR1C нажать отключить, а потом подключиться, то появляется ошибка "Тайм-аут подключения данных ответа из порта". Подобная ошибка в при таких действиях это норма?
Не норма. Функция теста устройства посылает в COM порт символ 'i', в ответ должен прийти текст из сообщения "The MATRIX-III RD-ALL S/N...". Если появляется ошибка "Тайм-аут подключения данных ответа из порта", то вероятно ответ на запрос 'i' не пришёл за время, указанное на вкладке "Основное" в поле "Тайм-аут запроса (мс)" (по умолчанию 3000 мс = 3 секунды).

Проверьте, пожалуйста, связь со считывателем через преобразователь с помощью любой программы терминала, например PuTTY (нужно открыть COM порт, установить параметры 9600,8,1,N, ввести 'i', должен прийти текст полного ответа). Если через программу-терминал передача проходит стабильно успешно, значит скорее всего что-то не так с ZR1C, иначе - скорее всего что-то не так с преобразователем.

Если проблема с ZR1C, то сообщите номер версии файлов "ZR1C64.dll" и "ConfigZR1C64.exe", и пришлите лог файл "%AppData%\IronLogic\ZR1C\ZR1C.log" (нужно в "Конфигуратор ZR1C" на вкладке "Основное" в группе "Лог" в поле "Уровень лога" выбрать "Подробно", в группе "Настройки компоненты ZR1C" установить "Загрузить при старте ZR1C" и нажать "Сохранить", после этого провести тест устройства с ошибкой, после этого прислать лог файл).
Если проблема с преобразователем, то не могу подсказать. Про считыватель тоже не могу подсказать (возможно плохой контакт, или неподходящие характеристики БП), лучше написать в техподдержку на E-mail: support@ironlogic.ru.

По ошибке "Тайм-аут подключения данных ответа из порта" дело похоже было в преобразователе usb-rs485 болид ацдр.426469.032. Заменил на "Адаптер для программирования автономных контроллеров и считывателей Ironlogic, через компьютер Модель: Z-2 Base" в конфигураторе ZR1C тест проходит успешно. Через PuTTY приходит входящий сигнал.

Теперь проблема в подключении к 1С. Библиотека ZR1C64.dll ни в какую не хочет регистрироваться. Получилось подключиться к компоненте перенеся ее в корень диска.
Если ПодключитьВнешнююКомпоненту("d:\ZR1C64.dll", "Comp", ТипВнешнейКомпоненты.Native) Тогда
Сообщить("Компонента для ZR1C64 загружена");
Иначе
    Сообщить("Компонента для ZR1C64 не загружена");
КонецЕсли;                         

л_Divice = Новый("AddIn.Comp.ZR1CExtension");

л_Divice.Порт = "Com4";           
DevID = Неопределено;
л_Divice.Open(DevID);
Подключиться к считывателю не получается, хотя л_Divice.Open(DevID) возвращает булево "Истина"

л_Состояние = л_Divice.ПолучитьСостояние(DevID)Возвращает значение "3"

При считывании карты в процедуре ВнешнееСобытие ничего не происходит
&НаКлиенте
Процедура ВнешнееСобытие(Источник, Событие, Данные)
// Вставить содержимое обработчика.

Сообщить("Внешнее событие: " + Источник + " -- " + Событие + " -- " + Данные);

КонецПроцедуры
« Последнее редактирование: 12 Августа 2022, 13:24 от Антон »

gsa

  • Пользователь
  • *****
  • Сообщений: 265
Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
« Ответ #5 : 12 Августа 2022, 13:39 »
Теперь проблема в подключении к 1С. Библиотека ZR1C64.dll ни в какую не хочет регистрироваться.
Компонента может регистрироваться только способом, описанным в справке "Help\ZR1C_RUS.chm" на странице "Быстрый обзор" -> "5-б. Режим работы "1С: Совместимо".

Подключиться к считывателю не получается, хотя л_Divice.Open(DevID) возвращает булево "Истина"
л_Состояние = л_Divice.ПолучитьСостояние(DevID)Возвращает значение "3"
Если возвращает "3", значит считыватель подключён. См. описание метода "ПолучитьСостояние" в справке "ZR1C_RUS.chm".

При считывании карты в процедуре ВнешнееСобытие ничего не происходит
Нужно выбрать формат номера. Его можно настроить с помощью "Конфигуратор ZR1C" или методами компоненты. См. пример в справке "ZR1C_RUS.chm" на странице "Пример для 1С".

Антон

  • Пользователь
  • *****
  • Сообщений: 16
Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
« Ответ #6 : 15 Августа 2022, 09:42 »
Компонента может регистрироваться только способом, описанным в справке "Help\ZR1C_RUS.chm" на странице "Быстрый обзор" -> "5-б. Режим работы "1С: Совместимо".
Драйвер загрузил в 1С. Указал оборудование как считыватель RFID. Тест проходит успешно. На этом все, Что с этим делать дальше не ясно.

Если возвращает "3", значит считыватель подключён. См. описание метода "ПолучитьСостояние" в справке "ZR1C_RUS.chm".

...
ДемоКомп.Подключить(DevId);

Форма = ПолучитьФорму("ФормаПодключения");
Форма.ОткрытьМодально(1);

Сообщить(ДемоКомп.ПолучитьСостояние(DevID));
Сработало примерно так, кажется так это не должно работать. Если убрать открытие формы на 1 сек., то код подключения 1

Нужно выбрать формат номера. Его можно настроить с помощью "Конфигуратор ZR1C" или методами компоненты. См. пример в справке "ZR1C_RUS.chm" на странице "Пример для 1С".

Указал
ДемоКомп.ВставитьФормат(0, "GuardSaaS", "%.3u,%.5u", "b2 w01", "", FmtId);Но внешние событие все равно не срабатывает

&НаКлиенте
Процедура ПриОткрытии(Отказ)
// Вставить содержимое обработчика.

Перем ДемоКомп;
  Перем FmtId;
  Перем DevId;
  ПодключитьВнешнююКомпоненту("d:\ZR1C64.dll", "Comp", ТипВнешнейКомпоненты.Native);
 // Перем ДемоКомп;
  ДемоКомп = Новый("AddIn.Comp.ZR1CExtension");

  //ДемоКомп.ОчиститьЛог();
  //ДемоКомп.ЗагрузитьНастройки();
  //ДемоКомп.ОчиститьФорматы();

  // Создаём новый формат
 // Перем FmtId;
  ДемоКомп.ВставитьФормат(0, "PERCo; Стражъ; пр.", "%u\t%u", "b2 w01", "", FmtId);
  // Задаём авто формат по умолчанию для всех считывателей
  //ДемоКомп.ИДФорматаПоУмолчанию = FmtId;

  // Задаём имя порта считывателя
  ДемоКомп.УстановитьПараметр("Порт", "COM4");
  // Задаём формат ключа для считывателя (не авто)
  ДемоКомп.УстановитьПараметр("ИДФорматаСчитывателя", FmtId);
  // Подключаемся к считывателю, в DevId получаем имя порта
// Перем DevId;
  ДемоКомп.Подключить(DevId);         
 
КонецПроцедуры



Антон

  • Пользователь
  • *****
  • Сообщений: 16
Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
« Ответ #7 : 15 Августа 2022, 09:45 »
Не понятным образом работает настройка формата. После проведенного теста в формате, если попытаться провести тест на другом формате ни чего не происходит. Пока не перезапустишь ConfigZR1C64 и не сбросишь все настройки

Антон

  • Пользователь
  • *****
  • Сообщений: 16
Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
« Ответ #8 : 15 Августа 2022, 10:16 »
Так же в списке отсутствует сканер магнитных карт. Привязываю к считывателю RFID

gsa

  • Пользователь
  • *****
  • Сообщений: 265
Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
« Ответ #9 : 15 Августа 2022, 10:57 »
Указал
ДемоКомп.ВставитьФормат(0, "GuardSaaS", "%.3u,%.5u", "b2 w01", "", FmtId);Но внешние событие все равно не срабатывает
Пришлите лог файл пожалуйста.
  • В "Конфигуратор ZR1C" на вкладке "Основное" в группе "Лог" в поле "Уровень лога" выберите "Подробно", в группе "Настройки компоненты ZR1C" установите "Загрузить при старте ZR1C" и нажате "Сохранить"
  • Воспроизведите проблему
  • Пришлите файл "%AppData%\IronLogic\ZR1C\ZR1C.log".

Не понятным образом работает настройка формата. После проведенного теста в формате, если попытаться провести тест на другом формате ни чего не происходит. Пока не перезапустишь ConfigZR1C64 и не сбросишь все настройки
Обновление ZR1C v1.9.3 https://disk.yandex.ru/d/vxB6L4I13P5JXp
Исправлена ошибка в окне "Параметры формата".

Так же в списке отсутствует сканер магнитных карт. Привязываю к считывателю RFID
На скриншоте есть тип "Считыватели магнитных карт". Тип "Считыватель RFID" не подойдёт, т.к. разные API с ZR1C. Когда разрабатывалась ZR1C типа "Считыватель RFID" в 1С не было. Скорее всего из-за этого не приходит внешнее событие.
« Последнее редактирование: 15 Августа 2022, 11:18 от gsa »

Антон

  • Пользователь
  • *****
  • Сообщений: 16
Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
« Ответ #10 : 15 Августа 2022, 12:55 »
Лог файл после попытки подключиться из 1с

Антон

  • Пользователь
  • *****
  • Сообщений: 16
Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
« Ответ #11 : 15 Августа 2022, 13:07 »

Обновление ZR1C v1.9.3 https://disk.yandex.ru/d/vxB6L4I13P5JXp
Исправлена ошибка в окне "Параметры формата".
Работает так же. Один раз проходит чтение, потом только отключение/подключение устройства для того чтобы снова прочитать.

На скриншоте есть тип "Считыватели магнитных карт". Тип "Считыватель RFID" не подойдёт, т.к. разные API с ZR1C. Когда разрабатывалась ZR1C типа "Считыватель RFID" в 1С не было. Скорее всего из-за этого не приходит внешнее событие.
В 1с из списка выбора отсутствует значение "считыватель магнитных карт".

gsa

  • Пользователь
  • *****
  • Сообщений: 265
Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
« Ответ #12 : 15 Августа 2022, 13:30 »
Лог файл после попытки подключиться из 1с
Вероятно, 1С после подключения к считывателю и сразу выгружает ZR1C. Может быть у переменной ДемоКомп короткое время жизни.
Обновление v1.9.3 https://disk.yandex.ru/d/vxB6L4I13P5JXp Добавил сообщение в лог файл об удалении объекта dll "Финиш", и сообщения о вызовах инициализации/завершения работы компоненты "CZR1C::Init()", "CZR1C::Done()" из 1С.

Работает так же. Один раз проходит чтение, потом только отключение/подключение устройства для того чтобы снова прочитать.
Воспроизведите пожалуйста это с включённой записью лог файла и пришлите лог файл.

На скриншоте есть тип "Считыватели магнитных карт". Тип "Считыватель RFID" не подойдёт, т.к. разные API с ZR1C. Когда разрабатывалась ZR1C типа "Считыватель RFID" в 1С не было. Скорее всего из-за этого не приходит внешнее событие.
В 1с из списка выбора отсутствует значение "считыватель магнитных карт".
ZR1C не обязательно регистрировать, можно использовать как показано в справке на странице "Пример для 1С".

Антон

  • Пользователь
  • *****
  • Сообщений: 16
Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
« Ответ #13 : 15 Августа 2022, 13:37 »
Удали все ранее добавленные устройства и драйвера в 1С Общепит 3.0
Загрузил заново драйвер "ZR1C: Драйвер для подключения устройств ввода".
После этого. Запустил обработку. Содержимое Log файла изменилась. Но по прежнему не срабатывает внешние событие

Хотя, нет. Все без изменений

15:39:36.256 [I01001] Лог 15.08.2022 (ZR1C v1.9.2.1, Windows v10.0.97.30)
15:39:36.256 [I00041] Вызов функции ВставитьФормат(I4 0, "GuardSaaS", "%.3u,%.5u", "b2 w01", "", EMPTY)...
15:39:36.257 [I00042] Функция вернула false, параметры (I4 0, "GuardSaaS", "%.3u,%.5u", "b2 w01", "", EMPTY).
15:39:36.257 [I00041] Вызов функции УстановитьПараметр("Порт", "COM4")...
15:39:36.257 [I00042] Функция вернула true, параметры ("Порт", "COM4").
15:39:36.258 [I00041] Вызов функции УстановитьПараметр("ИДФорматаСчитывателя", EMPTY)...
15:39:36.258 [I00042] Функция вернула true, параметры ("ИДФорматаСчитывателя", EMPTY).
15:39:36.259 [I00041] Вызов функции Подключить(EMPTY)...
15:39:36.259 [I00042] Функция вернула true, параметры ("COM4").
15:39:36.261 [I00002 COM4] Открыт порт "COM4" (9600,N,8,1).
15:39:36.292 [I00004 COM4] Закрыт порт "COM4".
15:39:36.292 [E00011 COM4] Ошибка подключения к считывателю: Операция прервана
« Последнее редактирование: 15 Августа 2022, 13:40 от Антон »

gsa

  • Пользователь
  • *****
  • Сообщений: 265
Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
« Ответ #14 : 15 Августа 2022, 13:50 »
Удали все ранее добавленные устройства и драйвера в 1С Общепит 3.0
Загрузил заново драйвер "ZR1C: Драйвер для подключения устройств ввода".
После этого. Запустил обработку. Содержимое Log файла изменилась. Но по прежнему не срабатывает внешние событие
Хотя, нет. Все без изменений
15:39:36.256 [I01001] Лог 15.08.2022 (ZR1C v1.9.2.1, Windows v10.0.97.30)
Лог записан старой версией ZR1C v1.9.2.1, поэтому не видно сообщений о завершении компоненты. Как уже писал раньше скорее всего 1С выгружает dll сразу после подключения к считывателю, т.к. короткое время жизни переменной ДемоКомп.