Показано с 1 по 10 из 10

Тема: Процедуры в CoDeSys

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

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

    По умолчанию

    так же , как и функциональный блок...
    ps советую ,найдите в сети - "Солон - Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования.2004.djvu"
    все на много понятней станет.
    Изображения Изображения

  2. #2

    По умолчанию

    Цитата Сообщение от Jeck Посмотреть сообщение
    ,найдите в сети - "Солон - Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования..
    Большое спасибо!

  3. #3

    По умолчанию

    В CoDeSys (Точнее в МЭК 61131-3) специфическая терминология.
    Из 3 видов модулей (POU) только функция примерно соответствует этому понятию в других языках. И хотя формально должно возвращаться значение, но система не обязывает его использовать, так что можно использовать функции как процедуры.
    Программа (PRG) - что-то вроде процедуры, у нее могут быть параметры, но механизм их передачи другой - это общедоступные переменные, которым можно присвоить значения в любом месте, а не только при вызове (MyPrg.Arg:=5; .... MyPrg() вместо MyPrg(Arg:=5)) и они сохраняются.
    Наконец - функциональный блок (FB) - та же программа, но могущая быть разможенной в нескольких экземплярах (instances). У каждого экземпляра - свой набор переменных. Экземпляры FB надо описывать перед использованием, как переменные. Больше всего FB напоминает класс С++, но то, что CoDeSys называет параметрами, соответствует public переменным класса, а параметров в смысле С++ у методов (actions) FB, увы, нет.
    Последний раз редактировалось alex1963; 17.12.2008 в 21:15.

  4. #4

    По умолчанию

    Цитата Сообщение от alex1963 Посмотреть сообщение
    ...а параметров в смысле С++ у методов (actions) FB, увы, нет.
    Точнее небыло, пока не появился CoDeSys V3

  5. #5

    По умолчанию

    Цитата Сообщение от Jeck Посмотреть сообщение
    так же , как и функциональный блок...
    ps советую ,найдите в сети - "Солон - Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования.2004.djvu"
    все на много понятней станет.
    Еще раз спасибо за тнформацию, книга действительно поучительна.
    Но, или по неопытности, либо по тупости вопрос так и остался открытым:
    при вызове экземпляра ФБ код в блоке продолжает циклически выполняться, пока выходное условие не станет TRUE, (т.е. идет распаралеливание задач).
    А я спрашивал - возможно ли передать блоку (экземпляру ФБ либо программе) управление, и пока она не выполниться не выполнять последующие шаги основной программы.

Ваши права

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