Страница 108 из 135 ПерваяПервая ... 85898106107108109110118 ... ПоследняяПоследняя
Показано с 1,071 по 1,080 из 1349

Тема: Hardella IDE

  1. #1071

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    А если переменная объявлена как WORD, то она займет полрегистра, а вторые полрегистра будут не использованы и пропадут зря ?

  2. #1072

    По умолчанию

    Цитата Сообщение от xapymam6ypoji Посмотреть сообщение
    При загрузке PRU0.prg в ПЛК 110 первые 4 входа ПЛК зависают в true. Есть ли возможность получить использования этих входов в обычном режиме, с учетом что PRU0.prg будет загружен?
    Если ключевой вопрос именно в части "в обычном режиме", то тут, к сожалению, только через ОВЕН. По крайней мере, мне не известно как "передавать данные в PLC Configuration".

    Сами же входы можно задействовать, если в PRU программе сделать конструкцию "@Export inputs: FAST_INPUTS"
    Т.е. просто объявить переменную inputs: FAST_INPUTS, добавить @Export, и уже пользоваться этим значением в основной программе (см, например, программу быстрого счётчика)

  3. #1073

    По умолчанию

    Цитата Сообщение от IVM Посмотреть сообщение
    А если переменная объявлена как WORD, то она займет полрегистра, а вторые полрегистра будут не использованы и пропадут зря ?
    Зря они не пропадут.

    В ошибке "нехватки регистров" на самом деле есть полная распечатка того, какие переменные и в каких регистрах хранились.
    Если вы скопируете в буфер обмена строку с ошибкой "RegAlloc", и вставите её, например, в блокнот, то увидите, что там довольно много текста.

  4. #1074

    По умолчанию

    Владимир, у PRU кроме регистровой памяти есть оперативная память (ОЗУ). Значит есть возможность сохранять регистровую память в ОЗУ. Это надо делать после отработки каждого ФБ, т.е. перед началом выполнения ФБ читаем ОЗУ в регистры, а после выполнения ФБ сохраняем регистры в ОЗУ. В этом случае будет возможность выполнять в программе PRU разные ФБ и не будет никакой каши в регистровой памяти. Каждый ФБ сможет использовать для своих нужд до 30 регистров. Время выполнения программы PRU увеличиться, зато можно будет писать более сложные программы.

    Еще лучше вместо ОЗУ использовать стековую память, если она имеется.
    Последний раз редактировалось IVM; 19.01.2018 в 14:18.

  5. #1075

    По умолчанию

    В ФБ PRU_STEPPER, который встроен в Hardella, переменный accel_rapmp и decel_ramp имеют формат WORD. Считаю, что эти переменные должны иметь формат DWORD. Бывают такие задачи когда за короткое время (например за 50 миллисекунд) надо сформировать пачку импульсов приличных размеров. В таких случаях ускорения и замедления должны иметь значения в сотни и миллионы единиц.
    Последний раз редактировалось IVM; 19.01.2018 в 15:53.

  6. #1076

    По умолчанию

    Добрый день! есть несколько вопросов по Hardella примеру с шаговым двигателем: 1. После записи файлов PRU0 и PRU1 не работают 4 первых дискретных входа ПЛК110-30(М02). Как можно это устранить? 2. Как удалить записанные файлы (PRU0 и PRU1) из ПЛК? По форуму лазил, в ПЛК браузере они не отображаются((. 3. Только разбираюсь с программами SteppersConfig_. Какой командой можно остановить ШД, не зависимо от quantity? то есть ШД еще не прошел заданный путь, а его нужно остановить. Заранее спасибо. Данную тему читал, но ответов на мои вопросы не нашел.

  7. #1077

    По умолчанию

    Цитата Сообщение от Дмитрий520 Посмотреть сообщение
    Добрый день! есть несколько вопросов по Hardella примеру с шаговым двигателем: 1. После записи файлов PRU0 и PRU1 не работают 4 первых дискретных входа ПЛК110-30(М02).
    Ответ был буквально на 4 сообщения выше:
    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Сами же входы можно задействовать, если в PRU программе сделать конструкцию "@Export inputs: FAST_INPUTS"
    Т.е. просто объявить переменную inputs: FAST_INPUTS, добавить @Export, и уже пользоваться этим значением в основной программе (см, например, программу быстрого счётчика)
    Овен не предоставляет средств, чтобы при заливке PRU0.prg можно было работать со входами через конфигурацию. Только через Hardella.

    Цитата Сообщение от Дмитрий520 Посмотреть сообщение
    2. Как удалить записанные файлы (PRU0 и PRU1) из ПЛК? По форуму лазил, в ПЛК браузере они не отображаются((
    plc browser, там набираем (без кавычек) "filedelete PRU0.prg", жмём enter. Как-то так

    Цитата Сообщение от Дмитрий520 Посмотреть сообщение
    3. Только разбираюсь с программами SteppersConfig_. Какой командой можно остановить ШД, не зависимо от quantity? то есть ШД еще не прошел заданный путь, а его нужно остановить. Заранее спасибо. Данную тему читал, но ответов на мои вопросы не нашел.
    Нужно передать enable:=FALSE.

  8. #1078

    По умолчанию

    Цитата Сообщение от IVM Посмотреть сообщение
    Владимир, у PRU кроме регистровой памяти есть оперативная память (ОЗУ). Значит есть возможность сохранять регистровую память в ОЗУ.
    Мыслите правильно.
    Я об этом же говорил:
    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    прохоже, стоит научить компилятор сохранять регистры в память.
    Скоро сделаю задействование ОЗУ, и с нехваткой регистров проблемы уйдут.

  9. #1079

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Скоро сделаю задействование ОЗУ, и с нехваткой регистров проблемы уйдут.
    Отличная новость. Ждемс.

    А стековая память у PRU есть ? Вот такая: https://studfiles.net/preview/4339738/page:16/). Очень удобно прятать в ней регистры.
    Последний раз редактировалось IVM; 21.01.2018 в 20:06.

  10. #1080

    По умолчанию

    Спасибо за ответ! с Информацией в #1083 ознакомился, но не понял как быть с DI3 и DI4 ПЛК, они не буду работать в обычном режиме? просто не совсем понимаю как Овен в этом сможет помочь... Спасибо за Hardella, просто мне ее еще нужно проработать.
    По вопросу 3. если enable:=FALSE, то шд не останавливается пока не выполнит заданное quantity или я что то не так делаю?

Страница 108 из 135 ПерваяПервая ... 85898106107108109110118 ... ПоследняяПоследняя

Ваши права

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