Вроде как да. Тут что то есть. Я сейчас в этом направлении и думаю.Но нет ,как в 0 уперся, так и в -10 упрется.
Вид для печати
У товарища простая хотелка, главное понятная, хочет ПИД-регулятор с дискретными выходами больше-меньше без датчика положения, в смысле, некоторые неделями объясняют, что они хотят, а здесь и объяснять не надо!
Короче, повторю ещё раз, таких много выкладывалось на форуме, пусть выбирает наиболее ему подходящий или понравившийся и если там чего не хватает(типа времени выборки люфта при реверсе), добавит нужные для его случая функции, всё!
Непонятно чего он выжидает, уже бы мог давно сделать!
Ну и если возникли какие трудности с реализацией все охотно бы помогли!
А попробуйте это макрос
Вложение 68793
Сделан по мотивам этого видео https://youtu.be/fRw0xxcWv5k но в железе не испытан
Или можно Овеновский макрос попробовать
Вложение 68794
На неисправном автомобиле ездить не рекомендуется.
У вас система просто неисправна, а вы пытаетесь автоматизировать бардак. Получится автоматический бардак.
То, что вы описываете, может возникнуть только при неправильной установке привода на клапан или неправильной установке концевиков. ПИД здесь не при чём.
0-100 % выхода ПИДа обозначают скорость и направление действия привода, а не положение. 50 % - привод стоит. 0% - привод закрывается с максимальной скоростью, 100% - привод открывается с максимальной скоростью. Упереться привод может только в концевик по достижении конечного положения. Если при этом результат не достигнут - неправильно подобрано оборудование, например, слишком медленный привод, или недостаточная пропускная способность клапана. Никакими алгоритмами это не преодолеть.
Вы не поняли проблему. Все у меня в порядке. Так работают все привода, вправо и лево разные чувствительности. Мы это компенсируем параметрами люфт право и люфт влево. Но точно не получится из за цикла ПР и все равно уйдет со временем. Вот значение ПИДа внутреннее и уходит. Многие хотели чтоб процент ПИД совпадал с реальным положением задвижки, не прокатывает. Но в значительном диапазоне на мой алгоритм это не влияет, но на краях есть проблема. Вот это в начале я и не понял, только на реальном объекте. В отладчике такого не увидишь.
Я же написал там не используется датчик положения привода и положение привода не расчитывается! Если текущее значение меньше уставки(для режима нагреватель) периодически поступают импульсы на открытие, если текущее значение регулируемого параметра больше уставки, периодически поступают импульсы на закрытие, всё! Датчик положения здесь не нужен! Период следования и ширина(продолжительность) импульсов зависит от величины рассогласования(пропорциональная составляющая), времени рассогласования(интегральная составляющая) и скорости изменения регулирующего параметра(дифференциальная составляющая), вкратце, всё!
Зачем Вы говорите о том, чего там нет в принципе?
Если у вас всё в порядке с рулевым управлением, а вы не вписываетесь в повороты, то непорядок в голове у драйвера, вы не сдали вождение. И никакой датчик положения вам не поможет, ни физический, ни вычисленный. По датчику всё будет в порядке, но вы въедете в канаву, или ваш параметр, давление, вылетит за пределы допуска.