IronLogic СКУД

Считыватели => MATRIX => Тема начата: Антон от 11 Августа 2022, 14:28

Название: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: Антон от 11 Августа 2022, 14:28
Добрый день.

Возникло несколько вопросов по подключению считывателя:
1. Есть matrix rd 3all, подключен к компьютеру через usb-rs485 болид ацдр.426469.032. Пытаемся через конфигуратор ZR1C подключиться к считывателю, тестовое подключение проходит с ошибкой. В чем может быть проблема?
2. Для подключения к 1С достаточно будет использовать "ZR1C64.dll" которая входит в пакет конфигуратора ZR1C?
Название: Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: gsa от 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 (https://ironlogic.ru/il_new.nsf/htm/ru_matrix3all)

2. Для подключения к 1С достаточно будет использовать "ZR1C64.dll" которая входит в пакет конфигуратора ZR1C?
Да, если 1С 64-битный, то достаточно "ZR1C64.dll", если 1С 32-битный, то "ZR1C.dll".
Название: Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: Антон от 12 Августа 2022, 07:43
Добрый день
Какая версия прошивки у matrix 3 rd all? ZR1C работает только со считывателями с заводскими прошивками, т.е. с прошивкой с меткой "заводская прошивка" https://ironlogic.ru/il_new.nsf/htm/ru_matrix3all (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 нажать отключить, а потом подключиться, то появляется ошибка "Тайм-аут подключения данных ответа из порта". Подобная ошибка в при таких действиях это норма?
Название: Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: gsa от 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.
Название: Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: Антон от 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"

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

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

КонецПроцедуры
Название: Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: gsa от 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С".
Название: Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: Антон от 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);         
 
КонецПроцедуры


Название: Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: Антон от 15 Августа 2022, 09:45
Не понятным образом работает настройка формата. После проведенного теста в формате, если попытаться провести тест на другом формате ни чего не происходит. Пока не перезапустишь ConfigZR1C64 и не сбросишь все настройки
Название: Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: Антон от 15 Августа 2022, 10:16
Так же в списке отсутствует сканер магнитных карт. Привязываю к считывателю RFID
Название: Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: gsa от 15 Августа 2022, 10:57
Указал
ДемоКомп.ВставитьФормат(0, "GuardSaaS", "%.3u,%.5u", "b2 w01", "", FmtId);Но внешние событие все равно не срабатывает
Пришлите лог файл пожалуйста.

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

Так же в списке отсутствует сканер магнитных карт. Привязываю к считывателю RFID
На скриншоте есть тип "Считыватели магнитных карт". Тип "Считыватель RFID" не подойдёт, т.к. разные API с ZR1C. Когда разрабатывалась ZR1C типа "Считыватель RFID" в 1С не было. Скорее всего из-за этого не приходит внешнее событие.
Название: Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: Антон от 15 Августа 2022, 12:55
Лог файл после попытки подключиться из 1с
Название: Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: Антон от 15 Августа 2022, 13:07

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

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

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

На скриншоте есть тип "Считыватели магнитных карт". Тип "Считыватель RFID" не подойдёт, т.к. разные API с ZR1C. Когда разрабатывалась ZR1C типа "Считыватель RFID" в 1С не было. Скорее всего из-за этого не приходит внешнее событие.
В 1с из списка выбора отсутствует значение "считыватель магнитных карт".
ZR1C не обязательно регистрировать, можно использовать как показано в справке на странице "Пример для 1С".
Название: Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: Антон от 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] Ошибка подключения к считывателю: Операция прервана
Название: Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: gsa от 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 сразу после подключения к считывателю, т.к. короткое время жизни переменной ДемоКомп.
Название: Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: Антон от 15 Августа 2022, 14:07
Log по новой компоненте.
Единственно поставил точку останова на строке где проверяется подключение. Пару секунд подождал и результат подключения вернулся 3
Перем ДемоКомп;
 Перем FmtId;
Перем DevId;

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

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

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

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

Как сделать чтобы соединение было постоянно, ума не приложу.
Название: Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: gsa от 15 Августа 2022, 14:16
Как сделать чтобы соединение было постоянно, ума не приложу.
К сожалению, не знаю языка 1С, поэтому не могу подсказать как объявить глобальную переменную в 1С.
Название: Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: Антон от 15 Августа 2022, 14:40
Как сделать чтобы соединение было постоянно, ума не приложу.
К сожалению, не знаю языка 1С, поэтому не могу подсказать как объявить глобальную переменную в 1С.

