Переменные

Переменные служат для записи и считывания значений на схеме проекта и при программировании экранов.

Задействованные переменные

Переменная является задействованной, если выполняется хотя бы одно из следующих условий:

  • Общие условия для всех типов переменных:

    • имеет привязку к элементу визуализации;

    • имеет привязку к параметру прибора;

    • имеет привязку к физическим кнопкам;

    • используется в логических переходах между экранами;

    • для переменной на схеме присутствует выходной блок энергонезависимой переменной (Энергонезависимость = Вкл).

  • Дополнительные условия, для переменных типа массив:

    • Для массива с элементами булевского типа — при энергонезависимости "Выкл" на схеме присутствует выходной блок массива или элементов массива;

    • Для массива с элементами целочисленного и вещественного типа — при энергонезависимости "Выкл" на схеме присутствует входной блок массива или элементов массива.

Если ни одно из условий не выполняется, то такая переменная является незадействованной.

Незадействованные переменные:

  • не участвуют в логике программы;

  • не участвуют в симуляции программы;

  • не занимают память прибора.

Таблица переменных

Переменные проекта отображаются в Таблице переменных.

Для запуска Таблицы переменных нажмите кнопку Graphic на панели инструментов или выберите в главном меню Прибор → Таблица переменных.

Таблица переменных содержит Дерево каталогов переменных, а также вкладки:

Дерево каталогов переменных позволяет создавать разделы каталогов для размещения переменных. Для каждой категории переменных отображается своё дерево каталогов. Для стандартных и сетевых переменных возможно создавать дополнительные разделы каталогов (максимальная вложенность — 3). Каталоги сервисных переменных неизменяемые.

Рядом с названием каждого каталога в скобках указывается количество переменных в каталоге - с учётом переменных, находящихся во вложенных каталогах, либо без них, в зависимости от настройки "Отображение вложенных переменных".

Graphic
Дерево каталогов переменных
Graphic

Включить/выключить отображение вложенных переменных

  • Кнопка Graphic Включить отображение вложенных переменных — в скобках отображается общее количество переменных, находящихся в текущем каталоге и во всех его вложенных подкаталогах.

  • Кнопка Graphic — в скобках отображается количество переменных, находящихся непосредственно в выбранном каталоге, без учета вложенных подкаталогов.

По умолчанию отображение вложенных переменных включено.

Graphic

Раскрыть подкаталоги

Graphic

Свернуть подкаталоги

Graphic

Создать новый подкаталог.

Также создание подкаталога доступно через контекстное меню каталога.

Graphic

Дублировать каталог — выбранная папка продублируется в родительский каталог со всеми вложенными разделами и добавленными переменными.

Также копирование раздела доступно через контекстное меню каталога. Выберите Копировать, затем выберите каталог, в который необходимо добавить скопированный раздел, нажмите ПКМ и выберите Вставить

Примечание
Каталог для добавления информации должен быть на уровень выше копируемого.

Graphic

Удалить каталог.

Также удаление раздела каталога доступно через контекстное меню каталога.

Примечание
Раздел каталога, содержащий переменные, удалить невозможно.

Для перемещения раздела каталога нажмите и удерживайте клавишу Shift, и с помощью drag&drop переместите раздел на новое место.

Примечание
Перемещение разделов доступно только в пределах родительского каталога.

Для переименования раздела каталога введите новой имя в строке Наименование, расположенной в нижней части Дерева каталогов переменных.

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

Чтобы определить раздел каталога, в котором находится переменная, выделите переменную в таблице и нажмите Ctrl+H. Раздел, в котором находится переменная, в дереве каталогов выделится синим цветом, наименование раздела отобразится в строке снизу, в таблице переменных откроется тот раздел, где расположена переменная. Или наведите мышку на переменную — во всплывающем окне отобразится имя переменной и ее расположение.

Чтобы использовать переменную в проекте, сначала следует создать ее в таблице переменных.

Graphic
Таблица переменных

GraphicСоздать переменную
GraphicДублировать переменную
GraphicУдалить переменную
GraphicЭкспортировать стандартные переменные в CSV файл
GraphicИмпортировать стандартные переменные из CSV файла
GraphicРаскрыть все массивы
GraphicСвернуть все массивы

