Инструмент для работы с COM-портом через RS-485

Обсуждение программ, пользовательского обеспечения, операционных систем
Ответить
rsv
advanced
advanced
Сообщения: 188
Зарегистрирован: 18 июл 2019, 13:53
Версия LabVIEW: 2020
Откуда: Россия, Ижевск
Благодарил (а): 38 раз
Контактная информация:

Инструмент для работы с COM-портом через RS-485

Сообщение rsv »

Доброго времени суток.

Есть контроллер в котором реализована собственная ретрансляция по modbus. Выглядит это так - одна modbus-команда обёрнута в другую. ПЛК извлекает из внешней команды внутреннюю и выполняет её. Затем в такой же обёртке возвращается ответ.

От приложения на LabVIEW требуется записывать в COM-порт и считывать modbus-команды, не соответствующие стандарту modbus.

В наличии - LabVIEW 2020 с пакетом DSC.

Подскажите, пожалуйста, какой программный инструмент использовать для решения этой задачи? Может есть библиотеки, позволяющие передавать в COM-порт произвольную команду modbus?
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2309
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 33 раза
Поблагодарили: 37 раз

Re: Инструмент для работы с COM-портом через RS-485

Сообщение Borjomy_1 »

ищите древнюю библиотеку "NI Modbus.llb" изготовления аж Labview 8.6. Это комплект для работы с COM и TCP, полностью с исходниками. Ее достаточно просто модифицировать под свои нужды.
Вложения
NI Modbus.llb
взято из под Labview 2020
(2.43 МБ) 22 скачивания
rsv
advanced
advanced
Сообщения: 188
Зарегистрирован: 18 июл 2019, 13:53
Версия LabVIEW: 2020
Откуда: Россия, Ижевск
Благодарил (а): 38 раз
Контактная информация:

Re: Инструмент для работы с COM-портом через RS-485

Сообщение rsv »

Borjomy_1 писал(а): 21 янв 2026, 12:31 Ее достаточно просто модифицировать под свои нужды.
Спасибо, буду разбираться. Я начал смотреть на VISA, но пока не смог осмыслить, подойдёт она мне или нет...
Аватара пользователя
alerm

Activity
leader
leader
Сообщения: 700
Зарегистрирован: 02 май 2012, 21:28
Награды: 1
Версия LabVIEW: 20
Благодарил (а): 70 раз
Поблагодарили: 11 раз
Контактная информация:

Re: Инструмент для работы с COM-портом через RS-485

Сообщение alerm »

Вот ещё можно попробовать
ni_lib_modbus_library-1.2.1.42.vip
rsv
advanced
advanced
Сообщения: 188
Зарегистрирован: 18 июл 2019, 13:53
Версия LabVIEW: 2020
Откуда: Россия, Ижевск
Благодарил (а): 38 раз
Контактная информация:

Re: Инструмент для работы с COM-портом через RS-485

Сообщение rsv »

С помощью технологии VISA удалось записывать в COM-порт произвольную строку и считывать. Приложил скриншот и vi в архиве. Модуль создан на основе штатного примера из LabVIEW.
Вложения
Simple Serial.png
VISA.7z
(20.57 КБ) 1 скачивание
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5685
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 35 раз
Поблагодарили: 126 раз

Re: Инструмент для работы с COM-портом через RS-485

Сообщение IvanLis »

rsv писал(а): 09 апр 2026, 10:08 С помощью технологии VISA удалось записывать в COM-порт произвольную строку и считывать. Приложил скриншот и vi в архиве. Модуль создан на основе штатного примера из LabVIEW.
Не нужно выкладывать неудачные примеры, если у Вас получилось, это случайность и с закономерностью не имеет никакой связи.
1. Если в строке будет терминальный бит, он по умолчанию "\n" = LF, то строка полностью принята не будет.
2. Если за указанное время delay строка полностью не будет передана, то и принята полностью не будет.
3. Это уже мелочи, но если в буфере была информация до начала записи, то строка будет искажена.

Если Вы хотите передать строку полностью, то вначале нужно передать ее длину в байтах, а потом ожидать определенное количество байт, все просто....
string.png
как то так, если без остальных настроек
Ответить

Вернуться в «Софт»