plcforum.uz.ua

International PLC Forum
It is currently Wed Dec 13, 2017 7:37 pm

All times are UTC + 3 hours




Post new topic Reply to topic  [ 14 posts ] 
Author Message
PostPosted: Tue Dec 05, 2017 11:23 am 

Joined: Fri Nov 10, 2017 11:08 am
Posts: 10
Я тут искал искал и нашел библиотеку, вроде все должно было упроститься, но нет же. Там несколько видов пида для fx, мне не нужна авто настройка по этому я решил использовать симпл пид, но я с ним ни как не могу подружиться. Настроил те параметры которые мне нужны, но работает не совсем так как мне нужно. Печь должна нагреваться до 900 градусов и потом поддерживать данную температуру, а она нагревается до 1000(это максимальное верхнее ограничение). Колебания конечно должны быть как можно меньше потому что если будут большой диапазон то заготовки будут нагреваться по разному это плохо.
1) Нагревается не до SetpointValue=900, а до MVHighLimitValue=1000. Для чего тогда SetpointValue? И если я на деле буду греть что дальше будет? Он на 1000 что будет делать? Если он в нее уперся, сгорит?
2)При OperationDirection=0 должно работать на нагрев, а на 1 должен быть реверс, а работает на оборот. А иногда то так то так при том что не меняешь цифру, просто 1 стоит, а он то греет то охлаждает.
3)Параметр ProcessValueя так понял это показания с термопары, на которые он должен корректировать выходной сигнал, но результат вообще странный. Я меняю цифру или не меняю все одно точно так же быстро нагревает или иногда зависает и не греет. Его предел, до 12000 это как? Мне нужно что бы грелось до 900 значитесли значение ProcessValueя 900 он должен перестать греть? А я когда ставлю 100 он останавливается и не важно где то на 70 то на 300 на выходе.

Помогите пожалуйста разобрать с работой данного блока.
Image


Top
 Profile  
 
PostPosted: Tue Dec 05, 2017 2:35 pm 

Joined: Wed Oct 13, 2010 11:44 am
Posts: 168
Location: Russian Federation
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? - Ответь на вопросы ниже.
А вот дальше многое непонятно:
  • Чем осуществляется нагрев? Что из себя представляет регулятор нагрева?
  • Какой входной сигнал принимает нагреватель?
  • Чему соответствует полное отключение нагрева? Чему соответствует нагрев на полной мощности?
  • На основании чего выбраны коэффициенты ПИД-регулятора? Перерегулирование очень даже возможно при неправильных коэффициентах. А иногда и вполне допустимо по техппроцессу.


Top
 Profile  
 
PostPosted: Wed Dec 06, 2017 9:28 am 

Joined: Fri Nov 10, 2017 11:08 am
Posts: 10
Rex2701 wrote:
  • Чем осуществляется нагрев? Что из себя представляет регулятор нагрева?
  • Какой входной сигнал принимает нагреватель?
  • Чему соответствует полное отключение нагрева? Чему соответствует нагрев на полной мощности?
  • На основании чего выбраны коэффициенты ПИД-регулятора? Перерегулирование очень даже возможно при неправильных коэффициентах. А иногда и вполне допустимо по техппроцессу.


1)Нагревание осуществляется с помощью 2 х тэн (спиралей). Там все интересно сделано...симистор, оптопара ...ну вообщем суть в том что нам нужно нагревать печь от 0 до 900. 900 это температура которая должна постоянно держаться. Но так точно не нагреть по этому при стабилизации на 900 она скачет до 940 и потом стабилизируется.
2)Температура в градусах Цельсия.
3)Полное отключение 0. на полную 900. Конечно там есть поле где можно менять температуру на панели и какую температуру оператор установит, такая и будет. Но в нашем случае это чаще 900.
4)Коэффициенты были подобраны опытным путем. Другая печь с пид МЕТАКОН и методом экспериментов были подобраны оптимальные коэффициенты. По этим данным построены графики нагреф происходит плавно и перерегулирования почти нет. В нашем случае перерегулирование не желательно.


Top
 Profile  
 
PostPosted: Thu Dec 07, 2017 8:14 am 

