Показано с 1 по 9 из 9

Тема: СПК107 М01 Работа порта RS485

  1. #1

    По умолчанию СПК107 М01 Работа порта RS485

    CodeSys SP17 странно работает порт Modbus. Скорость 38400 в выпадающем списке не отображается (проект был перенесен с SP11) хотя на этой скорости работает. И задержки при обмене странные. Что тут не так?
    RS485.png

  2. #2
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,066

    По умолчанию

    Цитата Сообщение от eigor_vl Посмотреть сообщение
    CodeSys SP17 странно работает порт Modbus. Скорость 38400 в выпадающем списке не отображается (проект был перенесен с SP11) хотя на этой скорости работает. И задержки при обмене странные. Что тут не так?
    RS485.png
    Добрый день.
    Удалите узел Modbus COM и добавьте заново (версии 3.5.17.0 или выше) - тогда скорость 38400 будет отображаться корректно.
    Насчет "странных задержек при обмене" - опишите более конкретно, что мы имеете в виду.

  3. #3

    По умолчанию

    О задержки опроса по RS485.
    Есть 40 точек чтения/записи регистров (одиночные). Циклический опрос, цикл 100 мс. Таймаут 100 мс. На макете только 10 точек. 30 точек не отвечают по таймауту. В итоге цикл опроса 30 сек. Почему? Грубая прикидка 30 * 100 мс = 3 с

  4. #4
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,066

    По умолчанию

    Цитата Сообщение от eigor_vl Посмотреть сообщение
    О задержки опроса по RS485.
    Есть 40 точек чтения/записи регистров (одиночные). Циклический опрос, цикл 100 мс. Таймаут 100 мс. На макете только 10 точек. 30 точек не отвечают по таймауту. В итоге цикл опроса 30 сек. Почему? Грубая прикидка 30 * 100 мс = 3 с
    Я провел эксперимент по вашим данным - результаты примерно совпадают с вашими (у меня цикл опроса составил ~22 секунды).
    Причем это проявляется и в старых версиях компонентов Modbus.
    Ответа на вопрос "почему" у меня, к сожалению, нет.

  5. #5

    По умолчанию

    Цитата Сообщение от eigor_vl Посмотреть сообщение
    О задержки опроса по RS485.
    Есть 40 точек чтения/записи регистров (одиночные). Циклический опрос, цикл 100 мс. Таймаут 100 мс. На макете только 10 точек. 30 точек не отвечают по таймауту. В итоге цикл опроса 30 сек. Почему? Грубая прикидка 30 * 100 мс = 3 с
    А в точках сколько эээ.. каналов опроса?
    А то Modbus в CodeSys 3.5 имеет хитрые особенности:
    а) Иногда вылазит беспричинная задержка в 70 мс между запросами
    б) При отвале связи перебирает каждый канал опроса со своим таймаутом. То есть, если в устройстве 10 каналов опроса с таймаутом 100 мсек - то если устройство не отвечает, то его таймаут будет равен ЧислоКаналов * (ТаймаутОпроса + ЗадержкаМеждуЗапросами), а не ТаймаутОпроса.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  6. #6

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Я провел эксперимент по вашим данным - результаты примерно совпадают с вашими (у меня цикл опроса составил ~22 секунды).
    Причем это проявляется и в старых версиях компонентов Modbus.
    Ответа на вопрос "почему" у меня, к сожалению, нет.
    Повторных запросов при "неответе" я не вижу. Когда пользовался библиотекой ComService (СПК был слейв) таких задержек не было. До 70 ти регистров опрашивал. Есть ли аналогичная библиотека для работы СПК как мастер?

  7. #7
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,066

    По умолчанию

    Цитата Сообщение от eigor_vl Посмотреть сообщение
    Повторных запросов при "неответе" я не вижу. Когда пользовался библиотекой ComService (СПК был слейв) таких задержек не было. До 70 ти регистров опрашивал. Есть ли аналогичная библиотека для работы СПК как мастер?
    Да, см. библиотеку OwenCommunication - в ней есть все необходимые ФБ.

  8. #8

    По умолчанию

    Цитата Сообщение от Cs-Cs Посмотреть сообщение
    А в точках сколько эээ.. каналов опроса?
    А то Modbus в CodeSys 3.5 имеет хитрые особенности:
    а) Иногда вылазит беспричинная задержка в 70 мс между запросами
    б) При отвале связи перебирает каждый канал опроса со своим таймаутом. То есть, если в устройстве 10 каналов опроса с таймаутом 100 мсек - то если устройство не отвечает, то его таймаут будет равен ЧислоКаналов * (ТаймаутОпроса + ЗадержкаМеждуЗапросами), а не ТаймаутОпроса.
    Устройств 11 шт. регистров 40. Все равно не сходятся эти 30 сек. Возможно что то с отваливанием устройств и программа перезапускает соединение. Галочку поставил. Да да! без галочки затыкается совсем Modbus.

  9. #9

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Да, см. библиотеку OwenCommunication - в ней есть все необходимые ФБ.
    Понятно. Спасибо.

Похожие темы

  1. ПР200. ПМ210. СП307. работа от одного порта 485.
    от Юрий Н в разделе Облачный сервис OwenCloud
    Ответов: 2
    Последнее сообщение: 09.09.2022, 15:33
  2. СПК107 & RS485
    от lazy в разделе СПК1хх [М01]
    Ответов: 5
    Последнее сообщение: 11.04.2022, 17:34
  3. Ответов: 12
    Последнее сообщение: 06.04.2018, 10:41
  4. Ответов: 2
    Последнее сообщение: 03.04.2013, 15:59
  5. Ответов: 4
    Последнее сообщение: 22.08.2008, 19:51

Ваши права

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