Страница 27 из 50 ПерваяПервая ... 17252627282937 ... ПоследняяПоследняя
Показано с 261 по 270 из 606

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

Комбинированный просмотр

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

    По умолчанию

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

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

    По умолчанию

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

  3. #3

    По умолчанию

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

  4. #4
    Пользователь
    Регистрация
    05.07.2015
    Адрес
    Орехово-Зуево
    Сообщений
    216

    По умолчанию

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

  5. #5

    По умолчанию

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

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

    По умолчанию

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

  7. #7
    Пользователь
    Регистрация
    05.07.2015
    Адрес
    Орехово-Зуево
    Сообщений
    216

    По умолчанию

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

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

    По умолчанию

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

  9. #9

    По умолчанию

    Добрый день, скажите, а ФБ когда можно будет писать в OL?? Или только функции и останутся?
    Канал по автоматизации
    https://t.me/you_engineer_asu

  10. #10
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,435

    По умолчанию

    Цитата Сообщение от Сема Посмотреть сообщение
    Добрый день, скажите, а ФБ когда можно будет писать в OL?? Или только функции и останутся?
    Так, вроде представители Овена уже писали что - никогда!
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

Страница 27 из 50 ПерваяПервая ... 17252627282937 ... ПоследняяПоследняя

Похожие темы

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

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

Ваши права

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