Параметры программ

<< Click to Display Table of Contents >>

Navigation:  Программирование в MasterSCADA 4D > Общие элементы программ >

Параметры программ

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

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

Параметры программ на клеммниках

Добавление параметров

Как правило, параметры добавляются в клеммниках программы. Также могут быть добавлены в структуру программы в дереве.

Если перетащить параметры из какого-либо элемента проекта в программу (в клеммник, в дерево или в поле программ ), то в программу добавятся параметры, имена которых буду совпадать с перетаскиваемыми и связаны с ними. Если имя перетаскиваемого параметра будет содержать спецсимволы, то они  заменятся знаками подчеркивания. Если перетащить папку с параметрами, то имена созданных параметров в программе будет иметь вид: [имя папки]_[имя параметра]

Имена параметров

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

Переменные программного компонента (локальные переменные и аргументы) должны иметь уникальные имена в пределах компонента.

В качестве имен переменных нельзя использовать ключевые слова и спецсимволы.

Свойства параметров программ

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

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

parametry_pogramm

Настройка может принимать три значения:

None- после получения значение не изменяется до следующего изменения связанного параметра.

R_EDGE - после получения TRUE  параметр будет равен TRUE в течении одного цикла, затем изменится на FALSE, т.е. параметр будет работать таким образом, как и R_TRIG.

F_EDGE  - после получения TRUE параметр изменяться не будет, параметр на один цикл станет равен TRUE только после того, как по связи придется изменение связанного значения с TRUE на FALSE.  Т.е. параметр будет работать таким образом, как и F_TRIG.

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

parametry_pogramm_1

Тогда будет считаться, что между входным параметром и входом ФБ будет установлен R_TRIG.

Шкала

Эта настройка может быть применена для любого параметра программы, например, для изменения формата отображения параметра. Подробнее про настройку шкал в топике Работа со шкалами.

Скрытие параметров программ

В панели свойств параметра программы во вкладке Расширения присутствует настройка Скрыть параметр. Состояние флага по умолчанию FALSE (для параметров En/EnO зависит от настройки Скрывать En/EnO по умолчанию в настройках среды).

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

parametry_pogramm_10

При установленном значении TRUE, в редакторах LD и FBD, параметр будет скрыт и не будет отображаться. Так же не отображаются линии связи к нему.

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

parametry_pogramm_11

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

Локальные параметры

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

Добавить локальные параметры, а также просмотреть уже существующие можно в Легенде во вкладке Локальные или в структуре программы в дереве в группе Локальные.

Добавление на вкладке вкладке программы Локальные:

parametry_pogramm_2

Свойства параметра можно настроить непосредственно во вкладке или в его панели свойств.

Перенос переменных с клеммников в группу Локальные

Так как Локальные параметры иметь внешние связи не могут, то при перемещении с клеммника в группу Локальные параметра, имеющего внешние связи, появляется следующее диалоговое окно с предупреждением: Переменная Х имеет следующие внешние связи: {список связей}. При перемещении, данные связи будут разорваны:

parametry_pogramm_20

При нажатии на кнопку Ок связи разрываются, происходит перенос параметра. При нажатии на кнопку Отмена или закрытии окна (через крестик) ничего не происходит.

Настройка свойства Доступ

В программе у локальных переменных можно выбрать два типа доступа:

Local - это обычные переменные, работают как и другие параметры проекта.

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

Работа Temp переменных в зависимости от настройки Отладочная конфигурация:

Флаг установлен  - Temp переменные транслируются как Local, но в начале вызова программы им проставляются начальные значения.

Флаг снят - Temp переменные объявляются в начале вызова программы и недоступны для отладки.

 

Прямое обращение к параметрам проекта из программ

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

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

параметры того же узла - по относительному пути;

параметры других узлов - по полному пути, начиная с корневого объекта (имя дерева Система включать не надо);

параметры того же объекта и подобъектов - по относительному пути;

параметры других объектов - по полному пути, начиная с корневого объекта (имя дерева Объекты включать не надо);

параметры объектов, назначенных в разные узлы - по полному пути, начиная с корневого объекта (имя дерева Объекты включать не надо);

каналов протокола - по полному пути начиная с корневого имени элемента.

Важно! Имена параметров проекта, к которым устанавливается прямой доступ, не должны содержать в названии ключевые слова или спецсимволы.

Приоритет обработки параметров при прямом доступе

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

Прямые связи в редакторе FBD

Рассмотрим пример:

parametry_pogramm_3

На вход IN1 функционального блока ADD перетащили Параметр 1, на выход Q перетащили Параметр 2 с настройкой доступа Чтение, а на вход IN2 перетащили параметр Корректировка из дерева проекта - образовались прямые связи с параметрами. На схеме такие связи будут отображаться синим цветом.

Если параметр находится в том же объекте что и программа, то на клеммнике отображается только его имя, так как на входе IN1. Также возможна запись в параметр, который находится в том же объекте что и программа, с настройкой доступа Чтение, так как на выходе Q.

Если же параметр находится в другом объекте, то имя параметра будет автоматически заменено после перетаскивания ЛК мыши параметра на вход IN1 ФБ OR, так как у входа IN1.

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

parametry_pogramm_13

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

parametry_pogramm_4

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

parametry_pogramm_5

В этом случае можно создать связь для входа/выхода ФБ с еще несуществующим параметром проекта.

При нажатии на кнопку Создать связь, создается разорванная связь (как для удаленной связи) с еще несуществующим параметром. На схеме такие связи будут отображаться желтым цветом. В дальнейшем, после того как в проект был добавлен соответствующий параметр, можно будет восстановить связь в окне ошибок проекта.

Важно! Для того чтобы можно было восстановить связь, необходимо при создании связи указывать полный путь к параметру. Например, Объект 1.Параметр 1. Иначе может возникнуть неоднозначность о положении параметра в проекте.

При нажатии на кнопку Вернуться к редактированию имени происходит возврат в режим редактирования имени параметра.

При нажатии на кнопку Отмена, происходит выход из режима редактирования без создания связи.

parametry_pogramm_9

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

parametry_pogramm_12

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

Прямые связи в редакторе ST

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

Важно! Имя параметра или путь к нему не должен содержать пробелы, их нужно заменить на символ _ (нижнее подчеркивание)

Например:

parametry_pogramm_8