Joined: Wed Oct 13, 2010 11:44 am
Posts: 168
Location: Russian Federation
Ты опять не понял по п.2 и п.3.
У тебя ТЭНы нагреваются от температуры что-ли? Или всё-таки от протекающего через них тока? Ток как-то регулируется или просто реле вкл./выкл.?


Top
 Profile  
 
PostPosted: Thu Dec 07, 2017 8:32 am 

Joined: Fri Nov 10, 2017 11:08 am
Posts: 10
Rex2701 wrote:
Ты опять не понял по п.2 и п.3.
У тебя ТЭНы нагреваются от температуры что-ли? Или всё-таки от протекающего через них тока? Ток как-то регулируется или просто реле вкл./выкл.?

От протекающего тока нагреваются. Реле вкл/выкл.))


Top
 Profile  
 
PostPosted: Thu Dec 07, 2017 11:21 am 

Joined: Tue Dec 26, 2006 8:21 am
Posts: 480
Location: Russia
Общие слова, что бы помочь в понимании настройки регулятора вообще:
В любом регуляторе, ЕСЛИ ЕСТЬ ПРОБЛЕМЫ, то я сначала проверяю, а вообще работает система или нет. То есть задаю совсем маленькую величину (в данном случае температуру) и смотрю, что бы все срабатывало (т.е. система работоспособна).
После этого играюсь с параметрами. В первую очередь с коэффициентом усиления, потом с временными параметрами. Если объект совершенно незнакомый, то загоняю коэффициент в минимум и добавляю, пока не начнет срабатывать. После этого загоняю диф.время в максимум и постепенно уменьшаю. Когда более менее начнет регулятор работать, играюсь параметрами "вертикально, горизонтально и хаотично" (это из юмора).

Уточни параметр PID_PulseSignal. Может он определяет режим выхода, и для релейного регулирования нужно другое значение?


Top
 Profile  
 
PostPosted: Thu Dec 07, 2017 11:45 am 

Joined: Fri Nov 10, 2017 11:08 am
Posts: 10
Dfcz wrote:
Общие слова, что бы помочь в понимании настройки регулятора вообще:
В любом регуляторе, ЕСЛИ ЕСТЬ ПРОБЛЕМЫ, то я сначала проверяю, а вообще работает система или нет. То есть задаю совсем маленькую величину (в данном случае температуру) и смотрю, что бы все срабатывало (т.е. система работоспособна).
После этого играюсь с параметрами. В первую очередь с коэффициентом усиления, потом с временными параметрами. Если объект совершенно незнакомый, то загоняю коэффициент в минимум и добавляю, пока не начнет срабатывать. После этого загоняю диф.время в максимум и постепенно уменьшаю. Когда более менее начнет регулятор работать, играюсь параметрами "вертикально, горизонтально и хаотично" (это из юмора).

Уточни параметр PID_PulseSignal. Может он определяет режим выхода, и для релейного регулирования нужно другое значение?


Там кстати не совсем реле, а транзистор.
Для общих настроек и запуска понятно дело, что все так. Но дело то в том, что данная система точно работает. Имеется проект написанный в GX Developer, но проблема в том что его писали до меня, там написано все в перемешку, что то на паскале что то блоками, что то вообще не нужно потому что это все подразумевалось универсальным, но сейчас некоторые принципы поменялись и что то нужно изменить. Я что то переделал, что то не понял. Но вообщем я хотел переделать весь проект под конкретно свой нужды в одном стиле и одним языком. Там используется библиотека(для FX1n GX Developer) и тоже готовый блог ПИД. Но там используется блок который больше. В котором есть авто=pidfx , а не simplepidfx/ Но данная библиотека не работает в gx works2 и я нашел библиотеку для gx works2 только для 3g, другую не нашел. Да и fx1n не выпускается наверно такой и нету для works2. Я хотел собрать пид по формуле(в место блока) но тут как все не пошло.
Мануал к этой библиотеке есть но не открывается у меня. А в блоке про этот вход написано только это и все. Depended on a 100mS pulsetrain


Top
 Profile  
 
PostPosted: Thu Dec 07, 2017 11:49 am 

