При настройке порта из программы скорость задаётся не числом бит в секунду, а номером из таблицы. Записать в регистр скорости значение 19200 нельзя — контроллер ждёт код 7. Код — Скорость — Код — Скорость. 1 — 300 — 12 — 192000. 2 — 600 — 13 — 256000. 3 — 1200 — 14 — 288000. 4 — 2400 — 15 — 384000.
Для сервоприводов нужен контроллер с портом EtherCAT — это PMP30 или PMP301. Обычный обмен по Modbus для управления осями не годится: он не даёт нужного цикла и синхронизации. Что определяет выбор между двумя сериями: Число осей.
Проверено экспертом
23.09.2024
Помогло 90%
3441 просмотр
Только через порт RS-232. Порт Ethernet программатора для обновления прошивки контроллера не годится — это ограничение самого прибора, а не настроек. Более того, порт RS-232 нужен и в обычной работе через Ethernet: при копировании программы по сети кабель RS-232 всё равно должен быть подключён, по…
Команда FRQM набирает заданное число импульсов на входе, засекает время и делит одно на другое. Результат — частота в герцах, в 32-битном регистре, измерение повторяется циклически.
C — обычные счётчики, HC — энергонезависимые, HSC — высокоскоростные, работающие в обход цикла сканирования. Первые два считают срабатывания условия в программе, третий считает импульсы на физическом входе. Как выбирать: C0–C4999 и HC0–HC1999.
Аналоговые данные лежат не в регистрах D, а в собственных областях: ID — аналоговые входы, QD — аналоговые выходы. Обращаться к ним можно напрямую, как к обычным регистрам, командой пересылки, без команд чтения модуля.
Любой обмен по сети в программе контроллера начинается с инструкции открытия сокета — в среде программирования она называется S_OPEN. Она создаёт задачу связи — соединение по протоколу с установлением соединения либо прослушивание порта по протоколу без установления соединения — и привязывает к…
Проверено экспертом
08.08.2025
Помогло 89%
1221 просмотр
Команды Modbus пишутся прямо в лестничной диаграмме, отдельная «задача связи» не нужна. Формат одинаков для всех: команда, номер станции, адрес Modbus, данные или регистр, номер порта контроллера.
MC_Power — блок включения оси, с которого начинается работа любой сервооси: пока он не отработал, остальные команды перемещения выполняться не будут. Входы блока: Axis — ссылка на ось, объявленная в проекте. Enable — общее разрешение работы блока.
Встроенных портов три — RS232, RS485 и Ethernet, а ещё два-три добавляются платами расширения. В командах связи порт указывается номером, и нумерация не совпадает с расположением разъёмов. Номер — Порт — Где находится. COM1 — RS232 — 8-контактный разъём Mini Din слева от выходной клеммной колодки.
Точные таймеры, высокоскоростные счётчики и семафоры тоже вынесены в таблицу Modbus, причём у каждого из них два адреса: один в пространстве катушек — состояние, второй в пространстве регистров — значение. Что читаем — Пространство — Начальный адрес — Количество.
Кроме признаков ошибок ввода-вывода и связи, у контроллера есть группа системных сообщений о более глубоких неполадках. Они не всегда останавливают работу, но игнорировать их нельзя. SM450 — проверка ошибок системы. SM451 — прерывание по неисправности аппаратуры.
Для любых задач, привязанных к календарному времени, контроллеру нужны часы реального времени. Для серий PMP20 и PMP30 это плата фронтального монтажа PMP-RTC-BD с точностью хода 13 секунд в месяц. Что делают с часами реального времени: Расписание.
Сетевой вариант протокола обмена выполняется инструкцией M_TCP. Она работает только тогда, когда контроллер является клиентом, и применяется в паре с инструкциями открытия и закрытия сокета. Каждое срабатывание нарастающего фронта — один запрос и один ответ.
В Codesys внешнее прерывание оформляется не как подпрограмма с меткой, а как задача с внешним событием. Двойной щелчок по задаче, тип «external», выбор события — и задача будет запускаться по сигналу на входе.
Штатных вариантов два: беспроводный адаптер к COM-порту и коммуникационные модули с выходом в сеть. Оба заменяют кабель между ноутбуком и контроллером, но решают разные задачи. Адаптер Bluetooth.
Свободный формат — режим, в котором контроллер отправляет и принимает произвольную посылку байт в байт, без протокола. Его берут для приборов, которые не понимают Modbus: сканеров штрихкода, весовых терминалов, принтеров этикеток, старых измерителей с фирменной посылкой.
Потому что при подключении под напряжением COM-порт контроллера может выйти из строя — руководство даёт это прямым предупреждением, а не рекомендацией. Порядок один: сначала кабель, потом питание контроллера. Причина в разнице потенциалов.
Три серии различаются средой разработки и коммуникационными возможностями. PMP20 программируется в PROMPOWER PLC Studio и имеет встроенный Ethernet; PMP30 и PMP301 работают в Codesys и дополнительно несут порт EtherCAT для управления приводами.
Длина данных, чётность и стоповый бит задаются одним регистром: это не три отдельные настройки, а три битовых поля внутри одного слова. При настройке порта из программы формат кадра записывается в четвёртый регистр блока. Разбор полей: Биты 7 и 6 — стоповый бит.
Такой адрес нужно записывать в шестнадцатеричном виде с ведущим нулём после H. Десятичное значение больше 32767 в поле команды не помещается — это знаковое 16-битное число. Пример из руководства: адрес Modbus регистра HD0 равен 41088 в десятичном виде.
Заводские сетевые настройки: IP-адрес 192.168.6.6, маска подсети 255.255.255.0, шлюз 192.168.6.1. Порт Ethernet — верхний разъём RJ45; второй разъём RJ45 отведён под EtherCAT и для программирования не используется.
По умолчанию станции на шине EtherCAT адресуются по положению в линии: первая от контроллера, вторая и так далее. Псевдоним — это собственный номер станции, который записывается в неё саму и не зависит от порядка подключения. Диапазон значений от 0 до 65535, хранится он в регистре с адресом 2700h.
Режимы разделены на три группы — по положению, по скорости и по моменту, и выбор режима определяет, что именно контроллер передаёт приводу в каждом цикле обмена. Управление положением: csp — циклический синхронный режим положения. Контроллер каждый цикл шины выдаёт новое задание положения.
Точки считаются просто: каналы процессорного модуля плюс каналы всех модулей расширения. Отдельно считать входы и выходы, потом складывать. Пример из руководства: процессорный модуль PMP30 на 60 каналов и пять модулей на 8 входов и 8 выходов каждый. Входы: 36 + 8 × 5 = 76. Выходы: 24 + 8 × 5 = 64.
Проверено экспертом
22.08.2025
Помогло 87%
2151 просмотр
Тайм-аут задаётся в блоке параметров сокета, измеряется десятками миллисекунд и принимает значения от 0 до 65536. Нулевое значение отключает контроль времени: контроллер будет ждать данные бесконечно. Любое ненулевое значение включает контроль. Единица измерения — главный источник ошибок.
Физический интерфейс контроллера — разъём RJ45. Руководство рекомендует кабель типа UTP или STP, ограничивает длину одного отрезка ста метрами и советует применять адаптивный коммутатор, работающий и на мегабитных, и на гигабитных скоростях. Разберём эти три требования по отдельности. Тип кабеля.
Эти четыре клеммы у PMP30 отмечены в руководстве как высокоскоростные входы, зарезервированные под высокоскоростные прерывания. Формально их можно завести обычными сигналами, но тогда быстрая реакция на внешнее событие в проекте окажется недоступна.
Коэффициент умножения задаётся системным flash-регистром: SFD320 отвечает за HSC0, SFD321 — за HSC2, SFD322 — за HSC4, SFD323 — за HSC6 и далее по одному регистру на счётчик до SFD329 (HSC18). Значение 2 — двойная частота, 4 — четырёхкратная. По умолчанию счётчик работает в четырёхкратном режиме.
Старшая часть таблицы кодов относится уже не к сокету, а к самому обмену по протоколу: это ответы удалённого устройства и ошибки приёма посылки. Читаются они из того же поля кода ошибки в блоке параметров сокета. Код — Что означает. 100 — ошибка приёма. 101 — тайм-аут приёма.
Это базовый набор, который используется практически в каждой программе: постоянные уровни, импульс первого цикла и тактовые генераторы. Все они лежат в области системных меркеров и обновляются самим контроллером. Постоянные и пусковые: SM000 — включён всё время работы контроллера.
Порядок сборки проекта такой: сначала в дерево устройств добавляется главная станция шины, затем под ней — ведомые станции, и уже к ведомой станции привязывается ось. Настройки ведомой станции разложены по вкладкам.
Нужны три вещи: питание контроллера, кабель программирования и установленная среда разработки. У серии PMP20 есть встроенный порт Ethernet, поэтому загрузка программы возможна и по сети, но для первого подключения удобнее кабель. Что понадобится физически: Питание.
Блок занимает девять регистров подряд, начиная с адреса, указанного четвёртым операндом инструкции открытия сокета. Состав полей одинаков, а вот какие из них работают — зависит от роли контроллера в этом соединении.
Для обмена посылками произвольного вида служит протокол свободного сокета — сетевой аналог свободного формата на последовательном порту. Отправка выполняется инструкцией S_SEND, приём — инструкцией S_RCV, и обе работают только в паре с инструкциями открытия и закрытия сокета.
Конфигурация лежит в системных flash-регистрах, а не в пользовательской программе. Поэтому она сохраняется при разряженной батарее и переносится вместе с контроллером, но обновляется только после перезапуска по питанию.
Предел — 80 кГц, и относится он не ко всем входам: в однофазном режиме до 80 кГц принимают только X0 и X1, а в режиме фаз A и B тот же вход держит 50 кГц. Остальные клеммы в обычном исполнении держат 10 кГц в однофазном режиме и 5 кГц в режиме фаз A и B.
Прямых аналогов «клемма в клемму» у контроллеров не бывает: у каждого производителя своя система команд, своя среда и своё расположение клемм. Замена подбирается по функциональному составу — числу и типу каналов, интерфейсам и требуемым специальным функциям.
У обеих серий объём памяти одинаковый: 32 МБ под программу, 32 МБ под данные и 6 МБ под энергонезависимую область retain. Различаются они не памятью, а производительностью процессора — 1 ГГц у PMP30 против 0,8 ГГц у PMP301. Что это значит на практике: Объём программы перестаёт быть ограничением.
Память PMP20 разделена на битовые и словные области, и каждая имеет свой префикс. Полный список нужен на этапе проектирования: по нему считают, хватит ли энергонезависимой памяти под рецепты и счётчики наработки. Битовые области: X — входы, Y — выходы.
Проверено экспертом
25.04.2025
Помогло 85%
2751 просмотр
Для машины с 20–30 дискретными сигналами обычно хватает младшего исполнения серии PMP20 — 16 входов и 14 выходов — плюс один модуль расширения, если каналов не хватило. Городить модульную систему на такой объём смысла нет. Порядок подбора: Разделите сигналы на входы и выходы.
Сетевые настройки задаются той же командой CFGCW, что и параметры последовательного порта, только блок регистров расшифровывается иначе. В регистр HD0 записывается тип сети — значение 4 соответствует Modbus TCP, после чего остальные регистры трактуются как сетевые.
Контроллер ставится на DIN-рейку в зоне слаботочки, максимально далеко от силовой части, с зазором сверху и снизу для конвекции. Степень защиты контроллеров — IP20, то есть шкаф обязателен, устанавливать их открыто нельзя. Рабочие правила компоновки: Разделите шкаф на зоны.
Проверено экспертом
23.03.2026
Помогло 84%
981 просмотр
Самая частая причина — одна и та же катушка управляется в программе разными способами: в одной цепи обычной командой вывода, в другой командой установки или сброса.
Главное ограничение — ресурс записи: flash-регистры PMP20 выдерживают порядка 1 000 000 циклов, причём каждая запись стирает весь блок целиком и занимает заметное время. Частая запись убивает память необратимо.
Процедура нужна, когда программатор отказывается работать с заблокированным контроллером: пароль сначала считывается с контроллера-донора, у которого он известен, и только после этого программатор может обращаться к защищённым контроллерам с тем же паролем.
Практический ориентир — 20–30 % свободных каналов каждого типа плюс физическое место в шкафу под один-два дополнительных модуля. Запас в каналах стоит дёшево на этапе проекта и очень дорого на этапе доработки уже смонтированного шкафа.
Честный ответ: для большинства машин и установок — нет. Резервирование оправдано там, где потеря управления в момент отключения питания приводит к порче продукта, аварии или дорогому перезапуску процесса. Когда резерв действительно нужен: Непрерывные процессы.
Чтение накопленного значения выполняется только 32-битной командой DMOV, а сброс — командой RST; никакие другие команды с высокоскоростным счётчиком напрямую не работают. Как это выглядит: DMOV HSC0 D10 — переносит накопленное значение в пару регистров D10, D11.
Команда CFGCW делает обратное чтению: она берёт блок регистров и применяет его как настройки порта. Формат тот же — CFGCW HD0 K8 K2, где HD0 — начало блока, K8 — число регистров, K2 — номер порта. Назначение регистров при работе по Modbus: Регистр — Что задаёт — Значения.