Страница 36 из 36 ПерваяПервая ... 26343536
Показано с 351 по 357 из 357

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

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

    По умолчанию

    Цитата Сообщение от ВладОвен Посмотреть сообщение
    А вот так можно использовать функцию в 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 равны.

    Правильна ли такая конструкция?
    а не проще написать так myFunc := (a = b)

  2. #352

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    а не проще написать так myFunc := (a = b)
    ну это ж просто пример 2-х return
    Тролль-наседка, добрый, нежный и ласковый

  3. #353

    По умолчанию

    День добрый!
    А почему функцию на ST нельзя вставить в макрос ? Или надо какой то шаманский обряд совершить для этого ?
    Заранее благодарен.

  4. #354

    По умолчанию

    Цитата Сообщение от B.S.V Посмотреть сообщение
    День добрый!
    А почему функцию на ST нельзя вставить в макрос ? Или надо какой то шаманский обряд совершить для этого ?
    Заранее благодарен.
    На данном этапе так сделали, заведите выход функции как переменную на вход макроса и используйте.

  5. #355

    По умолчанию

    То есть надо выйти из макроса для использования функции и опять зайти в макрос... Прикольно...
    Понял, Благодарю за ответ.

  6. #356
    Пользователь
    Регистрация
    31.01.2019
    Адрес
    РФ/РБ
    Сообщений
    767

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    ну это ж просто пример 2-х return
    Так напишите лучший пример, ближе к реальным задачам.
    Зы. Прошу прощения, не вам мой ответ.
    В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик

  7. #357
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    1,805

    По умолчанию

    Нормальный пример с несколькими точками выхода

Страница 36 из 36 ПерваяПервая ... 26343536

Похожие темы

  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

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

Ваши права

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