Через нее получилось, Спасибо!

Вроде бы получилось поймать внешнее событие при первом чтении карты. Но если повторно ту же карту прочитать, ни чего не происходит. Если новую, которая ранее не считывалась, то внешние событие срабатывает. И формат номера не корректно отображается.
Такое же поведение однократного чтения карты происходит в Конфигураторе ZR1C64
Название: Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: gsa от 15 Августа 2022, 15:22
Вроде бы получилось поймать внешнее событие при первом чтении карты. Но если повторно ту же карту прочитать, ни чего не происходит. Если новую, которая ранее не считывалась, то внешние событие срабатывает.
Такое же поведение однократного чтения карты происходит в Конфигураторе ZR1C64
Обновление v1.9.3 https://disk.yandex.ru/d/vxB6L4I13P5JXp  (https://disk.yandex.ru/d/vxB6L4I13P5JXp)
Сейчас должно работать.
От Z-2 Base приходит "DALLAS[0000000000AF162D] 000,00000\r\n", но не приходит "No card", который должен приходить при удалении карты.

И формат номера не корректно отображается.
В логе функция ВставитьФормат возвращает ошибку, скорее всего из-за того что формат "GuardSaaS" уже есть в списке поэтому FmtId не устанавливается. Описание последней ошибки можно получить методом "ПолучитьОшибку".
16:38:26.123 [I00041] Вызов функции ВставитьФормат(I4 0, "GuardSaaS", "%.3u,%.5u", "b2 w01", "", EMPTY)...
16:38:26.123 [I00042] Функция вернула false, параметры (I4 0, "GuardSaaS", "%.3u,%.5u", "b2 w01", "", EMPTY).
Можно использовать ДемоКомп.ОчиститьФорматы(); или в программе "Конфигуратор ZR1C" на вкладке "Основное" снять флаг "Загружать при старте ZR1C".
Название: Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: Антон от 15 Августа 2022, 15:36
Обновление v1.9.3 https://disk.yandex.ru/d/vxB6L4I13P5JXp  (https://disk.yandex.ru/d/vxB6L4I13P5JXp)
Сейчас должно работать.
От Z-2 Base приходит "DALLAS[0000000000AF162D] 000,00000\r\n", но не приходит "No card", который должен приходить при удалении карты.
Все успешно заработало. Чтение идет подряд по одной карте. Спасибо!

В логе функция ВставитьФормат возвращает ошибку, скорее всего из-за того что формат "GuardSaaS" уже есть в списке поэтому FmtId не устанавливается. Описание последней ошибки можно получить методом "ПолучитьОшибку".
16:38:26.123 [I00041] Вызов функции ВставитьФормат(I4 0, "GuardSaaS", "%.3u,%.5u", "b2 w01", "", EMPTY)...
16:38:26.123 [I00042] Функция вернула false, параметры (I4 0, "GuardSaaS", "%.3u,%.5u", "b2 w01", "", EMPTY).
Можно использовать ДемоКомп.ОчиститьФорматы(); или в программе "Конфигуратор ZR1C" на вкладке "Основное" снять флаг "Загружать при старте ZR1C".

Начал разбираться...
Название: Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: Антон от 15 Августа 2022, 15:57
Результат "-2 147 220 939" по методу  л_Ошибка =  ДемоКомп.ПолучитьОшибку(DevId);

Если использовать ДемоКомп.ОчиститьФорматы(), то перестает работать Внешние событие.
В программе "Конфигуратор ZR1C" на вкладке "Основное" снял флаг "Загружать при старте ZR1C".
Название: Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: gsa от 15 Августа 2022, 16:05
Результат "-2 147 220 939" по методу  л_Ошибка =  ДемоКомп.ПолучитьОшибку(DevId);
Ошибка означает, что формат с указанным названием уже существует. Текст ошибки будет записан в DevId.

Если использовать ДемоКомп.ОчиститьФорматы(), то перестает работать Внешние событие.
В программе "Конфигуратор ZR1C" на вкладке "Основное" снял флаг "Загружать при старте ZR1C".
Метод ОчиститьФорматы() удаляет все форматы. Если после него не добавить новый формат и установить его считывателю, то внешнее событие не сработает (в логе должна быть информация об этом). Метод ОчиститьФорматы() следовало вызвать перед методом ВставитьФормат().
Название: Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: Антон от 16 Августа 2022, 07:19
Результат "-2 147 220 939" по методу  л_Ошибка =  ДемоКомп.ПолучитьОшибку(DevId);
Ошибка означает, что формат с указанным названием уже существует. Текст ошибки будет записан в DevId.

