PID controller on FX1N in GX Works2
-
- Posts: 10
- Joined: Fri Nov 10, 2017 8:08 am
PID controller on FX1N in GX Works2
Я тут искал искал и нашел библиотеку, вроде все должно было упроститься, но нет же. Там несколько видов пида для fx, мне не нужна авто настройка по этому я решил использовать симпл пид, но я с ним ни как не могу подружиться. Настроил те параметры которые мне нужны, но работает не совсем так как мне нужно. Печь должна нагреваться до 900 градусов и потом поддерживать данную температуру, а она нагревается до 1000(это максимальное верхнее ограничение). Колебания конечно должны быть как можно меньше потому что если будут большой диапазон то заготовки будут нагреваться по разному это плохо.
1) Нагревается не до SetpointValue=900, а до MVHighLimitValue=1000. Для чего тогда SetpointValue? И если я на деле буду греть что дальше будет? Он на 1000 что будет делать? Если он в нее уперся, сгорит?
2)При OperationDirection=0 должно работать на нагрев, а на 1 должен быть реверс, а работает на оборот. А иногда то так то так при том что не меняешь цифру, просто 1 стоит, а он то греет то охлаждает.
3)Параметр ProcessValueя так понял это показания с термопары, на которые он должен корректировать выходной сигнал, но результат вообще странный. Я меняю цифру или не меняю все одно точно так же быстро нагревает или иногда зависает и не греет. Его предел, до 12000 это как? Мне нужно что бы грелось до 900 значитесли значение ProcessValueя 900 он должен перестать греть? А я когда ставлю 100 он останавливается и не важно где то на 70 то на 300 на выходе.
Помогите пожалуйста разобрать с работой данного блока.
1) Нагревается не до SetpointValue=900, а до MVHighLimitValue=1000. Для чего тогда SetpointValue? И если я на деле буду греть что дальше будет? Он на 1000 что будет делать? Если он в нее уперся, сгорит?
2)При OperationDirection=0 должно работать на нагрев, а на 1 должен быть реверс, а работает на оборот. А иногда то так то так при том что не меняешь цифру, просто 1 стоит, а он то греет то охлаждает.
3)Параметр ProcessValueя так понял это показания с термопары, на которые он должен корректировать выходной сигнал, но результат вообще странный. Я меняю цифру или не меняю все одно точно так же быстро нагревает или иногда зависает и не греет. Его предел, до 12000 это как? Мне нужно что бы грелось до 900 значитесли значение ProcessValueя 900 он должен перестать греть? А я когда ставлю 100 он останавливается и не важно где то на 70 то на 300 на выходе.
Помогите пожалуйста разобрать с работой данного блока.
-
- Posts: 371
- Joined: Wed Oct 13, 2010 8:44 am
- Location: Russian Federation
Re: PID controller on FX1N in GX Works2
Мда....Luksor wrote:Я тут искал искал и нашел библиотеку, вроде все должно было упроститься, но нет же. Там несколько видов пида для fx, мне не нужна авто настройка по этому я решил использовать симпл пид, но я с ним ни как не могу подружиться. Настроил те параметры которые мне нужны, но работает не совсем так как мне нужно. Печь должна нагреваться до 900 градусов и потом поддерживать данную температуру, а она нагревается до 1000(это максимальное верхнее ограничение). Колебания конечно должны быть как можно меньше потому что если будут большой диапазон то заготовки будут нагреваться по разному это плохо.
1) Нагревается не до SetpointValue=900, а до MVHighLimitValue=1000. Для чего тогда SetpointValue? И если я на деле буду греть что дальше будет? Он на 1000 что будет делать? Если он в нее уперся, сгорит?
2)При OperationDirection=0 должно работать на нагрев, а на 1 должен быть реверс, а работает на оборот. А иногда то так то так при том что не меняешь цифру, просто 1 стоит, а он то греет то охлаждает.
3)Параметр ProcessValueя так понял это показания с термопары, на которые он должен корректировать выходной сигнал, но результат вообще странный. Я меняю цифру или не меняю все одно точно так же быстро нагревает или иногда зависает и не греет. Его предел, до 12000 это как? Мне нужно что бы грелось до 900 значитесли значение ProcessValueя 900 он должен перестать греть? А я когда ставлю 100 он останавливается и не важно где то на 70 то на 300 на выходе.
Помогите пожалуйста разобрать с работой данного блока.
Ты абсолютно не разобрался в том, как работают ПИД-регуляторы.
Setpoint - твоя уставка, желательное значение параметра ProcessValue.
ProcessValue - текущее значение технологического параметра, в твоём случае температуры в печи.
ManipulatedValue - это не температура, это управляющее воздействие. И его границы в 0-1000 ты сам задал. Какой должен быть диапазон MV? - Ответь на вопросы ниже.
А вот дальше многое непонятно:
- Чем осуществляется нагрев? Что из себя представляет регулятор нагрева?
- Какой входной сигнал принимает нагреватель?
- Чему соответствует полное отключение нагрева? Чему соответствует нагрев на полной мощности?
- На основании чего выбраны коэффициенты ПИД-регулятора? Перерегулирование очень даже возможно при неправильных коэффициентах. А иногда и вполне допустимо по техппроцессу.
-
- Posts: 10
- Joined: Fri Nov 10, 2017 8:08 am
Re: PID controller on FX1N in GX Works2
1)Нагревание осуществляется с помощью 2 х тэн (спиралей). Там все интересно сделано...симистор, оптопара ...ну вообщем суть в том что нам нужно нагревать печь от 0 до 900. 900 это температура которая должна постоянно держаться. Но так точно не нагреть по этому при стабилизации на 900 она скачет до 940 и потом стабилизируется.Rex2701 wrote:
- Чем осуществляется нагрев? Что из себя представляет регулятор нагрева?
- Какой входной сигнал принимает нагреватель?
- Чему соответствует полное отключение нагрева? Чему соответствует нагрев на полной мощности?
- На основании чего выбраны коэффициенты ПИД-регулятора? Перерегулирование очень даже возможно при неправильных коэффициентах. А иногда и вполне допустимо по техппроцессу.
2)Температура в градусах Цельсия.
3)Полное отключение 0. на полную 900. Конечно там есть поле где можно менять температуру на панели и какую температуру оператор установит, такая и будет. Но в нашем случае это чаще 900.
4)Коэффициенты были подобраны опытным путем. Другая печь с пид МЕТАКОН и методом экспериментов были подобраны оптимальные коэффициенты. По этим данным построены графики нагреф происходит плавно и перерегулирования почти нет. В нашем случае перерегулирование не желательно.
-
- Posts: 371
- Joined: Wed Oct 13, 2010 8:44 am
- Location: Russian Federation
Re: PID controller on FX1N in GX Works2
Ты опять не понял по п.2 и п.3.
У тебя ТЭНы нагреваются от температуры что-ли? Или всё-таки от протекающего через них тока? Ток как-то регулируется или просто реле вкл./выкл.?
У тебя ТЭНы нагреваются от температуры что-ли? Или всё-таки от протекающего через них тока? Ток как-то регулируется или просто реле вкл./выкл.?
-
- Posts: 10
- Joined: Fri Nov 10, 2017 8:08 am
Re: PID controller on FX1N in GX Works2
От протекающего тока нагреваются. Реле вкл/выкл.))Rex2701 wrote:Ты опять не понял по п.2 и п.3.
У тебя ТЭНы нагреваются от температуры что-ли? Или всё-таки от протекающего через них тока? Ток как-то регулируется или просто реле вкл./выкл.?
-
- Posts: 878
- Joined: Tue Dec 26, 2006 5:21 am
- Location: Russia
Re: PID controller on FX1N in GX Works2
Общие слова, что бы помочь в понимании настройки регулятора вообще:
В любом регуляторе, ЕСЛИ ЕСТЬ ПРОБЛЕМЫ, то я сначала проверяю, а вообще работает система или нет. То есть задаю совсем маленькую величину (в данном случае температуру) и смотрю, что бы все срабатывало (т.е. система работоспособна).
После этого играюсь с параметрами. В первую очередь с коэффициентом усиления, потом с временными параметрами. Если объект совершенно незнакомый, то загоняю коэффициент в минимум и добавляю, пока не начнет срабатывать. После этого загоняю диф.время в максимум и постепенно уменьшаю. Когда более менее начнет регулятор работать, играюсь параметрами "вертикально, горизонтально и хаотично" (это из юмора).
Уточни параметр PID_PulseSignal. Может он определяет режим выхода, и для релейного регулирования нужно другое значение?
В любом регуляторе, ЕСЛИ ЕСТЬ ПРОБЛЕМЫ, то я сначала проверяю, а вообще работает система или нет. То есть задаю совсем маленькую величину (в данном случае температуру) и смотрю, что бы все срабатывало (т.е. система работоспособна).
После этого играюсь с параметрами. В первую очередь с коэффициентом усиления, потом с временными параметрами. Если объект совершенно незнакомый, то загоняю коэффициент в минимум и добавляю, пока не начнет срабатывать. После этого загоняю диф.время в максимум и постепенно уменьшаю. Когда более менее начнет регулятор работать, играюсь параметрами "вертикально, горизонтально и хаотично" (это из юмора).
Уточни параметр PID_PulseSignal. Может он определяет режим выхода, и для релейного регулирования нужно другое значение?
-
- Posts: 10
- Joined: Fri Nov 10, 2017 8:08 am
Re: PID controller on FX1N in GX Works2
Там кстати не совсем реле, а транзистор.Dfcz wrote:Общие слова, что бы помочь в понимании настройки регулятора вообще:
В любом регуляторе, ЕСЛИ ЕСТЬ ПРОБЛЕМЫ, то я сначала проверяю, а вообще работает система или нет. То есть задаю совсем маленькую величину (в данном случае температуру) и смотрю, что бы все срабатывало (т.е. система работоспособна).
После этого играюсь с параметрами. В первую очередь с коэффициентом усиления, потом с временными параметрами. Если объект совершенно незнакомый, то загоняю коэффициент в минимум и добавляю, пока не начнет срабатывать. После этого загоняю диф.время в максимум и постепенно уменьшаю. Когда более менее начнет регулятор работать, играюсь параметрами "вертикально, горизонтально и хаотично" (это из юмора).
Уточни параметр PID_PulseSignal. Может он определяет режим выхода, и для релейного регулирования нужно другое значение?
Для общих настроек и запуска понятно дело, что все так. Но дело то в том, что данная система точно работает. Имеется проект написанный в GX Developer, но проблема в том что его писали до меня, там написано все в перемешку, что то на паскале что то блоками, что то вообще не нужно потому что это все подразумевалось универсальным, но сейчас некоторые принципы поменялись и что то нужно изменить. Я что то переделал, что то не понял. Но вообщем я хотел переделать весь проект под конкретно свой нужды в одном стиле и одним языком. Там используется библиотека(для FX1n GX Developer) и тоже готовый блог ПИД. Но там используется блок который больше. В котором есть авто=pidfx , а не simplepidfx/ Но данная библиотека не работает в gx works2 и я нашел библиотеку для gx works2 только для 3g, другую не нашел. Да и fx1n не выпускается наверно такой и нету для works2. Я хотел собрать пид по формуле(в место блока) но тут как все не пошло.
Мануал к этой библиотеке есть но не открывается у меня. А в блоке про этот вход написано только это и все. Depended on a 100mS pulsetrain
-
- Posts: 10
- Joined: Fri Nov 10, 2017 8:08 am
-
- Posts: 371
- Joined: Wed Oct 13, 2010 8:44 am
- Location: Russian Federation
Re: PID controller on FX1N in GX Works2
Такой регулятор не подходит к твоему объекту.
Твой SimplePIDFX - это так называемый Continuous PID controller, работающий с аналоговым управлящим воздействием. А тебе нужен PID step controller - импульсный ПИД-регулятор, умеющий только включать/выключать исполнительное устройство для регулирования.
Можно, конечно, и этот адаптировать. Выход ManipulatedValue сравнивать с 2мя значениями. Если меньше 450 - выключить нагреватель. Если больше 550 - включить нагреватель. Мёртвую зону подобрать на месте.
Твой SimplePIDFX - это так называемый Continuous PID controller, работающий с аналоговым управлящим воздействием. А тебе нужен PID step controller - импульсный ПИД-регулятор, умеющий только включать/выключать исполнительное устройство для регулирования.
Можно, конечно, и этот адаптировать. Выход ManipulatedValue сравнивать с 2мя значениями. Если меньше 450 - выключить нагреватель. Если больше 550 - включить нагреватель. Мёртвую зону подобрать на месте.
-
- Posts: 10
- Joined: Fri Nov 10, 2017 8:08 am
Re: PID controller on FX1N in GX Works2
А не подскажете где взять подходящий мне "PID step controller - импульсный ПИД-регулятор" а то я пока и этот то нашел только на каком то форуме. а так то не нашел библиотеки на сайте митсубиши. И конечно хорошо бы с инструкцией))Rex2701 wrote:Такой регулятор не подходит к твоему объекту.
Твой SimplePIDFX - это так называемый Continuous PID controller, работающий с аналоговым управлящим воздействием. А тебе нужен PID step controller - импульсный ПИД-регулятор, умеющий только включать/выключать исполнительное устройство для регулирования.
Можно, конечно, и этот адаптировать. Выход ManipulatedValue сравнивать с 2мя значениями. Если меньше 450 - выключить нагреватель. Если больше 550 - включить нагреватель. Мёртвую зону подобрать на месте.
А тут у в примере используется pls по флагу m8012 он срабатывает каждые 100мс это подходит под импульсный? Или я опять что то не понимаю?
ManipulatedValue. У меня дальше такое сравнение и предполагалось. Только вот я не совсем понял как это работает там по программе идет реальной температуры и потом идет сравнение какая температура попадает она в рамки от 860 до 940 или нет, следовательно или нагрев или отключение. Для меня конечно было бы проще всего что бы этот блок работал как метакон я подаю три координаты Kp, Ti, Td и все жду когда нагреется, но тут все как то сложнее(((
Что касается этого блока получается так:
Setpoint = 900 - нужная мне температура.
ProcessValue - температура с датчика из печи.
OperationDirection = 0 - остывание = 1, нагрев =0.
Ts =(у чувака 3600мс)- время работы цикла.
Kp = 30, Ti = 500, Td = 300 - параметры.
MVHighLimitValue = 100% - максимальное воздействие. 100% пока печь нагревается до 900. Потом допустим падает до 870 тогда воздействие подаем 30%. Примерно так это работает?
MVLowLimitValue = 0% - мин возд.
ManualAutoControl = 0 - авто или нет.
ManualManipulatedValue - не знаю что это(
ManipulatedValue - это воздействие на выход в процентах, так?
-
- Posts: 10
- Joined: Fri Nov 10, 2017 8:08 am
Re: PID controller on FX1N in GX Works2
Я еще попробовал использовать штатный ПИД, нашел пример и вот, но я что то не понимаю как он работает? Как проверить его работу?
-
- Posts: 10
- Joined: Fri Nov 10, 2017 8:08 am
Re: PID controller on FX1N in GX Works2
Там напутал, перед блоком PID один флаг PID_on и второй tmr1on.
1)А вот что такое predefind_value(предопределенное значение)? Итоговая температура? В моем случае 900?
2)Что такое H21?
3)Температура с датчика current_value?
4)Что такое Kdif?
5)Почему в Pid_parametr[2] записано 50?
6)То что в скобках это я так понял эту переменную Pid_parametr[22] нужно задать Word[Signed](0..24)?
1)А вот что такое predefind_value(предопределенное значение)? Итоговая температура? В моем случае 900?
2)Что такое H21?
3)Температура с датчика current_value?
4)Что такое Kdif?
5)Почему в Pid_parametr[2] записано 50?
6)То что в скобках это я так понял эту переменную Pid_parametr[22] нужно задать Word[Signed](0..24)?
-
- Posts: 371
- Joined: Wed Oct 13, 2010 8:44 am
- Location: Russian Federation
Re: PID controller on FX1N in GX Works2
MV чаще всего задают в процентах, 0-100. Но никто не запрещает использовать любой другой удобный диапазон - всё зависит от того, какой диапазон входного сигнала у исполнительного устройства.
Можно задать MVLowLimitValue = 4, MVHighLimitValue = 20, и ПИД-регулятор будет сразу тебе выдавать значение тока унифицированного сигнала.
По PID Pulse Signal: специфика алгоритма ПИД-регуляторов такова, что он должен выполняться через одинаковые промежутки времени. В твоём случае блок ПИД-регулятора вызывается импульсом каждые 100 мс. Для регулирования такого "вялого" процесса, как нагрев/охлаждение 100 мс несколько избыточны (слишком часто), но в принципе сойдёт, если процессор контроллера тащит.
По всему остальному я пас, с мицубиши никогда не работал, не могу подсказать. А ПИД-регуляторы везде одинаково устроены.
Можно задать MVLowLimitValue = 4, MVHighLimitValue = 20, и ПИД-регулятор будет сразу тебе выдавать значение тока унифицированного сигнала.
По PID Pulse Signal: специфика алгоритма ПИД-регуляторов такова, что он должен выполняться через одинаковые промежутки времени. В твоём случае блок ПИД-регулятора вызывается импульсом каждые 100 мс. Для регулирования такого "вялого" процесса, как нагрев/охлаждение 100 мс несколько избыточны (слишком часто), но в принципе сойдёт, если процессор контроллера тащит.
По всему остальному я пас, с мицубиши никогда не работал, не могу подсказать. А ПИД-регуляторы везде одинаково устроены.
-
- Posts: 10
- Joined: Fri Nov 10, 2017 8:08 am
Re: PID controller on FX1N in GX Works2
Я последнее время это очень часто слышу. Странно я думал что митсубиши один из популярных. Но ладно и на том спасибо)Rex2701 wrote: с мицубиши никогда не работал, не могу подсказать. А ПИД-регуляторы везде одинаково устроены.
-
- Posts: 878
- Joined: Tue Dec 26, 2006 5:21 am
- Location: Russia
Re: PID controller on FX1N in GX Works2
Мы тоже думали что мицубищи сплошная крутизна. Пригласили спецов, задали им задание с одной осью, они подобрали нам двигатель и пр....
Поработал этот мицубищи пару месяцев, сняли мы его и куда-то засунули подальше, так он бедный и лежит где-то.
Поработал этот мицубищи пару месяцев, сняли мы его и куда-то засунули подальше, так он бедный и лежит где-то.