Страница 12 из 57 ПерваяПервая ... 2101112131422 ... ПоследняяПоследняя
Показано с 111 по 120 из 688

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

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

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

    По умолчанию

    Цитата Сообщение от vladimirisitnikov Посмотреть сообщение
    Я Владимир, но не суть.
    Прошу прощения, заработался совсем.

    Цитата Сообщение от vladimirisitnikov Посмотреть сообщение
    Делитель это что? Настройка шаг-полушаг? Или ещё что-то?
    Вроде, равноускоренный разгон обычно делают. Т.е. на входе "начальная скорость", "макс скорость", "количество импульсов" и т.п.
    Я думал что для режима замедления заданную скорость просто делить на коэффициент (занижать в 2-3-10 раз)
    Если равноускоренный разгон - вообще шикарно, но думаю более трудоемко.

  2. #2

    По умолчанию

    Обычно ШД имеют 200 импульсов на оборот если нет дробления шага. Если есть возможность сделать параметр "не останавливаться", то это и надо сделать. Т.е. надо разогнать ШД до номинальный частоты и он должен работать пока сигнал ENABLE не перейдет в FALSE. В посте 197 я все подробно описал. Только бы надо еще чтобы ШД затормозился не резко, а с отрицательным ускорением.
    Изображения Изображения
    Последний раз редактировалось Newcomer; 20.09.2016 в 13:40.

  3. #3

    По умолчанию

    аппаратные таймеры заняты
    Тролль-наседка, добрый, нежный и ласковый

  4. #4

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    аппаратные таймеры заняты
    А "target.trg для PRU1" будет?

  5. #5

    По умолчанию

    Вы же не используете архитектуру ОВЕН? Зачем тогда таргет?
    Тролль-наседка, добрый, нежный и ласковый

  6. #6

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Вы же не используете архитектуру ОВЕН? Зачем тогда таргет?
    Что вы понимаете под словами "не используете архитектуру ОВЕН"?


    Ещё раз поясню как я получил PRU0.prg:

    1) Создал бинарный код для PRU в Hardella -- pru_pulse.bin. Тут целиком моя работа. На всякий случай, я скомпилировал ассемблер через pasm.exe -- результат совпал полностью.
    2) Создал пустой файл pru_pulse.asm, применил к нему "секретный инструмент", и получил PRU_PULSE.fb с моим кодом
    3) Создал pulse.p с одним единственным вызовом моего блока, и вызовом Compilator.exe pulse.p PRU_PULSE.fb PRU0.prg получил PRU0.prg

    Мне, конечно, не нравится, что сейчас нет возможности пропустить шаги 2 и 3 с "секретным инструментом, обрабатывающим пустой файл".
    Более того, сама необходимость шага №2 + подписанный "договор о неразглашении" запрещают встраивать вызов "секретного инструмента" в Hardella IDE.

    Да, я агитирую всех, кому нужно 100кГц писать/звонить в ОВЕН и (прилично!) спрашивать "появился/изменился ли ответ на сообщение #196?".

    Но, при этом, чтобы создавать программы, мне нужно понимать как входы-выходы PRU соотносятся с регистрами. Будет ли это target файл или словесное описание -- не так важно.
    Последний раз редактировалось Владимир Ситников; 21.09.2016 в 17:43.

  7. #7

    По умолчанию

    Можно, конечно, о такого типа PRU программирования помечтать pru_fbd.png

    Но:
    1) Сначала я хотел бы хоть несколько реальных программ увидеть, чтобы понять какие по сути функции требуются от PRU
    Переводя с русского на русский, сначала ШД с разгоном, а потом уже FBD и т.п.

    2) Кучу времени потратили на выяснение "можно ли из Hardella генерировать PRU0.prg и PRU1.prg". Это прямо реально вопрос тысячелетия. Сначала заставляют договор о неразглашении подписывать, а потом удивление, что я его добросовестно соблюдаю.

    3) Пока неясно ясно как на FBD скрещивать "два блока ШД, которые разгоняют каждый свой выход, и каждый хочет разный интервал цикла".
    Простой вариант, конечно, просто сделать фиксированную гранулярность цикла с делителями
    Что-нибудь в духе "PRU цикл по 1мкс". Но на частотах 100кГц гранулярность "каждую микросекунду" может быть маловато.

    4) Очень может оказаться, что ШД это единственное для чего нужен PRU. Ну, возможно, что-нибудь с энкодерами будет. Для ШД, как уже было видно, достаточно просто сделать PRU0.prg и соответствующую библиотеку. Народ будет просто заливать PRU0.prg и всего делов. Т.е. блок ШД как блок никому не нужен. Нужна законченная программа.

    Кстати, тут вопрос про обновление прошивки самого ПЛК.
    Если я правильно понимаю, то мою PRU программу (ШД) можно встроить в прошивку ПЛК, и прямо в КДС конфигураторе вместо fast output выбирать "stepper motor". Ну, по крайней мере, наверняка технически есть такая возможность, и вопрос переходит в организационную плоскость.
    Последний раз редактировалось Владимир Ситников; 21.09.2016 в 16:53.

  8. #8

    По умолчанию

    Цитата Сообщение от vladimirisitnikov Посмотреть сообщение
    4) Очень может оказаться, что ШД это единственное для чего нужен PRU. Ну, возможно, что-нибудь с энкодерами будет. Для ШД, как уже было видно, достаточно просто сделать PRU0.prg и соответствующую библиотеку. Народ будет просто заливать PRU0.prg и всего делов. Т.е. блок ШД как блок никому не нужен. Нужна законченная программа.
    Можно еще ФБ BLINK сделать. Штатный более 500 Гц не выдает.

    Что там программисты "ОВЕН" говорят о дальнейших перспективах ?

    ФБ для обработки сигналов энкодера то же надо сделать. На форуме кто-то выкладывал отлаженный код на ST, вызываемой по таймеру 20 мкс.

    Переживать не надо, работа по написанию ФБ для PRU найдется. Надо программистов "ОВЕН" расшевелить. Пусть дадут добро на разработку нормальной среды для написания ФБ для PRU.
    Последний раз редактировалось Newcomer; 21.09.2016 в 19:01.

  9. #9

    По умолчанию

    Цитата Сообщение от Newcomer Посмотреть сообщение
    Можно еще ФБ BLINK сделать. Штатный более 500 Гц не выдает.
    Чем не подходит штатный PWM режим для быстрых выходов?

  10. #10

    По умолчанию

    Цитата Сообщение от vladimirisitnikov Посмотреть сообщение
    Чем не подходит штатный PWM режим для быстрых выходов?
    Там на выходе меандр, а у BLINK можно отдельно задавать длительность импульса и паузы.

Страница 12 из 57 ПерваяПервая ... 2101112131422 ... ПоследняяПоследняя

Похожие темы

  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

Ваши права

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