Просмотр полной версии : ПОЛИГОН
m.petrovich
22.07.2024, 12:39
Полигон (https://owen.ru/product/polygon) - российская кроссплатформенная среда графического программирования на языке функциональных блоков для ответственных объектов автоматизации с функцией резервирования.
Запись (https://reestr.digital.gov.ru/reestr/307437/?sphrase_id=%224311564%22) в реестре программного обеспечения
Среда разработана компанией ПромАвтоматика (https://pa.ru/ru/)
owenowenowen Более 1500 систем и устройств на Полигон owenowenowen Более 130 объектов owenowenowen Более 20 стран мира
Поддержан функционал резервирования
Проекты на ПЛК ОВЕН
АСУ ТП Просянской малой гидроэлектростанции в Ставропольском крае (https://owen.ru/project/asu-tp-prosyanskoy-maloy-gidroelektrostancii-v-stavropolskom-krae)
АСУ ТП Горько-Балковской малой гидроэлектростанции в Ставропольском крае (https://owen.ru/project/asu-tp-gorko-balkovskoy-maloy-gidroelektrostancii-v-stavropolskom-krae)
Модернизация оборудования гидроагрегатов Цимлянской ГЭС (https://owen.ru/project/modernizaciya-oborudovaniya-gidroagregatov-cimlyanskoy-ges)
Шкафы управления вспомогательными системами Красногорской и Правобережной малых гидроэлектростанций (https://owen.ru/project/shkafy-upravleniya-vspomogatelnymi-sistemami-krasnogorskoy-i-pravoberezhnoy-malyh-gidroelektrostanciy)
Модернизация АСУ ТП газотурбинной электростанции ГТЭС-12 в Рыбинске (https://owen.ru/project/modernizirovannaya-asu-tp-gtes)
АСУ ТП Красногорской и Правобережной малых гидроэлектростанций в Карачаево-Черкесии (https://owen.ru/project/asu-tp-krasnogorskoy-i-pravoberezhnoy-malyh-gidroelektrostanciy-v-karachaevo-cherkessii)
Контроллеры ОВЕН со средой Полигон:
ПЛК210-PL (https://owen.ru/product/plk210)
Состав среды Полигон
Бесплатная среда разработки
Пакет утилит для работы с ПЛК
Библиотеки функциональных блоков
Скачать среду с пакетом утилит для ПЛК ОВЕН
Дистрибутив для Windows (http://files.pa.ru/download/Polygon2Installer_LinuxOwen3_win.zip)
Дистрибутив для Linux (http://files.pa.ru/download/Polygon2Installer_LinuxOwen3_lnx.zip)
Скачать библиотеки
Архив библиотек (https://owen.ru/uploads/448/palibs.zip)
Видео
Видео курс. Часть 1 (https://youtube.com/playlist?list=PL2EcVEe6E9SCi8HaX1CYQzCfC6oVerDOS&si=5jp1X5Yq9VmKr9w4)
Видео курс. Часть 2 (https://youtube.com/playlist?list=PL2EcVEe6E9SD8ElgmiDprw3jNarsAmig1&si=h-NiDqPpNK46X0pg)
Видео курс. Часть 3 (https://youtube.com/playlist?list=PL2EcVEe6E9SA5qMp_orx04xK87Q6z99nQ&si=i9EPNTKnFWVaJ896)
Видео курс. Часть 4 (https://youtube.com/playlist?list=PL2EcVEe6E9SDC4oUN6YOcYMONImpf73RX&si=RWwwa74CRPMSd9mz)
Видео курс. Часть 5 (https://youtube.com/playlist?list=PL2EcVEe6E9SDf0d436MGcxyz_aSr2W96f&si=sSzVLkurZA4JGVHG)
Вебинар по среде Полигон и ПЛК210. (https://www.youtube.com/watch?v=tyPJDRROcJQ&t=731s) Рассказали о среде и планах по ее развитию. Создали проект с резервированием.
Примеры
Работа с блоками библиотеки paOwenIO (https://owen.ru/uploads/444/examples_paowenio.zip)
Обмен по протоколу Modbus. Библиотека paModbus (https://owen.ru/uploads/444/example_pamodbus.zip)
Сохранение значений в энергонезависимой памяти (https://owen.ru/uploads/444/example_pacore_plc210_setpoints.zip)
Организация резервирования. Библиотека paSync (https://owen.ru/uploads/444/example_pasync_redu.zip)
Обмен по протоколам МЭК 101/104. Библиотека paIEC104 (https://owen.ru/uploads/444/example_paiec104_5_101.zip)
Обмен по протоколу МЭК-61850. Библиотека paIEC850 (https://owen.ru/uploads/444/example_paiec850.zip)
Примеры составных блоков на C++ (https://owen.ru/uploads/444/examples_blocks_cpp.zip)
Документация
FAQ Полигон (https://owen.ru/uploads/446/pl_faq_v1.0.pdf)
Руководство по программированию. Библиотека paCore (https://owen.ru/uploads/444/pl_polygon_pacore_v8.0.pdf)
Работа с ОВЕН ПЛК. Библиотека paOwenIO (https://owen.ru/uploads/444/pl_paowenio_v2.1.pdf)
Обмен с верхним уровнем. Библиотека paOpcUA (https://owen.ru/uploads/444/pl_paopcua_v1.1.pdf)
Обмен по протоколу Modbus. Библиотека paModbus (https://owen.ru/uploads/444/pl_pamodbus_v1.1.pdf)
Архивирование и сохранение уставок (https://owen.ru/uploads/444/pl_archives_and_setpoints_v1.1.pdf)
Синхронизация проектов и реализация резервирования. Библиотека paSync (https://owen.ru/uploads/444/pl_pasync_v2.0.pdf)
Обмен по протоколам МЭК 101/104. Библиотека paIEC104 (https://owen.ru/uploads/444/pl_paiec104_v1.1.pdf)
Обмен по протоколу МЭК-61850. Библиотека paIEC850 (https://owen.ru/uploads/444/pl_paiec850_v1.1.pdf)
Party3AH
28.08.2024, 17:04
"Скачать среду с пакетом утилит для ПЛК ОВЕН
Дистрибутив для Windows
Дистрибутив для Linux"
И здесь на форуме, и на сайте Овен (https://owen.ru/product/polygon/libraries) почему-то не открываются ссылки. А браузер Edge пишет, что ссылка небезопасная.
Стоит ли качать? И как?
Гарчев Евгений
30.08.2024, 16:44
Здравствуйте!
Ссылки безопасные, можно скачивать, ведут на ftp-сервер ПромАвтоматики.
http://files.pa.ru/download/Polygon2Installer_LinuxOwen3_win.zip
http://files.pa.ru/download/Polygon2Installer_LinuxOwen3_lnx.zip
powerman
06.09.2024, 03:09
Добрый день! Как скачать полигон??? Везде где пробовал ссылки не работают, в том числе и в посте выше
Ссылки работают. Это у вас оператор чудит. Такое бывает.
Гарчев Евгений
06.09.2024, 17:46
Очистите кэш в Вашем браузере или попробуйте из другого браузера.
lunyov_i
10.09.2024, 08:11
Здравствуйте!
Ссылки безопасные, можно скачивать, ведут на ftp-сервер ПромАвтоматики.
http://files.pa.ru/download/Polygon2Installer_LinuxOwen3_win.zip
http://files.pa.ru/download/Polygon2Installer_LinuxOwen3_lnx.zip
Скачал под Linux. У меня система Linux Mint 22. Установился без проблем. После запуска, ограничивается все как на картинке. Я так понимаю, что где то в запускаемом скрипте просто что-то не доделано.7853678536
Почему не доделано? Так понимаю это запуск RT, а не среды разработки. Если да (сам не смотрел еще), то при запуске в конце обычно ставят &. Но вообще надо смотреть конечно.
Или там и среда разработки под Linux ?
lunyov_i
10.09.2024, 16:35
Почему не доделано? Так понимаю это запуск RT, а не среды разработки. Если да (сам не смотрел еще), то при запуске в конце обычно ставят &. Но вообще надо смотреть конечно.
Или там и среда разработки под Linux ?
Все делалось по инструкции. Это не RT а среда разработки, RT в контроллере ставится ( в данном случае ).
Гарчев Евгений
10.09.2024, 17:19
Скачал под Linux. У меня система Linux Mint 22. Установился без проблем. После запуска, ограничивается все как на картинке. Я так понимаю, что где то в запускаемом скрипте просто что-то не доделано.7853678536
Здравствуйте!
Сегодня перевыложили установочный дистрибутив под Linux, попробуйте, пожалуйста, произвести установку с обновленного дистрибутива.
lunyov_i
10.09.2024, 19:55
Здравствуйте!
Сегодня перевыложили установочный дистрибутив под Linux, попробуйте, пожалуйста, произвести установку с обновленного дистрибутива.
Да, запустилось. Дальше будет видно.
rediskus
13.09.2024, 14:31
Здравствуйте.
Кто-нибудь может мне-дурачку объяснить, что ему надо:
78592
78593
78594
Почему Демо-режим?
rediskus
13.09.2024, 15:12
Сам спросил-сам ответил. На любую страницу надо бросить блок OwenHWInfo, собрать и залить проект. Демо-режим пропадет.
pasha12q1
16.11.2024, 16:37
80104
ПЛК сейчас нет. Повторив уроки создание проекта и подключение к виртуальному ПЛК получаю это. Что я делаю не так ?
pasha12q1
16.11.2024, 16:51
801058010680107
Добрый день! Пытаюсь обновить программу соединение с сервером устанавливается, но когда начинается загрузка оно рвется. Что не так с этим ПО? Отпишитесь кто-нибудь у кого успешно работает ПЛК210PL со средой Полигон, заказали в спешке подкупила возможность резервирования, но уже чувствую что вляпаемся.
Гарчев Евгений
18.11.2024, 13:22
80104
ПЛК сейчас нет. Повторив уроки создание проекта и подключение к виртуальному ПЛК получаю это. Что я делаю не так ?
Здравствуйте!
Данная проблема связана с блокированием доступа к портам брандмауэром. Попробуйте отключить антивирус/брандмауэр.
Гарчев Евгений
18.11.2024, 13:43
801058010680107
Добрый день! Пытаюсь обновить программу соединение с сервером устанавливается, но когда начинается загрузка оно рвется. Что не так с этим ПО? Отпишитесь кто-нибудь у кого успешно работает ПЛК210PL со средой Полигон, заказали в спешке подкупила возможность резервирования, но уже чувствую что вляпаемся.
Эта проблема, скорее всего, так же связана с ограничениями антивируса/брандмауэра. Если данная проблема повторяется и с отключенным антивирусом/брандмауэром, попробуйте переустановить Полигон от имени администратора.
Здравствуйте. Вопрос по типовым схемам подключения:
- получается при выборе схемы 4 - у нас порты 1 и 2 соединены в местную сеть типа 192.168.0.хх, порт 3 смотрит во внешнюю сеть типа 172.17.33.хх, а порту 4 (который работает Redundancy Link) адрес назначается или нет? Эти порты жестко заданы или взаимозаменяемы - типа 1 и 3 соединены в местную сеть, 2 работает по резервированию а 4 смотрит во внешнюю сеть?
Гарчев Евгений
29.11.2024, 12:25
Здравствуйте. Вопрос по типовым схемам подключения:
- получается при выборе схемы 4 - у нас порты 1 и 2 соединены в местную сеть типа 192.168.0.хх, порт 3 смотрит во внешнюю сеть типа 172.17.33.хх, а порту 4 (который работает Redundancy Link) адрес назначается или нет? Эти порты жестко заданы или взаимозаменяемы - типа 1 и 3 соединены в местную сеть, 2 работает по резервированию а 4 смотрит во внешнюю сеть?
Здравствуйте!
Конфигурацию портов можно перенастроить как угодно через Web-конфигуратор.
slayer_serg
17.03.2025, 21:14
Добрый день, подскажите пожалуйста, можно ли установить рантайм Полигон на контроллер под управлением Linux, но отличный от Овен? А так же реализовать дополнительный функционал для рантайма и использовать со средой разработки Полигон? Понятно, что технически это скорее всего возможно, просто не очень понятно в каком виде поставляется рантайм и допускаются ли его кастомные доработки в соответствии с лицензией. Спасибо.
Добрый день, подскажите пожалуйста, можно ли установить рантайм Полигон на контроллер под управлением Linux, но отличный от Овен? А так же реализовать дополнительный функционал для рантайма и использовать со средой разработки Полигон? Понятно, что технически это скорее всего возможно, просто не очень понятно в каком виде поставляется рантайм и допускаются ли его кастомные доработки в соответствии с лицензией. Спасибо.
Вы пишете не по адресу - пишите разработчикам полигона. Но думаю ради одного контроллера никто там ничего делать не будет
Добрый день! Пришлите, пожалуйста, всю информацию на почту polygon@pa.ru, обсудим. Самостоятельное портирование рантайма на другие контроллеры пока невозможно, мы обычно делаем это сами.
S#716_0P
24.10.2025, 14:45
Добрый день!
Обновления, действительно, не скачиваются: связь обрывается в процессе загрузки. Отключение антивируса, брандмауэра, а также переустановка от имени администратора не помогают.
86358
Если все-таки продолжить и сделать проект контроллера (резервированного) без обновления библиотек и среды чем это чревато? Не получится, например, что в дальнейшем, в процессе загрузки, когда будет в наличии контроллер или в процессе отладки возникнут серьезные препятствия и время будет потрачено зря?
S#716_0P
24.10.2025, 15:16
как насчет нажать на кнопку "подключить" которая видна на скрине?
Не вопрос
86359
86360
S#716_0P
26.10.2025, 11:58
Добрый день!
Виртуальный контроллер не может открыть сокет. Открыл порты TCP 4840, 4841, 22. Может еще какие-то порты ему нужны?
86389
S#716_0P
27.10.2025, 18:43
Добрый день!
Полигон позволяет создавать списки глобальных переменных и констант:
86417
В справке указано, что можно использовать значение глобальной переменной на входе ФБ:
86418
Но нигде не могу найти как значение выхода ФБ присвоить глобальной переменной. Подскажите как это сделать?
Добрый день! Бывает, что порт 4840 занят другим приложением. Попробуйте другие порты в качестве порта отладчика (свойство "Порт отладчика" в модуле).
Добрый день!
Виртуальный контроллер не может открыть сокет. Открыл порты TCP 4840, 4841, 22. Может еще какие-то порты ему нужны?
86389
Добрый день! Для изменения значения глобальной переменной можно использовать блок SetVar (библиотека paCore, раздел Системные).
Добрый день!
Полигон позволяет создавать списки глобальных переменных и констант:
86417
В справке указано, что можно использовать значение глобальной переменной на входе ФБ:
86418
Но нигде не могу найти как значение выхода ФБ присвоить глобальной переменной. Подскажите как это сделать?
S#716_0P
28.10.2025, 10:53
Добрый день! Бывает, что порт 4840 занят другим приложением. Попробуйте другие порты в качестве порта отладчика (свойство "Порт отладчика" в модуле).
Поменял порт, все заработало. Спасибо.
Порт держал OPC UA LDS, запускается как служба.
S#716_0P
29.10.2025, 09:13
Добрый день! Для изменения значения глобальной переменной можно использовать блок SetVar (библиотека paCore, раздел Системные).
Спасибо.
В документации не нашел раздела по глобальным переменным, есть только несколько строк по глобальным константам. Это что-то типа списков глобальных переменных в Codesys? Т.е., к примеру, если структурировать их в несколько разделов и использовать везде в коде контроллера - читать и писать в них в программах и ФБ, и еще выдавать на панель оператора и читать в них с панели посредством Modbus. Это будет рабочий сценарий или они предназначены для чего-то другого? Правда, такое использование выглядит довольно громоздко, особенно запись при помощи SetVar, если в проекте несколько сотен подобных переменных.
Спасибо.
В документации не нашел раздела по глобальным переменным, есть только несколько строк по глобальным константам. Это что-то типа списков глобальных переменных в Codesys? Т.е., к примеру, если структурировать их в несколько разделов и использовать везде в коде контроллера - читать и писать в них в программах и ФБ, и еще выдавать на панель оператора и читать в них с панели посредством Modbus. Это будет рабочий сценарий или они предназначены для чего-то другого? Правда, такое использование выглядит довольно громоздко, особенно запись при помощи SetVar, если в проекте несколько сотен подобных переменных.
Добрый день!
Глобальные переменные добавлены недавно, поэтому по ним актуальная информация в справке Полигона. Использовать их для передачи по Модбас действительно не очень удобно, для этого предназначены функциональные блоки. Задумывались в основном для программ на ST, чтобы у программы была связь с остальной частью проекта
S#716_0P
30.10.2025, 08:27
Нашел в справке информацию, спасибо. Думаю будет удобно использовать глобальные переменные для хранения значений уставок.
В справке указано: "Если блок добавлен в несколько разных модулей, то необходимо, чтобы глобальная переменная с заданным именем и типом данных была описана во всех модулях". Значит ли это, что для резервированной конфигурации необходимо создать аналогичные разделы для обоих контроллеров? Т.к. попробовал скопировать раздел из основного в резервный контроллер, но в контекстном меню отсутствует пункт "Добавить".
Это к тому, что если раздел не скопирован во второй контроллер, а создан заново (т.е. он не желтый), то будут ли значения копироваться из основного в резервный контроллер?
Нашел в справке информацию, спасибо. Думаю будет удобно использовать глобальные переменные для хранения значений уставок.
В справке указано: "Если блок добавлен в несколько разных модулей, то необходимо, чтобы глобальная переменная с заданным именем и типом данных была описана во всех модулях". Значит ли это, что для резервированной конфигурации необходимо создать аналогичные разделы для обоих контроллеров? Т.к. попробовал скопировать раздел из основного в резервный контроллер, но в контекстном меню отсутствует пункт "Добавить".
Это к тому, что если раздел не скопирован во второй контроллер, а создан заново (т.е. он не желтый), то будут ли значения копироваться из основного в резервный контроллер?
Значения глобальных переменных сейчас автоматически не синхронизируются между ведущим и ведомым, возможно, это будет сделано в будущем. Раздел с глобальными переменными пока придется создать заново во втором модуле. Добавление как ссылка будет также сделано в следующих версиях среды.
Добрый день!
Где-то еще можно почитать документацию или видеоролики по созданию Библиотеки и созданию своих функциональных блоков в ней? Так же интересует вопрос, как правильно загружать (и как вообще это делается) свою библиотеку на ПЛК
(Устройство ПЛК210-11-PL-BASE104R, среда Полигон 2.2292)
S#716_0P
30.10.2025, 14:28
Значения глобальных переменных сейчас автоматически не синхронизируются между ведущим и ведомым, возможно, это будет сделано в будущем. Раздел с глобальными переменными пока придется создать заново во втором модуле. Добавление как ссылка будет также сделано в следующих версиях среды.
Т.е., к примеру, если с панели поменяли уставки, которые хранятся в глобальных переменных одного контроллера, а потом управление переключилось на другой контроллер, то здесь уже будут действовать другие значения - те, что хранятся в глобальных переменных второго контроллера? :confused:
Со значениями, которые формируются в самом контроллере: показания датчиков, значения дискретных переменных и пр, вроде вопросов нет как их вывести на панель и, скажем, еще в какую-то систему верхнего уровня (АРМ и пр). Но мне еще нужно хранить в контроллере (резервированном) значения уставок дискретных и аналоговых, использовать их в программе ПЛК, а также иметь возможность отображать и изменять с панели оператора и системы верхнего уровня, которые обмениваются с контроллерами по протоколу Modbus. Не могу сообразить как это можно реализовать без механизма переменных. Не подскажете как это сделать в резервированной конфигурации? Может есть какие-то примеры?
Похожая задача. Планирую использовать блок «буфер чтения/записи уставок».правда тоже громоздко получается. 86642
Добрый день
Подскажите, как корректно можно выйти из отладчика после загрузки проекта в контроллер.
В Codesys все просто - вкладка Онлайн, далее отключение и все
В Полигоне вижу только кнопку Остановить, при нажатии выхожу из отладчика и контроллер перестает опрашивать модули , видимо останов и происходит..
Александр Пинэко-Скворцов
26.01.2026, 21:33
Добрый день
Подскажите, как корректно можно выйти из отладчика после загрузки проекта в контроллер.
В Codesys все просто - вкладка Онлайн, далее отключение и все
В Полигоне вижу только кнопку Остановить, при нажатии выхожу из отладчика и контроллер перестает опрашивать модули , видимо останов и происходит..
Используйте кнопку Отладчик (с "жуком") в боковой панели окна.
87703
Используйте кнопку Отладчик (с "жуком") в боковой панели окна.
87703
Спасибо, помогло..
koliastok
29.01.2026, 10:33
Добрый день
вопрос может не по адресу.
но помогите разобраться как в ПОЛИГОН 2 создать энергонезависимую переменную????
и как сделать счётчик CTN энергонезависимым????
как в Овен Лоджик
в свойствах счётчика не нашел такого пункта
надо чтобы значение переменных сохранялись
или это только через блоки SaverEx и BufSupEx
Александр Пинэко-Скворцов
29.01.2026, 11:55
Добрый день
вопрос может не по адресу.
но помогите разобраться как в ПОЛИГОН 2 создать энергонезависимую переменную????
и как сделать счётчик CTN энергонезависимым????
как в Овен Лоджик
в свойствах счётчика не нашел такого пункта
надо чтобы значение переменных сохранялись
или это только через блоки SaverEx и BufSupEx
Добрый день.
Да, верно, RETAIN в Полигон не поддержан. Потребуется использовать блок SaverEx.
Документация на тему: https://owen.ru/uploads/473/pl_archives_and_setpoints_v1.2.pdf
Пример: https://owen.ru/uploads/444/example_pacore_plc210_setpoints.zip
koliastok
30.01.2026, 04:44
спасибо будем разбираться)
Добрый день
Подскажите пож, как в среде Полигон выполнить преобразование типов, конкретно Float в Time ?
Банально требуется задать с панели время задержки в секундах для функц. блока ТОN в диапазоне до 3600
Но проблема в том, что существующий в Полигоне фб Encode_Time переполняется при попытке задать время в секундах больше 59..
Возможно какую то библиотеку нужно добавить? Какие от codesys подходят для Полигона неясно
kondor3000
24.02.2026, 17:17
Добрый день
Подскажите пож, как в среде Полигон выполнить преобразование типов, конкретно Float в Time ?
Банально требуется задать с панели время задержки в секундах для функц. блока ТОN в диапазоне до 3600
Но проблема в том, что существующий в Полигоне фб Encode_Time переполняется при попытке задать время в секундах больше 59..
Возможно какую то библиотеку нужно добавить? Какие от codesys подходят для Полигона неясно
А почему Float? Обычно время задаётся в переменной DWORD, так как требуестя ввод в мс.
3600 сек, это уже 3600000 мс
Типа вводим 1,30 - это полторы минуты :)
kondor3000
24.02.2026, 17:34
Типа вводим 1,30 - это полторы минуты :)
1,3 мин это 78 секунд, а полторы минуты это 90 сек (1,5 мин *60)
kondor3000 с чего вы вдруг так решили? целая часть = минуты, дробная секунды. Кстати подобное решение даже не моё, кто-то давно на форуме это предлагал и использовал. Разделили "котлеты", и превратили в то, что нужно, потом сложили и получили минуты в целом, при необходимости превратили в мс. То есть не Одна третья, а именно тридцать :)
А почему Float? Обычно время задаётся в переменной DWORD, так как требуется ввод в мс.
3600 сек, это уже 3600000 мс Пусть будет DWORD, мне не принципиально , в Codesys и так и так работает
Александр Пинэко-Скворцов
25.02.2026, 10:18
Добрый день
Подскажите пож, как в среде Полигон выполнить преобразование типов, конкретно Float в Time ?
Банально требуется задать с панели время задержки в секундах для функц. блока ТОN в диапазоне до 3600
Но проблема в том, что существующий в Полигоне фб Encode_Time переполняется при попытке задать время в секундах больше 59..
Возможно какую то библиотеку нужно добавить? Какие от codesys подходят для Полигона неясно
Добрый день.
Вы блок TON в Полигоне сами пишете?
Есть готовый блок DelayOn в библиотеке paCore. Время задаётся как 32-битное целое в мс.
Добрый день.
Вы блок TON в Полигоне сами пишете?
Есть готовый блок DelayOn в библиотеке paCore. Время задаётся как 32-битное целое в мс.
TON как раз есть готовый из библиотеки PaCore , раздел Блоки МЭК, в нем на входе TIME пытался DWORD конвертировать
Но этот вопрос уже решил, в разделе Системные нашел нужный мне по функционалу блок CounterD и смысл изобретать велосипед пропал.. )
Еще вопрос небольшой
Два ПЛК210PL можно связать МЕЖДУ СОБОЙ по протоколу ОРС UA?
Александр Пинэко-Скворцов
25.02.2026, 15:45
Еще вопрос небольшой
Два ПЛК210PL можно связать МЕЖДУ СОБОЙ по протоколу ОРС UA?
Да, поддерживается как режим сервера, так и режим клиента OPC UA.
См. https://ftp.owen.ru/Polygon/11_Documentation/PL_paOpcUA_v1.2.pdf
Раздел "Блоки МЭК61131-3" в paCore предназначен для языка ST.
Вопрос по библиотеке paIEC104. Не могу понять, как используется тип M_BO_NA_1 практически. Это битовая маска по сути? Я могу эти типом данных передать дискретные сигналы (например, положение выключателей)?
Александр Пинэко-Скворцов
26.03.2026, 15:06
Вопрос по библиотеке paIEC104. Не могу понять, как используется тип M_BO_NA_1 практически. Это битовая маска по сути? Я могу эти типом данных передать дискретные сигналы (например, положение выключателей)?
Это 32-битное целое число. На стороне сервера можно формировать его как угодно, в том числе и собирать из 32 битов.
Дальше уже от клиента зависит, как он эти данные будет интерпретировать.
molekula
06.05.2026, 15:44
Т.е., к примеру, если с панели поменяли уставки, которые хранятся в глобальных переменных одного контроллера, а потом управление переключилось на другой контроллер, то здесь уже будут действовать другие значения - те, что хранятся в глобальных переменных второго контроллера? :confused:
Со значениями, которые формируются в самом контроллере: показания датчиков, значения дискретных переменных и пр, вроде вопросов нет как их вывести на панель и, скажем, еще в какую-то систему верхнего уровня (АРМ и пр). Но мне еще нужно хранить в контроллере (резервированном) значения уставок дискретных и аналоговых, использовать их в программе ПЛК, а также иметь возможность отображать и изменять с панели оператора и системы верхнего уровня, которые обмениваются с контроллерами по протоколу Modbus. Не могу сообразить как это можно реализовать без механизма переменных. Не подскажете как это сделать в резервированной конфигурации? Может есть какие-то примеры?
Присоединяюсь к вопросу. Интересует также обмен по OPC UA. Через механизм буфера чтения/записи уставок получается ооочень громоздко и неудоно. Ладно с десяток-два уставок, но когда их количество за сотню переваливает... Неужели нет вариантов других? Через ST тот же
МихаилГл
06.05.2026, 16:17
Присоединяюсь к вопросу. Интересует также обмен по OPC UA. Через механизм буфера чтения/записи уставок получается ооочень громоздко и неудоно. Ладно с десяток-два уставок, но когда их количество за сотню переваливает... Неужели нет вариантов других? Через ST тот же
Не знаю как делаете вы, а я недавно на ПЛК210 + МС4Д сделал так:
1. Переменные сами по себе это просто переменные, которые я через opc ua вывел в скаду.
2. Так как на панели на МС4Д нет физической клавиатуры, а найденная виртуальная на js ну очень не удобная, нарисовал свою, которая работает с ПЛК напрямую.
3. И обмен происходит только 2мя переменными между скада и ПЛК, первая это номер редактируемого параметра, вторая, это dword, в котором каждый бит это нажатие клавиши на нарисованной клавиатуре с вводом, бакспейсом, и отменой.
Ну и всё, всё остальное в ПЛК как программа. Надо изменить параметр номер 100, нажимаю кнопочку, в контроллер уходит номер редактируемого параметра, и битами из dword манипулируют с этим параметром.
molekula
06.05.2026, 17:22
И ещё вопрос. Можно ли через OPC UA записывать значения в контроллер? Например, глобальных переменных или вход какого-либо блока? Читать я читаю без проблем, а как писАть? Может свойство какое-то нужно добавить?
molekula
06.05.2026, 17:25
Не знаю как делаете вы, а я недавно на ПЛК210 + МС4Д сделал так:
1. Переменные сами по себе это просто переменные, которые я через opc ua вывел в скаду.
2. Так как на панели на МС4Д нет физической клавиатуры, а найденная виртуальная на js ну очень не удобная, нарисовал свою, которая работает с ПЛК напрямую.
3. И обмен происходит только 2мя переменными между скада и ПЛК, первая это номер редактируемого параметра, вторая, это dword, в котором каждый бит это нажатие клавиши на нарисованной клавиатуре с вводом, бакспейсом, и отменой.
Ну и всё, всё остальное в ПЛК как программа. Надо изменить параметр номер 100, нажимаю кнопочку, в контроллер уходит номер редактируемого параметра, и битами из dword манипулируют с этим параметром.
А обмен у вас по Modbus или OPC UA?
МихаилГл
06.05.2026, 18:28
OPC UA. Но это codesys ПЛК, не полигон. Но по модбас тоже можно сделать, это по идее не имеет значения.
PS Почитал доки по opc ua, и вообще... Там тока язык ФБ, печально. А чтобы писать в регистры по opc ua там вроде ничего не требуется, пример как раз для мастерскады описан. Но среды нет, ПЛК нет, проверить и подсказать не могу.
S#716_0P
28.05.2026, 16:12
Но это codesys ПЛК, не полигон.
C контроллерами с Codesys, даже если это версия 2.3, вообще никаких проблем с количество переменных и сложностью алгоритмов. Но здесь Полигон, который делает из достаточно мощного ПЛК практически программируемое реле. Если больше пары десятков переменных, то вся логика превращается в лапшу в которой через пару недель невозможно разобраться.
Уточните, пожалуйста, следующие возможности: может ли виртуальный ПЛК напрямую опрашивать реальные физические устройства по протоколу Modbus TCP, и поддерживает ли сам виртуальный ПЛК работу в качестве сервера по протоколу МЭК 60870-5-104 для внешних систем? Допускается ли реализация всего прикладного уровня проекта исключительно на ST, или же его применение жестко ограничено только написанием кода внутри функциональных блоков? Также среде Codesys на языке ST я использовал сложные структуры (включающие вложенные структуры и массивы структур и т.д.), которые автоматически размещались последовательно в карте регистров Modbus. Поддерживает ли Полигон аналогичное последовательное размещение пользовательских типов данных в карте регистров без ручного назначения адресов?
Добрый день!
Уточните, пожалуйста, следующие возможности: может ли виртуальный ПЛК напрямую опрашивать реальные физические устройства по протоколу Modbus TCP, и поддерживает ли сам виртуальный ПЛК работу в качестве сервера по протоколу МЭК 60870-5-104 для внешних систем?
Да. Может потребоваться отдельная настройка модуля для ВПЛК, если конфигурация сети сложная.
Допускается ли реализация всего прикладного уровня проекта исключительно на ST, или же его применение жестко ограничено только написанием кода внутри функциональных блоков?
На ST можно писать не только функциональные блоки, но и программы. Однако полная реализация проекта на ST на данный момент все таки невозможна, потому что блоки шин ввода-вывода и протоколов не поддерживаются внутри кода на ST (они должны присутствовать в проекте как функциональные блоки).
Также среде Codesys на языке ST я использовал сложные структуры (включающие вложенные структуры и массивы структур и т.д.), которые автоматически размещались последовательно в карте регистров Modbus. Поддерживает ли Полигон аналогичное последовательное размещение пользовательских типов данных в карте регистров без ручного назначения адресов?
Нет, адреса Модбаса сейчас назначаются вручную (или через импорт из Excel).
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot