Как вызвать ПИД-регулятор в PMP20 и сколько регистров он займёт?
Команда пишется как PID S1 S2 S3 D: S1 — адрес уставки, S2 — адрес измеренного значения, S3 — начало блока параметров, D — результат. Блок параметров занимает 70 регистров подряд, от S3 до S3+69.
Это главное, что нужно учесть при распределении памяти: если ПИД настроен на HD0, то регистры HD0…HD69 заняты и использовать их под что-то другое нельзя. Два контура ПИД — два непересекающихся блока по 70 регистров.
Из этих семидесяти пользователь заполняет только начало:
- в обычном режиме — S3…S3+7;
- в расширенном режиме — S3…S3+7 и дополнительно S3+8…S3+11;
- всё остальное занято системой, туда писать нельзя, читать можно только для контроля.
Результат бывает двух видов. Если D — регистр, туда кладётся аналоговое значение MV с диапазоном по умолчанию 0–4095, которое дальше идёт на модуль аналогового вывода. Если D — выходная клемма Y, контроллер сам формирует коэффициент заполнения: выход включён часть цикла регулирования пропорционально MV, верхний предел по умолчанию тоже 4095.
Команда выполняется не каждый цикл, а по истечении периода выборки. Требование к периоду: при импульсном выводе он должен быть больше периода сканирования, а рекомендуемое значение — в 100–1000 раз больше периода сканирования контроллера. Для вывода через аналоговый модуль ограничений на период нет. Функция ПИД требует ПО версии 3.2 или новее.
Прикреплённая документация
Георгий Жуков
Ведущий инженер