Страница 38 из 66 ПерваяПервая ... 28363738394048 ... ПоследняяПоследняя
Показано с 371 по 380 из 658

Тема: Функциональные блоки на языке ST

  1. #371
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    1,596

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    Допустим программа дошла до этого места:
    А = 10, а сам блок хранит 20, что должно произойти?
    обычный блок
    Код:
    function_block functionblock1 //имя функционального блока.
    
        var_input //объявление входных переменных
           A : udint; //входная переменная
        end_var
    
        var_output //объявление выходных переменных
           Q : udint; //выходная переменная с типом данных udint
        end_var
    
        Q := A + 1;
    
    end_function_block
    блок с входной/выходной переменной
    Код:
    function_block functionblock1 //имя функционального блока.
    
        var_in_out //объявление переменных входа/выхода
           A : udint; //входная переменная
        end_var
    
        A := A + 1;
    
    end_function_block
    по работе они одинаковые
    3.png

    вот, еще из справки
    4.png
    Последний раз редактировалось Dimensy; 03.02.2024 в 10:54.

  2. #372

    По умолчанию

    Здесь пример программ на ST в среде Codesys 2.3 и в Лоджике, где использована переменная VAR_IN_OUT
    https://owen.ru/forum/showthread.php?t=38453&page=10#93

    При переделке для Лоджика, переменная It подаётся на вход Y_ : REAL; (ФБ INTEGR:INTEGRATE; ) , рассчитывается в ФБ, подаётся на выход Y: REAL; и в следующем цикле попадает на вход ФБ, всё работает, как в Codesys 2.3
    Код:
    INTEGR(RES:=b1,
                ET:=ET,  Y_:=It,
                X:= ABS(diff)-zone,           
                K:=1.0/60,      (* /60 - привязка к минутам*)     
                hour:=hour,min:=min,sec:=sec
                Y=>It);
    Последний раз редактировалось kondor3000; 03.02.2024 в 11:39.

  3. #373

    По умолчанию

    Так вот не понятно, какое принципиальное значение имеет var_in_out?
    Только совпадение входного имени параметра с выходным? И всё?

  4. #374

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    Так вот не понятно, какое принципиальное значение имеет var_in_out?
    Только совпадение входного имени параметра с выходным? И всё?
    Одна и та же внешняя переменная It, влияет и на вход Y , расчёт Y и выход одной и той же переменной Y
    Последний раз редактировалось kondor3000; 03.02.2024 в 11:27.

  5. #375

    По умолчанию

    Т.е. только для того, чтобы укоротить запись?
    Вместо:
    Код:
      B := fb1(inB:=B).outB;
    написать
    Код:
      fb1(B:=B); //Где B передается по ссылке (и блок fb1 может сделать туда запись)
    чтобы не дорисовывать правую часть?
    Owen1.jpg

    это для простых переменных то?

    Вот тут интересная тема https://owen.ru/forum/showthread.php...8%E5+OwenLogic
    Последний раз редактировалось EFrol; 03.02.2024 в 11:59.

  6. #376

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    Т.е. только для того, чтобы укоротить запись
    это для простых переменных то?
    Это ведь частный случай использования, для понимания работы, на VAR_IN_OUT можно подать целую структуру, с десятками входов-выходов, и там выгода применения намного круче, но это не про Лоджик уже.

  7. #377

    По умолчанию

    Добрый день, надеюсь, тут удобно спросить: почему не реализуете в функциях/ФБ на ST возможность использования уже существующих в программе переменных? Это бы конечно ухудшило очевидность изменения переменных в онлайн или симуляции, но добавило бы гибкости и мощи коду. А об неочевидных переменных можно было бы делать предупреждение.

  8. #378

    По умолчанию

    Цитата Сообщение от mmmx Посмотреть сообщение
    Добрый день, надеюсь, тут удобно спросить: почему не реализуете в функциях/ФБ на ST возможность использования уже существующих в программе переменных? Это бы конечно ухудшило очевидность изменения переменных в онлайн или симуляции, но добавило бы гибкости и мощи коду. А об неочевидных переменных можно было бы делать предупреждение.
    Думаю потому, что это ПО они пишут сами, на Visual Studio или ещё на чем. Учесть все возможности стандарта и языка программирования очень тяжело. Стараются как могут но не без критических косяков.

  9. #379

    По умолчанию

    Цитата Сообщение от mmmx Посмотреть сообщение
    Добрый день, надеюсь, тут удобно спросить: почему не реализуете в функциях/ФБ на ST возможность использования уже существующих в программе переменных? Это бы конечно ухудшило очевидность изменения переменных в онлайн или симуляции, но добавило бы гибкости и мощи коду. А об неочевидных переменных можно было бы делать предупреждение.
    Это называется глобальные переменные, возможно их введут в будущем. На данный момент и так косяков полно, ждём исправления.

  10. #380

    По умолчанию

    Всем добрый день, нужна помощь.
    Задача кода вот в чем, имеются 9 ванн и две корзины которые по ним перемещаются, нужен вывод номера ванны.
    проблема в том, что минимальное значение всегда 0, многими способами пытался решить проблему, надеюсь на помощь более опытных специалистов.
    Заранее спасибо.
    2024-02-09_09-51-10.png2024-02-09_09-54-21.png2024-02-09_09-57-35.png2024-02-09_09-58-55.png

Страница 38 из 66 ПерваяПервая ... 28363738394048 ... ПоследняяПоследняя

Похожие темы

  1. ПЛК73 (Функциональные кнопки)
    от necro в разделе ПЛК63/73
    Ответов: 8
    Последнее сообщение: 18.05.2022, 10:03
  2. Функциональные блоки
    от ribamuka в разделе СПК2xx (архив)
    Ответов: 4
    Последнее сообщение: 08.04.2018, 15:01
  3. Функциональные блоки насосов в CoDeSys
    от Алексей Ермолаев в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 28.03.2017, 13:50
  4. Функциональные блоки- где искать?
    от Xops в разделе ПЛК1хх
    Ответов: 16
    Последнее сообщение: 01.03.2016, 11:07
  5. СПК функциональные клавиши
    от Lyohin в разделе Трёп (Курилка)
    Ответов: 0
    Последнее сообщение: 30.03.2015, 15:10

Ваши права

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