7. Переменные проекта

В FBD дизайнере переменные используются для хранения информации, результатов вычислений в программе, помогают организовывать циклы, обеспечивают доступ к вашим данным внутри проекта. 

Переменные бывают нескольких типов:
  • Локальные переменные;
  • Локальные переменные с сохранением в ПЗУ контроллера;
  • Сетевые переменные;
  • Сетевые переменные с сохранением в ПЗУ контроллера.
Так же, локальные переменные могут преобразовываться в константы.

В любую схему можно добавить локальные и сетевые переменные. Область видимости этих переменных ограничена текущей схемой. На рисунке показан внешний вид окна локальных переменных. В нижней части находится панель для управления и редактирования переменных.


Добавить переменную в схему можно двумя способами:

Способ 1.
На свободном участке сцены правой клавишей мыши вызываем контекстное меню и добавляем переменную.

Способ 2.
В панели управления переменными нажать кнопку Добавить переменную.

Не зависимо от выбранного способа, откроется редактор свойств переменной


В редакторе устанавливаются требуемые параметры переменной:
  • название;
  • тип данных;
  • перевести переменную в режим константы (все остальные флажки будут игнорированы);
  • значение по умолчанию;
  • доступность по modbus (права доступа, адрес);
  • сохранение в ПЗУ (адрес в ПЗУ).
Описание:
Название переменной – текстовый идентификатор переменной, который отображается на схеме в блоках чтения и записей переменных. Рекомендуется использовать в именах  латинские символы.
Тип данных – тип данных переменной. Выбирается из следующего списка:
  • Логический;
  • Беззнаковый целый 1-байт;
  • Беззнаковый целый 2-байт;
  • Беззнаковый целый 4-байт;
  • Знаковый целый 1-байт;
  • Знаковый целый 2-байт;
  • Знаковый целый 4-байт;
  • Дробный 4-байт.
Константа – этот флаг означает, что переменная является константой.
По умолчанию – начальное значение переменной (а так же инициализация ПЗУ контроллера, если отмечен флаг Сохранение в ПЗУ)
Modbus – настройка параметров Modbus. Если установлен флаг, то переменная будет доступна по протоколу Modbus, в случае если контроллер настроен на работу в режиме подчиненного.
Тип доступа и адрес регистра, по которому доступна переменная, устанавливаются соответствующими настройками.
Сохранение в ПЗУ – этот флаг указывает, что переменная должна сохранять свое значение в ПЗУ и восстанавливать его после включения контроллера. Адрес ячейки ПЗУ, по которому сохраняется переменная, устанавливаются соответствующими настройками.
* * *
Переменные можно фильтровать по заданному параметру. 
Для установки фильтра выделить необходимую ячейку таблицы, и нажать на кнопку Фильтр
К таблице будет применен фильтр с текущим значением, которое было в выделенной ячейке. Например, если выбрать ячейку таблицы Modbus, в которой стоит отмеченный флажок, то при фильтрации будут отображаться только те переменные, у которых  стоит флаг доступа по Modbus.

ФИЛЬТР МОЖЕТ ИСПОЛЬЗОВАТЬСЯ МНОГОКРАТНО (С НАЛОЖЕНИЕМ)

Для удаления фильтров нажать кнопку Удалить фильтр.

Для удаления переменной используется кнопка delete на клавиатуре или пиктограмма Удалить.

* * *
FBD дизайнер предоставляет возможность задавать адреса modbus вручную или автоматически.

Для авто нумерации адреса modbus нажать на кнопку Автонумерация Modbus.

Появится окно в котором нужно указать стартовый адрес регистров modbus.

* * *
Аналогичным образом происходит нумерация ПЗУ.
Для авто нумерации адреса в ПЗУ нажать на кнопку Автонумерация ПЗУ.
Появится окно в котором нужно указать стартовый адрес регистров ПЗУ.
При ручном назначении адресов ПЗУ для переменных типа BOOL (Логический) можно указывать адрес внутри байта. Таким образом, при ручном назначении адресов, в один байт можно сохранять до 8 переменных типа BOOL. Это значительно экономит ресурсы контроллера.


АВТОНУМЕРАЦИЯ АДРЕСОВ ПЗУ И MODBUS АВТОМАТИЧЕСКИ ПРОИЗВОДИТСЯ С УЧЕТОМ РАЗМЕРА ДАННЫХ ПЕРЕМЕННЫХ.
При автонумерации ПЗУ значение типа BOOL занимает полный байт.
* * *
Для использования переменной в проекте нужно на схеме поместить блок работы с переменной. Для этого перетащите нужную переменную левой кнопкой мыши в окно схемы.
Одну и ту же переменную можно многократно использовать в проекте.

* * * 
Свойства переменных.
По умолчанию создается блок Чтения переменной.



В любой момент можно изменить привязку блока на другую переменную, выбрав нужную из списка в редакторе свойств (вызывается F2).


Также, в редакторе свойств можно задать тип блока переменной.

Существует четыре вида блоков переменной:

  • Чтение – значение переменной считывается;
  • Запись – значение, поданное на вход блока, записывается в переменную;
  • Условная запись - значение, поданное на вход блока, записывается в переменную, если на входе en установлена лог.1;
  • Запись Modbus – используется для управления записью пременной мастером (подробное описание см. в разделе Работа с сетью

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