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

Тема: язык St

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

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

    Добрый день.
    подскажите пожалуйста есть ли в языке St оператор перехода на метку?
    если нет каким образом можно организовать переход?
    заранее спасибо.

  2. #2

    По умолчанию

    Посмотри в помощи на кодесис про это:
    1) If … then … else…end_if
    2) Case ….. of ….. else …. end_case
    на мой взгляд этого вполне достаточно
    P. S. удачи :-)

  3. #3
    Пользователь
    Регистрация
    29.11.2007
    Адрес
    Ставрополь
    Сообщений
    56

    По умолчанию

    врят ли поможет.
    мне нужно перейти в конец программы, попутно проверить несколько условий и, возможно, перейти ещй куда нибудь внутри программы.

  4. #4
    Пользователь
    Регистрация
    29.11.2007
    Адрес
    Ставрополь
    Сообщений
    56

    По умолчанию

    Цитата Сообщение от Gans Посмотреть сообщение
    Посмотри в помощи на кодесис про это:
    1) If … then … else…end_if
    2) Case ….. of ….. else …. end_case
    на мой взгляд этого вполне достаточно
    P. S. удачи :-)
    Такая конструкция не подойдет. Уже думал. У меня слишком разветвленный алгоритм.
    Все же есть инструкция перехода к метке (одна а не комбинация)?
    Помогите пожалуйста.

  5. #5

    По умолчанию

    Идеология не предусматривает использование GOTO-подобного стиля. Разбейте свой алгоритм на маленькие функции и вызывайте их в SFC или его аналоге на ST (case) по состояниям. Любой сложности алгоритм получается удобочитаемым и понятным (особенно через год-другой )

  6. #6

    Smile разветвленный алгоритм

    Ну примерно так
    1) выход из любого места на начало - return
    2) в начале ставим case переменная_состояния
    3) Внути case другие case не ставьте - глючит. Код разбиваем на POU и не стараемся написать листинг на 50 страниц.
    Я думаю это поможет

  7. #7
    Пользователь
    Регистрация
    29.11.2007
    Адрес
    Ставрополь
    Сообщений
    56

    По умолчанию

    Цитата Сообщение от Малышев Олег Посмотреть сообщение
    Ну примерно так
    1) выход из любого места на начало - return
    2) в начале ставим case переменная_состояния
    3) Внути case другие case не ставьте - глючит. Код разбиваем на POU и не стараемся написать листинг на 50 страниц.
    Я думаю это поможет
    Корректно ли будет так: вызов другой подпрограммы из вызывнной ранее. Может ли подпрограмма не содержать оператор RETURN, а переходить на другой POU?

  8. #8

    По умолчанию

    вполне может, но возвращаться будтет в след после вызова строку.
    И снова - меня еще на первом курсе хорошие люди отучили от goto. Даже доказывал теорему, что используя if, и while можно организовать любой алгоритм.
    Ценой глючной программы на контроолере может стать разморозка жилого здания или поломанный станок... или... Вам этого надо?
    Четкое понимание того, что делается в программе залог отсутствия глюков.

  9. #9

    По умолчанию

    если у вас такой сложный алгоритм работы то для начала «plc_prg» хорошо бы было сделать на «sfc» (что-то похожее на блок схему) там всю свою программу разобьёте на куски и правильно уложите в шаги Sfc-программы это заметно упростит алгоритм. внутренности шагов тоже можно сделать Sfc языком программирования. и в финале когда упрощать таким образом не получается начинаем всю программу разбивать на функции, функциональные блоки и просто программы. затем все повторяющиеся куски программы оформляем отдельными компонентами. и только после этого садится писать саму программу и последовательность выполнения тех или иных действий.
    P. S. мне аналогичный подход очень помогает :-)

  10. #10
    Пользователь
    Регистрация
    29.11.2007
    Адрес
    Ставрополь
    Сообщений
    56

    По умолчанию

    Цитата Сообщение от Gans Посмотреть сообщение
    если у вас такой сложный алгоритм работы то для начала «plc_prg» хорошо бы было сделать на «sfc» (что-то похожее на блок схему) там всю свою программу разобьёте на куски и правильно уложите в шаги Sfc-программы это заметно упростит алгоритм. внутренности шагов тоже можно сделать Sfc языком программирования. и в финале когда упрощать таким образом не получается начинаем всю программу разбивать на функции, функциональные блоки и просто программы. затем все повторяющиеся куски программы оформляем отдельными компонентами. и только после этого садится писать саму программу и последовательность выполнения тех или иных действий.
    P. S. мне аналогичный подход очень помогает :-)
    Ошромнейшее спасибо всем! Теперь себя не чувствую полным лохом.
    Пробую различные вариеанты сошласно Вашим советам.

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

Ваши права

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