Modbus rtu вопрос к знатокам

Использование протокола Modbus
Ответить
kondratyuk91
Рядовой
Сообщения: 6
Зарегистрирован: 24 фев 2017, 13:29

Modbus rtu вопрос к знатокам

Сообщение kondratyuk91 »

Вопрос состоит в передаче холдинг регистра из мастера (не ардуино) на слейв(ардуино нано) и присвоении ему переменной для последующего использования в программе и выводе его на панель nexion. Как я понимаю нужно произвести кое какие операции с битами для корректного отображения переменной. Потому как если из заданного холдинга напрямую присвоить переменную то у меня отображается "0".
Я пробовал из ардуино передавать холдинг регистр на плк (чтение производил через 03 функцию) и у меня все получилось, также я отображал ету же переменную на панели. А вот при попытках передать холдинг (06 функция) на панель nextion вылезла проблема.

Добавлено (28.03.2017, 23:06)
---------------------------------------------
Прикреплю ссилку на картинку программы картинка
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Modbus rtu вопрос к знатокам

Сообщение Sancho »

kondratyuk91 писал(а):Вопрос состоит в передаче холдинг регистра из мастера (не ардуино) на слейв(ардуино нано) и присвоении ему переменной для последующего использования в программе и выводе его на панель nexion.
Попробую перевести: Отправить в модбас слэйв значение и присвоить его некой переменной, с последующим использованием в ....
kondratyuk91 писал(а):Я пробовал из ардуино передавать холдинг регистр на плк (чтение производил через 03 функцию) и у меня все получилось, также я отображал ету же переменную на панели. А вот при попытках передать холдинг (06 функция) на панель nextion вылезла проблема.
Я СЧИТЫВАП из ардуино 03 функцией, всё ОК, а при попытках записи 06 функцией в ??? возникла проблема.
Я так для себя понял.
По картинке - убери для начала лишнее, добейся устойчивой передачи(записи) в регистр ардуино - оставь один холдинг HR1, и например, один входной IR1 регистры; переписывай через промежуточную переменную. Используй для тестов любую тест-модбас программу, я использую в таких случаях Modbus Universal MasterOPC Server 32, читай 04 функцией IR1 меняя значение 06 функ.в HR1.
Получишь пложительный результат - всё остальное получится.
Не стесняйся для наглядности увеличить количество элементов на схеме - например, сначала HR1 -> Temp, потом Temp -> IR1, Потом Temp -> Nextion, иногда это очень здорово помогает и тебе и схеме.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Sancho 29 мар 2017, 11:19, всего редактировалось 1 раз.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
kondratyuk91
Рядовой
Сообщения: 6
Зарегистрирован: 24 фев 2017, 13:29

Modbus rtu вопрос к знатокам

Сообщение kondratyuk91 »

Так дело в том что Холдинг регистр "HR1" не хочет записиватся в переменную TEMР (TEMP = 0) Я понимаю что нужно сигнал с холдинга преобразить перед тем как записывать в пременную TEMP.
А если этот же холдинг записать сразу же на Импут регистр и передать обратно на контроллер (без записи в переменную TEMP) тогда все выходит.
схема макетка
Последний раз редактировалось kondratyuk91 29 мар 2017, 22:03, всего редактировалось 1 раз.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Modbus rtu вопрос к знатокам

Сообщение Sancho »

kondratyuk91 писал(а):Так дело в том что Холдинг регистр "HR1" не хочет записиватся в переменную TEMР (TEMP = 0)
Почему Вы сразу делаете такие скоропалительные выводы???????
Если нет отображения на пенели, то это ещё НИЧЕГО не значит!
Sancho писал(а):По картинке - убери для начала лишнее, добейся устойчивой передачи(записи) в регистр ардуино - оставь один холдинг HR1, и например, один входной IR1 регистры; переписывай через промежуточную переменную. Используй для тестов любую тест-модбас программу, я использую в таких случаях Modbus Universal MasterOPC Server 32
Это сложно сделать?
В комплекте файл для Modbus Universal MasterOPC Server, установи только правильный COM-порт.

Добавлено (30.03.2017, 09:46)
---------------------------------------------
Потом попробуй добавить переменник по аналоговому входу и отправь данные с него на IR2, считай данные по модбасу.
Потом, без модбаса, отправь эти данные(с аналогового входа) в панель.
Не ленись по несколько раз менять и заливать програму, сохраняй каждый раз под разными именами/индексами( например HR1_1, HR1_2, HR1_3....)
Так Вы узнаете, где собака порылась
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
kondratyuk91
Рядовой
Сообщения: 6
Зарегистрирован: 24 фев 2017, 13:29

Modbus rtu вопрос к знатокам

Сообщение kondratyuk91 »

Спасибо за помощь.
Я уже установил Modbus Universal MasterOPC Server и подключил к ней ПЛК, следуюющий шаг подключить ардуино. После того как протестирую отпишусь.

Добавлено (30.03.2017, 16:50)
---------------------------------------------
Подключил я ардуино к Modbus Universal MasterOPC Server и у меня получилось  записать холдинг регистр в переменную, а потом с переменной записать в импут регистр. Но при выводе значения на дисплей Nexion у меня все равно пишет "0".
Если я правильно понимаю то в переменную пишет Холдинг регистр (пакет величиной в 16 бит) из него мне нужно отобрать биты где записано "число" которое я задаю в мастере и конвертировать его в десятичную форму и отобразить на екране.

Добавлено (30.03.2017, 17:54)
---------------------------------------------
Помойму когда мне дошло. В integer записывает значение 16 бит из пакета который приходит из холдинг регистра. Ети 16 бит мое значение в двоичной форме. Нужно из двоичной формы преобразить в десятичную и отправить значение на дисплей. Попробую напишу сдесь
Последний раз редактировалось kondratyuk91 30 мар 2017, 16:52, всего редактировалось 1 раз.
Аватара пользователя
nalnik
Подполковник
Сообщения: 1320
Зарегистрирован: 14 май 2016, 17:12
Откуда: Кисловодск
Имя: Александр

Modbus rtu вопрос к знатокам

Сообщение nalnik »

холдинг регистр - холдинг регистр -холдинг регистр.

Какой тип ?
Вот пример ТИПОВ регистров

их там много - разного цвета и разного "размера"
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось nalnik 30 мар 2017, 19:16, всего редактировалось 1 раз.
Я хочу быть добрее, но люди сами нарываются.
kondratyuk91
Рядовой
Сообщения: 6
Зарегистрирован: 24 фев 2017, 13:29

Modbus rtu вопрос к знатокам

Сообщение kondratyuk91 »

Разобрался, в панель не писало значение потому что нада было добавить блок "детектор изменения числа". ТЫЦ Теперь вроде как работает. Спасибо за помощь Sancho.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Modbus rtu вопрос к знатокам

Сообщение Sancho »

Вот и хорошо.
Заодно, я думаю, разобрался с новой програмой, которая иногда очень помогает с модбасом.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Ответить

Вернуться в «Modbus»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя