Работаем с оборудованием Bizerba (Бицерба) из 1С

27.04.15

Интеграция - Периферийные устройства

В публикации описано, как взаимодействовать с оборудованием Bizerba (этикетировщиками, весовыми терминалами и т.д.) из 1С при помощи компонент из пакета Connect.Brain

 

В интернете очень мало информации о взаимодействии с оборудованием фирмы Bizerba (ОБ). Немногочисленные ссылки приводят на Форум по программному обеспечению и оборудованию, а также на Внешнюю компоненту для взаимодействия 1С:Предприятия 8 с сервером Bizerba, которая обеспечивает работу с Бицербой через веб-сервис (смысл создания компоненты мне не понятен, т.к. Connect.Brain также предоставляет свой веб-сервис).

Итак, поехали.

1. Скачиваем Connect.Brain отсюда

2. Устанавливаем  Connect.Brain на все машины, с которых предполагается использование  ОБ. Не забываем установить галочку напротив "Developermode AddOn". Это позволит нам принять/отправить 50 телеграмм без лицензии. Лицензий понадобится столько, сколько у вас оборудования (поправьте меня, если это не так)

3. Настраиваем каждое ОБ : задаем IP, имя, активируем лицензию и т.д. Т.к. я не являюсь сервисным инженером, то не буду описывать этот шаг.

С установкой и настройкой закончили.

Обмен данным с ОБ возможен с помощью файлов, веб-сервиса, COM и д.р. Рассмотрим взаимодействие с ОБ через COM интерфейс, как наиболее удобное (по моему мнению).

После установки Connect.Brain нам доступны следующие COM объекты:

BCS.BCSComunnication - основной интерфейс для работы с ОБ: открытие устройства, отправка/получение теоеграмм

BCC.BCCCtrl.1 - тоже самое, что и BCS.BCSComunnication, только реализованоое как ActiveX

BCS.BCSInfo - получение информации об устройствах, лицензиях

BCTTools.Tools - вспомогательный интерфейс для парсинга телеграмм, конвертации веса

 

Также доступны интерфейсы BCS.BCSBcf, BCS.BCSComunnication2, BCS.BCSComunnication3, BCS.BCSConfig, BCS.BCSDiag, BCS.BCSLw, BCSLaunch.Launcher, BizInfo.BizInf, BizLogServ.CoLogger назначение которых мне не известно и в официальной документации не описано.

 

Для работы с ОБ нам понадобится его имя. Получить все доступное ОБ можно функцией GetDevice из интерфейса BCS.BCSInfo:

BCSInfo = Новый COMОбъект("BCS.BCSInfo");
Ответ = BCSInfo.Open("username1");
Устройства ="";
Количество =0;
Ответ = BCSInfo.GetDevice(Устройства, Количество);

После выполнения функции переменная "Устройства" будет содержать строку с параметрами устройств, "Количество" - количество активных устройств. Строка в моем случае такая: 

SECT01|SYSTEM1|PARA02|name|GLP4|PARA02|devCategory|2|PARA02|devType|19|PARA02|devicestate|0|PARA02|IsRemoteDevice|0|PARA02|IsUnicodeDevice|0|SECT01|SYSTEM2|PARA02|name|GLP5|PARA02|devCategory|2|PARA02|devType|19|PARA02|devicestate|0|PARA02|IsRemoteDevice|0|PARA02|IsUnicodeDevice|0|SECT01|SYSTEM3|PARA02|name|GLM_I_22|PARA02|devCategory|2|PARA02|devType|35|PARA02|devicestate|0|PARA02|IsRemoteDevice|0|PARA02|IsUnicodeDevice|0|SECT01|SYSTEM4|PARA02|name|GLP1|PARA02|devCategory|2|PARA02|devType|19|PARA02|devicestate|0|PARA02|IsRemoteDevice|0|PARA02|IsUnicodeDevice|0|SECT01|SYSTEM5|PARA02|name|GLP2|PARA02|devCategory|2|PARA02|devType|19|PARA02|devicestate|0|PARA02|IsRemoteDevice|0|PARA02|IsUnicodeDevice|0|SECT01|SYSTEM6|PARA02|name|GLP3|PARA02|devCategory|2|PARA02|devType|19|PARA02|devicestate|0|PARA02|IsRemoteDevice|0|PARA02|IsUnicodeDevice|0|

Формат списка и описание параметров можно посмотреть в описании: %ProgramFiles%\Bizerba\BCT\Help\English\Manual_connect.BRAIN_en.pdf

Нас же интересует только параметр name, в моем случае доступны устройства GLP4, GLP5, GLM_I_22, GLP1, GLP2, GLP3.


