Разработчик: воросы / ответы
Светлана писал(а):Б.Е.Г. писал(а):В описании DOUT16-T80 сказано: поддерживает импульсный режим, но не сказано,как его установить.
Это не в модуле включается.
В дискрете (который управляет выходом) 0-откл, 1-вкл, Динамика+NN - выдать импульс длитетельностью NN мсек (до 8 сек).
Подробнее можно почитать в справке "Прикладной флаг (APP)" в разделе "ПО контроллера деконт\Базы текущих значений"
Не понял: какая таблица, какая графа? Смотрю действующие конфигурации - ничего похожего.
Б.Е.Г. писал(а):Хотел создать хранилище, но менеджер выдал ошибку на английском о пароле и администраторе. Может кто нибудь объяснить мне по русски и подробно?
Скорее всего по каким-то причинам у Вас не создан пользователь SYSDEP на Firebird сервере(возможно при установке ПО "Работа с архивами" Вы отказались от его создания). Для исправления этого запустите программу "Менеджер хранилища", в меню "Хранилище" выполните "Добавить пользователя SYSDEP", затем кнопку "ОК".
С уважением Климов Александр
Компания ДЭП
г. Москва
(495) 995-00-12 доб. 150
Компания ДЭП
г. Москва
(495) 995-00-12 доб. 150
-
- Сообщения: 108
- Зарегистрирован: 15 мар 2007, 14:56
- Откуда: Компания ДЭП
Б.Е.Г. писал(а):Светлана писал(а):Б.Е.Г. писал(а):В описании DOUT16-T80 сказано: поддерживает импульсный режим, но не сказано,как его установить.
Это не в модуле включается.
В дискрете (который управляет выходом) 0-откл, 1-вкл, Динамика+NN - выдать импульс длитетельностью NN мсек (до 8 сек).
Подробнее можно почитать в справке "Прикладной флаг (APP)" в разделе "ПО контроллера деконт\Базы текущих значений"
Не понял: какая таблица, какая графа? Смотрю действующие конфигурации - ничего похожего.
Речь идет не о конфигурационной таблице какого-то компанента, а о правиле записи значения в элемент базы параметров (БП) дискретов.
Этот элемент настроен на канал модуля DOUT16 в обработке дискретов.
Так вот, если в этот дискрет БП записать число (4 до 8191) + динамика, то модуль воспримет это число как длительность импульса в мсек. Длительность можно задавать и в секундах, если использовать прикладной флаг (АРР) = 1.
Динамика = 16384
АРР = 8192
Например, для импульса = 2 сек нужно записать значение = 2000+16384 или 2+8192+16384
-
- Администратор
- Сообщения: 118
- Зарегистрирован: 29 май 2009, 13:45
- Откуда: Компания ДЭП
- Контактная информация:
Б.Е.Г. писал(а):- Кусиления ко всем компонетам формулы, или только к первому?
- nf как он входит в формулу, каков его порядок сотни? сотые доли?
Кп - общий коэффициент усиления
Nf - обычно 0 - конечные разности
1. Описание ПИД-регулятора в позиционной форме:
Ypd = Kp * (E + Td * ExpFilter((-dX), Tf )) (1а)
Y = Ypd + Yi + Kp * E * Ts /Ti (1б)
dX = X - Xprev -- приращение регулируемой величины
E = Xo - X -- ошибка регулятора, здесь упрощённая форма (2)
Xo -- уставка регулятора
Х -- регулируемая величина
Kp -- коэффициент усиления (пропорциональности)
Ti -- постоянная времени изодрома (интегрирования)
Td -- постоянная времени предварения (дифференцирования)
Ts -- такт регулятора
Tf = Td / Nf -- постоянная времени экспоненциального фильтра 1-го
порядка, если Nf = 0 фильтрация не производиться - используются конечные
разности
ExpFilter( x, t) -- экспоненциальный фильтр 1-го порядка:
x' = (1-b) * x'prev + b * x, b = exp(-1/t), x' -- отфильтрованная
величина
Полученное значение Y проверяется на соответствие границам:
Y = MIN( Ymax, MAX(Ymin, Y))
Если производится запуск регулятора (Пуск==true), то никаких
вычислений не производится и Y = Ys - пусковому значению управления.
Потом производиться коррекция интегральной суммы (защита от
насыщения):
Yi = Y - Ypd
Примечание: Вычисление ошибки регулятора
Ошибка регулятора Е вычисленная по формуле (2) корректируется с помощью зоны
нечувствительности:
Код: Выделить всё
Если dX >= 0, то
| E - dX, E>dX
E = | 0, |E| <= dX
| E+dX, E<-dX
иначе (т.е. dX < 0), то
| E , |E| > dX
E = | 0, |E| <= dX
2. Описание ПИД-регулятора в форме приращений:
Вычисляется приращение (изменение) регулируемой величины от одного
такта к другому, поэтому пропорциональная часть зависит не от ошибки
регулятора, а от величины её изменения, интегральная часть не содержит
интегральную сумму, и дифференциальная составляющая зависит не от величины
изменения ошибки, а от приращения скорости изменения ошибки регулятора:
Y = Kp * (dE + 1/Ti * E * Ts + Td * ExpFilter((dVe), Tf )) (3)
dVe = - dVx = (dX/Ts)prev - (dX/Ts) -- скорость изменения ошибки
dX = X - Xprev -- приращение регулируемой величины
dE = E - Eprev -- приращение ошибки регулятора
E = Xo - X -- ошибка регулятора
Xo -- уставка регулятора
Х -- регулируемая величина
Kp -- коэффициент усиления (пропорциональности)
Ti -- постоянная времени изодрома (интегрирования)
Td -- постоянная времени предварения (дифференцирования)
Ts -- такт регулятора
Tf = Td / Nf -- постоянная времени экспоненциального фильтра 1-го
порядка, если Nf = 0 фильтрация не производиться - используются конечные
разности
ExpFilter( x, t) -- экспоненциальный фильтр 1-го порядка:
x' = (1-b) * x'prev + b * x, b = exp(-1/t), x' -- отфильтрованная
величина
Получившаяся по формуле (1) величина трактуется как длительность импульса
управления (знак задает направление) и превращается в 3 сигнала - один
логический ("Управлять") и два дискретных ("Увеличить" и "Уменьшить"). Выход
"Управлять" является признаком необходимости записи в выходные управляющие
дискреты значений с выходов "Увеличить" и "Уменьшить". Запись нужно
осуществлять с установленным битом динамики этих дискретов, т.к. значения на
этих выходах обычно содержат длительность импульса в миллисекундах, который
должен сформировать DOUT8, и лишь когда длительность импульса управления
больше 8 секунд на соответствующем выходе появляется 1
Последний раз редактировалось dws 15 июл 2009, 13:47, всего редактировалось 1 раз.
Контроллер А9 не запускается в отладочный режим. Ошибка - невозможно создать таблицу компонент Pwb4v2_2_1/
История:
1 Работал с 4 компонентами Pid (кроме, конечно,базовых).
2 Дополнительно загрузил 1 компонент Pwb. Проверил работу, все нормально.
3. Загрузил еще 4 шт компонента Pwb. И пошла ошибка, сначала на 2-й компонент кивала, потом на 3-й. По-моему, создание таблицы компонента - не моя задача?
4. Через какое-то время контроллер перезагрузился из пзу и работает по п.1.
Подскажите, пожалуйста, кто может - как быть? Объект стоит!
История:
1 Работал с 4 компонентами Pid (кроме, конечно,базовых).
2 Дополнительно загрузил 1 компонент Pwb. Проверил работу, все нормально.
3. Загрузил еще 4 шт компонента Pwb. И пошла ошибка, сначала на 2-й компонент кивала, потом на 3-й. По-моему, создание таблицы компонента - не моя задача?
4. Через какое-то время контроллер перезагрузился из пзу и работает по п.1.
Подскажите, пожалуйста, кто может - как быть? Объект стоит!
-
- Сообщения: 108
- Зарегистрирован: 15 мар 2007, 14:56
- Откуда: Компания ДЭП
Б.Е.Г. писал(а):Контроллер А9 не запускается в отладочный режим. Ошибка - невозможно создать таблицу компонент Pwb4v2_2_1/
История:
1 Работал с 4 компонентами Pid (кроме, конечно,базовых).
2 Дополнительно загрузил 1 компонент Pwb. Проверил работу, все нормально.
3. Загрузил еще 4 шт компонента Pwb. И пошла ошибка, сначала на 2-й компонент кивала, потом на 3-й. По-моему, создание таблицы компонента - не моя задача?
4. Через какое-то время контроллер перезагрузился из пзу и работает по п.1.
Подскажите, пожалуйста, кто может - как быть? Объект стоит!
Видимо ОЗУ под таблицы не хватает. Увеличьте размер ОЗУ под таблицы (компонент "Системная задача", таблица "Настройки")
Поскольку мне удалось слелать 1-ю версию моего блока и учитывая, что в разделе слишком много записей хочу сказать следующее:
- спасибо всем за помощь!
- перехожу к работе с конструктором модели, вопросы буду помещать в новом разделе;
- работать в "Разработчике" мне в целом понравилось. Сочетая графику и текст, по-моему, можно строить любые алгоритмы. Есть и замечания и пожелания, данный раздел их содержит. Только, к сожалению, не вижу реакции на некоторыу из них. Если вам интересно, готов выслать на e_mail отдельную записку.
С уважением, Гаврилов Б.Е.
P.S. Но ответа от dws жду...
- спасибо всем за помощь!
- перехожу к работе с конструктором модели, вопросы буду помещать в новом разделе;
- работать в "Разработчике" мне в целом понравилось. Сочетая графику и текст, по-моему, можно строить любые алгоритмы. Есть и замечания и пожелания, данный раздел их содержит. Только, к сожалению, не вижу реакции на некоторыу из них. Если вам интересно, готов выслать на e_mail отдельную записку.
С уважением, Гаврилов Б.Е.
P.S. Но ответа от dws жду...
Не нашла Вашего вопроса к dws. Советую, конкретный вопрос отправить ему по почте.
Буду признательна, если замечания по этой теме отправите мне на почту vss@dep.ru
ПыСы Проблема с полосами прокрутки известна, исправляется не так чтобы тривиально. Обязуемся исправить. Чтобы не иметь проблем пока желательно сохранять блоки так, чтобы скроллы находились в крайне левом-верхнем положении (или не делать полотно блоков большим)
Буду признательна, если замечания по этой теме отправите мне на почту vss@dep.ru
ПыСы Проблема с полосами прокрутки известна, исправляется не так чтобы тривиально. Обязуемся исправить. Чтобы не иметь проблем пока желательно сохранять блоки так, чтобы скроллы находились в крайне левом-верхнем положении (или не делать полотно блоков большим)
-
- Администратор
- Сообщения: 118
- Зарегистрирован: 29 май 2009, 13:45
- Откуда: Компания ДЭП
- Контактная информация:
Б.Е.Г. писал(а):...Но ответа от dws жду...
Думаю нужно ответить и тут.
Формула для приращений - это просто разница между двумя значениями через такт. Так, что пропорциональная часть при постоянной ошибке действительно равна нулю для формы в приращениях - т.к. пропорциональная часть остаётся постоянной.
А вот интегральная составляющая, приращение которой пропорционально ошибке
Yi = Kp * ( 1/Ti * E * Ts )
- остается постоянной и не равной 0 величиной, т.к. интеграл растет линейно при постоянном рассогласовании. Дифсоставляющая, очевидгно равна 0 и так, и так.
dws, здравствуйте.
Вы пишете
Yi = Kp * ( 1/Ti * E * Ts ),
но в Вашем ответе от 1 июля было:
Yi = Kp * ( 1/Ti * dE * Ts )!
Что же на самом деле - E или dE?
Если Е, то непонятно почму на практике регулятор СУТКАМИ
не реагирует еа рассогласование в 10 градусов.
Правда, у нас стоит Кр=0,5 и Ти=100, но не сутками же накапливается
воздействие хотя бы в 1 сек, а там должны заработать другие коэффициенты.
И еще, большая интегральная вызывает раскачку.
Вы пишете
Yi = Kp * ( 1/Ti * E * Ts ),
но в Вашем ответе от 1 июля было:
Yi = Kp * ( 1/Ti * dE * Ts )!
Что же на самом деле - E или dE?
Если Е, то непонятно почму на практике регулятор СУТКАМИ
не реагирует еа рассогласование в 10 градусов.
Правда, у нас стоит Кр=0,5 и Ти=100, но не сутками же накапливается
воздействие хотя бы в 1 сек, а там должны заработать другие коэффициенты.
И еще, большая интегральная вызывает раскачку.
С уважением, Б.Гаврилов
Теплосеть г. Королев.
Теплосеть г. Королев.