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

Тема: Запись и чтение значения переменной

  1. #1

    По умолчанию Запись и чтение значения переменной

    Добрый день. Возникла трудность в написание программы. Мне необходимо в начале сохранить значение переменной типа REAL, а затем ее считать в другом куске программы. Данный цикл записи/чтения повторяющейся, т.е. значение переменной должно перезаписываться. В codesys я новичок, поэтому хотелось бы совета как это правильно реализовать?

  2. #2

    По умолчанию

    Добрый день!
    Если я правильно понял задачу, то правильно бы было поступить следующим образом:
    выделить 2 программы (или функциональных блока).
    Для программы, которая будет изменять значение переменную типа REAL сделать выходной переменной (VAR_OUTPUT),
    Image 8.png

    В теле этой программы напишите логику, которая будет изменять значение переменной.

    а для программы, которая будет читать значение переменной сделать ее входной (VAR_INPUT).
    Image 9.png


    В главной программе передать значение с выхода программы №1 на вход программы №2.

    Особенности реализации зависят от языка, на котором Вы будете писать главную программу.
    Например на CFC это будет выглядеть так:

    Image 11.png
    А на ST так:
    Image 10.png

  3. #3

    По умолчанию

    Добрый день. Пишу программу управления задвижкой по 4-20mA, по программе при переходе из автоматического режима управления в ручной мне необходимо записать выходное текущее значение с ПИД регулятора и затем передать его в ФБ ручного управления задвижкой для безударного перехода из автоматического в ручной режимы. Т.е. допустим на выходе ПИД регулятора текущее значение 20, мне его необходимо с начало записать, а затем передать в переменную ФБ ручного управления. Хотел для этих целей использовать библиотеку Syslibfile. Но возможно есть другой способ реализации данной задачи?

  4. #4

    По умолчанию

    Какой язык Вы используете при разработке?
    CFC?
    Я подготовлю пример.

  5. #5

    По умолчанию

    Можно FBD, CFC. Спасибо.

  6. #6

    По умолчанию

    Цитата Сообщение от kastor163 Посмотреть сообщение
    Можно FBD, CFC. Спасибо.
    В приложении к сообщению Вы найдете пример.

    Скриншот визуализации.
    При активации ручного режима появляется возможность нажимать кнопки "Открывать" и "Закрывать".
    Image 17.png

    При этом происходит безударный переход из режима в режим.

    Положение клапана передается из блока в блок благодаря тому, что в блоках она объявлена как VAR_IN_OUT в подпрограммах управления клапаном.

    Image 21.png

    В редакторе CFC такие переменные выделяются стрелками.

    Image 15.png


    При этом в самой программе выполняется только блок ручного режима, когда активен ручной режим.
    Когда ручной режим не активен - выполняется блок автоматического режима.

    Достигается это за счет командного входа EN (когда на EN подается TRUE блок выполняется, когда FALSE - не выполняется).

    Добавить командный вход можно для любого блока:

    Image 16.png


    Если у Вас еще остались вопросы - обращайтесь, я помогу.
    Вложения Вложения

Похожие темы

  1. ПР200 переход по изменению значения переменной
    от Orbes в разделе Среда программирования OWEN Logic
    Ответов: 2
    Последнее сообщение: 10.02.2017, 13:37
  2. Сброс значения редактируемой переменной
    от Urik777 в разделе Среда программирования OWEN Logic
    Ответов: 1
    Последнее сообщение: 10.03.2016, 23:30
  3. Запись OPC переменной
    от ALEXSP в разделе Master SCADA 3
    Ответов: 3
    Последнее сообщение: 04.12.2015, 15:32
  4. Ответов: 5
    Последнее сообщение: 09.09.2015, 12:39
  5. Ответов: 15
    Последнее сообщение: 05.06.2015, 15:04

Ваши права

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