Segnetics

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2021, 12:53   #1
ufo-root
Новичок
 
Регистрация: 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 (обновить контроллер не могу)
ufo-root вне форума   Ответить с цитированием
Старый 25.11.2021, 12:56   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 112
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: MyPIDv7

Цитата:
Сообщение от ufo-root Посмотреть сообщение
Р=-2
I=+20
D=0

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

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


PS. Картинку загонять в ворд - то ещё извращение...


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Благодарность от:
Старый 25.11.2021, 13:04   #3
ufo-root
Новичок
 
Регистрация: Jun 2015
Сообщения: 26
Благодарил(а): 1 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: MyPIDv7

Цитата:
Сообщение от Arsie Посмотреть сообщение

PS. Картинку загонять в ворд - то ещё извращение...
Нет редактора, и устанавливать его не хочется (
ufo-root вне форума   Ответить с цитированием
Старый 25.11.2021, 13:08   #4
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 112
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: MyPIDv7

Цитата:
Сообщение от ufo-root Посмотреть сообщение
Нет редактора, и устанавливать его не хочется (
В винде нет паинта? Ну вы прямо удивили... А если вдруг у меня ворда нет?


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 25.11.2021, 13:31   #5
ufo-root
Новичок
 
Регистрация: Jun 2015
Сообщения: 26
Благодарил(а): 1 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: MyPIDv7

Поэтому продублировал буквами )
ufo-root вне форума   Ответить с цитированием
Старый 08.12.2021, 13:35   #6
ufo-root
Новичок
 
Регистрация: Jun 2015
Сообщения: 26
Благодарил(а): 1 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: MyPIDv7

Макрос вообще не умеет работать с отрицательными значениями?

а если необходимо сделать отрицательную температуру?
Вложения
Тип файла: pdf пример.pdf (48.2 Кбайт, 38 просмотров)
ufo-root вне форума   Ответить с цитированием
Старый 08.12.2021, 13:47   #7
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 335
Благодарил(а): 0 раз(а)
Поблагодарили: 255 раз(а) в 251 сообщениях
По умолчанию Ответ: MyPIDv7

Вы читали описание на макрос? У вас выставлен диапазон от 0.


__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию
Ilya J. вне форума   Ответить с цитированием
Старый 08.12.2021, 13:50   #8
ufo-root
Новичок
 
Регистрация: Jun 2015
Сообщения: 26
Благодарил(а): 1 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: MyPIDv7

Воздействие на оборудование (выход PID) от 0 до 1000, так и надо.

отрицательная уставка, в данном случае

На входе "Сброс" = 1
на входе "Data" = 0
на выходе "U" не равно Data
ufo-root вне форума   Ответить с цитированием
Старый 08.12.2021, 13:58   #9
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 112
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: MyPIDv7

Цитата:
Сообщение от ufo-root Посмотреть сообщение
Воздействие на оборудование (выход PID) от 0 до 1000, так и надо.

отрицательная уставка, в данном случае

На входе "Сброс" = 1
на входе "Data" = 0
на выходе "U" не равно Data
Макрос MyPID_v7 не является нашим библиотечным макросом и не распространяется нами как самостоятельный программный компонент. Поэтому ваши вопросы нужно направить тому человеку, который вам дал этот макрос. Если вы лично вытаскиваете компонент из окружающей его функции, то будьте добры изучить эту функцию и особенности применения компонента в её составе.

Что касается вашей картинки, число на выходе отличается от нуля шестым знаком после запятой. Это укладывается в точность вычислений по формату 32-разрядного float. Другими словами, число на выходе находится в поле допуска нуля. Всё это рассказывается на первом курсе института, где объясняют, что числа с плавающей точкой обладают конечной точностью и прямое сравнение их с константами недопустимо. Ноль - это константа. Сравнение должно выполняться по формуле "U - 0 <= поле допуска". Если неравенство выполняется, то U равно нулю.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 08.12.2021, 14:06   #10
ufo-root
Новичок
 
Регистрация: Jun 2015
Сообщения: 26
Благодарил(а): 1 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: MyPIDv7

SMConstructor(HVAC) - > создать проект
в проекте открываем макрос Калорифер v1.42
ufo-root вне форума   Ответить с цитированием
Старый 08.12.2021, 14:09   #11
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 112
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: MyPIDv7

Цитата:
Сообщение от ufo-root Посмотреть сообщение
Макрос вообще не умеет работать с отрицательными значениями?
Проблема не в макросе, макрос работает правильно.



Цитата:
Сообщение от ufo-root Посмотреть сообщение
а если необходимо сделать отрицательную температуру?
Похоже, вы вообще не понимаете, как работает САУ.


Добавлено через 49 секунд


Цитата:
Сообщение от ufo-root Посмотреть сообщение
SMConstructor(HVAC) - > создать проект
в проекте открываем макрос Калорифер v1.42
Если вы лично вытаскиваете компонент из окружающей его функции, то будьте добры изучить эту функцию и особенности применения компонента в её составе.

Библиотечный регулятор: https://forum.segnetics.com/showthread.php?t=964


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 08.12.2021, 14:13   #12
ufo-root
Новичок
 
Регистрация: Jun 2015
Сообщения: 26
Благодарил(а): 1 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: MyPIDv7

Ваше замечание справедливо
ufo-root вне форума   Ответить с цитированием
Ответ


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

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



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


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