Держите.
Для Пускателя/Электромагнитного клапана.
sens - вход 0-1 (от ПИД-регулятора)
pwm - задаваемый период ШИМ (сек)
max - Уровень входного сигнала, выше которого сигнал "склеивается" в лог 1 .диапазон(0-1)
min - Уровень входного сигнала, ниже которого сигнал пропускается в лог 0 .диапазон(0-1)
Соотношения: 0<min<max<1
Всем спасибо! Буду смотреть, разбираться.
ПИД нужен. Я тут просто разбираюсь в чужой программе, не сразу все понятно, учитывая, что ПР200, OL и FBD вижу в первый раз. Дело в том, что пытаясь подобрать коэффициенты, заметил, что RegKZR не реагирует на увеличение время мин.длит.имп. От стандартных 0,2 (непонятно чего: секунд минут?) клапан даже не пытается дернутся, а увеличение даже до 5 ни к чему не приводит. Поэтому ищу какое-нибудь проверенное решение. RegKZR нет в онлайн базе и соответственно как этот макрос работает не почитаешь.
1.jpg
Может поможет?БУИМ%(0-100%).zip
Подскажите, если значение SP и PV на входе ПИД-регулятора станут равными, то выходная мощность PWR расти не будет?
Я тут просто один велосипед изобретаю-приставку к пид регулятору, которая когда отклонение регулируемой величины находится в допустимых пределах, будет вместо PV подавать на вход SP.
Последний раз редактировалось stanislau; 24.10.2018 в 09:45.
Хотите ввести в заблуждение ПИД-регулятор, может лучше на выходе, как ранее неоднократно выкладывали сделать, чтобы сигнал не менялся, пока не достигнет некоторой разницы с преведущим значением, как бы ступенька получается! Примерно как-то так:
ПИД-регулятор с зоной нечувствительности_2.PNG
Последний раз редактировалось Сергей0308; 17.10.2018 в 23:22.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
ну зря Вы так, в пид-регуляторах есть мертвая зона и его велосипед на первый взгляд похож на одну из таких разработок
PS вот код одного известного регулятора, касающийся мертвой зоны
если вход приравнять уставке то рассогласование будет равно нулю и выход не должен менятьсяКод:#ErKp := #SP_INT - #PV_IN; #ER := 0.0; IF #ErKp < (- #DEADB_W) THEN #ER := #ErKp + #DEADB_W; ELSIF #ErKp > #DEADB_W THEN #ER := #ErKp - #DEADB_W; END_IF; #ErKp := #ER * #GAIN;
Последний раз редактировалось capzap; 18.10.2018 в 12:07.