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

Тема: Время цикла ПЛК больше 100мс

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

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

    По умолчанию

    Не использовать While, переход на метку и тому подобное. Очень аккуратно обращаться с указателями и все в таком духе.

  2. #2
    Пользователь
    Регистрация
    10.05.2011
    Адрес
    Харьков
    Сообщений
    21

    По умолчанию

    Цитата Сообщение от Александр Приходько Посмотреть сообщение
    Не использовать While, переход на метку и тому подобное. Очень аккуратно обращаться с указателями и все в таком духе.
    Я бы уточнил:
    не использовать циклы с неизвестным заведомо количеством итераций;
    не использовать переходы на метку назад по коду.

    По поводу оптимизации:
    Не выполняйте весь код каждый цикл ПЛК. Каждый, логически отдельный, кусок кода выполняйте только тогда, когда есть потребность данных, получаемых в результате выполнения этого куска.
    Например:
    1. У вас в программе два (или больше) ПИД регулятора. Выполняйте их в периодической задаче каждые Х мс. Думаю для вашего случая Х = 100-200 мс. При этом, каждый ПИД выполняйте в отдельном цикле контроллера (отдельном от других ПИД).
    2. Вы рассчитываете технологические параметры по каким-нибудь формулам. Посмотрите кто потребляет эти параметры. Если ПИД, то тех. параметры ему нужны только каждые Х мс, если панель оператора, то ей параметры не нужны чаще, чем раз в 500 мс.
    3. Как часто обновляются измеренные аналоговые величины? Рассчитывать тех. параметры чаще, чем обновляются их аналоговые сигналы, не имеет смысла.
    4. И т.д. в таком же духе.

Ваши права

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