Это два разных механизма: рабочая зона (S3+6) определяет, где регулятор вообще начинает считать по формуле, а зона нечувствительности (S3+7) — насколько должно измениться измеренное значение, чтобы регулятор пересчитал выход. Рабочая зона.
Оба механизма реализуются стандартными блоками SoftMotion: электронный редуктор связывает ведомую ось с ведущей постоянным передаточным отношением, электронный кулачок — по таблице, где каждому положению ведущей оси соответствует положение ведомой. Электронный редуктор.
Автонастройка включается битом 7 регистра режима S3+2: установите его в 1 и запустите ПИД-регулятор. Признак успешного завершения — бит 8 того же регистра: если он стал 1, оптимальные параметры найдены.
Только простые команды, которые гарантированно выполняются за один цикл: установка и сброс битов, передача данных, арифметика и сравнение. Всё, что требует непрерывного выполнения, в прерывании работать не будет.
Квадратные скобки задают смещение: адрес в скобках складывается с базовым номером. Если D100 = 9, то D0[D100] — это D9, M10[D100] — это M19, а X3[D100] — это X14. Форматы записи: Dn[Dm], Xn[Dm], Yn[Dm], Mn[Dm]. Смещение может храниться только в регистре D.
Групповые команды нужны, когда несколько осей должны двигаться согласованно по траектории — например, портальный манипулятор или раскроечный стол. Оси сначала объединяются в группу, потом группа управляется как единый объект.
Для высокоскоростного счёта в PMP3xx предусмотрены три функциональных блока, и все они лежат в библиотеке PPCnt, которую нужно добавить в диспетчер библиотек проекта. PP_Counter — сам счёт. Входы: Counter (структура с номером порта и начальным значением), Execute (разрешение счёта), Mode (режим).
Режимов три — обычный, с защитой паролем и секретный, и выбор делается прямо при загрузке: он определяет, сможет ли кто-то потом выгрузить программу из контроллера. Обычный. Программа свободно загружается и выгружается. Режим для отладки оборудования. С защитой паролем.
Проверено экспертом
28.08.2025
Помогло 91%
1461 просмотр
Направление действия задаётся битом 0 регистра режима S3+2: 0 — отрицательное действие, 1 — положительное. Физический смысл: при положительном действии выход MV растёт вместе с измеренным значением PV, при отрицательном — падает. Здесь важное предупреждение.
Команда FRQM набирает заданное число импульсов на входе, засекает время и делит одно на другое. Результат — частота в герцах, в 32-битном регистре, измерение повторяется циклически.
C — обычные счётчики, HC — энергонезависимые, HSC — высокоскоростные, работающие в обход цикла сканирования. Первые два считают срабатывания условия в программе, третий считает импульсы на физическом входе. Как выбирать: C0–C4999 и HC0–HC1999.
Проверено экспертом
08.08.2025
Помогло 89%
1221 просмотр
Команды Modbus пишутся прямо в лестничной диаграмме, отдельная «задача связи» не нужна. Формат одинаков для всех: команда, номер станции, адрес Modbus, данные или регистр, номер порта контроллера.
В Codesys внешнее прерывание оформляется не как подпрограмма с меткой, а как задача с внешним событием. Двойной щелчок по задаче, тип «external», выбор события — и задача будет запускаться по сигналу на входе.
Такой адрес нужно записывать в шестнадцатеричном виде с ведущим нулём после H. Десятичное значение больше 32767 в поле команды не помещается — это знаковое 16-битное число. Пример из руководства: адрес Modbus регистра HD0 равен 41088 в десятичном виде.
Коэффициент умножения задаётся системным flash-регистром: SFD320 отвечает за HSC0, SFD321 — за HSC2, SFD322 — за HSC4, SFD323 — за HSC6 и далее по одному регистру на счётчик до SFD329 (HSC18). Значение 2 — двойная частота, 4 — четырёхкратная. По умолчанию счётчик работает в четырёхкратном режиме.
Предел — 80 кГц, и относится он не ко всем входам: в однофазном режиме до 80 кГц принимают только X0 и X1, а в режиме фаз A и B тот же вход держит 50 кГц. Остальные клеммы в обычном исполнении держат 10 кГц в однофазном режиме и 5 кГц в режиме фаз A и B.
Память PMP20 разделена на битовые и словные области, и каждая имеет свой префикс. Полный список нужен на этапе проектирования: по нему считают, хватит ли энергонезависимой памяти под рецепты и счётчики наработки. Битовые области: X — входы, Y — выходы.
Главное ограничение — ресурс записи: flash-регистры PMP20 выдерживают порядка 1 000 000 циклов, причём каждая запись стирает весь блок целиком и занимает заметное время. Частая запись убивает память необратимо.
Чтение накопленного значения выполняется только 32-битной командой DMOV, а сброс — командой RST; никакие другие команды с высокоскоростным счётчиком напрямую не работают. Как это выглядит: DMOV HSC0 D10 — переносит накопленное значение в пару регистров D10, D11.
Механизм называется «100 сегментов»: счётчику задаётся до ста уставок, и при достижении каждой вызывается своя подпрограмма прерывания. Уставки лежат в блоке двухсловных регистров начиная с HD100 (HD100, HD102, HD104 и далее), метки прерываний закреплены за счётчиками.
У обеих серий по четыре канала высокоскоростного счёта, и нумеруются они подряд: HSC0, HSC1, HSC2, HSC3. Это отличие от PMP20, где номера только чётные. Распределение входов одинаково для PMP30 и PMP301: HSC0 — X0 (импульс или фаза A), X1 (фаза B). HSC1 — X3 и X4. HSC2 — X6 и X7. HSC3 — X11 и X12.
FS — область защиты авторских прав на программу: в неё можно записать значение, но нельзя прочитать — при чтении всегда возвращается 0. Диапазон общий для серии — FS0–FS47, точные границы для конкретной модели видно в мониторе данных среды PROMPOWER PLC Studio. Как это работает на практике.
Внешние прерывания закреплены за входами X2 и старше, и у каждого входа своя метка для нарастающего и для спадающего фронта. Переназначить входы нельзя. Вход — Нарастающий фронт — Спадающий фронт — Запрет. X2 — I0000 — I0001 — SM050. X3 — I0100 — I0101 — SM051. X4 — I0200 — I0201 — SM052.
Предел для PMP301-24A8 — 542 точки ввода-вывода после расширения. Число 572, которое встречается в характеристиках семейства, относится к другому процессорному модулю — старшему PMP30-60A32-E. Это не расхождение: пределы у разных модулей ЦПУ разные, и сравнивать их между собой нельзя.
Здесь легко ошибиться: номера входов и выходов восьмеричные, а адреса Modbus — обычные десятичные, идущие подряд. Прибавлять к базовому адресу нужно порядковый номер входа, а не его восьмеричную запись.
Уставка задаётся третьим операндом команды таймера, и он может принимать только три значения: K1 — дискретность 1 мс, K10 — 10 мс, K100 — 100 мс. Фактическая выдержка равна уставке, умноженной на дискретность. Формат команд: TMR T0 K200 K10 — обычный таймер: 200 × 10 мс = 2 с.
По умолчанию порт настроен так: номер станции 1, скорость 19200 бит/с, 8 бит данных, 1 стоповый бит, контроль чётности включён. С этими же параметрами по умолчанию соединяется среда программирования. Что вообще можно задать: Номер станции Modbus — от 1 до 254. Скорость — от 300 бит/с до 9 Мбит/с.
Команды одной оси — стандартные функциональные блоки PLCopen, они одинаковы для всех приводов, подключённых по EtherCAT. Начинается любая программа перемещения с включения оси. Базовый набор: MC_Power — включение оси, перевод в рабочее состояние. MC_Home — возврат в исходное положение.
Для этого есть точные таймеры ET и команда STR: они отсчитывают время с шагом 1 мс независимо от периода сканирования и умеют вызывать прерывание по достижении уставки. Как это выглядит: STR ET0 K3000 — запуск отсчёта 3000 мс. Таймер 32-битный, диапазон от 0 до 2 147 483 647.
Временное прерывание задаётся самой меткой: две последние цифры в номере — это период в миллисекундах. Метка I4010 означает подпрограмму, которая выполняется каждые 10 мс, I4020 — каждые 20 мс. Правила: Каналов двадцать: от I40 до I59, где — период от 1 до 99 мс.
Выбор определяется тем, можно ли привести объект в исходное холодное состояние. Метод ступенчатого отклика требует, чтобы перед стартом система была в устойчивом неуправляемом состоянии — для теплового объекта это значит, что температура равна температуре окружающей среды.
ШИМ выдаётся командой PWM и только с транзисторных выходов: у исполнений 30T и 60T это Y0 и Y1, у исполнений 30T4, 60T4, 60T6 и 60T10 — Y0, Y1, Y2 и Y3. С релейных выходов ШИМ не выдаётся в принципе. Формат команды: PWM S1 S2 D, где S1 — скважность, S2 — частота, D — выходная клемма.
Конфликтуют три группы функций: точные таймеры, высокоскоростные счётчики и импульсные выходы. Они используют одни и те же аппаратные ресурсы, поэтому в каждой паре можно задействовать только одну функцию.
Регистры данных D начинаются с адреса Modbus 0, меркеры M — тоже с 0, но в другом адресном пространстве: D читаются функциями работы с регистрами, M — функциями работы с катушками. Ниже основные блоки в десятичном виде.
Проверено экспертом
27.03.2025
Помогло 75%
1491 просмотр
За это отвечает параметр S3+13: значение 0 разрешает превышение уставки, значение 1 запрещает. Для объектов с жёсткими требованиями к безопасности — например, сосудов под давлением — ставят 1, чтобы измеренное значение не уходило заметно выше заданного.
Команда пишется как PID S1 S2 S3 D: S1 — адрес уставки, S2 — адрес измеренного значения, S3 — начало блока параметров, D — результат. Блок параметров занимает 70 регистров подряд, от S3 до S3+69.
Число каналов зависит от исполнения и одинаково для однофазного режима и режима фаз A и B: Базовые исполнения на 24, 30, 48 и 60 каналов — 3 высокоскоростных счётчика. Исполнения 30T4 и 60T4 — 4 счётчика (HSC0, HSC2, HSC4, HSC6). Исполнение 60T6 — 6 счётчиков (до HSC10).
Коэффициенты лежат в блоке параметров со смещением от его начала: S3+3 — пропорциональное усиление, S3+4 — время интегрирования, S3+5 — дифференциальное время. Единицы у всех трёх разные, и это главный источник ошибок при переносе настроек с другого регулятора.
Проверено экспертом
17.12.2025
Помогло 70%
1281 просмотр
Высокоскоростной импульсный выход есть только у PMP301 и выведен на клеммы Y0…Y3. Внешнее питание 5–30 В постоянного тока, максимальный ток 50 мА на канал, максимальная выходная частота 100 кГц. Что важно при подключении шагового привода или сервопривода: Ток 50 мА — это предел канала.
Поддерживаются семь функций, и каждой соответствует своя команда в программе контроллера. Одна функция стандарта — 02H, чтение дискретных входов, — в ПЛК PROMPOWER не реализована. 01H — чтение катушек, команда COLR. 02H — чтение дискретных входов, команда INPR: не поддерживается.
Разница в том, что происходит при снятии питания и кто владеет адресом. M — обычные промежуточные реле, HM — энергонезависимые, SM — системные, занятые прошивкой. M0–M69999 — обычные меркеры. При пропадании питания состояние теряется.
Единица задания частоты в команде PWM — 0,1 Гц, поэтому в операнд пишут значение, в десять раз превышающее нужную частоту. Это сделано, чтобы можно было задавать дробные частоты целым числом. Примеры пересчёта: 100 Гц → в операнд пишут 1000. 1 кГц → 10000. 72 кГц → 720000. 12,5 Гц → 125.
Роль определяется не настройкой, а программой: ведущий — тот контроллер, в котором написаны команды Modbus, ведомый программы обмена не содержит и только отвечает на запросы. Один и тот же PMP20 может быть ведущим по одному порту и ведомым по другому.
Так устроена адресация контактов и реле ввода-вывода: X и Y считаются в восьмеричной системе, поэтому после X7 идёт X10, а не X8. Цифр 8 и 9 в номерах входов и выходов не бывает вообще. Ряд выглядит так: X0…X7, X10…X17, X20…X27 и далее.