Для создания переменной нажмите кнопку Graphic в левой верхней части таблицы, или введите имя переменной в столбце “Имя переменной”. Задайте тип, заполните остальные параметры в зависимости от эксплуатационной потребности.

  • Имя переменной – имя для отображения переменной в проекте. При создании массива элементы массива автоматически получают имена, содержащие имя массива с добавлением индекса в квадратных скобках;

  • Тип переменной – может быть назначен один из трех типов: булевский, целочисленный, с плавающей запятой, массив. См. подробнее раздел Типы переменных;

    При выборе переменной типа массив, в появившемся окне Настройка массива введите:

    • Размер массива — количество элементов массива, не более 256. Значения, задаются в формате [х..y], где x - индекс первого элемента, y - последнего;

    • Тип элементов — тип элементов массива: булевский, целочисленный, с плавающей запятой.

      Graphic
      Окно Настройка массива

    Изменение размера, диапазона индексов и/или типа элементов массива возможно в любой момент.

  • Энергонезависимость — для сохранения значения переменной в ПЗУ прибора в случае отключения электропитания следует включить чекбокс в поле настройки. Время хранения переменной в ПЗУ зависит от типа прибора, см. руководство по эксплуатации прибора;

    Примечание
    Для приборов второго поколения, при включении в таблице переменных чекбокса Энергонезависимость, размещение значения переменной происходит:
    • в системное ЭСППЗУ — для стандартной переменной, привязанной к параметру прибора или к элементу визуализации. Для сетевой Slave переменной;

    • в ЭСППЗУ — для стандартной переменной, не привязанной к параметру прибора или к элементу визуализации.

  • Значение по умолчанию — значение, которое будет хранить переменная, пока в нее не будет записано новое значение

    ;
  • Использование в проекте — индикация использования переменной в проекте. Значение"Да" устанавливается если переменная является задействованной, и/или имеет привязку к входному или выходному блоку на схеме;

  • Комментарий — текстовое описание для отображения во всплывающей подсказке на схеме проекта при наведении курсора на блок переменной

    .

Для дублирования переменной нажмите ПКМ на строку переменной и в контекстном меню выберите Дублировать переменную или нажмите кнопку Graphic в верхней части таблицы.

Примечание
Дублирование элемента массива невозможно.

Чтобы удалить переменную из таблицы, нажмите ПКМ на строку переменной и в контекстном меню выберите Удалить переменную или нажмите кнопку Graphic в верхней части таблицы. В случае, если переменная используется в проекте, отобразится информационное окно, с предложением удалить ссылки на переменную. При выборе Удалить переменная будет удалена из таблицы переменных и блока на схеме.

Примечание
Удаление элемента массива невозможно.

Экспорт переменных в файл

Для экспорта вкладки переменных в виде таблицы в формате .csv:

  1. Нажмите GraphicЭкспортировать переменные в CSV файл в верхней части таблицы.
  2. В открывшемся окне укажите место выгрузки файла.
  3. Нажмите кнопку Сохранить.
Примечание
Имя файла формируется в зависимости от экспортируемой вкладки по схеме ИмяПроекта_Вкладка_Переменные.
Примечание
Для приборов второго поколения вкладка Slave сетевых переменных экспортируется вместе с настройками параметров переменных.
Graphic
Импорт переменных из файла

Для импорта таблицы переменных из файла в формате .csv нажмите кнопку Graphic Импортировать переменные из CSV файла в верхней части таблицы. Выберите файл из которого необходимо импортировать данные и нажмите Открыть. Каталоги, при наличии, также импортируются из файла с сохранением вложенности переменных. В случае присутствия в файле некорректных данных, например при отсутствии столбца с именем, типом переменной или регистром, будет отображено сообщение об ошибке. После устранения ошибки выполните импорт заново. При совпадении имен и/или регистров переменных в проекте и импортируемом файле, появится информационное окно с сообщением обо всех пересечениях имен и/или регистров и предложением продолжить либо отменить импорт

Раскрыть/свернуть массивы

Если в проекте присутствует переменная типа массив можно настроить отображение элементов массива в таблице переменных. Массив отображается в таблице переменных в виде дерева массива. Для раскрытия дерева массива у всех переменных типа массив в таблице переменных нажмите кнопку Graphic Раскрыть все массивы в верхней части таблицы. Данная настройка сохраняется при следующем открытии таблицы переменных, в рамках одной сессии. Для отображения элементов массива у одной переменной типа массив нажмите на частную кнопку "+", расположенную перед именем массива.

Чтобы свернуть дерево массива у всех переменных типа массив в таблице переменных нажмите кнопку Graphic Свернуть все массивы в верхней части таблицы. Данная настройка сохраняется при следующем открытии таблицы переменных, в рамках одной сессии. Для скрытия отображения элементов массива у одной переменной типа массив нажмите на частную кнопку "-", расположенную перед именем массива.

Поиск переменных

Таблица переменных поддерживает поиск и фильтрацию по имени. Символ «Пробел» выполняет роль логического ИЛИ и позволяет фильтровать переменные по нескольким критериям.

Graphic
Поиск переменных

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

Graphic
Создание переменной с заданным именем

Контекстное меню таблицы переменных

Чтобы найти места использования переменной в проекте нажмите ПКМ на строку переменной в таблице и выберите в контекстном меню переменной Показать ссылки.

Graphic

В открывшемся окне отобразится информация о выбранной переменной.

Graphic
Ссылки на переменную

Для переменной типа массив указываются ссылки как на сам массив, так и на его элементы.

