Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 11 по 20 из 36

Тема: Настройка опроса ModBus Master

  1. #11
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,583

    По умолчанию

    групповой запрос ОДНОГО модуля, то есть несколько регистров. Если я прав, то модули отвечают у вас на команду записи максимум 2-х регистров, это нормально, если есть поддержка команды 0x10.

    начните с одного модуля, только чтение и смотрите логи. Ну и сверяйтесь с документацией на модуль. ну и начните с чтения одного регистра.

    что тут еще можно посоветовать, не зная всего?

  2. #12
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,224

    По умолчанию

    Цитата Сообщение от Raikkonen Посмотреть сообщение
    как на счет "max timeout" ??? почему он не ждет это время перед тем как опрашивать следующее устройство?
    Вы серьезно задаетесь этим вопросом, а скажите от какого запроса нужно ждать срабатывание таймаута, если у Вас
    Цитата Сообщение от Raikkonen Посмотреть сообщение
    work mode: by poll time
    poll time: 10 ms
    max timeout: 150 ms
    каждые десять мс идет очередной запрос, когда ему ждать таймаут в 150 мс?
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  3. #13

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    что тут еще можно посоветовать, не зная всего?
    как вы реализуете обмен данными плк овен, и, например 1 модуля ввода, 1 модуля вывода, и 3 модулей аналогового ввода?

  4. #14

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    каждые десять мс идет очередной запрос, когда ему ждать таймаут в 150 мс?
    какой смысл в этом, если 10 мс полл тайм все равно не соблюдается?

    вот у него есть признак "нет ответа", когда ласт адресс =5, и ласт эррор = 81.
    по уму, это устройство с адресом 5 не отвечало в течение (допустим настроено) 150 мс. И контроллер - должен ждать эти 150 мс. Это и есть тайм аут ответа во всех остальных нормальных устройствах.
    А по факту - я методом проб и ошибок примерно +- понял что это если я не опрашивал устройство №5, и от него не приходило ответа в течение 150 мс - то извините, оно не отвечает.... хотя его может ни кто и не оправшивал.

    Как я думал устроена настройка этого дела:
    Framing Time - время между ответом запросом, по другому - время пока оптрон там переключится с приема на передачу.
    poll time - желаемая частота опроса
    max timeout - время ожидания ответа от устройства

    получаем:
    1. запрос. и сброс таймера полл тайм
    2. ждем таймаут
    3. если таймаут вышел - то "last address = 5" и "last error = 81"
    4. если устройство ответило, отлично
    5. ждем Framing Time после ответа
    6. если тем временем вышло время опроса другого устройства(полл тайм) - опрашиваем его

    Так, например, работает программка модбасс пол

    А как работает овен, я тупо понять не могу....
    что за фрейм тайм? что за пол тайм, если он не соблюдается? что за таймаут, если его ни кто не ждет?

  5. #15
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,224

    По умолчанию

    Цитата Сообщение от Raikkonen Посмотреть сообщение
    какой смысл в этом, если 10 мс полл тайм все равно не соблюдается?

    вот у него есть признак "нет ответа", когда ласт адресс =5, и ласт эррор = 81.
    по уму, это устройство с адресом 5 не отвечало в течение (допустим настроено) 150 мс. И контроллер - должен ждать эти 150 мс. Это и есть тайм аут ответа во всех остальных нормальных устройствах.
    А по факту - я методом проб и ошибок примерно +- понял что это если я не опрашивал устройство №5, и от него не приходило ответа в течение 150 мс - то извините, оно не отвечает.... хотя его может ни кто и не оправшивал.

    Как я думал устроена настройка этого дела:
    Framing Time - время между ответом запросом, по другому - время пока оптрон там переключится с приема на передачу.
    poll time - желаемая частота опроса
    max timeout - время ожидания ответа от устройства

    получаем:
    1. запрос. и сброс таймера полл тайм
    2. ждем таймаут
    3. если таймаут вышел - то "last address = 5" и "last error = 81"
    4. если устройство ответило, отлично
    5. ждем Framing Time после ответа
    6. если тем временем вышло время опроса другого устройства(полл тайм) - опрашиваем его

    Так, например, работает программка модбасс пол

    А как работает овен, я тупо понять не могу....
    что за фрейм тайм? что за пол тайм, если он не соблюдается? что за таймаут, если его ни кто не ждет?
    не будте идиотом, верните все настройки по умолчанию как минимум, а не то что Вы там себе надумали и заработает всё
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  6. #16

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Вы серьезно задаетесь этим вопросом
    если можете, просто скажите, как вы реализуете опрос модулей ввода вывода ОВЕН на плк ОВЕН.

    модулей у меня:
    1 дискретный ввод
    1 дискретный вывод
    4 аналоговых ввода
    1 аналоговый выход

    Мне надо чтобы это работало шустро. Сейчас это работает просто ужасно.

    я пока придумал это все ускорить - опрашивать аналоговые не регистрами (только состояние и значение, разумеется) а все одной строкой в 47 символов, думаю будет быстрее, чем 16 запросов

  7. #17

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    не будте идиотом, верните все настройки по умолчанию как минимум, а не то что Вы там себе надумали и заработает всё
    работает с заводскими настройками. но медленно.
    сейчас у меня стоит полл тайм 10 мс - все шевелится немного быстрее

  8. #18
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,224

    По умолчанию

    я это делаю на библиотеках, но Вам это еще рано
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  9. #19
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,583

    По умолчанию

    work mode: by poll time
    poll time: 10 ms
    max timeout: 150 ms

    На самом деле это было бы правильнее трактовать как запрос, макс время на ответ 150 ms, пауза 10 ms и опять опрос. Соответственно если ответ пришел за меньшее время то опять 10 ms и опрос. Если у Овен не так, то печально.

    з.ы. у меня было всего два модуля и я как-то не запаривался со сменой настройек. А нет, вру, как-то на 150-м было модулей по 6 или 7, но и там я не менял настройки, все работало через конфигурацию.

    Вообще timeout всегда должен выдерживаться, отодвигая время опроса... так правильно везде. Мало ли, человек ошибся в настройке. а тут сиди и гадай....

  10. #20
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,314

    По умолчанию

    было бы правильнее трактовать как запрос, макс время на ответ 150 ms, пауза 10 ms и опять опрос
    Я б с выделенным поспорил. Не пауза, а проверка истекшего времени от момента отправки предыдущего запроса. Т.е. если девайс отвечает за 5..10мс, а poll-time 10мс, то за 1 сек я четко 100 транзакций (ниже) сделаю. А если пауза, то транзакций за секунду будет 1000 / (t + 10), где t среднее время транзации, т.е. хрен знает сколько в общем случае.

    Ничего странного с таймаут=150/полтайм=10 не вижу. Ушедший погулять девайс задержит всю очередь, но дальше все тоже самое. Ну и ессно что если устройств больше 1..2х и они опрашиваются строго по-очереди, то 10мс полтайма вероятнее всего будет просто некоей недостижимой мечтой.

    Но это - как я считаю и делаю. А как там овен делает мне пофиг.

    -------
    Транзакция = время ухода пакета (прихода в слев) + тайм_фрейм + раздумья_слейва + время ухода пакета (прихода в мастер) + тайм_фрейм. Всё чотко.

    PS
    И никогда больше 30..50мс таймаут не делаю за ненадобностью.
    1 раз только встречал какого-то китайца с реально рандомным временем раздумий 0...200мс.
    Последний раз редактировалось Валенок; 11.08.2020 в 00:45.

Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Похожие темы

  1. Ответов: 15
    Последнее сообщение: 18.04.2021, 18:46
  2. Ответов: 4
    Последнее сообщение: 12.03.2020, 15:53
  3. Ответов: 36
    Последнее сообщение: 16.09.2019, 22:49
  4. СПК 207 - настройка modbus master/slave
    от VigVam в разделе СПК2хх
    Ответов: 2
    Последнее сообщение: 02.11.2017, 15:49
  5. Настройка скорости сети 485 и частоты опроса
    от and909 в разделе Эксплуатация
    Ответов: 9
    Последнее сообщение: 16.05.2014, 17:29

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •