Связь по RS485
- JohnChaban
- leader
- Сообщения: 669
- Зарегистрирован: 18 фев 2010, 13:26
- Версия LabVIEW: 2015,2016
- Откуда: Город Сосновый Бор Ленинградская Область
- Контактная информация:
Связь по RS485
Добрый день
Вопроосик возник.
Как можно проверять есть ли связь по RS485, не прибегая к новому соединению?
Есть панель таже ИП320 как в программе Labview проверять в цикле есть связи или нет?
Спасибо
Вопроосик возник.
Как можно проверять есть ли связь по RS485, не прибегая к новому соединению?
Есть панель таже ИП320 как в программе Labview проверять в цикле есть связи или нет?
Спасибо
- Вложения
-
- Создает новое соединение с пнелью. На панели пищет потеря связи
- vopros.jpg (52.6 КБ) 1242 просмотра
-
- adviser
- Сообщения: 231
- Зарегистрирован: 06 ноя 2020, 15:37
- Версия LabVIEW: 19
- Благодарил (а): 18 раз
- Поблагодарили: 37 раз
- Контактная информация:
Re: Связь по RS485
RS485 это самый первый, прикладной уровень. То есть железо.JohnChaban писал(а): ↑02 дек 2022, 14:42 Добрый день
Вопроосик возник.
Как можно проверять есть ли связь по RS485, не прибегая к новому соединению?
Есть панель таже ИП320 как в программе Labview проверять в цикле есть связи или нет?
Спасибо
Есть ли соединение или нет по RS485 означает подключены ли провода и терминаторы.
На втором (канальном) уровне передаются пакеты по сети. Какие пакеты - определяет протокол MODBUS, PROFIBUS, Логика и т.д.
Соответственно чтобы проверить связь по RS485 нужно отталкиваться от протокола.
В MODBUS RTU и MODBUS ASCII (они работают через RS485) можно только сделать запрос и дождаться правильный ответ.
Наличие правильного ответа в соответствии с запросом и будет означать наличие связи.
Например: запрос от мастера прочитать 10 Holding Register + CRC, ответ от слейва повтор функции + данные + CRC. Ответ соответствует запросу, от правильного адреса, уложился в таймаут, количество данных соответствует запросу, CRC правильная - значит связь есть.
-
- adviser
- Сообщения: 231
- Зарегистрирован: 06 ноя 2020, 15:37
- Версия LabVIEW: 19
- Благодарил (а): 18 раз
- Поблагодарили: 37 раз
- Контактная информация:
Re: Связь по RS485
На изображении у Вас Слейв MODBUS RTUJohnChaban писал(а): ↑02 дек 2022, 14:42 Есть панель таже ИП320 как в программе Labview проверять в цикле есть связи или нет?
Спасибо
Панель получается мастер - выдает запросы
Ваш слейв на LabVIEW должен правильно отвечать.
Если нужно узнать есть ли связь с мастером (панелью), то есть есть ли запросы от панели - нужно слегка залезть в кишки демона и там вывести флаг наличия запроса.
В новой библиотеке это где-то здесь Однако новая библиотека то открыта, то под паролем.
- JohnChaban
- leader
- Сообщения: 669
- Зарегистрирован: 18 фев 2010, 13:26
- Версия LabVIEW: 2015,2016
- Откуда: Город Сосновый Бор Ленинградская Область
- Контактная информация:
Re: Связь по RS485
[На изображении у Вас Слейв MODBUS RTU
Панель получается мастер - выдает запросы
Ваш слейв на LabVIEW должен правильно отвечать.
Если нужно узнать есть ли связь с мастером (панелью), то есть есть ли запросы от панели - нужно слегка залезть в кишки демона и там вывести флаг наличия запроса.
В новой библиотеке это где-то здесь
Serial slave.png
Однако новая библиотека то открыта, то под паролем.
[/quote]
Спсасибо. Ситуация такая панель просто лежит на столе к ПК соедниянется по USB. Смысл моего вопроса был в том что например я имитирую отсутствие связи с панелью (выдергиваю Usb кабель), в программе labview начинает мигать лампочка (условно сигнализация), втыкаю обратно кабель он перестает, мне важно отловить момент (действия при этом я напишу сам).
Только не знаю есть ли у меня виртуальный прибор waiting for request. К сожалению нет такого прибора, может его можно как доустановить.
Панель получается мастер - выдает запросы
Ваш слейв на LabVIEW должен правильно отвечать.
Если нужно узнать есть ли связь с мастером (панелью), то есть есть ли запросы от панели - нужно слегка залезть в кишки демона и там вывести флаг наличия запроса.
В новой библиотеке это где-то здесь
Serial slave.png
Однако новая библиотека то открыта, то под паролем.
[/quote]
Спсасибо. Ситуация такая панель просто лежит на столе к ПК соедниянется по USB. Смысл моего вопроса был в том что например я имитирую отсутствие связи с панелью (выдергиваю Usb кабель), в программе labview начинает мигать лампочка (условно сигнализация), втыкаю обратно кабель он перестает, мне важно отловить момент (действия при этом я напишу сам).
Только не знаю есть ли у меня виртуальный прибор waiting for request. К сожалению нет такого прибора, может его можно как доустановить.
-
- professor
- Сообщения: 3406
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Связь по RS485
он уже установлен, только спрятан от шаловливых ручекJohnChaban писал(а): ↑03 дек 2022, 23:13 К сожалению нет такого прибора, может его можно как доустановить.
- JohnChaban
- leader
- Сообщения: 669
- Зарегистрирован: 18 фев 2010, 13:26
- Версия LabVIEW: 2015,2016
- Откуда: Город Сосновый Бор Ленинградская Область
- Контактная информация:
Re: Связь по RS485
Спасибо я в понедельник панель там посмотрю дома смысла нет.Artem.spb писал(а): ↑04 дек 2022, 02:22он уже установлен, только спрятан от шаловливых ручекmodbus.PNGJohnChaban писал(а): ↑03 дек 2022, 23:13 К сожалению нет такого прибора, может его можно как доустановить.
- JohnChaban
- leader
- Сообщения: 669
- Зарегистрирован: 18 фев 2010, 13:26
- Версия LabVIEW: 2015,2016
- Откуда: Город Сосновый Бор Ленинградская Область
- Контактная информация:
Re: Связь по RS485
Библиотеку я открыл только не могу понять как ней подключиться физически, я же с ком портом связываюсь, а там в примере ссылка создается, её никак не могу к себе прикрутить.Artem.spb писал(а): ↑04 дек 2022, 02:22он уже установлен, только спрятан от шаловливых ручекmodbus.PNGJohnChaban писал(а): ↑03 дек 2022, 23:13 К сожалению нет такого прибора, может его можно как доустановить.
Как можно одно с другим увязать что-то сообразить не могу?
- Вложения
-
- Как вот это увязать с ...я физически подключаюсь по Компорту
- vopros.jpg (52.6 КБ) 1089 просмотров
-
- Связать с вот этим?
- Serial slave.png (39.4 КБ) 1089 просмотров
-
- adviser
- Сообщения: 231
- Зарегистрирован: 06 ноя 2020, 15:37
- Версия LabVIEW: 19
- Благодарил (а): 18 раз
- Поблагодарили: 37 раз
- Контактная информация:
Re: Связь по RS485
Там все несколько запутанно.JohnChaban писал(а): ↑05 дек 2022, 09:53 Библиотеку я открыл только не могу понять как ней подключиться физически, я же с ком портом связываюсь, а там в примере ссылка создается, её никак не могу к себе прикрутить.
Как можно одно с другим увязать что-то сообразить не могу?
Когда вы инициализируете слейв инициализируется модель данных (Data Model), записываются параметры и стартует Daemon В данном случае модель данных стандартная. 4 банка по 65535 регистров, завернутых в DVR Daemon - Serial Slave. Демон был показан в предыдущем сообщении. Здесь его старт Далее демон постоянно принимает сообщения с порта (ранее настроен при старте демона)
И если все нормально выполняет функцию чтения или записи данных из/в стандартную модель. Например чтение holding register. Далее Вы можете записывать в область памяти нужные значения через библиотечные функции, подключив провод к созданному слейву. В принципе можно в кишки демона не лезть.
Определить один регистр как Heartbeat. Из панели записывать в него случайные числа или что-то чтобы были изменения. Я записывал время в формате UTC
В слейве периодически читать этот регистр. Если изменений с прошлым разом нет - то нет коннекта.
- JohnChaban
- leader
- Сообщения: 669
- Зарегистрирован: 18 фев 2010, 13:26
- Версия LabVIEW: 2015,2016
- Откуда: Город Сосновый Бор Ленинградская Область
- Контактная информация:
Re: Связь по RS485
Я попробую но как то все замудрено написано.
Может проще можно было сделать, но вам спасибо.
Попробую
Может проще можно было сделать, но вам спасибо.
Попробую
-
- professor
- Сообщения: 3406
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
- JohnChaban
- leader
- Сообщения: 669
- Зарегистрирован: 18 фев 2010, 13:26
- Версия LabVIEW: 2015,2016
- Откуда: Город Сосновый Бор Ленинградская Область
- Контактная информация:
Re: Связь по RS485
Простите за вопрос, я должел сам собрать все схемы которые привели? я просто запутался чучутьujin1 писал(а): ↑05 дек 2022, 16:24Там все несколько запутанно.JohnChaban писал(а): ↑05 дек 2022, 09:53 Библиотеку я открыл только не могу понять как ней подключиться физически, я же с ком портом связываюсь, а там в примере ссылка создается, её никак не могу к себе прикрутить.
Как можно одно с другим увязать что-то сообразить не могу?
Когда вы инициализируете слейв инициализируется модель данных (Data Model), записываются параметры и стартует Daemon
Initialise.png
В данном случае модель данных стандартная. 4 банка по 65535 регистров, завернутых в DVR
Standard Data Model.png
Daemon - Serial Slave. Демон был показан в предыдущем сообщении. Здесь его старт
Start Daemon.png
Далее демон постоянно принимает сообщения с порта (ранее настроен при старте демона)
И если все нормально выполняет функцию чтения или записи данных из/в стандартную модель.
Execute.png
Например чтение holding register.
Read Holding Register.png
Далее Вы можете записывать в область памяти нужные значения через библиотечные функции, подключив провод к созданному слейву.
Write Single Holding Register.png
В принципе можно в кишки демона не лезть.
Определить один регистр как Heartbeat. Из панели записывать в него случайные числа или что-то чтобы были изменения. Я записывал время в формате UTC
В слейве периодически читать этот регистр. Если изменений с прошлым разом нет - то нет коннекта.
-
- adviser
- Сообщения: 231
- Зарегистрирован: 06 ноя 2020, 15:37
- Версия LabVIEW: 19
- Благодарил (а): 18 раз
- Поблагодарили: 37 раз
- Контактная информация:
Re: Связь по RS485
Нет. Это все vi из библиотеки Modbus от National Instruments.JohnChaban писал(а): ↑05 дек 2022, 22:51 Простите за вопрос, я должел сам собрать все схемы которые привели? я просто запутался чучуть
Как вариант можно использовать vi инициализации (New Serial Slave) и к нему подключить блоки чтения и записи регистров.
Можно посмотреть пример со слейвом из библиотеки. Пример есть на Functions Palette
- JohnChaban
- leader
- Сообщения: 669
- Зарегистрирован: 18 фев 2010, 13:26
- Версия LabVIEW: 2015,2016
- Откуда: Город Сосновый Бор Ленинградская Область
- Контактная информация:
Re: Связь по RS485
Спасибо попробую, если что отпишусьujin1 писал(а): ↑06 дек 2022, 05:15Нет. Это все vi из библиотеки Modbus от National Instruments.JohnChaban писал(а): ↑05 дек 2022, 22:51 Простите за вопрос, я должел сам собрать все схемы которые привели? я просто запутался чучуть
Как вариант можно использовать vi инициализации (New Serial Slave) и к нему подключить блоки чтения и записи регистров.
Можно посмотреть пример со слейвом из библиотеки. Пример есть на Functions Palette
Modbus slave example.png
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Связь по RS485
Стратегически неверно проверять связь на слейве. Слейв может работать и без соединения, а наличие соединения не означает работоспособность мастера. В контроллерах подобную проблему решают другим способом: счетчик жизни (Alive Counter). Мастер с оговоренной периодичностью инкрементирует содержимое определенной ячейки. Анализируя эту ячейку, можно делать выводы о работоспособности мастера.
- JohnChaban
- leader
- Сообщения: 669
- Зарегистрирован: 18 фев 2010, 13:26
- Версия LabVIEW: 2015,2016
- Откуда: Город Сосновый Бор Ленинградская Область
- Контактная информация:
Re: Связь по RS485
Всем привет
Панель отключить получилось, но когда обратно подключаешь кабель USB в порт компьютера, ошибка не сбрасывается.
На самой панели связь востанавливается.
Как можно при подключении провода по Usb убрать ошибку в программе
Панель отключить получилось, но когда обратно подключаешь кабель USB в порт компьютера, ошибка не сбрасывается.
На самой панели связь востанавливается.
Как можно при подключении провода по Usb убрать ошибку в программе