Чтобы удалить привязку к блоку переменной в проекте отметьте нужные переменные галочками и нажмите кнопку Удалить. Переменная останется в таблице, но не будет использоваться в проекте.

Типы переменных

В Owen Logic используются три типа переменных:

  • булевский (двоичный);

  • целочисленный;

  • с плавающей запятой (вещественный);

  • массив.

Значения от одной переменной к другой могут передаваться только при совпадающих типах переменных.

Булевский тип

Переменная булевского типа может принимать одно из двух значений: 1 (True) или 0 (False).

На схеме переменные булевского типа соединяются черными линиями:

Graphic

Целочисленный тип

Переменная целочисленного типа может принимать значение целого числа в диапазоне от 0 до 4294967295.

На схеме переменные целочисленного типа соединяются красными линиями:

Graphic

Тип с плавающей запятой

Переменная типа с плавающей запятой может принимать значение вещественного числа в диапазоне от –3,402823E+38 до 3,402823E+38.

Числа одинарной точности с плавающей запятой обеспечивают относительную точность 7–8 десятичных цифр в диапазоне от 10–38 до примерно 1038.

На схеме переменные типа с плавающей запятой соединяются фиолетовыми линиями:

Graphic

Массив

Переменная типа массив хранит упорядоченный набор элементов одного типа: булевского, целочисленного или с плавающей запятой. Максимальное количество элементов в одном массиве - 256.

Примечание
Работа с массивами доступна в Owen Logic начиная с версии 3.0. В текущей реализации поддерживается работа только с одномерными массивами.

На схеме переменные типа массив соединяются зелеными линиями:

Graphic

Сервисные переменные

Сервисные переменные связаны с настройкой прибора и могут только считываться. Запись в сервисные переменные недоступна. Набор сервисных переменных может отличаться в зависимости от прибора.

Graphic
Вкладка Сервисные переменные

На схеме сервисные переменные обозначаются серым цветом:

Graphic

Сервисные переменный для приборов второго поколения

В приборах второго поколения нет сервисных переменных. Вместо сервисных переменных используется привязка переменных к параметрам прибора (см. раздел Привязка переменных к параметрам).

Переменные интерфейса связи

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

Режим Master

Для интерфейса связи в режиме Master таблица содержит вкладки с сетевыми переменными для каждого опрашиваемого устройства.

Graphic

О настройках переменных см. подробнее в разделе Режим Master.

Режим Slave

Для интерфейса связи в режиме Slave таблица отображает считываемые сетевые переменные.

Graphic

О настройках переменных см. подробнее в разделе Режим Slave.

Привязка переменных к параметрам

Примечание

Привязка переменных к параметрам доступна только для приборов второго поколения. Список приборов второго поколения см. в разделе О программе.

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

Для привязки переменной к параметру прибора следует:

  1. Открыть Настройки прибора.

    Примечание
    Привязка переменных доступна не для всех параметров.
  2. Выбрать параметр для привязки и нажать на кнопку «…» в графе Переменная окна настроек.

    Graphic
  3. В открывшемся окне Переменных выбрать или создать переменную для привязки. Выделенные серым переменные доступны только для чтения.

    Graphic

    Имя привязанной переменной будет отображаться в графе «Переменная» напротив параметра.

    После привязки к параметрам переменные можно использовать в программе. Таким образом, значения параметров можно читать и изменять в программе.

Примечание
Если привязанная к параметру переменная используется для записи с помощью блока, а значение параметра не изменилось, то записанное через блок значение будет храниться в переменной один цикл. В следующем цикле значение переменной будет прочитано из параметра.

Копирование переменных

Переменные можно копировать из проекта в проект для повторного использования и сокращения времени на разработку. Для копирования переменной следует выделить блок с переменной в исходном проекте и нажать кнопку Graphic на панели инструментов или выбрать команду Копировать в контекстном меню блока. Переменная вставляется в другой проект нажатием на кнопку Graphic на панели инструментов или с помощью выбора команды Вставить в контекстном меню холста.

Переменные

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

Копирование элемента массива из одного проекта в другой происходит по следующим правилам:

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

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

Правила копирования переменных типа массив не отличаются от правил копирования стандартных переменных.

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

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

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

Переменные интерфейса связи

В другой проект можно скопировать только переменные интерфейса связи в режиме Slave для идентичного номера слота. Переменные интерфейса связи в режиме Master следует создавать вручную. Во время вставки скопированного блока сетевой переменной в проект проверяются все свойства переменных. Если в проекте есть переменная с полностью совпадающими свойствами, то она дублируется в блок. Переменные с отличающимися свойствами автоматически создаются в проекте. Если имя или регистры переменных совпадают, но другие свойства отличаются, то создается новая переменная, но возникает конфликт регистров или имен. Конфликт можно устранить в таблице переменных, задав другое имя или регистры.