Показано с 1 по 10 из 37

Тема: Минимальное время цикла работы ПЛК

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    То SEA - вы неправильно понимаете способ функционирования обменов по портам. Реально на операции обмена тратятся микросекунды, остальное время ПЛК лишь проверяет завершенность операций (для пользователя! реальное функционирование скрыто в фоновых задачах и библиотеках) . Ставьте время цикла 1 мс и проверяйте в своих циклах флаги завершения операций обмена.

    Ожидать в одном цикле завершения обмена в корне не верно! Выдаете команду на начало обмена, а далее, в следующих циклах, проверяете флаг завершения. Скорость опроса от этого не изменится, а запаздывание реакции - не более времени одного цикла - 1мс.

  2. #2
    Пользователь
    Регистрация
    19.08.2012
    Адрес
    г. Зерноград, г. Краснодар
    Сообщений
    218

    По умолчанию

    Цитата Сообщение от Дмитрий Артюховский Посмотреть сообщение
    То SEA - вы неправильно понимаете способ функционирования обменов по портам.
    Поэтому пытаюсь разобраться.

    Цитата Сообщение от Дмитрий Артюховский Посмотреть сообщение
    Реально на операции обмена тратятся микросекунды, остальное время ПЛК лишь проверяет завершенность операций (для пользователя! реальное функционирование скрыто в фоновых задачах и библиотеках).
    Чем тратяться микросекунды, центральным микроконтроллером? Реальным обменом наверное вообще другой МК занимается?

    Цитата Сообщение от Дмитрий Артюховский Посмотреть сообщение
    Ставьте время цикла 1 мс и проверяйте в своих циклах флаги завершения операций обмена.
    Время цикла нельзя устанавливать меньше времени выполнения программы. Сейчас статистику набираю по времени цикла ПЛК (установлено минимальное значение 0):
    - минимальное 0,3 мс;
    - максимальное 5,7 мс;
    - среднее 0,5 мс.
    Так какое установить?
    Цитата Сообщение от Дмитрий Артюховский Посмотреть сообщение
    Ожидать в одном цикле завершения обмена в корне не верно! Выдаете команду на начало обмена, а далее, в следующих циклах, проверяете флаг завершения.
    Спасибо, получил подтверждение своим догадкам.
    Цитата Сообщение от Дмитрий Артюховский Посмотреть сообщение
    Скорость опроса от этого не изменится, а запаздывание реакции - не более времени одного цикла - 1мс.
    Скорость, понятно, что 115200 бит/с стабильна. А на счет запаздывания данных - не "1 мс".
    Данные еще нужно принять/передать. Пусть программа вызывается 1 раз в 1 мс. Отсюда максимальное запаздывание 2 цикла, т.е. 2 мс. Передача данных на запрос одним пакетом 1028 бит занимает еще 9,43 мс. Итоговое запаздывание 11,43 мс.
    На чтение ПЛК (Ведущий) одного регистра из Ведомого требуется 1,79 мс (206 бит), для записи - 1,88 мс. А может еще и ни с первой попытки обмен пройти.
    Итого в сети RS-485 обмен происходит за 18,35 мс.

    Вот вопрос стал: RS-232, RS-485 на одном микроконтроллере (не на центральном) реализованы или на разных?
    Или все же не дополнительные МК, а отдельная перефирия (типа АЦП, ЦАП, ШИМ и т.д.) центрального микроконтроллера?
    Последний раз редактировалось sea; 21.08.2013 в 22:58.

  3. #3

    По умолчанию

    Цитата Сообщение от sea Посмотреть сообщение
    Поэтому пытаюсь разобраться.


    Чем тратяться микросекунды, центральным микроконтроллером? Реальным обменом наверное вообще другой МК занимается?


    Время цикла нельзя устанавливать меньше времени выполнения программы. Сейчас статистику набираю по времени цикла ПЛК (установлено минимальное значение 0):
    - минимальное 0,3 мс;
    - максимальное 5,7 мс;
    - среднее 0,5 мс.
    Так какое установить?

    Спасибо, получил подтверждение своим догадкам.

    Скорость, понятно, что 115200 бит/с стабильна. А на счет запаздывания данных - не "1 мс".
    Данные еще нужно принять/передать. Пусть программа вызывается 1 раз в 1 мс. Отсюда максимальное запаздывание 2 цикла, т.е. 2 мс. Передача данных на запрос одним пакетом 1028 бит занимает еще 9,43 мс. Итоговое запаздывание 11,43 мс.
    На чтение ПЛК (Ведущий) одного регистра из Ведомого требуется 1,79 мс (206 бит), для записи - 1,88 мс. А может еще и ни с первой попытки обмен пройти.
    Итого в сети RS-485 обмен происходит за 18,35 мс.

    Вот вопрос стал: RS-232, RS-485 на одном микроконтроллере (не на центральном) реализованы или на разных?
    Или все же не дополнительные МК, а отдельная перефирия (типа АЦП, ЦАП, ШИМ и т.д.) центрального микроконтроллера?
    Реальный обмен, скорее всего, выполняют отдельные чипы, но опрос завершения выполняется центральным процессором, на это и тратится его время.
    Время цикла можно устанавливать меньше чем пиковые значения времени цикла. Единичный цикл просто растянется на требуемое время. При выходе времени цикла за рамки - будут приостанавливаться некоторые фоновые процессы, потом они нагонятся, главное чтобы среднее время выполнения было меньше установленного. "запаздывание" - имелось ввиду отставание реакции основной программы контроллера на полностью полученный пакет, а не время получения пакета.

    Концепция ПЛК: получение входных данных - обработка - отправка ответов. Реальный побайтовый обмен по портам скрыт в фоновых процессах и программер получает информацию о статусе обмена в фазе "получение входных данных"


    "Имелось в виду: не реже чем 1 раз в 10 мс, т.е. минимальное время цикла не более 10 мс." - различайте цикл выполнения ПЛК и цикл (период) регулирования системы

  4. #4
    Пользователь
    Регистрация
    19.08.2012
    Адрес
    г. Зерноград, г. Краснодар
    Сообщений
    218

    По умолчанию

    Цитата Сообщение от Дмитрий Артюховский Посмотреть сообщение
    ... Время цикла можно устанавливать меньше чем пиковые значения времени цикла. Единичный цикл просто растянется на требуемое время. При выходе времени цикла за рамки - будут приостанавливаться некоторые фоновые процессы, потом они нагонятся, главное чтобы среднее время выполнения было меньше установленного...
    Теперь понятней! Если бы это в РП ПЛК было обозначено - вопросов меньше возникало.
    В общем, ориентир на среднее время цикла ПЛК держать.

    Цитата Сообщение от Дмитрий Артюховский Посмотреть сообщение
    ... различайте цикл выполнения ПЛК и цикл (период) регулирования системы...
    Это я для себя сетевой обмен представил, как опросы входа и установка выходов.

Похожие темы

  1. Ответов: 3
    Последнее сообщение: 05.06.2013, 14:00
  2. Время цикла в ПЛК
    от Ильнур в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 03.10.2012, 14:17
  3. Время цикла ПЛК больше 100мс
    от Aplle в разделе ПЛК1хх
    Ответов: 12
    Последнее сообщение: 01.07.2011, 06:41
  4. Еще раз про время цикла ПЛК
    от Партизан в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 06.04.2011, 11:38
  5. Ответов: 21
    Последнее сообщение: 03.03.2009, 16:27

Ваши права

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