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

Тема: формирование импульсов заданной длины на плк110

Древовидный режим

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

    По умолчанию

    если дискретность порядка 1 мс, то единственный способ решения - использование быстрых входов - выходов и прерываний. (старик Котельников говорил что дискретизация минимум в два раза чаще чем требуемая частота ). Точность отработки прерываний (20мкс) достаточно высокая, вот внутри прерывания и делайте счетчик количества прерываний - это будет ваш таймер, рассчитать сколько прерываний будет за мс вроде не сложно.... циклы for? while и прочие способы задержек должны быть прочно забыты при программировании ПЛК. Быстрые выходы регенерят сразу после завершения очередного прерывания, поэтому можно и фазоимпульсное делать ))) но их только 4 штуки. Да, важным моментом является синхронизация переменных прерывания и основной программы.... если не хотите чудес, то переменные прерывания должны считываться в основной цикл посредством своих копий, один раз в начале цикла.
    Можно конечно извратиться и установив длительность основного цикла 0 мс, выполнять отсчет пауз по часам реального времени... но флуктуации будут большими...
    Последний раз редактировалось Дмитрий Артюховский; 29.11.2010 в 10:40.

Ваши права

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