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

Тема: Быстрые прерывания

  1. #1
    Пользователь
    Регистрация
    01.11.2022
    Адрес
    <7924127@mail.ru> Минск
    Сообщений
    489

    По умолчанию Быстрые прерывания

    Привет всем.

    Иногда важно знать точное событие на входе, и достаточно знать, во сколько точно происходят прерывания - нет необходимости немедленно реагировать.
    При очередном выполнении POU раз в 1мс, анализ переменной содержит параметр, когда произошло прерывание, и по какому входу.
    Подскажите, реализовано ли такое в какой либо библиотеке?


    По документации:
    ... максимальная частота сигнала, подаваемого на дискретный вход 1кГц при программной обработке 10кГц при применении аппаратного счётчика и обработчика энкодера
    т.е. 1кГц = 1мс и нет другого варианта - только специализированные под энкодер ...


    P.S. Про PRU слыхал/читал. но это уже следующий шаг.

  2. #2
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,318

    По умолчанию

    Точное событие - if с проверкой входа. Точней не бывает.
    Если не нужно немедленно реагировать - if с проверкой тогда, когда можно и отреагировать.

    Нету за ненадобностью. Да и глупость сама по себе. Свои ифы меняем на ифы внизу? Даже описалово уже косячное - несколько одновременных срабатываний на разных каналах, и ? Имеем этих переменных с временем столько же сколько самих входов? Коза+баян.

    И да, 1мс цикла это 500Гц да и идеального меандра.
    Энкодер нифига не даст кроме самого факта срабатывания чего то там.
    Если за каким то потребовалось быстрее 1мс не ждите "следующего шага" , переходите сразу. Или syslibport. Или другое оборудование
    Последний раз редактировалось Валенок; 11.05.2023 в 08:36.

  3. #3
    Пользователь
    Регистрация
    01.11.2022
    Адрес
    <7924127@mail.ru> Минск
    Сообщений
    489

    По умолчанию

    Спасибо за своё мнение, конечно, но... это точно не мнение специалиста...

    Цитата Сообщение от Валенок Посмотреть сообщение
    Точное событие - if с проверкой входа. Точней не бывает.
    Бывает!
    Если не нужно немедленно реагировать - if с проверкой тогда, когда можно и отреагировать.
    Да. Как общий вариант.
    Нету за ненадобностью. Да и глупость сама по себе. Свои ифы меняем на ифы внизу? Даже описалово уже косячное - несколько одновременных срабатываний на разных каналах, и ? Имеем этих переменных с временем столько же сколько самих входов? Коза+баян.
    Вот уж действительно, сказанное - глупость.
    Вы собрались отменить групповое чтение всех бит порта???
    AT %IB1.0: BYTE; (8 discrete imputs)
    А заодно и прерывания от портов!

    Т.е. входя в POU, одни раз в 1 мс, проверить байт на изменение с прошлого чтения,
    и при наличии изменения, проверить время этого/этих изменений?

    Валенок, вы на асме когда-нибудь хоть строку написали?

    И да, 1мс цикла это 500Гц да и идеального меандра. Энкодер нифига не даст кроме самого факта срабатывания чего то там. Если за каким то потребовалось быстрее 1мс не ждите "следующего шага" , переходите сразу. Или syslibport. Или другое оборудование
    Про "Энкодер" - это уже лишнее, про это я ничего не хотел.

    Валенок - очнитесь.
    Есть другие возможности.
    Цитата: "Планирую использовать ПЛК110, посмотрел на CoDeSys 2.3 и нахожусь в шоковом состоянии."

    Вот это, что дико бояться "разложить по полочкам" на фирме ОВЕН,
    и гробит этот самый ОВЕН. Особенно тех документация и хелпы...

    И для решения ОБЫЧНЫХ задач, на очень мощной железяке,
    и за хорошие деньги, приходится искать дополнительные пути.

    Валенок, переходите на конструктивный диалог.
    Это пойдёт всем на пользу.

  4. #4
    Пользователь
    Регистрация
    01.11.2022
    Адрес
    <7924127@mail.ru> Минск
    Сообщений
    489

    По умолчанию

    Цитата Сообщение от ПавелП Посмотреть сообщение
    Привет всем.

    Иногда важно знать точное событие на входе, и достаточно знать, во сколько точно происходят прерывания - нет необходимости немедленно реагировать.
    При очередном выполнении POU раз в 1мс, анализ переменной содержит параметр, когда произошло прерывание, и по какому входу.
    Подскажите, реализовано ли такое в какой либо библиотеке?

    По документации:
    ... максимальная частота сигнала, подаваемого на дискретный вход 1кГц при программной обработке 10кГц при применении аппаратного счётчика и обработчика энкодера
    т.е. 1кГц = 1мс и нет другого варианта - только специализированные под энкодер ...

    P.S. Про PRU слыхал/читал. но это уже следующий шаг.
    По ссылке удалось запустить на ПЛК160, и с доработкой получить то что надо.
    Глюков при тактовой проца 400 МГц с заданным (100мкс) циклом 100т не наблюдается.

    "Быстрые" входы действительно удалось сделать быстрыми.
    На одну полуволну сетевого напряжения 50Гц ~80 опросов,
    что позволило достаточно точно считать косинус фи.
    Это позволило не покупать 4 шт неприлично дорогих модуля.
    Как я понял, быстро возможно читать через SysPortIn(любой порт).
    Выходы: есть только релейные, и 4 ADC выхода. Но там живут черепахи...
    Управлять симисторными группами не получится с этой версией.

    Осталось разобраться:
    - и реализовать осциллограф лог уровней на 4 входа;
    удалось построить два графика для двух полуволн - но там 1 мс шкала.
    - RAM 16 мб, что там с DMA и работой со скоростью ядра;
    - PRU SoC AM1808 имеет 2 независимых ядра программируемого блока реального времени;
    там некий АСМ, интересно будет порыться -
    - и ПЛК160 вполне сможет работать со звуком - анализировать вибрацию и шумы.

Похожие темы

  1. Прерывания в Masterscada 4d.
    от DimaZnam90 в разделе ПЛК (среда MasterSCADA 4D)
    Ответов: 4
    Последнее сообщение: 07.03.2023, 05:11
  2. кнопка Прерывания Процесса
    от Югорск в разделе Среда программирования OWEN Logic
    Ответов: 15
    Последнее сообщение: 08.04.2020, 10:19
  3. СПК207 и прерывания
    от neitwood в разделе СПК2хх
    Ответов: 10
    Последнее сообщение: 04.04.2017, 22:55
  4. плк110-32.К и прерывания таймера
    от Goga2000 в разделе ПЛК1хх
    Ответов: 5
    Последнее сообщение: 04.07.2014, 22:57
  5. Прерывания в CoDeSYS
    от Евгений Мотренко в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 12.12.2007, 10:47

Ваши права

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