Joined: Fri Nov 10, 2017 11:08 am
Posts: 10
http://dropmefiles.com/XLaOy


Top
 Profile  
 
PostPosted: Thu Dec 07, 2017 4:35 pm 

Joined: Wed Oct 13, 2010 11:44 am
Posts: 168
Location: Russian Federation
Такой регулятор не подходит к твоему объекту.
Твой SimplePIDFX - это так называемый Continuous PID controller, работающий с аналоговым управлящим воздействием. А тебе нужен PID step controller - импульсный ПИД-регулятор, умеющий только включать/выключать исполнительное устройство для регулирования.

Можно, конечно, и этот адаптировать. Выход ManipulatedValue сравнивать с 2мя значениями. Если меньше 450 - выключить нагреватель. Если больше 550 - включить нагреватель. Мёртвую зону подобрать на месте.


Top
 Profile  
 
PostPosted: Fri Dec 08, 2017 9:59 am 

Joined: Fri Nov 10, 2017 11:08 am
Posts: 10
Rex2701 wrote:
Такой регулятор не подходит к твоему объекту.
Твой SimplePIDFX - это так называемый Continuous PID controller, работающий с аналоговым управлящим воздействием. А тебе нужен PID step controller - импульсный ПИД-регулятор, умеющий только включать/выключать исполнительное устройство для регулирования.

Можно, конечно, и этот адаптировать. Выход ManipulatedValue сравнивать с 2мя значениями. Если меньше 450 - выключить нагреватель. Если больше 550 - включить нагреватель. Мёртвую зону подобрать на месте.


А не подскажете где взять подходящий мне "PID step controller - импульсный ПИД-регулятор" а то я пока и этот то нашел только на каком то форуме. а так то не нашел библиотеки на сайте митсубиши. И конечно хорошо бы с инструкцией))
А тут у в примере используется 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 - это воздействие на выход в процентах, так?


Top
 Profile  
 
PostPosted: Fri Dec 08, 2017 12:32 pm 

Joined: Fri Nov 10, 2017 11:08 am
Posts: 10
Я еще попробовал использовать штатный ПИД, нашел пример и вот, но я что то не понимаю как он работает? Как проверить его работу?
Image


Top
 Profile  
 
PostPosted: Fri Dec 08, 2017 3:38 pm 

Joined: Fri Nov 10, 2017 11:08 am
Posts: 10
Там напутал, перед блоком 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)?


Top
 Profile  
 
PostPosted: Fri Dec 08, 2017 10:48 pm 

Joined: Wed Oct 13, 2010 11:44 am
Posts: 168
Location: Russian Federation
MV чаще всего задают в процентах, 0-100. Но никто не запрещает использовать любой другой удобный диапазон - всё зависит от того, какой диапазон входного сигнала у исполнительного устройства.
Можно задать MVLowLimitValue = 4, MVHighLimitValue = 20, и ПИД-регулятор будет сразу тебе выдавать значение тока унифицированного сигнала.
По PID Pulse Signal: специфика алгоритма ПИД-регуляторов такова, что он должен выполняться через одинаковые промежутки времени. В твоём случае блок ПИД-регулятора вызывается импульсом каждые 100 мс. Для регулирования такого "вялого" процесса, как нагрев/охлаждение 100 мс несколько избыточны (слишком часто), но в принципе сойдёт, если процессор контроллера тащит.
По всему остальному я пас, с мицубиши никогда не работал, не могу подсказать. А ПИД-регуляторы везде одинаково устроены.


Top
 Profile  
 
PostPosted: Sat Dec 09, 2017 7:28 am 

Joined: Fri Nov 10, 2017 11:08 am
Posts: 10
Rex2701 wrote:
с мицубиши никогда не работал, не могу подсказать. А ПИД-регуляторы везде одинаково устроены.

Я последнее время это очень часто слышу. Странно я думал что митсубиши один из популярных. Но ладно и на том спасибо)


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 14 posts ] 

All times are UTC + 3 hours


Who is online

Users browsing this forum: No registered users and 10 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
Powered by International PLCforum® Forum Software © PLCforum
Mobile version