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

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

Древовидный режим

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

    По умолчанию

    Цитата Сообщение от Дмитрий Артюховский Посмотреть сообщение
    Это не правда. Транслятор с фбд вполне себе разбирается с высвобождением и переиспользованием регистров.
    Вердикт: эксперимент показывает, что регистры _не_ переиспользуются. Тут всё ровно так, как и говорил Владислав.

    Дмитрий, я требую извинений.



    Вот пример: test_add.zip, pru_register_reuse.png

    Видно, что после того, как первые AND'ы отрабатывают, то регистры можно и переиспользовать для следующих AND'ов.

    Компилируем и видим такое (в конце):
    Код:
    #defFB PRU_AND2_64 PRU_AND2 
    R8.b2 
    R8.b3 
    R9.b0 
    
    #defFB PRU_AND2_59 PRU_AND2 
    R7.b1 
    R9.b0 
    R9.b1 
    
    #defFB PRU_AND2_65 PRU_AND2 
    R5.b2 
    R9.b1 
    R9.b2
    Видно, что номера регистров только растут. Т.е. регистры с меньшими номерами не переиспользуются.

    Пойдём в target.trg файл, и уменьшим значение REG_END=28 до 8-и. Ну, сделаем вид, что в нашем PRU всего-навсего 8 регистров.

    Что нам скажет компилятор?
    Он нам скажет "unknown ID 0 in element", и вообще не сможет скомпилировать такое FBD.

    Т.е. по факту, компилятору не хватило R2..R8 регистров (7 штук по 4 байта каждый, т.е. 28 байт!).
    А по факту, видно, что регистры для "AND" блоков очень быстро становятся ненужными.

    По факту, тут 4 "FROM_HOST" блока. Да, 16 байт действительно нужно постоянно хранить (информация с HOST'а обновляется далеко не в каждом PRU цикле). Но остаётся целых 12 байт == 28-16, и линкер всё равно не смог выполнить несколько AND'ов? Что за ерунда?

    Поэтому я и говорю, что мой подход и подход ОВЕН в части компиляции существенно отличаются.
    Ну это я к чему, не к тому, что "инструмент beta PRU плохой", а к тому, что это моя аргументация почему я не могу просто взять и оформить свою ШД программу "по правилам ОВЕН". Тут не только моё субъективное "не хочу тратить время", но и вполне конкретная техническая проблема.
    Последний раз редактировалось Владимир Ситников; 04.10.2016 в 16:15.

Похожие темы

  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

Ваши права

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