Создание нового проекта
Новый проект можно создать двумя способами:
Выбрать пункт меню Проект/Создать.
Создание нового проекта через меню Проект/Создать Перейти в Окно/Проекты и нажать кнопку Создать.
Создание нового проекта через окно Проекты В открывшемся окне следует выбрать место для сохранения и ввести имя нового проекта. В имени можно использовать только латинские буквы, символ «_» и цифры. Каждый новый проект рекомендуется размещать в отдельной папке, поскольку внутри нее среда разработки создает временные файлы при трансляции и копии проекта (бэкапы).
Внимание
Путь к файлам проекта не должен содержать кириллицу и пробелы.
Далее следует выбрать шаблон создаваемого проекта – Пустой проект или Модуль с отладчиком для контроллера. Рекомендуется всегда создавать проект с отладчиком для контроллера, чтобы не настраивать его подключение вручную.


Отладчик среды Полигон подключается к запущенному проекту как клиент OPC UA. При выборе шаблона модуля с отладчиком в новом проекте в месте работы Фон автоматически создается программа Debug, на странице которой добавлен блок OPC UA-сервера (OpcUAServer) из библиотеки paOpcUA. На входы блока ip – IP адрес и prt – локальный порт контроллера прописываются соответствующие свойства модуля в виде SQL-запросов.
Запрос IP адреса:
"<sql>SELECT value FROM blocks_prop WHERE indx=:module AND type="prop_ip"</sql>"
Запрос номера порта:
<sql>SELECT value FROM blocks_prop WHERE indx=:module AND type="prop_debug_port"</sql>
Подробнее об отладчике среды Полигон см. в разделе.
Реализация протокола OPC UA в среде Полигон подробнее описана в документе Обмен с верхним уровнем. Библиотека paOpcUA.
После выбора шаблона для модуля следует задать пароль для доступа отладчика к запущенному проекту. Если необходимо, пароль можно поменять в свойстве модуля Пароль admin. Изменение вступит в силу после трансляции проекта.

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

Создание компонентов проекта
Создать компоненты проекта внутри существующих можно в представлении Дерево. Структура компонентов проекта описана в разделе.
Таким образом, внутри проекта создаются Модули. Внутри Модуля –Места работы и Разделы. Внутри Мест работы создаются Программы и т. д.
Для создания нового компонента в проекте следует:
Нажать ПКМ на модуле, месте работы (таймере или фоне), программе и т. д.
В контекстном меню выбрать команду Создать.
Выбрать тип нового компонента и, если необходимо, ввести имя, номер, количество.
Создание таймерного потока Ввод-вывод
По умолчанию в проекте добавлено два места работы – Таймер и Фон. Если необходимо, в проект можно добавить второй таймерный поток – Ввод-вывод.
Ввод-вывод – таймерный поток, полностью аналогичный месту работы Таймер, но с более высоким приоритетом выполнения.

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



Основное свойство Таймера и Ввода-вывода – Таймерный промежуток – время, через которое повторно вызывается программа.
Необходимо соизмерять размер программ (количество функциональных блоков), которые находятся в месте работы ввод-вывод, со временем таймерного цикла. При недостаточном интервале таймерного цикла может возникнуть ошибка времени исполнения – Time Out. Данная ошибка повлечет за собой остановку программы (отслеживать реальное время выполнения можно с помощью функционального блока SysInfo).

Создание места работы Поток
По умолчанию в проекте добавлено два места работы – Таймер и Фон. В проект также можно добавить несколько мест работы, которые выполняются в фоновых потоках – Потоки.
Поток представляет собой бесконечный цикл с возможностью периодического выполнения. Поток уходит в простой после каждого цикла. Время простоя по умолчанию равно значению Таймерного промежутка места работы Таймер. Другое значение можно назначить на входе блока ThreadMan из библиотеки paCore, раздел Системные.
Для добавления Потока следует в контекстном меню модуля нажать Создать и выбрать поток.
Свойства мест работы Фон и Поток:
Приоритет фонового потока - число, задающее приоритет потока в системе. Чем выше это значение, тем более приоритетным является поток. Место работы приостанавливает выполнение менее приоритетных потоков, пока наиболее приоритетный поток не завершит свой цикл. Максимальное значение приоритета определяется операционной системой (например, для ОС Linux на ПЛК Овен –47). Актуальное значение максимально возможного приоритета можно посмотреть в отладчике на выходе блока ThreadMan из библиотеки paCore, раздел Системные;
Периодичность работы фонового потока (мс) – время в мс, задающее периодичность выполнения программ потока (только для места работы Поток). Время выполнения потока не контролируется. Если поток не успевает получить управление в соответствии с заданной периодичностью, то выполнение программы не прерывается (в этом отличие от места работы Таймер и Входы). Если свойство не задано, то поток переходит к следующему циклу сразу после завершения предыдущего (после обязательного простоя);
Привязка фонового потока к ядру – для многоядерных процессоров задает номер ядра (от 0), к которому системе следует привязать поток. Если свойство не задано, то ядро выбирается системой автоматически.

