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

Тема: Таймеры в режиме Simulation

  1. #1

    По умолчанию Таймеры в режиме Simulation

    Странно как-то работает режим симуляции в Кодесис, создается впечатление, что таймеры продолжают тикать, даже когда программа остановлена отладчиком. Всё немедленно вылетает на ветки таймаутов. Это только у меня такой глюк или так оно по природе? И что толку от такой симуляции, если нужно успевать дергать входы в реальном времени?

  2. #2

    По умолчанию

    Это глюк в голове и природе, претензии к Всевышнему. Время вообще остановить нельзя. Стандартные таймеры МЭК засекают время по часам (как и мы) и смотрят когда будет пора срабатывать. При останове программы системные часы продолжают идти. Это естественно.
    В принципе, конечно часы можно было бы и останавливать. Но, при выполнении по шагам было бы зверски неудобно ждать таймеры. Это ж сколько раз надо было нажать кнопку шаг, если контроллер запускается на доли микросекунд и опять ждет нажатия кнопки. С другой стороны кажется логичным, чтобы точке останова таймеры стояли. Короче это старый спорный вопрос, единого мнения по нему нет.
    Симулятор ориентирован на грубую проверку последовательности выполнения программы и не более того! Время цикла у него не такое как в контроллере и уже только по этому никакие динамические эффекты в нем отлаживать нельзя.
    С помощью фиксации переменных можно зажать выходы таймеров и управлять их работой так, как надо при отладке. См. также 'Менеджер просмотра'. Им можно подготовить набор замороженных состояний всей программы и приводить ее по своему желанию куда надо моментально.

  3. #3

    По умолчанию

    Вообще-то во всех симуляторах по определению существует модельное время. В хорошем симуляторе моделируется время каждой инструкции и операции, так что, например, время цикла, время АЦП, время доставки каждого байта по сети и т. п. получается точным - в единицах модельного времени. Ну, да ладно, придется приспосабливаться к тому, что есть...

  4. #4

    По умолчанию

    Это не ПК, это ПЛК. У каждого ПЛК есть свои аппаратные особенности, поэтому, ИМХО, сколь-нибудь глубокую отладку надо делать всегда на железе. Симулятор хорош для обучения и отладки аппаратно-независимых алгоритмов. Таймеры к ним не относятся.

Ваши права

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