<< Click to Display Table of Contents >> Navigation: Программирование в MasterSCADA 4D > Общие элементы программ > Параметры программ |
Параметрами (переменными) программ могут быть как параметры, которые находятся на клеммниках программы, и которые уже в свою очередь имеют связь с параметрами в дереве проекта, так и параметры объектов напрямую могут быть связаны с элементами программ, без использования клеммников.
Мы рекомендуем использовать классическую схему - параметры программ добавляются на клеммник, а затем используются как входящие и исходящие данные программ, однако допускаем, что в редких случаях можно напрямую связывать элементы программ (функции и функциональные блоки) с параметрами объектов.
Как правило, параметры добавляются в клеммниках программы. Также могут быть добавлены в структуру программы в дереве.
Если перетащить параметры из какого-либо элемента проекта в программу (в клеммник, в дерево или в поле программ ), то в программу добавятся параметры, имена которых буду совпадать с перетаскиваемыми и связаны с ними. Если имя перетаскиваемого параметра будет содержать спецсимволы, то они заменятся знаками подчеркивания. Если перетащить папку с параметрами, то имена созданных параметров в программе будет иметь вид: [имя папки]_[имя параметра]
Имена параметров программ задаются так же, как идентификаторы .
Имя переменной в дереве может быть задано с лидирующим или внутренними пробелами (не более одного пробела подряд). При трансляции пробелы заменяются знаками подчеркивания.
Переменные программного компонента (локальные переменные и аргументы) должны иметь уникальные имена в пределах компонента.
В качестве имен переменных нельзя использовать ключевые слова и спецсимволы.
При добавлении параметров в программу открывается диалоговое окно настройки, такое же как и при создании параметров проекта.
В отличии от параметров типа BOOL добавляемых в объект или в узел параметры программ имеют дополнительную настройку Переключение, которая может быть задана как в окне настройки, так и в панели свойств:
Настройка может принимать три значения:
•None- после получения значение не изменяется до следующего изменения связанного параметра.
•R_EDGE - после получения TRUE параметр будет равен TRUE в течении одного цикла, затем изменится на FALSE, т.е. параметр будет работать таким образом, как и R_TRIG.
•F_EDGE - после получения TRUE параметр изменяться не будет, параметр на один цикл станет равен TRUE только после того, как по связи придется изменение связанного значения с TRUE на FALSE. Т.е. параметр будет работать таким образом, как и F_TRIG.
Эта настройка может быть применена к входам функциональных блоков, которые размещаются в программе, например, при редактировании схемы в редакторе FBD:
Тогда будет считаться, что между входным параметром и входом ФБ будет установлен R_TRIG.
Эта настройка может быть применена для любого параметра программы, например, для изменения формата отображения параметра. Подробнее про настройку шкал в топике Работа со шкалами.
В панели свойств параметра программы во вкладке Расширения присутствует настройка Скрыть параметр. Состояние флага по умолчанию FALSE (для параметров En/EnO зависит от настройки Скрывать En/EnO по умолчанию в настройках среды).
Эта настройка также может быть применена к параметрам функций и функциональных блоков, которые размещаются как в библиотеке, так и в программе, например, при редактировании схемы в редакторе FBD:
При установленном значении TRUE, в редакторах LD и FBD, параметр будет скрыт и не будет отображаться. Так же не отображаются линии связи к нему.
При этом на панели свойств у типов и экземпляров будут отображаться все параметры, в том числе скрытые.
Настройку Скрыть параметр можно установить у библиотечного ФБ, и затем изменить ее уже по месту использования ФБ в алгоритме.
Локальные параметры это параметры программы, которые используются только внутри программы. Свойства локальных параметров, такие же как и у тех, что добавляются на клеммники программ, однако их нельзя связывать с внешними элементами проекта, они используются только внутри программ и не могут быть архивированы.
Добавить локальные параметры, а также просмотреть уже существующие можно в Легенде во вкладке Локальные или в структуре программы в дереве в группе Локальные.
Добавление на вкладке вкладке программы Локальные:
Свойства параметра можно настроить непосредственно во вкладке или в его панели свойств.
Так как Локальные параметры иметь внешние связи не могут, то при перемещении с клеммника в группу Локальные параметра, имеющего внешние связи, появляется следующее диалоговое окно с предупреждением: Переменная Х имеет следующие внешние связи: {список связей}. При перемещении, данные связи будут разорваны:
При нажатии на кнопку Ок связи разрываются, происходит перенос параметра. При нажатии на кнопку Отмена или закрытии окна (через крестик) ничего не происходит.
В программе у локальных переменных можно выбрать два типа доступа:
•Local - это обычные переменные, работают как и другие параметры проекта.
•Temp - это переменные, которые инициализируются в начале каждого вызова программы. Можно изменять значение такой переменной внутри программы, но на следующем вызове она снова будет иметь свое начальное значение.
Работа Temp переменных в зависимости от настройки Отладочная конфигурация:
•Флаг установлен - Temp переменные транслируются как Local, но в начале вызова программы им проставляются начальные значения.
•Флаг снят - Temp переменные объявляются в начале вызова программы и недоступны для отладки.
Если в настройках среды на вкладке Компиляция установлен флаг Разрешить прямой доступ к параметрам проекта, то можно установить связь между параметром проекта и входом или выходом функционального блока или функции без создания промежуточных параметров программ в клеммниках.
От места расположения параметра в проекте зависит путь, по которому будет устанавливаться прямой доступ:
•параметры того же узла - по относительному пути;
•параметры других узлов - по полному пути, начиная с корневого объекта (имя дерева Система включать не надо);
•параметры того же объекта и подобъектов - по относительному пути;
•параметры других объектов - по полному пути, начиная с корневого объекта (имя дерева Объекты включать не надо);
•параметры объектов, назначенных в разные узлы - по полному пути, начиная с корневого объекта (имя дерева Объекты включать не надо);
•каналов протокола - по полному пути начиная с корневого имени элемента.
Важно! Имена параметров проекта, к которым устанавливается прямой доступ, не должны содержать в названии ключевые слова или спецсимволы.
Если параметры имеют одинаковые названия, то сначала выполнится присвоение значений параметров программы. После обрабатываются глобальные параметры и параметры объекта.
Рассмотрим пример:
На вход IN1 функционального блока ADD перетащили Параметр 1, на выход Q перетащили Параметр 2 с настройкой доступа Чтение, а на вход IN2 перетащили параметр Корректировка из дерева проекта - образовались прямые связи с параметрами. На схеме такие связи будут отображаться синим цветом.
Если параметр находится в том же объекте что и программа, то на клеммнике отображается только его имя, так как на входе IN1. Также возможна запись в параметр, который находится в том же объекте что и программа, с настройкой доступа Чтение, так как на выходе Q.
Если же параметр находится в другом объекте, то имя параметра будет автоматически заменено после перетаскивания ЛК мыши параметра на вход IN1 ФБ OR, так как у входа IN1.
При наведении на связь появится подсказка, в которой будет указан полный путь к элементу в дереве.
Если выполнить двойной клик на входе/выходе функционального блока, то будет отображено увеличенное поле для ввода. После начала ввода появится подсказка, а также будут показаны другие объекты, совпадающие по имени, с которыми можно установить связь:
Если не был найден параметр, имя которого указали в строке ввода, то появится сообщение:
В этом случае можно создать связь для входа/выхода ФБ с еще несуществующим параметром проекта.
При нажатии на кнопку Создать связь, создается разорванная связь (как для удаленной связи) с еще несуществующим параметром. На схеме такие связи будут отображаться желтым цветом. В дальнейшем, после того как в проект был добавлен соответствующий параметр, можно будет восстановить связь в окне ошибок проекта.
Важно! Для того чтобы можно было восстановить связь, необходимо при создании связи указывать полный путь к параметру. Например, Объект 1.Параметр 1. Иначе может возникнуть неоднозначность о положении параметра в проекте.
При нажатии на кнопку Вернуться к редактированию имени происходит возврат в режим редактирования имени параметра.
При нажатии на кнопку Отмена, происходит выход из режима редактирования без создания связи.
После того как в проект был добавлен параметр, для которого была создана разорванная связь, при запуске исполнения проекта в окне ошибок проекта появится возможность восстановить связь. Для этого необходимо нажать соответствующую кнопку.
Если данная кнопка не активна, значит при создании связи был указан неполный путь. В этом случае можно остановить режим исполнения и отредактировать имя параметра на входе/выходе или удалить созданную связь.
Прямые связи в редакторе ST
В редакторе ST можно указать только имя параметра (если он находится в том же объекте, что и программа) или указать путь к параметру (если программа и объект находятся в разных объектах).
Важно! Имя параметра или путь к нему не должен содержать пробелы, их нужно заменить на символ _ (нижнее подчеркивание)
Например: