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

Тема: Программирование ПЛК110 [М02] для задач реального времени

Комбинированный просмотр

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

    По умолчанию

    Цитата Сообщение от Дмитрий Артюховский Посмотреть сообщение
    Овен, по моему мнению, не будет поддерживать эту штуку - потому что, как я уже писал, она противоречит концепции ПЛК в принципе - в ней не реализован стабильный цикл (и даже наоборот - время цикла спецом меняется в угоду алгоритму) и возможность параллельного, независимого исполнения нескольких модулей.
    В связи с этим спорным заявлением возникли такие вопросы к В.Ситникову:
    1) от чего в ФБ осуществляется синхронизация при формировании выходного сигнала;
    2) нет ли джиттера частоты (фазовое дрожание);
    3) стабильна ли частота на дискретном выходе ПЛК.

    Для проверки всего этого нужен осциллограф. Может ли кто-то из форумчан это проверить ?

  2. #2

    По умолчанию

    Цитата Сообщение от Вольд Посмотреть сообщение
    В связи с этим спорным заявлением возникли такие вопросы к В.Ситникову:
    1) от чего в ФБ осуществляется синхронизация при формировании выходного сигнала;
    От тактовой частоты PRU.
    TI заявляет, что все команды выполняются за 1 такт (работа с памятью дольше, но тоже, якобы, гарантирована длительность).
    В процессоре есть регистр -- счётчик выполненных команд. По сути, он и отражает текущее время в виде "количества выполненных тактов".

    Если этот регистр врёт, то, конечно, беда-печаль.

    Логика моей PRU программы следующая:
    1) Вычисляем "какая должна быть длина импульса" <-- это вычисление может занимать разное время, но оно всегда быстрее, чем нужная длина импульса
    2) Ждём пока счётчик выполненных команд накрутится до нужного значения <-- в этом же ожидании происходит обмен host-pru-host
    3) Обнуляем счётчик выполненных команд (он, собака, перестаёт работать секунд через 20-30 при достижении FFffFFff, поэтому приходится постоянно обнулять)
    4) Пишем выход

    В итоге, запись выходов происходит в ровно запланированное время.
    Тов. Филоненко, конечно, пишет противоположное, но, полагаю, он либо не читал код моей программы, либо читал невнимательно.

    Спецификация TI на длительность работы команд памяти немного мутная, поэтому возможны погрешности на 2-4 такта, но это всё ерунда (+-0.03 мкс), и эти погрешности плавать не будут. Да и сами команды работы с памятью редко используются -- в основном мы "сверяемся со счётчиком команд", а он, надеюсь, показывает правду.

    И спецификация умалчивает что будет, если обнулить счётчик выполненных команд (учтёт ли он команду обнуления -- фиг знает). Там говорится, что перед обнулением его нужно выключать, но это муторно, и, судя по опытам, работает и без "отключения".


    Цитата Сообщение от Вольд Посмотреть сообщение
    2) нет ли джиттера частоты (фазовое дрожание);
    3) стабильна ли частота на дискретном выходе ПЛК.
    Я показывал насколько стабильна частота импульсов на выходе: http://www.owen.ru/forum/showthread....l=1#post219960

    По программной части -- частота абсолютно стабильная и полностью предсказуемая.
    Надо фронт каждые 200 тактов --- будет каждые 200 тактов.

    Плавает ли аппаратная частота (например, вместо кварца неонка какая-нибудь) -- тут без понятия.


    Про "неконцептуальность и запретность ОВЕНом" смены "цикла PRU по ходу работы" процитирую классику:
    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    26.08.2016, 08:35: Цикл можно менять, в т.ч. и на ходу, для этого предполагается использовать семейство FB START, START_CONST и START_VAR

Похожие темы

  1. Ответов: 38
    Последнее сообщение: 24.01.2022, 11:56
  2. Ответов: 10
    Последнее сообщение: 11.06.2021, 14:55
  3. часы реального времени
    от vetaly в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 28.08.2015, 16:21
  4. Таймер реального времени УТ1-РiС
    от ser10 в разделе Трёп (Курилка)
    Ответов: 0
    Последнее сообщение: 16.09.2010, 11:24

Ваши права

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