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

Тема: Функциональные блоки

  1. #1

    По умолчанию Функциональные блоки

    Не могу понять логику работы.

    В PLC_PRG вставлен код:

    fb_COMcontrol
    (
    xOpen := xOpen,
    xClose := xClose,
    uiPortNumber := 2,
    udiBaudrate := 9600,
    uiParity := COM.PARITY.NONE,
    uiByteSize := 8,
    uiStopBits := COM.STOPBIT.ONESTOPBIT
    );


    Этот код вызывается при каждом цикле ПЛК, в моем поимании создается всегда новый экземпляр ФБ, который не должен помнить предыдущего состояния. Но по факту, получается, что это не так, и все переменные которые были внтури ФБ сохраняют свое состояние, как можно объяснить такое поведение?

  2. #2
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,064

    По умолчанию

    Вы путаете логику работы функции и функционального блока.
    Функция не сохраняет значения внутренних переменных между вызовами, ФБ - сохраняет. Каждый вызов ФБ не приводит к созданию нового экземпляра (если под созданием подразумевать выделение памяти).

    Рекомендую классическую книгу - Петров И.В., "Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования" - там очень хорошо разъяснены подобные вещи.

  3. #3
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,224

    По умолчанию

    Вы перепутали языки программирования для ПК и контроллеров
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  4. #4

    По умолчанию

    Спасибо за информацию и книгу

  5. #5

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Вы путаете логику работы функции и функционального блока.
    Функция не сохраняет значения внутренних переменных между вызовами, ФБ - сохраняет. Каждый вызов ФБ не приводит к созданию нового экземпляра (если под созданием подразумевать выделение памяти).

    Рекомендую классическую книгу - Петров И.В., "Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования" - там очень хорошо разъяснены подобные вещи.
    Спасибо! Только хотел форум вопросами засыпать, а тут бац! В книге все ответы нашел

Похожие темы

  1. ПЛК73 (Функциональные кнопки)
    от necro в разделе ПЛК63/73
    Ответов: 8
    Последнее сообщение: 18.05.2022, 10:03
  2. Функциональные блоки насосов в CoDeSys
    от Алексей Ермолаев в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 28.03.2017, 13:50
  3. Функциональные блоки- где искать?
    от Xops в разделе ПЛК1хх
    Ответов: 16
    Последнее сообщение: 01.03.2016, 11:07
  4. СПК функциональные клавиши
    от Lyohin в разделе Трёп (Курилка)
    Ответов: 0
    Последнее сообщение: 30.03.2015, 15:10

Ваши права

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