Внешняя компонента для обмена данными с COM-портом из системы 1С-Предприятие. Написана на языке C++.
Идея создания возникла, когда подключали на предприятии весы марки МИДЛ. С ними в комплекте тоже шла компонента, но с весами она почему-то не заработала. Вес выдавала все время не тот.
Компонента может получать/отправлять строки/символы из/в COM-порт(а). С её помощью можно настроить обмен с весовыми терминалами, датчиками и прочим оборудованием использующий для работы UART/RS-232, не прибегая к низкоуровневому программированию. Поддерживается только асинхронный режим работы.
Методы, используемые в 1С:
ИнициализироватьПорт (InitPort) - принимает до 7 параметров:
- Номер порта - номер последовательного порта – целое число, по умолчанию 0
- Скорость обмена данными – может принимать значения 0/50/110/134/150/200/300/600/1200/1800/2400/4800/9600/19200/38400/57600/115200 и др. – целое число - по умолчанию 9600
- Биты данных – по умолчанию 8
- Бит четности – может принимать значения "even", "mark", "no", "odd", "space" – строка – по умолчанию no
- Количество стоп битов – может принимать значения "one","two","onefive"(1,5) – строка – по умолчанию one
- Таймаут – задает время в секундах, после которого компонента перестанет ждать ответа из порта, при чтении строки. – число – по умолчанию 5. При наступлении таймаута выводится строка timeout
- Название порта linux – в разных дистрибутивах linux com порт может называться по-разному: в некоторых ttyUSB, в других ttyACM – строка – по умолчанию ttyUSB
ПолучитьСтроку – Возвращает строку, полученную из Com-порта. В случае, если порт не был инициализирован, вызывается исключение.
ОтправитьСтроку – Принимает 1 парамер строку и отправляет её в COM-порт
Для сборки используется CMAKE.
Опции сборки -DDEBUG_APP - опция позволяет собрать тестовое приложение для отладки компоненты.
Работа протестирована под операционными системами Windows 10/11 64-бит и AltLinux Рабочая станция 10.
Под Windows используется 32 битная версия библиотеки. 64-битная версия не подключается к 1С, выяснить почему пока не удалось. Если есть идеи – напишите, пожалуйста.
Добавлены компоненты для работы на платформах ARM (одноплатные компьютеры) и E2K - Эльбрус. Работу под ними не тестировал. Если у кого-то есть Эльбрус рабочая станция под рукой, напишите в ЛС или в комменты, интересно было бы протестировать под этой платформой. У меня есть доступ к машине по SSH, но графическое приложение там не запустишь.
Ссылка на исходники GitHub
---
Картинка для публикации сгенерирована в GigaChat с помощью Kandinsky
Вступайте в нашу телеграмм-группу Инфостарт