Если использовать ДемоКомп.ОчиститьФорматы(), то перестает работать Внешние событие.
В программе "Конфигуратор ZR1C" на вкладке "Основное" снял флаг "Загружать при старте ZR1C".
Метод ОчиститьФорматы() удаляет все форматы. Если после него не добавить новый формат и установить его считывателю, то внешнее событие не сработает (в логе должна быть информация об этом). Метод ОчиститьФорматы() следовало вызвать перед методом ВставитьФормат().

Перенес метод очистки. Теперь при запуске подключения метод ДемоКомп.ПолучитьОшибку(DevId) возвращает значение "0"

&НаКлиенте
 Перем ДемоКомп,FmtId,DevId;

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

  ПодключитьВнешнююКомпоненту("D:\1c\Divice\driver_work\ZR1C64.dll", "Comp", ТипВнешнейКомпоненты.Native);

  ДемоКомп = Новый("AddIn.Comp.ZR1CExtension");

  // Создаём новый формат
   ДемоКомп.ОчиститьФорматы();
  //ДемоКомп.ВставитьФормат(0, "GuardSaaS", "%.3u,%.5u", "b2 w01", "", FmtId);
  ДемоКомп.ВставитьФормат(0, "PERCo", "%u\t%u", "b2 w01", "", FmtId);
 
  л_Ошибка =  ДемоКомп.ПолучитьОшибку(DevId);
 
  Сообщить(л_Ошибка);

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

КонецПроцедуры

Считанное значение 1С получает от считывателя, значение в формате ВставитьФормат(0, "PERCo", "%u\t%u", "b2 w01", "", FmtId) которого содержит "0   44822" вроде можем сконвертировать в нужный нам вид.

Драйвер оборудования в 1С получилось загрузить, но добавить новое оборудование "Считыватель магнитных карт", программно не доступно в 1С Общепит 3.0

Спасибо за помощь.
Название: Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: Антон от 17 Августа 2022, 12:31
Добрый день.

Общение 1с и считывателя работает нормально.

Теперь столкнулся с проблемой настройки формата.
Карта с номером "161,47928", в putty читается "DALLAS[0000000000A1BB38] 000,00000". Формат карты En-marine
В конфигураторе ZR1C с выбранным форматом GuardSaaS(шаблон: %.3u,%.5u параметры: b2 w01) читается "000,41403". Если в параметрах указываю "b1 w01" то читается "161,41403"
В формате DALLAS (Шаблон: %.2X%.2X%.2X%.2X%.2X%.2X%.2X%.2X Параметры: b6 b5 b4 b3 b2 b1 b0 bX) читается "0000000000A1BB3C"
Пробовал менять параметры согласно справке в разделе Формат/Параметры, безрезультатно. Нужна ваша помощь.
Название: Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: gsa от 17 Августа 2022, 13:07
Карта с номером "161,47928", в putty читается "DALLAS[0000000000A1BB38] 000,00000". Формат карты En-marine
В конфигураторе ZR1C с выбранным форматом GuardSaaS(шаблон: %.3u,%.5u параметры: b2 w01) читается "000,41403". Если в параметрах указываю "b1 w01" то читается "161,41403"
Добрый день
Обновление ZR1C v1.9.3 https://disk.yandex.ru/d/vxB6L4I13P5JXp (https://disk.yandex.ru/d/vxB6L4I13P5JXp)
Исправил.
Название: Re: matrix rd 3all + usb-rs485 болид ацдр.426469.032 + 1C 8.3
Отправлено: Антон от 17 Августа 2022, 13:27
Карта с номером "161,47928", в putty читается "DALLAS[0000000000A1BB38] 000,00000". Формат карты En-marine
В конфигураторе ZR1C с выбранным форматом GuardSaaS(шаблон: %.3u,%.5u параметры: b2 w01) читается "000,41403". Если в параметрах указываю "b1 w01" то читается "161,41403"
Добрый день
Обновление ZR1C v1.9.3 https://disk.yandex.ru/d/vxB6L4I13P5JXp (https://disk.yandex.ru/d/vxB6L4I13P5JXp)
Исправил.

Теперь читается Внешнее событие: COM4 -- ДанныеКарты -- 161,47928.

Спасибо!