|
0 / 0 / 0
Регистрация: 07.07.2016
Сообщений: 8
|
|
[DirectLogic DL06] Выход ПИД переполняется11.06.2021, 15:22. Показов 1193. Ответов 11
Метки нет (Все метки)
Доброго дня помогите с настройкой ПИД. Имеются две петли (loop1 и loop2) При работе выход по петле два, горит красным, но если уставку поменять на точно такую-же то все начинает работать. Имеется ввиду вкладка настройки loop2- output- установленно 2000, если это же число перезаписать то пид начинает работать. Если надо вышлю тело программы.
0
|
|
| 11.06.2021, 15:22 | |
|
Ответы с готовыми решениями:
11
ПИД в симулинк и перенос в реальный ПИД контроллер Стек переполняется и переполняется... Переполняется стек |
|
Модератор
|
|
| 11.06.2021, 18:16 | |
|
Не могу понять проблему.
Значение в output меняет ПЛК и перезапись не должна менять ситуацию. Покажите лучше настройки контура и его состояние при переполнении выхода. В программе ковыряться не хочу - обработчик ПИД для КЗР около сотни строк.
0
|
|
|
0 / 0 / 0
Регистрация: 07.07.2016
Сообщений: 8
|
|
| 14.06.2021, 11:08 [ТС] | |
|
Доброго дня! Есть мануал адекватный, как его настраивать? Могу скинуть тело программы,или скрины настройки ПИД, как вам будет удобней?
0
|
|
|
Модератор
|
|
| 14.06.2021, 11:52 | |
|
Мне в своё время хватило описания из двухтомного мануала к DL06.
В самой программе я прописываю инициализацию (кажется 4-5 ячеек), иначе без электропитания и батарейки содержимое ОЗУ стирается и ПИД регуляторы исчезают. Программа большая? Просто нет особого желания ковырять код... Прикрепляйте скрины настройки, программу, а также, если не сложно - образ памяти (получается при помощи утилиты DNLoader - в меню оболочки при пуске DirectSoft). Попробую разобраться, хотя не обещаю, что смогу реально помочь. Добавлено через 26 секунд И покажите, что и куда записываете при переполнении. Добавлено через 20 минут Само значение выхода ПИД формируется ПЛК как сумма BIAS (интегральной) и пропорциональной с дифференциальной составляющих. Поэтому изменение в самой таблице влияет только на обработчик ПИД в программе пользователя.
0
|
|
|
0 / 0 / 0
Регистрация: 07.07.2016
Сообщений: 8
|
|
| 14.06.2021, 13:39 [ТС] | |
|
Нет программа не большая, из тех задания скажем так, Две термопары в одном сосуде нагрев по периметру, одна стоит по центру контура печи, вторая возле вентилятора на крышке. Температура цикла контролируется по первой термопаре(loop1) всего три цикла по температурам
0
|
|
|
Модератор
|
|
| 14.06.2021, 19:39 | |
|
Тяжело читать программу - нет комментариев, нет пояснений назначений элементов.
Ctrl-K - комментарий к одной строке F9 - дать пояснение к переменной. И ещё раз повторю - инициализация контуров только из мастера - ошибка, т.к. эти данные сотруться при длительном отключении электричества. Добавлено через 1 час 24 минуты Поясните, как работает программа - что за обработка входов и выходов? Почему значения выходов ПИД ограничены какими-то произвольными числами? Что за модули в слотах? Добавлено через 39 минут Думаю, что нужно сделать перенастройку форматов входных и выходных данных - привести в соответствие с возможностями входных и выходных модулей (раз уж пересчёта в самой программе не выполняется). По-моему, все модули 12-разрядные, что ограничивает диапазоны входов и выходов значениями 0...4095.
0
|
|
|
0 / 0 / 0
Регистрация: 07.07.2016
Сообщений: 8
|
|
| 15.06.2021, 14:05 [ТС] | |
|
В том то и дело нет каких либо кометариев. Алгоритм такой, что есть две термопары верхняя определяет температуру цикла, нижняя находится почти у тэнов. На нижней температура растет быстрее верхней, во втором контуре как раз и записаны её данный , но опираються на температуру цикла которая прописывается в первом контуре. Регулировка симисторами идёт через блок БУСТ, аналоговый выход контроллера F0-4AD21DA-2. Можете написать пример настройки пид регулятора для такой системы, с данными уже разберусь сам. Температура первого цикла 580, второго 560,третьего 100гр цельсия. Нижняя температура в момент разогрева доходит до 630, потом выравнивается с показаниями верхней (580)
0
|
|
|
Модератор
|
|
| 15.06.2021, 14:25 | |
|
Комментарии добавляет программист - иначе можно запутаться с номером бита или переменной.
Что такое x0, x1, x2, x3..., c0, c1, c2, v1200.... - а в программе множество ветвлений по условию сравнения бит и переменных. Что такое "опирается на температуру"? Каким модулем считывается температура? Вечером приду домой, если смогу - набросаю, но это только набросок, т.к. отладить не смогу. Поэтому проверяйте каждый элемент. Добавлено через 1 минуту Опишите взаимосвязь между уставками контуров.
0
|
|
|
0 / 0 / 0
Регистрация: 07.07.2016
Сообщений: 8
|
|
| 15.06.2021, 15:33 [ТС] | |
|
Модуль F0-04THM. Опирается, это значит что старается не превысить её при работе
0
|
|
|
Модератор
|
|
| 15.06.2021, 21:17 | |
|
Что-то я немного устал.
Собрал тестовую программу. Для одного контура набрал, а для остальных нужно сдублировать. Это конфигурирование контуров (в моём случае - только одного - первого). Форматы данных подогнаны под форматы модулей ввода и вывода. Вместо "аппаратного" ввода, вывода и каскадирования предлагаю программно переносить SP и PV. Т.е. программно записывать в таблицы PV, SP. Посмотрите, может быть этот пример поможет. Я не стал повторять полностью структуру вашей программы с использованием стадий, т.к. это пример.
0
|
|
|
0 / 0 / 0
Регистрация: 07.07.2016
Сообщений: 8
|
|
| 17.06.2021, 04:29 [ТС] | |
|
Большое спасибо попробую разобраться!
0
|
|
|
Модератор
|
|
| 17.06.2021, 08:27 | |
|
Это не до конца рабочая программа - просто пример.
Я предлагаю: 1. инициализация модулей 2. инициализация ПИД (в примере только 1 контур), подогнав форматы PV, SP, OUT под таковые в модулях. 3. чтение и занесение в PV контура ПИД делать из программы, при этом получается делать обработку входа (фильтрацию по формулам или блоком FILTERB IB-402, делать коррекцию измерений аддитивную и мультипликативную). Обработку показывать не стал. 4. занесение значения OUT в модуль делать программно - получиться обрабатывать выход произвольным образом. Про каскадирование просто не понял, т.к. с выхода ПИД первого контура выходит не уставка температуры для второго контура, а мощность нагрева ТЭНов. Добавлено через 2 минуты Ещё можно делать программно плавный выход на уставку - когда SP задаётся не сразу, а изменяется во времени, плавно приближаясь к настоящей уставке.
0
|
|
| 17.06.2021, 08:27 | |
|
Помогаю со студенческими работами здесь
12
Память переполняется
Почему массив не переполняется? Почему переполняется стек
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|