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

Какие бывают проекты в Полигон?
Проекты в Полигон бывают следующих видов:
Однопользовательский проект – файл с расширением .pl2;
Зашифрованная копия однопользовательского проекта – файл с расширением .pp2;
Серверный многопользовательский проект – файл с расширением .pg2.
Подробно создание и работа с данными типами проектов описана в документе Руководство по программированию. Библиотека paCore.
Как открыть проект Полигон?
Открыть проект Полигон можно двумя способами:
Выполнить меню Проект/Открыть.
Открыть Окно/Проекты и нажать Открыть.
В открывшемся окне следует выбрать проект, который необходимо открыть. Среда предложит открыть проект в представлении Дерево для редактирования.
Из чего состоит проект Полигон?
Проект в среде Полигон имеет иерархическую структуру, которую можно увидеть в представлении Дерево.
Основной узел с точки зрения создания программы для контроллера – Модуль.
В свойствах модуля задаются параметры подключения к контроллеру. Внутри модуля располагаются графическая структура алгоритмов и настройки для контроллера, из модуля транслируется исполняемый файл.
Внутренняя структура модуля жестко определена: Модуль > Место работы > Программа > Страница > Функциональный блок.

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

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

Как открыть дерево проекта?
Для открытия проекта в представлении Дерево следует:
Выполнить Окна/Новое окно.
Выбрать расположение нового окна относительно других окон.
В выпадающем списке выбрать тип окна Дерево.
Отобразить необходимый проект в представлении Дерево можно через выпадающий сверху список:
Открыть новое окно также можно через панель инструментов Представления (Окна/Панели инструментов/Представления).

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

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

Для создания блока следует:
В левом поле окна выбрать библиотеку, функциональный блок из которой планируется создать.
В поле посередине отобразится список разделов выбранной библиотеки, внутри разделов – списки функциональных блоков. Следует выбрать нужный блок.
При выделении блока в правой части окна отобразится его справка. Справку на блок, созданный на странице, также можно открыть, нажав на него ПКМ и выбрав Справка.
После выделения нужного блока нажать ОК – новый блок появится на странице.
Почему при создании функционального блока возникает ошибка «Не разрешена вставка блока в место работы Таймер»?
Некоторые функциональные блоки целесообразно помещать только в Таймере или только в Фоне. Для таких блоков задано свойство Может работать только в…, со значением, соответственно, таймер или фон.
При попытке разместить такой блок в другом месте работы появится ошибка:

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



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

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


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

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