Теперь откроем устройство (функция Open, интерфейс BCS.BCSComunnication):

BCSComunnication = Новый COMОбъект("BCS.BCSComunnication");
ДобавитьОбработчик BCSComunnication.DataArrival, BCSDataArrival;
ДобавитьОбработчик BCSComunnication.RemoteDataArrival, BCSRemoteDataArrival;
	
Ответ = BCSComunnication.Open("username1", "GLP1", 1, 0, 0);

Т.к. устройство само будет извещать нас об отправке данных, то нужно добавить обработчики событий DataArrival и RemoteDataArrival. Их код будет ниже.


Теперь можно отправить команду на устройство (функция Send).

Хэндл = "";
Статус = 0;
Ответ = BCSComunnication.Send("A!XV00|GL19", "1", Хэндл, 100, Статус);

Эта команда ("A!XV00|GL19") выберет на устройстве ПЛУ с номером 1 и загрузит все его данные. Все команды и их параметры описаны здесь: %ProgramFiles%\Bizerba\BCT\Help\English\WebHelp\GX Net\index_E.html


Принимать данные будем в функции BCSDataArrival. Там же будем их парсить при помощи функции ParseTelegram, интерфейса BctTools.Tools

Функция BCSDataArrival(Хэндл)
	
	Данные = "";
	Команда = "";
	Статус = 0;
	Ответ = BCSComunnication.Receive(Команда, Данные, Хэндл, 0, Статус);
	
	МассивКоманд = Неопределено; // COMSafeArray
	МассивДанных = Неопределено; // COMSafeArray
	BCTTools = Новый COMОбъект("BctTools.Tools");
	Ответ = BCTTools.ParseTelegram(Команда, Данные, МассивКоманд, МассивДанных);
	
КонецФункции

После этого в переменной МассивКоманд будет массив COMSafeArray, где каждый элемент представляет собой строку команды, а в переменной МассивДанных - массив соответствующих данных.


Поле работы с устройством его нужно закрыть:

Ответ = BCSComunnication.Close();

Bizerba Бицерба Бизерба

См. также

Распознавание номеров автомашин с ip - камер, видео, фото

Распознавание документов и образов Периферийные устройства Автомобили, автосервисы Россия Платные (руб)

Программа считывает кадры с ip-камер (http - запрос к камере), видео, фото (источники кадров (нет ограничения на их количество) настраивается в конфигурационном файле), находит и распознает номера автомашин и сохраняет в базу db, с сохранением фото номера и автомашины, а также времени детекции.

20400 руб.

31.05.2023    3799    2    1    

3

Получение изображения с веб-камеры с возможностью его кадрирования по произвольной области

Инструментарий разработчика Периферийные устройства Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Внешняя обработка получения изображения с веб-камеры с возможностью его кадрирования по произвольно выделенной области. Использует собственную внешнюю компоненту на основе библиотеки AForge. Содержит примеры интерактивного взаимодействия с полем HTML.

20.03.2024    318    1    AndSem    1    

3

Прямая печать на принтерах TSC из 1С

Периферийные устройства Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Прямая печать на принтерах TSC из 1С при вызове с сервера позволяет печатать из тонкого клиента, мобильного клиента и веб-клиента. Потребуется установка драйвера и библиотеки для отправки команд на этот драйвер.

1 стартмани

19.02.2024    532    3    realslavyan    0    

5

HotKeys на Python для 1С

Периферийные устройства Конфигурации 1cv8 Бесплатно (free)

Недавно прочитал статью на Инфостарте о KeyPad и вначале захотел себе такой, но через какое-то время я понял, что дополнительная даже маленькая клавиатура занимает место, и нужно все время держать ее под рукой. Это все создает дополнительные неудобства.

20.12.2023    4920    John_d    25    

70

Очистка очереди печати конкретного принтера

Периферийные устройства Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Очистка очереди печати выбранного принтера, перезапуск службы печати, вывод списка системных принтеров, открытие свойств принтера из 1С.

1 стартмани

07.11.2023    1257    1    vsnazarov    1    

26

Печать этикеток на DYMO LabelManager 280 через DYMO Connect Web Service

Периферийные устройства WEB-интеграция Этикетки, ценники Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

На сайте производителя принтера DYMO LabelManager 280 вместе с драйвером поставляется пакет DYMO Connect, который предлагает функционал вёрстки этикеток в фирменном формате и отправки их напрямую на принтер. Так же в этом пакете есть веб-сервис для взаимодействия с принтером через HTTP-запросы, о котором и пойдет речь в этой статье.

29.08.2023    1458    GeraltSnow    0    

3

Второй монитор в качестве дисплея покупателя

