Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 15

Тема: Задача по заднему фронту входного сигнала

  1. #1

    По умолчанию Задача по заднему фронту входного сигнала

    ПЛК 110, CoDeSys v2.3.9.41

    Необходимо организовать прерывание по фронтам одного сигнала. По переднему фронту один алгоритм, по заднему - другой. Организовал задачу "по событию". Настроек фронта в принципе нет в настройках задачи. Сначала надеялся что это значит, что прерываться будет по обоим фронтам. Написал проверочную программку, если вход "1" то передний фронт, если вход "0" - то задний. Но нет, не заработало.

    Вопрос такой: возможно ли организовать прерывание по заднему фронту входного дискретного сигнала? Если возможно - то как это сделать? Если невозможно - то как быть если это всё-таки необходимо сделать в программе?

  2. #2
    Banned
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,664

    По умолчанию

    а там, например, инвертировать сигнал и второе прерывание организовывать по нему не устроит?

  3. #3

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    а там, например, инвертировать сигнал и второе прерывание организовывать по нему не устроит?
    В таком случае теряется смысл это делать прерыванием. Реакция нужна очень быстрая, а инверсия произойдёт в процессе скана когда до него дойдёт очередь.

  4. #4
    Banned
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,664

    По умолчанию

    Вы сейчас решили заявить, что первая строчка в PLC_PRG выполняется не первой в очереди скана?

  5. #5

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Вы сейчас решили заявить, что первая строчка в PLC_PRG выполняется не первой в очереди скана?
    Я посмел надеяться, что прерывание - это именно прерывание. По событию должна выполниться PRG, привязанная к событию. Выполниться мгновенно, не дожидаясь окончания очередного скана. Во всяком случае я на это надеюсь.

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

  6. #6

    По умолчанию

    Цитата Сообщение от Papagun78 Посмотреть сообщение
    Я посмел надеяться, что прерывание - это именно прерывание. По событию должна выполниться PRG, привязанная к событию. Выполниться мгновенно, не дожидаясь окончания очередного скана. Во всяком случае я на это надеюсь.

    А инверсия выполнится в процессе скана. Даже если она будет самой-самой первой строчкой в скане. А событие может произойти в любой момент, худший вариант - в начале скана. В этом случае теряется целый скан времени, за это время мой двигатель может уехать далеко от запланированного места.
    И мы ушли от основного вопроса:
    "Вопрос такой: возможно ли организовать прерывание по заднему фронту входного дискретного сигнала?"

  7. #7

    По умолчанию

    Как быстро надо реагировать на фронт сигнала ? ПЛК110 не [М02] ?

  8. #8
    Banned
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,664

    По умолчанию

    Цитата Сообщение от Papagun78 Посмотреть сообщение
    Я посмел надеяться, что прерывание - это именно прерывание. По событию должна выполниться PRG, привязанная к событию. Выполниться мгновенно, не дожидаясь окончания очередного скана. Во всяком случае я на это надеюсь.

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

  9. #9

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    о каком тогда сигнале идет речь? Если это физический вход, то он обработается перед прогоном основной программы, ни о каком изменении его во время прохождения цикла речи быть не может. Если Вы надеетесь обрабатывая быстрые входа в высокочастотном таймере запустить новое прерывание, так помните что это тоже прерывание и пока оно не закончится другое не начнется. Поэтому инвертируйте, других вариантов не будет
    Время цикла основной программы ПЛК - 1 мс, а прерывание по ВЧ таймеру может быть 20 мкс. Чувствуете разницу ?

  10. #10
    Banned
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,664

    По умолчанию

    Цитата Сообщение от Вольд Посмотреть сообщение
    Время цикла основной программы ПЛК - 1 мс, а прерывание по ВЧ таймеру может быть 20 мкс. Чувствуете разницу ?
    Еще раз повторю, ВЧтаймер такое же прерывание - из него еще прерывание не вызвать, в нем вообще смысла нет плодить события, можно оба фронта обрабатывать в одном коде

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Масштабирование входного сигнала
    от rwg в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 15.05.2015, 14:52
  2. Запоминание переменной по фронту импульса
    от Goga2000 в разделе Программируемые реле
    Ответов: 5
    Последнее сообщение: 21.03.2014, 15:40
  3. ТРМ с аппроксимацией входного сигнала
    от LеShiy в разделе Разработки
    Ответов: 0
    Последнее сообщение: 10.11.2011, 17:34

Ваши права

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