Страница 36 из 69 ПерваяПервая ... 26343536373846 ... ПоследняяПоследняя
Показано с 351 по 360 из 688

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

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

    По умолчанию

    Цитата Сообщение от Atman Посмотреть сообщение
    Владимир, могу к ПЛК-150 дать доступ, но пока в командировке, когда приеду , то могу дать возможность поработать с ПЛК.
    К сожалению, тема про конкретную модель плк
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  2. #352

    По умолчанию

    С другой стороны: USB хватит для того, чтобы подключиться КСД'ом и залить PRU0.prg?

    Или нужно RS232/Ethernet провод искать?

  3. #353
    Пользователь
    Регистрация
    12.07.2007
    Адрес
    Воронеж
    Сообщений
    884

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    С другой стороны: USB хватит для того, чтобы подключиться КСД'ом и залить PRU0.prg?

    Или нужно RS232/Ethernet провод искать?
    Залить хватит, вылетает иногда.
    Могу дать TV до ноута и ПЛК поставить (дома есть ПЛК)

    В принципе могу через TV вообще круглосуточный доступ предоставить к ПЛК, но это теперь только в понедельник.
    Последний раз редактировалось приборист; 01.10.2016 в 00:21.

  4. #354

    По умолчанию

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

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

    3. Неплохо бы разобраться пользователям что они называют ШД и что для него надо, и что такое сервопривод, и в чем там особенности. При похожести интерфейса (STEP/DIR) там идеологические отличия.

    Ну и главное: то что делает Ситников - он делает для себя!! - он "продает" свою среду разработки, а не "пилит" вам модули на халяву! Эти модули вы не сможете модифицировать без его среды и понимания ее устройства, а он, при всех достоинствах, не знает устройства ПЛК, поэтому и эффективно поддержать его не сможет. Из того что я здесь вижу - его платформа - "малинка" (Raspberry) - вот там его подход вполне оправдан.

    Овен, по моему мнению, не будет поддерживать эту штуку - потому что, как я уже писал, она противоречит концепции ПЛК в принципе - в ней не реализован стабильный цикл (и даже наоборот - время цикла спецом меняется в угоду алгоритму) и возможность параллельного, независимого исполнения нескольких модулей. Поднимался уже вопрос, а куда собственно делись быстрые входи и как их получить обратно... ПЛК110 - это все же не АРДУИНА и не универсальный компьютер.

  5. #355

    По умолчанию

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

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

  6. #356

    По умолчанию

    Спасение утопающих - дело рук самих утопающих. Надеяться на то, что специалисты фирмы "ОВЕН" в обозримом будущем сделают свой канонический ФБ для управления ШД не приходится. Надо общими усилиями форума решить эту задачу. Есть В.Ситников, который сделал этот самый ФБ. У В.Ситникова кроме ПЛК110[М02] больше ничего нет. Но нашлись уже два человека, у которых есть железо для стендовых испытаний. Есть ли еще заинтересованные лица, готовые подключиться к процессу. Я этим заняться не могу, так как в настоящее время не имею всего необходимого, но могу выложить схему простейшего стенда для проведения испытаний. ШД и драйвер ШД могут быть другими, это не суть важно. При проведении испытаний очень желательно иметь цифровой осциллограф или цифровой частотомер.
    Вложения Вложения
    • Тип файла: pdf s.pdf (14.4 Кб, Просмотров: 38)
    Последний раз редактировалось Newcomer; 02.10.2016 в 15:15.

  7. #357

    По умолчанию

    Цитата Сообщение от Вольд Посмотреть сообщение
    В связи с этим спорным заявлением возникли такие вопросы к В.Ситникову:
    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

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

    По умолчанию

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

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

  9. #359

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    мне кажется Филоненко не противоположное Вам говорил, а советовал запись входов сделать в начале программы, а всю обработку делать после для следующего такта, так было бы больше гарантий стабильности, не получается верить что у со процессора нет более высоких прерываний, которые внесут незначительную задержку перед записью
    Креститься надо когда кажется. Я гарантирую задержку с точностью до такта PRU. Куда уж точнее? Какая такая волшебная технология сделает "большую гарантию стабильности"?

    "не получается верить". Ещё раз: не хотите учиться -- молчите и слушайте умных людей.
    Я спецификацию TI AM1808 PRU читал, и знаю, что прерывания в PRU приходят установкой "флага в спец регистре". Никакого насильного перехода на обработчик прерывания там нет. Если PRUграмма не следит за спецфлагом, то она запросто может игнорировать "прерывание".

    Вот что писал Владислав:
    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Генератор тот же, что и для основного ядра процессора. Используйте смело.
    Однако тов. Ситников мало уделяет внимания стабильности цикла управления в коде.Возможен сильный джиттер в зависимости от пути выполнения кода.
    Владислав пишет, что "возможен сильные джиттер", а я утверждаю, что программа задержку выдерживает ровно, и никакого дрожания там не будет.

    Владислав не прав.
    Мои утверждения подкрепляются эмулятором PRU. Найдётся осциллограф -- измерим и осциллографом.
    Последний раз редактировалось Владимир Ситников; 01.10.2016 в 14:30.

  10. #360

    По умолчанию

    Цитата Сообщение от dima64 Посмотреть сообщение
    Вот так ведет себя ШД при частотах от 145 до 175 Гц: https://yadi.sk/i/KcUtVLhhvvBme
    С разгоном ШД в ФБ проблемы. Постоянное ускорение вероятно не катит.

    Цитата Сообщение от dima64 Посмотреть сообщение
    Генерация идет нормально. Сегодня подключал сервопривод PRONET. Скорость задавал 200 кГц. Играл с разгоном/торможением - все работает. Заданное кол-во импульсов отрабатывает четко. Один нюанс: серво имеет 10000 имп/об., поэтому при 200 кГц должен вращаться со скоростью 1200 об/мин. На дисплее сервопривода высвечивается скорость 1590 об/мин.
    Я подозреваю, что частота импульсов в ФБ генерируется не верно. Может синхронизироваться не от счетчика команд, а по прерываниям таймера. Зарядить таймер на 1мкс и формировать и отсчитывать периоды. Тогда все будет железно.

    Что касается возможного джиттера, то он не страшен. ШД небольшое колебание фазы импульсов просто не заметит.

    Может сделать два ФБ, один для ШД, другой для сервопривода. Дело в том, что ШД более капризная вещь, его труднее разогнать.
    Последний раз редактировалось Newcomer; 02.10.2016 в 13:45.

Страница 36 из 69 ПерваяПервая ... 26343536373846 ... ПоследняяПоследняя

Похожие темы

  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, 12:24

Ваши права

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