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

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

  1. #1

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

    ПЛК 110, CoDeSys v2.3.9.41

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

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

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

    По умолчанию

    а там, например, инвертировать сигнал и второе прерывание организовывать по нему не устроит?
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  3. #3

    По умолчанию

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

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

    По умолчанию

    Вы сейчас решили заявить, что первая строчка в PLC_PRG выполняется не первой в очереди скана?
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  5. #5

    По умолчанию

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

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

  6. #6

    По умолчанию

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

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

  7. #7

    По умолчанию

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

  8. #8
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,225

    По умолчанию

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

    А инверсия выполнится в процессе скана. Даже если она будет самой-самой первой строчкой в скане. А событие может произойти в любой момент, худший вариант - в начале скана. В этом случае теряется целый скан времени, за это время мой двигатель может уехать далеко от запланированного места.
    о каком тогда сигнале идет речь? Если это физический вход, то он обработается перед прогоном основной программы, ни о каком изменении его во время прохождения цикла речи быть не может. Если Вы надеетесь обрабатывая быстрые входа в высокочастотном таймере запустить новое прерывание, так помните что это тоже прерывание и пока оно не закончится другое не начнется. Поэтому инвертируйте, других вариантов не будет
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  9. #9

    По умолчанию

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

  10. #10
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,225

    По умолчанию

    Цитата Сообщение от Вольд Посмотреть сообщение
    Время цикла основной программы ПЛК - 1 мс, а прерывание по ВЧ таймеру может быть 20 мкс. Чувствуете разницу ?
    Еще раз повторю, ВЧтаймер такое же прерывание - из него еще прерывание не вызвать, в нем вообще смысла нет плодить события, можно оба фронта обрабатывать в одном коде
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

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

Похожие темы

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

Ваши права

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