Modbas RTU и KaScada, тормоза при передаче данных
Modbas RTU и KaScada, тормоза при передаче данных
Здравствуйте.
Столкнулся с проблемой медленной передачи данных по каналу Modbas RTU. От часов реального времени передаю данные на HMI_панель.
Поставил время между запросами 100 мС и все равно, передача 20 регистров идет с задержкой в 2-3 секунды.
Скорость передачи 115200. Само устройство не тормозит.
Подскажите, возможно ли получать данные с обновлением раз в секунду?
Столкнулся с проблемой медленной передачи данных по каналу Modbas RTU. От часов реального времени передаю данные на HMI_панель.
Поставил время между запросами 100 мС и все равно, передача 20 регистров идет с задержкой в 2-3 секунды.
Скорость передачи 115200. Само устройство не тормозит.
Подскажите, возможно ли получать данные с обновлением раз в секунду?
Modbas RTU и KaScada, тормоза при передаче данных
Ардуино нано, rtc часы, блютус модуль. Блютус модуль настроен на 115200
Отправлено спустя 33 секунды:
Все вместе это суточный таймер
Отправлено спустя 33 секунды:
Все вместе это суточный таймер
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Modbas RTU и KaScada, тормоза при передаче данных
Попробуйте вместо контролера поставить софтину а-ля модбас слэйв - наверняка увидите, что чтение идёт по одному регистру, с интервалом между запросами по 100 мс, и получаем: 20 рег * 100мс = 2сек....ksandr13 писал(а): 02 ноя 2018, 09:14Поставил время между запросами 100 мС и все равно, передача 20 регистров идет с задержкой в 2-3 секунды.
Скорость передачи 115200. Само устройство не тормозит.
Отправлено спустя 3 минуты 8 секунд:
Иначе, читать здесь
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
- Rovki
- Полковник
- Сообщения: 5726
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 68 раз
- Поблагодарили: 222 раза
- Контактная информация:
Modbas RTU и KaScada, тормоза при передаче данных
А если сделать ардуино слейвом и читать данные каскадой группой через шлюз ,то все будет летать ...ksandr13 писал(а): 02 ноя 2018, 09:14Здравствуйте.
Столкнулся с проблемой медленной передачи данных по каналу Modbas RTU. От часов реального времени передаю данные на HMI_панель.
Поставил время между запросами 100 мС и все равно, передача 20 регистров идет с задержкой в 2-3 секунды.
Скорость передачи 115200. Само устройство не тормозит.
Подскажите, возможно ли получать данные с обновлением раз в секунду?
Электронщик до мозга костей и не только
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Modbas RTU и KaScada, тормоза при передаче данных
Анатолий, Вы наверняка не посмотрели проект - ардуино - слэйв.Rovki писал(а): 02 ноя 2018, 14:36А если сделать ардуино слейвом и читать данные каскадой группой через шлюз ,то все будет летать ...
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Modbas RTU и KaScada, тормоза при передаче данных
Тогда не понятно как можно выставить между запросами 100мс? В КаСкаде нельзя регулировать время между запросами. Где оно выставлено?
- Rovki
- Полковник
- Сообщения: 5726
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 68 раз
- Поблагодарили: 222 раза
- Контактная информация:
Modbas RTU и KaScada, тормоза при передаче данных
Кроме того надо включить отображение таймаутов ,что бы видеть сбои ...
Электронщик до мозга костей и не только
- Alias
- Лейтенант
- Сообщения: 481
- Зарегистрирован: 27 ноя 2017, 13:15
- Откуда: Rus44
- Имя: Michael
- Контактная информация:
Modbas RTU и KaScada, тормоза при передаче данных
Два дня занимаюсь КаСкадой. Пожалуй, это такая же находка, как и сама flprog. Снимаю шляпу перед разработчиками!
Тем много, многое перечитал, но решил, что здесь мои вопросы будут уместнее.
На КаСкаду вышел позавчера после первого опыта с модбас на проводах и сразу решил не останавливаться и купил версию 7, чтобы иметь на телефоне все, что мне нужно, а нужно много. Однако в голове теперь каша.
Архитектуру своей системы вижу такой: несколько слейвов по проводам на 485 то как бойлерная с кучей тегов, котельная попроще, немного мелочевки по паре тегов и мастер на nodemcu, она же слейв для КаСкады, но уже через wifi на всю домашнюю сеть.
Встала проблема оптимизации, на перспективу, тк система хоть и замыслах, но не хочется копать себе же яму. В частности, опасаюсь, что модбас будет источником тормозов.
1. Видел по форуму, что теги в сети можно гонять выборочно. Например, в бойлерной часть тегов обновляется редко, скажем, один раз в минуту, другие каждые две секунды. Разве это возможно, опрашивать выборочно? Я думал, что мастер выгребает из слейв все подчистую без разбора с интервалом, указанным в настройках мастера. Кстати, КаСкада постоянно опрашивает slave?
2. Я стараюсь не использовать в проектах int, если можно ограничиться byte, думаю, это экономит память. Но в КаСкаде нет регистров byte в отличие от flprog. Как в данном случае поступать, упаковать два byte в int? Я это умею, но в КаСкаде есть нечто разборщика в обратную сторону?
3. У меня много битовых переменных под разные события, которые хотел бы передавать. Поначалу я упаковал все в holdReg, но под КаСкаду перенёс в coil, тк ума не приложу, как разобрать потом это по битам. Видео о чтении отдельных битов из регистров смотрел, но под полтора десятка бит это слишком сложно. Насколько сильно затормозит работу coil и съест память?
Буду признателен за советы, тк хочу все сразу учесть и не ломать голову при увеличении числа устройств.
Спасибо!
Тем много, многое перечитал, но решил, что здесь мои вопросы будут уместнее.
На КаСкаду вышел позавчера после первого опыта с модбас на проводах и сразу решил не останавливаться и купил версию 7, чтобы иметь на телефоне все, что мне нужно, а нужно много. Однако в голове теперь каша.
Архитектуру своей системы вижу такой: несколько слейвов по проводам на 485 то как бойлерная с кучей тегов, котельная попроще, немного мелочевки по паре тегов и мастер на nodemcu, она же слейв для КаСкады, но уже через wifi на всю домашнюю сеть.
Встала проблема оптимизации, на перспективу, тк система хоть и замыслах, но не хочется копать себе же яму. В частности, опасаюсь, что модбас будет источником тормозов.
1. Видел по форуму, что теги в сети можно гонять выборочно. Например, в бойлерной часть тегов обновляется редко, скажем, один раз в минуту, другие каждые две секунды. Разве это возможно, опрашивать выборочно? Я думал, что мастер выгребает из слейв все подчистую без разбора с интервалом, указанным в настройках мастера. Кстати, КаСкада постоянно опрашивает slave?
2. Я стараюсь не использовать в проектах int, если можно ограничиться byte, думаю, это экономит память. Но в КаСкаде нет регистров byte в отличие от flprog. Как в данном случае поступать, упаковать два byte в int? Я это умею, но в КаСкаде есть нечто разборщика в обратную сторону?
3. У меня много битовых переменных под разные события, которые хотел бы передавать. Поначалу я упаковал все в holdReg, но под КаСкаду перенёс в coil, тк ума не приложу, как разобрать потом это по битам. Видео о чтении отдельных битов из регистров смотрел, но под полтора десятка бит это слишком сложно. Насколько сильно затормозит работу coil и съест память?
Буду признателен за советы, тк хочу все сразу учесть и не ломать голову при увеличении числа устройств.
Спасибо!
- Rovki
- Полковник
- Сообщения: 5726
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 68 раз
- Поблагодарили: 222 раза
- Контактная информация:
Modbas RTU и KaScada, тормоза при передаче данных
Спасибо за выбор Каскады . Чем можем ,тем поможем ...
По архитектуре - у вас ардуинки соединяются в сеть по RS485 . Они работают автономно , каждая в своей системе . Можно на ноде мсу сделать мост ,а не контроллер (мастер)- RS485- WiFi. Некоторые ставят ноде мсу на каждую систему и по вайфай через роутер обьединяются в сеть. Можно и так .
1.Для каждого сервера в каскаде можно ставить свою паузу по опросу слейва это если у вас будет вторая структура (сеть по вайфай) ,если через RS485 ,то сервер будет один и тогда не будет возможности делать паузу для каждого слейва отдельно .Каскада постоянно опрашивает слейв .
2.Даже если вы используете тип байт ,холдинг регистр это 2 байта (16 бит) , и если вы не обьедините байты в регистры ,то вы не получите экономии при передачи данных . Для того что бы обратно "разобрать" регистр в байты нужно воспользоваться операциями умножение, деления на 256...
3.Чтобы разобрать регистр в биты ни чего не требуется дополнительно .Например вы упаковали 15 бит в регистр с адресом 0 , шлюзом читаете из устройства регистр 0 и пишите в системный регистр 100( например) . Все , потом бирете любой бит из 100 регистра и используете ,например
лампочку привязываете к системному регистру 100 ,бит 0 (#S100.0). Причем можете шлюзом прочитать сразу несколько таких собранных холдинг регистров ...
Для того что бы из Каскады передать сразу много битов в устройство делаем аналогично - распологаем биты подряд ,например 10.0- 10.15 , 11.0-11.15 итд. В битовом шлюзе указываем количество битов и адрес начального адреса в системных регистров (источник) и адрес начальный в ардуино (приемник.
В ардуино память под коилсы и холдинги отдельная ,а в каскаде это общая память(системные регистры) ,поэтому ,например регистр 20.0 коилса это тот же регистр холдинга 20....
Отправлено спустя 1 час 30 минут 18 секунд:
Что бы было легче вам вот видео [bbvideo]https://youtu.be/ThMUqOs9q2g[/bbvideo]
По архитектуре - у вас ардуинки соединяются в сеть по RS485 . Они работают автономно , каждая в своей системе . Можно на ноде мсу сделать мост ,а не контроллер (мастер)- RS485- WiFi. Некоторые ставят ноде мсу на каждую систему и по вайфай через роутер обьединяются в сеть. Можно и так .
1.Для каждого сервера в каскаде можно ставить свою паузу по опросу слейва это если у вас будет вторая структура (сеть по вайфай) ,если через RS485 ,то сервер будет один и тогда не будет возможности делать паузу для каждого слейва отдельно .Каскада постоянно опрашивает слейв .
2.Даже если вы используете тип байт ,холдинг регистр это 2 байта (16 бит) , и если вы не обьедините байты в регистры ,то вы не получите экономии при передачи данных . Для того что бы обратно "разобрать" регистр в байты нужно воспользоваться операциями умножение, деления на 256...
3.Чтобы разобрать регистр в биты ни чего не требуется дополнительно .Например вы упаковали 15 бит в регистр с адресом 0 , шлюзом читаете из устройства регистр 0 и пишите в системный регистр 100( например) . Все , потом бирете любой бит из 100 регистра и используете ,например
лампочку привязываете к системному регистру 100 ,бит 0 (#S100.0). Причем можете шлюзом прочитать сразу несколько таких собранных холдинг регистров ...
Для того что бы из Каскады передать сразу много битов в устройство делаем аналогично - распологаем биты подряд ,например 10.0- 10.15 , 11.0-11.15 итд. В битовом шлюзе указываем количество битов и адрес начального адреса в системных регистров (источник) и адрес начальный в ардуино (приемник.
В ардуино память под коилсы и холдинги отдельная ,а в каскаде это общая память(системные регистры) ,поэтому ,например регистр 20.0 коилса это тот же регистр холдинга 20....
Отправлено спустя 1 час 30 минут 18 секунд:
Что бы было легче вам вот видео [bbvideo]https://youtu.be/ThMUqOs9q2g[/bbvideo]
Электронщик до мозга костей и не только
- Alias
- Лейтенант
- Сообщения: 481
- Зарегистрирован: 27 ноя 2017, 13:15
- Откуда: Rus44
- Имя: Michael
- Контактная информация:
Modbas RTU и KaScada, тормоза при передаче данных
Спасибо за столько развернутый ответ! Буду разбираться сначала с ассортиментом видео, в них, кажется, ответов больше, чем у меня вопросов ))
Но немного уточню по сути Модбас.
Если КаСкада не получает данные от слейва, экран краснеет. Я уже пробовал. Но как реализовано подтверждение актуальности данных в регистрах Ардуино? Кажется, никак. Допустим, слейв исправно отсылает Мастеру регистры, но если вдруг отвалился, Мастер по-прежнему выдает старые данные.
Я так понимаю, проще самостоятельно наладить подтверждение актуальности через специально выделенный для этого бит в ХолдРегистре, то есть слейв выставляет флаг, что записал, Мастер его при чтении обнуляет, и если он не выставляется снова, значит данные устарели.
Нет ли красивого и правильного решения?
Но немного уточню по сути Модбас.
Если КаСкада не получает данные от слейва, экран краснеет. Я уже пробовал. Но как реализовано подтверждение актуальности данных в регистрах Ардуино? Кажется, никак. Допустим, слейв исправно отсылает Мастеру регистры, но если вдруг отвалился, Мастер по-прежнему выдает старые данные.
Я так понимаю, проще самостоятельно наладить подтверждение актуальности через специально выделенный для этого бит в ХолдРегистре, то есть слейв выставляет флаг, что записал, Мастер его при чтении обнуляет, и если он не выставляется снова, значит данные устарели.
Нет ли красивого и правильного решения?
- Rovki
- Полковник
- Сообщения: 5726
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 68 раз
- Поблагодарили: 222 раза
- Контактная информация:
Modbas RTU и KaScada, тормоза при передаче данных
Если слейв "отвалился", что может быть только при зависании ардуины(может кто похвастаться зависанием ардуины?Вот ЕСП наблюдал ,так там и обмен прекрашается ) ,то и с мастером работы не будет .Это ,имхо, надуманная проблема .Alias писал(а): 13 янв 2020, 12:37 Но немного уточню по сути Модбас.
Если КаСкада не получает данные от слейва, экран краснеет. Я уже пробовал. Но как реализовано подтверждение актуальности данных в регистрах Ардуино? Кажется, никак. Допустим, слейв исправно отсылает Мастеру регистры, но если вдруг отвалился, Мастер по-прежнему выдает старые данные.
?
У меня есть видео -Умное слейв устройство ,там все это реализовано ...Но речь не идет о том что слейв будет давать старые данные для мастера .Это нужно что бы слейв мог изменить алгоритм работы при потери связи с мастером ,в случаи необходимости ..
Электронщик до мозга костей и не только
- Alias
- Лейтенант
- Сообщения: 481
- Зарегистрирован: 27 ноя 2017, 13:15
- Откуда: Rus44
- Имя: Michael
- Контактная информация:
Modbas RTU и KaScada, тормоза при передаче данных
Я на днях начал осваивать Modbus через китайские RS485 и собрал стенд из испытываемой бойлерной на Mega25600 и Мастера на Uno. Все работало замечательно, Мастер выдавал копию с железного дисплея Меги, пока я слейва не отключил. Мастер невозмутимо продолжал сообщать все параметры слейва. Вот и озадачился.
Зависания ардуинки наблюдал. У меня почти год крутится тестовая прошивка котельной на Nano, подключил ради смеха отработать маленький фрагмент погодозависимости, тк Овеновский ТРМ-151 в моих условиях малоприменим. Все собрал как придется, даже датчики на длинных проводах, не свитых для элементарного приличия в косички. Соответственно это дело время от времени зависает, могу похвастаться
Но зависает, кстати, только недели через три и более и очень странно: автоматика отрабатывает, но как бы только по одной уставке, не пересчитывая по изменению погоды, может даже дисплей застыть.
Нынче пошел на рекорд:
[spoiler] [/spoiler]
Зависания ардуинки наблюдал. У меня почти год крутится тестовая прошивка котельной на Nano, подключил ради смеха отработать маленький фрагмент погодозависимости, тк Овеновский ТРМ-151 в моих условиях малоприменим. Все собрал как придется, даже датчики на длинных проводах, не свитых для элементарного приличия в косички. Соответственно это дело время от времени зависает, могу похвастаться

Нынче пошел на рекорд:
[spoiler] [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Rovki
- Полковник
- Сообщения: 5726
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 68 раз
- Поблагодарили: 222 раза
- Контактная информация:
Modbas RTU и KaScada, тормоза при передаче данных
Значит мастер в ФЛ не доделан (нужен бит статуса слева) , в мастере есть таймаут ,но как воспользоваться эти битом??? , точнее нет информации об отсутствии слейва и мастер сохранил последнее значение (а как еще?) /В каскаде есть покраснение и треугольники (таймауты) ,что бы оценить достоверность данных от слейваAlias писал(а): 13 янв 2020, 13:40 Я на днях начал осваивать Modbus через китайские RS485 и собрал стенд из испытываемой бойлерной на Mega25600 и Мастера на Uno. Все работало замечательно, Мастер выдавал копию с железного дисплея Меги, пока я слейва не отключил. Мастер невозмутимо продолжал сообщать все параметры слейва. Вот и озадачился.
Зависания ардуинки наблюдал. У меня почти год крутится тестовая прошивка котельной на Nano, подключил ради смеха отработать маленький фрагмент погодозависимости, тк Овеновский ТРМ-151 в моих условиях малоприменим. Все собрал как придется, даже датчики на длинных проводах, не свитых для элементарного приличия в косички. Соответственно это дело время от времени зависает, могу похвастатьсяНо зависает, кстати, только недели через три и более и очень странно: автоматика отрабатывает, но как бы только по одной уставке, не пересчитывая по изменению погоды, может даже дисплей застыть.
Нынче пошел на рекорд:
[spoiler]155.png[/spoiler]
Электронщик до мозга костей и не только
- Alias
- Лейтенант
- Сообщения: 481
- Зарегистрирован: 27 ноя 2017, 13:15
- Откуда: Rus44
- Имя: Michael
- Контактная информация:
Modbas RTU и KaScada, тормоза при передаче данных
Пересмотрел все настройки Мастера, не нашел, где этот бит. Но да ладно, это уже оффтопик, можно удалить.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Лейтенант
- Сообщения: 450
- Зарегистрирован: 26 фев 2018, 21:27
- Откуда: Haifa
- Имя: Alex
- Благодарил (а): 2 раза
- Поблагодарили: 5 раз
Modbas RTU и KaScada, тормоза при передаче данных
[ref=#ff8000]Rovki[/ref], добрый день.
Я тоже только начал изучать КаСкаду,что то получается,что то нет,вчера хотел зарегистрироваться на сайте каскады,отправил данные,но до сих пор не получил уведомление на почту,может это связано с новогодними каникулами или какая то другая проблемма?
Я тоже только начал изучать КаСкаду,что то получается,что то нет,вчера хотел зарегистрироваться на сайте каскады,отправил данные,но до сих пор не получил уведомление на почту,может это связано с новогодними каникулами или какая то другая проблемма?
Modbas RTU и KaScada, тормоза при передаче данных
Добрый день, отправил, проверьте.Brand2 писал(а): 13 янв 2020, 14:24 добрый день.
Я тоже только начал изучать КаСкаду,что то получается,что то нет,вчера хотел зарегистрироваться на сайте каскады,отправил данные,но до сих пор не получил уведомление на почту,может это связано с новогодними каникулами или какая то другая проблемма?
- Alias
- Лейтенант
- Сообщения: 481
- Зарегистрирован: 27 ноя 2017, 13:15
- Откуда: Rus44
- Имя: Michael
- Контактная информация:
Modbas RTU и KaScada, тормоза при передаче данных
По мере возможности подбираюсь к реализации и хотел бы уточнить несколько вопросов у всех, кто сможет подсказать:
Плодить на каждом устройстве мост и из них делать сеть по wifi пока не вижу целесообразности по ряду причин. Я хотел прикрутить к esp8266 nodemcu v3 модуль rs485, и на нем организовать мастера для сети слейвов по модбас, собирать теги и передавать на каскаду все сразу.
Но, если я правильно понял, то
Пытался отыскать подобную реализацию, но видимо не так ищу.
Подскажите, пожалуйста, как сделать такой прозрачный мост.
Плодить на каждом устройстве мост и из них делать сеть по wifi пока не вижу целесообразности по ряду причин. Я хотел прикрутить к esp8266 nodemcu v3 модуль rs485, и на нем организовать мастера для сети слейвов по модбас, собирать теги и передавать на каскаду все сразу.
Но, если я правильно понял, то
и он будет прозрачным, то есть каскада будет видеть сама каждое из устройств сети rs485?Можно на ноде мсу сделать мост
Пытался отыскать подобную реализацию, но видимо не так ищу.
Подскажите, пожалуйста, как сделать такой прозрачный мост.
- Rovki
- Полковник
- Сообщения: 5726
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 68 раз
- Поблагодарили: 222 раза
- Контактная информация:
Modbas RTU и KaScada, тормоза при передаче данных
Есп у вас будет подключен к роутеру ?
Отправлено спустя 7 минут 52 секунды:
Вот вариант моста -
Отправлено спустя 7 минут 52 секунды:
Вот вариант моста -
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Электронщик до мозга костей и не только
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя