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 - это воздействие на выход в процентах, так?