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

Тема: Создание энергонезависемых переменных (шаблон)

  1. #1

    По умолчанию Создание энергонезависемых переменных (шаблон)

    Подскажите, необходимо так же иметь переменные (уставки) которые записываются в энергонезависемую память. Данные переменные являются входами ФБ.
    Сделал следующее:
    - создал POU (ST) описал функциональный блок (входы, выходы, переменные), выполняемую программу.
    - создал список GVL , описал переменные которые я хочу хранить в энергонезависемой памяти (RETAIN).
    - связал PLC_PRG и POU

    Все работает нормально. Но возникает вопрос, если у меня таких ФБ может быть 10 - 20 или больше, мне необходимо бдет описывать каждый раз в GVL переменные которые я хочу хранить в энергонезависемой памяти и добавлять отличительный индекс ? (например HH_TIR1, HH_TIR2 и т.д.)

    Возможно ли мммм это сделать как и с POU (где я описал входы и выходы). То есть создать шаблон ФБ, в котором кроме временных переменных будут описаны Энерегонезависемые.
    А потом при добавлении элемента в PLC_PRG создавать экземпляр POU ФБ (например А1, А2, А3 и т.д.) и вот появились энергонезависемые переменные к которым можно обращаться A1.HH_TIR1 и т.д.

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

    По умолчанию

    Такой вариант возможен, но имеет недостаток - если в ФБ есть хотя бы одна RETAIN-переменная, то каждый экземпляр блока помещается в RETAIN область.
    RETAIN-память (который, например, на СПК207/1xx не очень много) в этом случае может быть израсходована крайне быстро.

  3. #3

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Такой вариант возможен, но имеет недостаток - если в ФБ есть хотя бы одна RETAIN-переменная, то каждый экземпляр блока помещается в RETAIN область.
    RETAIN-память (который, например, на СПК207/1xx не очень много) в этом случае может быть израсходована крайне быстро.
    А как поступить ? Неужели все в глобальные переменные ? (но глобальные переменные) и описывать все отдельно ? Как поступаете Вы ?

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

    По умолчанию

    RETAIN-переменные можно объявить и в PLC_PRG.
    В вашем случае можно создать массив:

    Код:
    VAR RETAIN
       arHhTir: ARRAY [1..20] OF REAL;
    END_VAR
    И в коде обращаться к его элементам:

    Код:
       arHhTir[1] := 11.22;
    Памяти это не сэкономит, но будет удобнее.

  5. #5

    По умолчанию

    Добрый день..имеем тип данных как структура из множества Bool, Int, Real, в программе переменные этого типа...необходимо сделать retain в каждой такой переменной два поля..один Bool, другой Int. Возможно и как правильно оформить.

  6. #6

Похожие темы

  1. Ответов: 13
    Последнее сообщение: 10.02.2019, 20:05
  2. Ответов: 3
    Последнее сообщение: 30.03.2017, 17:34
  3. Создание своего ФБ
    от Александр N в разделе Master SCADA 3
    Ответов: 11
    Последнее сообщение: 13.11.2016, 20:43
  4. Создание алгоритма 12 для САТ-МП-Щ1
    от Ivan1 в разделе Программируемые реле
    Ответов: 1
    Последнее сообщение: 22.01.2014, 14:37
  5. Создание документации
    от АлексPetr в разделе Трёп (Курилка)
    Ответов: 11
    Последнее сообщение: 20.02.2011, 10:32

Ваши права

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