Создание функционального блока
Функциональные блоки создаются внутри страниц. Для создания функционального блока есть несколько способов:
Открыть нужную страницу в активном окне, нажать ПКМ на свободном месте и выбрать Создать.
Нажать на пиктограмму Создать на панели Инструменты открытой страницы.
Открыть контекстное меню страницы в представлении Дерево и нажать Создать.
После выбора команды Создать откроется окно создания функционального блока.

Вверху окна в поле Имя можно ввести имя нового функционального блока, которое будет отображаться сверху над блоком и в дереве проекта как комментарий. Если оставить данное поле пустым, то имя блока будет задано автоматически по шаблону b<индекс блока>.
В поле Количество можно указать необходимое количество блоков выбранного типа для создания. По умолчанию создается один блок выбранного типа.
Для создания блока следует:
В левом поле окна выбрать библиотеку, функциональный блок из которой планируется создать.
В поле посередине появится список разделов выбранной библиотеки, внутри разделов – списки функциональных блоков. Следует выбрать нужный блок.
При выделении блока в правой части окна отобразится его справка. Справку на блок, созданный на странице, также можно открыть, нажав на него ПКМ и выбрав Справка.
После выделения нужного блока нажать ОК – новый блок появится на странице.
В поле снизу списка функциональных блоков можно ввести имя нужного функционального блока для поиска по разделам библиотеки.

Также можно создать ФБ на странице путем перетаскивания его из дерева библиотеки. Для этого следует:
Открыть в представлении Дерево нужную библиотеку.
Выбрать функциональный блок.
Перетащить блок на открытую страницу.
При отпускании мыши появится контекстное меню, в котором следует выбрать Создать.

Некоторые ФБ можно разместить только в таймерном потоке или в фоне (определяется свойством Может работать только в…), при попытке разместить такой блок не в указанном месте работы появится окно соответствующей ошибки.

Создание циклических входов/выходов и групп входов/выходов
Многие блоки в проекте могут иметь разное количество входов и выходов. Такие входы и выходы блока, а также группы входов и выходов, называются циклическими (см. раздел).
Для того, чтобы добавить входы/выходы у блока, необходимо выделить его ПКМ и выбрать команду Создать. В появившемся окне следует ввести необходимое Количество добавляемых входов/выходов и нажать ОК.



Для удаления лишних входов/выходов можно выделить их с зажатым Shift и выполнить: ПКМ – Удалить.
Комментарии у входов/выходов блоков
Около входов/выходов ФБ можно оставлять комментарии. Добавить комментарий входу/выходу можно двумя способами:
Выделить необходимый вход/выход, зайти через контекстное меню в его Свойства, добавить свойство Комментарии, ввести необходимый комментарий, нажать Сохранить. Комментарий появится около входа.
Дважды нажать ЛКМ около интересующего входа/выхода – появится строка ввода комментария, следует ввести комментарий, он отобразится зеленым цветом.
Проведение связей
Для того, чтобы создать связь между входом и выходом функциональных блоков на странице, следует нажать ЛКМ на входе или выходе и, не отпуская левую кнопку мыши, подвести указатель к другому выходу или входу. При отпускании левой кнопки мыши связь будет проведена.

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


При создании связи учитываются типы данных входа и выхода. Если типы оказываются несовместимы, выдается сообщение об ошибке и связь не проводится. Нельзя создать связь с Константным входом.
Цвет связей отображает тип данных входа:
черный – булевое;
красный – целое;
синий – вещественное;
серый – строковое.
Для удаления связи нужно выделить правой кнопкой мыши вход, куда приходит связь. Откроется меню, в котором нужно выбрать Удалить связь.

Связь можно переносить с одного входа на другой. Для этого нужно «схватить» связь на входе и, не отпуская, перенести ее на новый вход.
Связь можно проводить с входа/выхода на странице проекта к выходу/входу в дереве. Для этого следует захватить интересующий вход/выход и, зажав Ctrl, перетащить его на выход/вход в дереве, к которому необходимо провести связь. В появившемся меню выбрать Провести связь.
Аналогично можно провести связь с входа/выхода в дереве проекта к выходу/входу на странице. Для этого вход/выход из дерева следует захватить мышью и перетащить на выход/вход на странице. В появившемся меню выбрать Провести связь.
Из «дерева в дерево» также можно провести связь: захватить нужный вход/выход, перетащить его на выход/вход, к которому необходимо провести связь – выбрать в меню Провести связь.

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