При выборе пункта Одинаковый порядок всем блокам на странице будет присвоен порядок выполнения, указанный в поле справа.
При выборе пункта Порядок по возрастанию блокам будут присвоены порядки от 5, начиная с верхнего левого угла, кратно 5. Чем левее и выше находится блок, тем меньший порядок выполнения у него будет. Чем правее и ниже – тем больший порядок выполнения.
При выборе пункта По потоку данных очередность блоков будет определена их связями друг с другом на текущей странице – если с выхода блока идет связь на вход другого блока, то первый получит меньший порядок исполнения.
Как создать свой функциональный блок?
Часть алгоритма, повторяющаяся в проекте несколько раз, можно выделить в новый Составной функциональный блок.
Составной блок при трансляции превращается в класс. Составные блоки можно создавать как в проектах, так и в пользовательских библиотеках.
Создать составной блок в Полигон можно на основе библиотечных функциональных блоков, а также с помощью кода на C++.
Подробнее см. в документе Руководство по программированию. Библиотека paCore.
Для чего используются SQL-запросы на входах функциональных блоков?
Проект в среде разработки Полигон – это база данных Sqlite.
В некоторых случаях полезно получать свойства модуля в программе с помощью SQL-запроса, например: при задании IP адреса контроллера или номера порта, при задании признака ведущего контроллера в резервированной конфигурации и т.д. Можно менять нужную константу в одном месте в проекте – в свойствах модуля.
В запросе для указания свойства модуля используется идентификатор, например, prop_0 для Пользовательское свойство 00. Идентификатор свойства отображается при наведении на него ЛКМ в окне свойств модуля.
Пример SQL-запроса IP адреса контроллера (на вход блока подается строка):
"<sql>SELECT value FROM blocks_prop WHERE indx=:module AND type="prop_ip"</sql>"
Пример SQL-запроса номера порта сервера OPC UA:
<sql>SELECT value FROM blocks_prop WHERE indx=:module AND type="prop_debug_port"</sql>
Пример SQL-запроса пользовательского свойства Пользовательское свойство 00:
<sql> SELECT value FROM blocks_prop WHERE indx=:module AND type="prop_0"</sql>
Как выполнить массовое редактирование свойств блоков в проекте?
Полигон поддерживает выгрузку и загрузку свойств компонентов проекта в виде таблицы MS Excel с помощью команд Экспорт/Импорт на панели Инструменты. Это может быть полезно для быстрого массового редактирования свойств функциональных блоков и их входов/выходов.
С помощью команды Экспорт можно выгрузить свойства компонентов Модуля, Места работы, Программы, Страницы, Раздела.
Импортировать новые свойства можно с помощью команды Импорт.
Подробнее см. в документе Руководство по программированию. Библиотека paCore.
Как изменять и считывать системное время ПЛК в программе?
Изменить системное время контроллера из программы можно с помощью функционального блока OwenRTC из библиотеки paOwenIO.
Для установки системного времени следует задать на входах блока year (год), mth(месяц), day (день), hr(час), min (минута), sec(секунда) требуемые значения и подать 1 на вход sett.

Получить системное время контроллера можно с помощью блока getTDN из библиотеки paCore.

Как включить зуммер из программы контроллера?
Для управления зуммером из программы контроллера предназначен блок OwenEnv из библиотеки paOwenIO.
Для включения зуммера следует подать 1 на вход enb блока. На входах prd и duty блока задаются период и рабочий цикл зуммера в мкс. Первый параметр определяет частоту звукового сигнала, второй – громкость сигнала.

Как получить в программе контроллера сигналы с тумблера СТАРТ/СТОП и сервисной кнопки?
Для получения в программе контроллера сигналов с тумблера СТАРТ/СТОП и сервисной кнопки предназначен блок OwenEnv из библиотеки paOwenIO.
Сигнал с тумблера СТАРТ/СТОП выводится на выход блока tmb, сигнал с сервисной кнопки – на выход srvs.

Почему светодиод контроллера «Работа» всегда мигает? Как задать режим работы светодиода «Работа»?
Режим работы системного светодиода «Работа» задается из программы контроллера. По умолчанию светодиод мигает.
Режим работы светодиода задается с помощью блока 210-LED из библиотеки paOwenIO.
На входе led (индикатор) блока следует указать значение WORK, что соответствует светодиоду «Работа».
Для включения/отключения светодиода из программы следует указать на входе mode режим manual. При подаче 1 на вход enb блока светодиод «Работа» будет включаться, при подаче 0 – отключаться.
При установке на входе mode режима nr_proc светодиод будет мигать автоматически в зависимости от нагрузки контроллера. Значение на входе enb в данном режиме игнорируется.

Как монтировать/размонтировать внешние накопители из программы контроллера?
Для работы с внешними накопителями контроллера из программы предназначен блок 210-SD-USB из библиотеки paOwenIO.
Внешние накопители (USB-flash и MicroSD) монтируются автоматически при их подключении к контроллеру. С помощью блока 210-SD-USB можно получить информацию о монтировании накопителя в программе.
Значения выходов блока обновляются при подаче 1 на вход rfrsh. На выходах sdmntd или usbmntd отобразится 1, если соответствующий накопитель успешно монтирован. На выходах sdpath или usbpath отобразится абсолютный путь к директории монтирования накопителя.