Розничная торговля Периферийные устройства Платформа 1С v8.3 1С:Управление торговлей 11 Абонемент ($m)

Использование второго монитора в качестве дисплея покупателя. Выполнено в качестве расширения.

1 стартмани

02.02.2023    3188    25    windsurf    4    

5
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. sad12345 04.09.15 14:52 Сейчас в теме
Есть оборудование GLM-I, подключенное по сети.
Используются USB-Ключи подключенные к экитеровщикам.
Нужно подключиться к нему по сети.
BCSInfo.Open отрабатывает нормально.
BCSComunnication.Open выдает, что нет лицензий.
Не можешь подсказать куда копать?
2. Йожкин Кот 1006 04.09.15 18:08 Сейчас в теме
(1) Не подскажу. Пинайте своего сервис-инженера
3. sad12345 08.09.15 15:20 Сейчас в теме
С лицензиями вроде разобрался. А нет ли какой-нибудь обработки с этим функционалом?
10. user665687_korostelevin 23.06.20 08:57 Сейчас в теме
(3)
добрый день! может вспомните как разорбались с лицензией? старые весы бизерба, нужна лицензия для настройки этикетки
4. Йожкин Кот 1006 08.09.15 18:00 Сейчас в теме
Пока нет, времени нет написать.
5. korefano 20 14.04.16 12:24 Сейчас в теме
Добрый день.
На текущий момент есть ли готовая обработка?
6. Йожкин Кот 1006 14.04.16 17:10 Сейчас в теме
(5) Обработки нет - все основные моменты в публикации описаны. Если что не понятно, можете задать вопросы в личку.
8. mmxd 28.05.18 20:04 Сейчас в теме
Не получилось ловить события через BCSDataArrival :(
Пакет с GLP отправляется, а 1С не видит событие. Brain Diagnostics видит пакеты, принимает, а через 1С не получилось. Пробовал и в модуле формы, и в модуле обработки, и в общий модуль подставлял - не обрабатывает хоть ты тресни.
Пробовал уже перейти на обычные формы и там отлавливать, но ничего не получилось. Пришлось переписывать на С#
9. Йожкин Кот 1006 30.05.18 11:52 Сейчас в теме
(8) Написал в личку, но сюда тоже продублирую.
Если платформа с 8.3.7 до 8.3.10, то событие не ловится - ошибка платформы. Исправлена только в 8.3.11 и выше. Либо можно использовать 8.3.6 и ниже, там этой ошибки нет.
11. dydydy 02.03.21 17:38 Сейчас в теме
А в чем может быть проблема?
Если в методе Send вторым параметров ставлю любое значение например "1", то вылетает ошибка "слишком много данных в записи"
BCSComunnication.Send("I?LV01|RX01|", "1", Хэндл, 100, Статус);

Если оставляю пустым то вроде бы отрабатывает нормально, но дальше на методе Receive данных я не получаю, как будто бы весы еще не стабилизировались. При этом статус всегда выставляется в единицу.

В бицербовскую программу вес считывается.
12. user1395088 08.05.21 14:51 Сейчас в теме
Добрый день, кто то пытался парсить лог файл от бицербы?
настроено приложение 2File
13. user1657329 03.09.21 10:22 Сейчас в теме
Мужики! Граждане! Товарищи! Спасите! Весы BIZERBA BC II 800. На дисплее, в верхней строчке, высвечивается буквы (почти в хаотическом порядке, лишь некоторыми сочетаниями напоминающие знакомые слова) вперемежку с маленькими прямоугольничками , чуть больше буквы. Попробую изобразить: "ОООс мОом ОратОновское", ИЛИ "Окон варООкО ООкоОенс в..." где "О" - и есть эти прямоугольнички. Подскажите, что делать!!!!!!! Ближайшие сервисы в другой области!!!
14. vladislavbychihin 23.03.22 12:47 Сейчас в теме
(13)
ждане! Товарищи! Спасите! Весы BIZERBA BC II 800. На дисплее, в верхней строчке, высвечивается буквы (почти в хаотическом порядке, лишь некоторыми сочетаниями напоминающие знакомые слова) вперемежку с маленькими прямоугольничками , чуть больше буквы. Попробую изобразить: "ОООс мОом ОратОновское", ИЛИ "Окон варООкО ООкоОенс в..." где "О" - и есть эти прямоугольнички. Подскажите, что делать!!!!!!! Ближайшие сервисы в другой области!!!
Получилось решить данную проблему?
15. jmi 2 16.12.22 13:27 Сейчас в теме
Connect.Brain не открывается ссылка на Connect.Brain..подскажите альтернативу? или где скачать
Оставьте свое сообщение