Пользовательский блок – макрос

Для упрощения процесса разработки управляющей программы и ее большей наглядности, необходимо использовать “структурно-ориентированный подход”. Суть подхода заключается в том, чтобы разбить проект на отдельные блоки, реализующие целевые функции, и организовать между ними необходимые связи.

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

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

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

_images/add_macros.png

Добавление макросхемы

Свойства макросхемы аналогичны свойствам основной FBD-проограммы

_images/property_macros.png

Свойства макросхемы

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

_images/macros_1.png

Макросхема с выходами/входами

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

_images/macroblock_1.png

Если макрос, а следовательно и макроблок, содержит большое количество контактов, можно произвести их группировку. Для этого в макросхеме нужно поместить требуемые блоки входов или выходов в объект Комментарий. Инструмент для создания комментария расположен в панели Рисование, совместно с инструментом Текст, Эллипс и т.д. Все блоки входов/выходов макроса, помещенные в такой комментарий будут выделены в макроблоке в отдельную группу. Имя группы задается текстом комментария.

_images/macros_2.png
_images/macroblock_2.png