|
Вопросы о программировании Вопросы, касающиеся программирования на FBD |
|
Опции темы | Поиск в этой теме |
25.11.2021, 12:53 | #1 |
Новичок
Регистрация: Jun 2015
Сообщения: 26
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
MyPIDv7
Добрый день.
При использовании PID регулятора MyPIDv7 для регулирования холода, т.е. увеличиваем мощность при увеличении температуры. Столкнулся с проблемой: Когда разница между заданием (+6°С), и фактом (+22°С), большая ПИД регулятор выставляет значение =0 параметры следующие Р=-2 I=+20 D=0 Как мне кажется проблема в отрицательном значении параметра P. Причем, когда значения Уставки и датчика именно такие как написал выше, U=0, поменял P на положительное значение, Выход U начал уменьшаться от значения 1000, к 0. После того как регулятор отсчитал до 0, вернул отрицательное значение Р и регулятор начал работать, так как от него ожидается.. т.е. увеличивать значение U от 0 до 1000 P.S. Контроллер SMH40011-00-0 Версия SMLogix 3.32.0173 (обновить контроллер не могу) |
25.11.2021, 12:56 | #2 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: MyPIDv7
Цитата:
Если вам нужно поменять знак регулирования, поменяйте датчик и уставку местами. PS. Картинку загонять в ворд - то ещё извращение... __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
Благодарность от: |
25.11.2021, 13:04 | #3 |
Новичок
Регистрация: Jun 2015
Сообщения: 26
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: MyPIDv7
|
25.11.2021, 13:08 | #4 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: MyPIDv7
В винде нет паинта? Ну вы прямо удивили... А если вдруг у меня ворда нет?
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
25.11.2021, 13:31 | #5 |
Новичок
Регистрация: Jun 2015
Сообщения: 26
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: MyPIDv7
Поэтому продублировал буквами )
|
08.12.2021, 13:35 | #6 |
Новичок
Регистрация: Jun 2015
Сообщения: 26
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: MyPIDv7
Макрос вообще не умеет работать с отрицательными значениями?
а если необходимо сделать отрицательную температуру? |
08.12.2021, 13:47 | #7 |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 355
Благодарил(а): 0 раз(а)
Поблагодарили:
256 раз(а) в 252 сообщениях
|
Ответ: MyPIDv7
Вы читали описание на макрос? У вас выставлен диапазон от 0.
__________________ Если ничто другое не помогает, прочтите, наконец, инструкцию |
08.12.2021, 13:50 | #8 |
Новичок
Регистрация: Jun 2015
Сообщения: 26
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: MyPIDv7
Воздействие на оборудование (выход PID) от 0 до 1000, так и надо.
отрицательная уставка, в данном случае На входе "Сброс" = 1 на входе "Data" = 0 на выходе "U" не равно Data |
08.12.2021, 13:58 | #9 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: MyPIDv7
Цитата:
Что касается вашей картинки, число на выходе отличается от нуля шестым знаком после запятой. Это укладывается в точность вычислений по формату 32-разрядного float. Другими словами, число на выходе находится в поле допуска нуля. Всё это рассказывается на первом курсе института, где объясняют, что числа с плавающей точкой обладают конечной точностью и прямое сравнение их с константами недопустимо. Ноль - это константа. Сравнение должно выполняться по формуле "U - 0 <= поле допуска". Если неравенство выполняется, то U равно нулю. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
08.12.2021, 14:06 | #10 |
Новичок
Регистрация: Jun 2015
Сообщения: 26
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: MyPIDv7
SMConstructor(HVAC) - > создать проект
в проекте открываем макрос Калорифер v1.42 |
08.12.2021, 14:09 | #11 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: MyPIDv7
Проблема не в макросе, макрос работает правильно.
Похоже, вы вообще не понимаете, как работает САУ. Добавлено через 49 секунд Цитата:
Библиотечный регулятор: https://forum.segnetics.com/showthread.php?t=964 __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
08.12.2021, 14:13 | #12 |
Новичок
Регистрация: Jun 2015
Сообщения: 26
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: MyPIDv7
Ваше замечание справедливо
|