Для размонтирования накопителя следует подать 1 на входы umntSD или umntUSB.

Для повторного монтирования необходимо подать 1 на входы mntSD или mntUSB.

Как получить в программе информацию о свободной памяти внешнего накопителя?
Информацию о свободной памяти накопителя можно получить с помощью блока DriveInfo из библиотеки paCore.
На вход driveName необходимо подать абсолютный путь монтирования накопителя. Для обновления информации на выходах блока необходимо подать 1 на вход start.
На выходах блока отобразится информация об общем, занятом и свободном объеме накопителя в Кбайт.

Как организовать архивацию параметров на контроллере?
Для архивации параметров в текстовых файлах предназначен блок FileDpLogger из библиотеки profiLoggerLight.

Подробнее о работе блока и пример организации архивирования см. в документе Архивирование и сохранение уставок.
Как сохранять значения параметров (уставок) в энергонезависимой памяти?
Для сохранения значений параметров на диске предназначены блоки SaverEx и BufSupEx из библиотеки paCore, раздел Сохранение данных.
Блок SaverEx обеспечивает хранение данных на диске контроллера в виде бинарных файлов. Блок BufSupEx аналогичен SaverEx, но дополнительно организует синхронизацию изменения уставок по сети и из программы контроллера.

Подробнее о работе блоков и примеры сохранения уставок см. в документе Архивирование и сохранение уставок.
Что такое черный ящик (BlackBox)?
BlackBox – блок из библиотеки profiLoggerLight, который сохраняет значения выбранных параметров в файл в течение заданного времени «до» события и в течение заданного времени «после» события.

Подробнее о работе блока и пример организации архива по событию см. в документе Архивирование и сохранение уставок.
Какие промышленные протоколы обмена поддерживают ПЛК-PL?
ОВЕН ПЛК210 с исполнительной средой Полигон поддерживают следующие промышленные протоколы обмена:
Протоколы обмена ПЛК-PL
Протокол обмена | Библиотека Полигон | Документация |
---|---|---|
Modbus TCP (client/server), Modbus RTU (master/slave) | paModbus | |
OPC UA (client/server) | paOpcUA | |
МЭК 870-5-104 (client/server), МЭК 870-5-101 (client/server) | paIEC104 | |
МЭК 61850 (client/server) | paIEC850 |
Какие схемы резервирования поддерживают ПЛК-PL?
ОВЕН ПЛК210 с исполнительной средой Полигон поддерживают:
Горячее аппаратное резервирование питания контроллера;
Горячее программное резервирование программы пользователя.
Резервирование питания контроллера подробно описано в Руководстве по эксплуатации.
Программное резервирование ПЛК организуется с помощью библиотеки paSync. См. подробнее в документе Синхронизация проектов и реализация резервирования. Библиотека paSync.
Варианты схем программного резервирования ОВЕН ПЛК с исполнительной средой Полигон практически не ограничены и могут модернизироваться в соответствии с требованиями конкретного автоматизируемого технологического объекта.
Как организуется контроль версий проекта в среде Полигон?
В среде Полигон организован автоматический контроль версий проектов и библиотек.
Информацию о внесенных изменениях и пользователях, которые вносили изменения, можно посмотреть в окне Проекты.

Текущую версию запущенного на контроллере проекта можно посмотреть во всплывающем тултипе при наведении мышью на модуль.

Также текущую версию запущенного проекта можно посмотреть в web-конфигураторе контроллера в разделе ПЛК/Информация.

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

Как защитить проект Полигон?
Проект в среде разработки Полигон – это база данных Sqlite. Защитить проект можно с помощью создания его зашифрованной версии.
Для этого следует:
В системном окне Проекты выделить интересующий проект и нажать кнопку Сохранить как….
В появившемся окне выбрать расширение Полигон 2 с защитой(*.pp2).
Нажать Сохранить.
В окне Проекты отобразится защищенная копия проекта.

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

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