На входе, на который должна идти связь, следует щелкнуть ПКМ и выбрать Задать константу. В открывшемся списке выбрать нужную константу и нажать Установить.


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

Проведение связей между модулями
При редактировании в проекте двух и более модулей можно проводить связи между ними.
Обмен данными при проведении связей между модулями обеспечивается по протоколу OPC UA.
Подробно реализация протокола OPC UA в среде Полигон описана в документе Обмен с верхним уровнем. Библиотека paOpcUA.
Для проведения связи между модулями необходимо открыть страницы модулей в рабочих окнах и провести связь.

В появившемся окне необходимо настроить связь между модулями. В одном из модулей выбирается блок OPC UA-сервера, во втором – блок OPC UA-клиента. После настройки связи необходимо нажать Провести связь между модулями.


В раздел Данные выбранного блока OPC UA-клиента добавится вход с прописанным свойством ID источника/приемника, равным индексу входа или выхода в модуле, который был выбран как OPC UA-сервер.


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

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

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

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

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

Добавление стрелок, фона и текста на страницы
Для добавления комментариев и заметок на страницы проекта и экраны отладчика предусмотрены элементы стрелка, фон и текст. Добавить их на страницу можно с панели инструментов Редактирование.
Для добавления панели следует в меню Окнв/Панели инструментов поставить флаг Редактирование.

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

Добавление входов и выходов в разделы
В компонент проекта Раздел можно добавлять входы/выходы со страниц программ для отображения на экране отладчика, для вывода на график, для передачи сигналов OPC UA-клиенту и др.
Для добавления входа или выхода в раздел следует выделить нужный вход или выход и, зажав клавишу Ctrl и левую кнопку мыши, перетащить его на нужный раздел в дереве проекта и выбрать Добавить в контекстном меню.
Можно добавить сразу несколько входов/выходов одного блока в раздел. Для этого следует выделять их с зажатой клавишей Shift.

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


При двойном щелчке ЛКМ по строке списка откроется расположение входа или выхода в дереве.

Навигация по проекту
Для навигации по проекту можно воспользоваться панелью Навигация, которая добавляется установкой флага Навигация в меню Окна/Панели инструментов.
Подробно панели инструментов окон представления описаны в разделе.
При нажатии на кнопку Списки выбора на панели отображается поле, в выпадающем меню которого можно выбрать соответствующее окно представления для активной страницы.

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

Еще можно перемещаться по полям страниц – если щелкнуть ЛКМ на адрес связи, то в активное окно отобразится соответствующая страница.

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

Копирование частей проекта
Для копирования части проекта следует выделить нужную часть при помощи мыши (для выделения нескольких частей – зажав Shift) и нажать Копировать на панели инструментов. Также можно воспользоваться комбинацией Ctrl + c.

Далее перейти в нужное место проекта и нажать на панели инструментов Вставить. Также выполнить вставку можно через контекстное меню, которое открывается при нажатии ПКМ на компоненте дерева, или сочетанием клавиш Ctrl + v.

Расположение компонентов и связи, которые были внутри вставляемой части, сохранятся.
Также копировать части проекта можно перетаскиванием. Для этого нужно «схватить» мышью требуемую часть проекта и перетащить в новое место. В открывшемся меню выбрать команду Копировать (если выбрать Перенести, то часть проекта удалится из начального места).

Копировать компоненты возможно не только внутри одного проекта, но и в разных.
При копировании модулей, мест работы, программ, функциональных блоков, графических элементов имена объектов изменяются автоматически в соответствии со следующими правилами:
Имя вида b<индекс блока> присваивается при создании блоков, для которых не задано пользовательское имя. При копировании в имени нового блока отобразится его индекс.
Копирование блока b76. Имя нового блока b253 определяется по индексу Кастомные имена могут быть заданы пользователем или сформированы при генерации блоков из MS Excel. Переименование таких блоков зависит от наличия порядкового номера в имени.
Если имя без цифр в конце, то добавится суффикс «_» и номер вида 01 (дополнение до двух цифр).

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

Автоматическое изменение имен блоков при копировании можно отключить в окне Настройки приложения во вкладке Копирование.
Перенос блоков, страниц, программ
Для переноса блоков, страниц или программ нужно «схватить» их мышью и перетащить в требуемое место. При отпускании выбрать Перенести.

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