Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 19

Тема: язык St

  1. #1
    Пользователь
    Регистрация
    18.03.2007
    Адрес
    г. Краснодар
    Сообщений
    233

    По умолчанию язык St

    Существует ли возможность делать определения в ST как в C типа define?
    Пример:
    define x 100
    define y 200
    define z (x*y)

  2. #2

    По умолчанию

    только Var_constant

  3. #3

    По умолчанию Goto

    Eсть ли в St аналог инструкции Goto (метка) ?

  4. #4

    По умолчанию

    Нет такой инструкции

  5. #5

    По умолчанию Вызов FB из ST

    по синтаксису вызов FB(Par1:=val1,...);
    способ FB.Par1:=val1 и т.д. компилятором проглатывается, но FB не работает, хотя присвоение происходит.
    а если массив FB? Например ArrayFB[index].Par1:=val1 не работает FB,
    а ArrayFB[index](Par1:=val1) не компилируется.
    Можно ли как-то это обойти? (без замены программиста )
    у меня получается куча FB в разных POU, и каждый выдает свой флаг,в глобальном массиве. Чтобы централизованно анализировать и сбрасывать флаги, хотел сделать типа регистра - массив из RS.
    Вообще то одно решение есть, после установки параметров вызывать в цикле Array[i](). В тестах работает, но чет сомнения... Есть еще способы?

  6. #6

    По умолчанию

    не путаем вызов экземпляра функционального блока (ФБ) и обращение к параметрам ФБ.

    FB.Par1 := val1 - это присвоение значения параметру ФБ но не его вызов
    FB() - это вызов ФБ без присвоения значений параметрам
    FB(Par1 := val1) - вызов ФБ с присвоением параметров.
    Тоже самое с массивом ФБ-ков.
    Я решаю эту проблему тем что сначало делаю присвоение всех параметров а потом вызов ФБ (отдельно).

  7. #7

    По умолчанию

    Да, кстати, есть ли возможность использовать номера строк, или специально заданные номера шагов для того, чтобы можно было обращаться к ним при выполнении инструкции IF {условие} TNEN {переход на нужную строку или шаг}?

  8. #8

    По умолчанию

    Цитата Сообщение от Валера Храмцов Посмотреть сообщение
    Да, кстати, есть ли возможность использовать номера строк, или специально заданные номера шагов для того, чтобы можно было обращаться к ним при выполнении инструкции IF {условие} TNEN {переход на нужную строку или шаг}?
    такая возможность не предусмотрена. Используйте обращения к фб или функциям, содержащим нужные после перехода куски кода.

  9. #9

    По умолчанию

    Спасибо. Все-таки не очень продуманы языки стандарта МЭК, особенно ST. Если они брали за основу Pascal, то там это предусмотрено.

  10. #10

    По умолчанию

    Цитата Сообщение от Валера Храмцов Посмотреть сообщение
    Спасибо. Все-таки не очень продуманы языки стандарта МЭК, особенно ST. Если они брали за основу Pascal, то там это предусмотрено.
    вопрос лишь в том, кто к чему привык.

Страница 1 из 2 12 ПоследняяПоследняя

Ваши права

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