Страница 35 из 36 ПерваяПервая ... 2533343536 ПоследняяПоследняя
Показано с 341 по 350 из 352

Тема: Создать функцию на ST

  1. #341

    По умолчанию

    Прикольно, я и не подозревал что есть такой сайт как WolframAlpha, а Вы похоже не знали про фичу экселя.
    Пробовал на этом сайте найти как составить запрос на подбор функции по таблице, сразу не осилил, потом поленился, т.е. не смог.
    А ваш файл ссылку на моём компе не генерит.
    Изображения Изображения
    • Тип файла: png 1.PNG (16.6 Кб, Просмотров: 49)

  2. #342

    По умолчанию

    Файл подправил для Excel, теперь работает
    Вложения Вложения

  3. #343

    По умолчанию

    Здравствуйте. Как добавит второй выход для функции, как это записать? С входными ясно.

    function Out_1: bool;
    var_input //объявление входных переменных
    in_1: udnt;
    in_2: real;
    end_var

    var //

    end_var

    end_function

  4. #344
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    8,219

    По умолчанию

    X200881 это функции, а не блоки, выход может быть только один.

  5. #345
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,208

    По умолчанию

    Цитата Сообщение от X200881 Посмотреть сообщение
    Здравствуйте. Как добавит второй выход для функции, как это записать? С входными ясно.

    function Out_1: bool;
    var_input //объявление входных переменных
    in_1: udnt;
    in_2: real;
    end_var

    var //

    end_var

    end_function
    Функция!!
    Выходом является значение самой функции, о каком втором выходе у функции можно рассуждать?
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков

  6. #346

    По умолчанию

    У функций 2-х выходов не бывает. Можно передавать несколько значений либо запаковывая их в выходное значение, либо через глобальные переменные. В некоторых языках есть ещё указатели, но не с МЭК ST.
    Тролль-наседка, добрый, нежный и ласковый

  7. #347

    По умолчанию

    Ну 2 функции в одной? На IL функции все делается.

  8. #348

    По умолчанию

    Цитата Сообщение от X200881 Посмотреть сообщение
    Ну 2 функции в одной? На IL функции все делается.
    Нужно два и больше выходов, используйте макрос. В лоджике макросы на ST ещё не ввели.
    Две функции можно сделать, результат одной использовать в другой, но выход должен быть один.
    Последний раз редактировалось kondor3000; 29.04.2022 в 15:28.

  9. #349

    По умолчанию

    А вот так можно использовать функцию в ST?
    Тут применены два оператора return внутри условия if.

    Код:
    FUNCTION myFunc: BOOL
    
    VAR
        a, b : INT;
    END_VAR
    
    ...
    ... Некие вычисления а и b
    ...
    
    IF a > b THEN myFunc:=FALSE; RETURN; END_IF
    IF a < b THEN myFunc:=FALSE; RETURN; END_IF
    
    myFunc:=TRUE; // Если условия не сработали, то возвращает TRUE
    
    (конец функции. Тут автоматический выход из неё)
    Эта функция возвращает false, если a и b неравны.
    Она возвращает true, если a и b равны.

    Правильна ли такая конструкция?
    Последний раз редактировалось ВладОвен; 02.06.2022 в 09:49.

  10. #350

    По умолчанию

    Цитата Сообщение от ВладОвен Посмотреть сообщение
    А вот так можно использовать функцию в ST?
    Тут применены два оператора return внутри условия if.

    Код:
    FUNCTION myFunc: BOOL
    
    VAR
        a, b : INT;
    END_VAR
    
    ...
    ... Некие вычисления а и b
    ...
    
    IF a > b THEN myFunc:=FALSE; RETURN; END_IF
    IF a < b THEN myFunc:=FALSE; RETURN; END_IF
    
    myFunc:=TRUE; // Если условия не сработали, то возвращает TRUE
    
    (конец функции. Тут автоматический выход из неё)
    Эта функция возвращает false, если a и b неравны.
    Она возвращает true, если a и b равны.

    Правильна ли такая конструкция?
    Да, вполне обычное применение, на 2-х return можно и не останавливатся.
    Тролль-наседка, добрый, нежный и ласковый

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

Похожие темы

  1. Ответов: 6
    Последнее сообщение: 22.12.2021, 10:50
  2. Ответов: 3
    Последнее сообщение: 13.09.2021, 13:31
  3. Ответов: 1
    Последнее сообщение: 22.12.2018, 12:00
  4. ПЛК160. Чем заменить функцию записи 0x05?
    от FallenDAY в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 26.08.2017, 13:19
  5. Как написать собственную функцию wait()
    от PavelKazakov в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 23.07.2009, 12:37

Метки этой темы

Ваши права

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