Segnetics

Вернуться   Segnetics > Форум Segnetics > Вопросы о программировании

Вопросы о программировании Вопросы, касающиеся программирования на FBD

Ответ
 
Опции темы Поиск в этой теме
Старый 02.09.2015, 19:39   #1
djaval
Senior Member
 
Регистрация: Nov 2013
Адрес: Санкт-Петербург
Сообщения: 213
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Держать минимальную температуру котлов

Приветствую!

Arsie, мне нужно из вашего макроса vPID_v3 из глубин вытянуть наружу величину U с выхода блока "iPID", который находится внутри блока "Регулятор".

У вас макрос как-то хитро составлен, что в нём не добавить новый выход... Поможете с этим?
djaval вне форума   Ответить с цитированием
Старый 03.09.2015, 10:35   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Ошибка в ПИД. Тема №2

Цитата:
Сообщение от djaval Посмотреть сообщение
Приветствую!

Arsie, мне нужно из вашего макроса vPID_v3 из глубин вытянуть наружу величину U с выхода блока "iPID", который находится внутри блока "Регулятор".

У вас макрос как-то хитро составлен, что в нём не добавить новый выход... Поможете с этим?
Если не секрет, какова цель такого вытягивания?


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 03.09.2015, 18:30   #3
djaval
Senior Member
 
Регистрация: Nov 2013
Адрес: Санкт-Петербург
Сообщения: 213
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Ошибка в ПИД. Тема №2

Цитата:
Сообщение от Arsie Посмотреть сообщение
Если не секрет, какова цель такого вытягивания?
Мне нужно отслеживать, когда регулятор ГВС при прочих равных не может нагреть до уставки, и тогда постепенно повышать уставку для котлов.
Если U=1000 (или >900 например), то температуры в котловом контуре не хватает, чтобы нагреть ГВС.
В конечном счёте, задача держать уставку для котлов минимально возможной, но при этом повышать её если не удаётся нагреть воды до нужной темп.
djaval вне форума   Ответить с цитированием
Старый 04.09.2015, 11:30   #4
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Ошибка в ПИД. Тема №2

Цитата:
Сообщение от djaval Посмотреть сообщение
Мне нужно отслеживать, когда регулятор ГВС при прочих равных не может нагреть до уставки, и тогда постепенно повышать уставку для котлов.
Если U=1000 (или >900 например), то температуры в котловом контуре не хватает, чтобы нагреть ГВС.
В конечном счёте, задача держать уставку для котлов минимально возможной, но при этом повышать её если не удаётся нагреть воды до нужной темп.
Если U=1000, то в этом случае сигнал на открывание имеет максимальную длительность, т.е. выдаётся не прерываясь.

Точно также, измеряя скважность выхода, всегда можно получить управляющее воздействие.

С другой стороны, схема сравнения CMP(U=1000) или даже CMP(U>900) ущербна по своей сути.

Я бы на вашем месте сделал следующую схему: счётчик, который считает от 0 до L. Если сигнал превышает длительность 0.3*L (точнее, максимально допустимую коррекцию девиации температуры), повышать уставку котла. Циклы повышения производить раз в время реакции системы Котёл/ГВС.

Обратный алгоритм завязать чисто на время. Раз в время реакции понижать котловую уставку вплоть до того момента, пока не начнутся импульсы на открывание.

Далее тайм-аут, если импульсы на открывание прекратились, понижаем котловую уставку дальше. И так по циклу.

Эту петлю подстройки вполне разумно отключать на время старта системы. И главное: не переборщить с подстройкой, чтобы клапан не убить частыми движениями. Под это дело термостатический привод более подходит, но я не думаю, что у вас он установлен..


PS. Вы потихоньку начинаете ходить правильной дорогой Уже завязываетесь не на температуру а на регулятор. Это правильно.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 04.09.2015 в 12:13
Arsie вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 01:08.


Версия vBulletin: 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2024