Помогите отловить причину 13-й ошибки

Автор eric, 07 декабря 2017, 15:07:48

« назад - далее »

mike

Попробуйте загрузить эту программу.

Для тех, кому интересно покопаться в потрохах:
В программе реализован алгоритм динамической перестройки ПИ регулятора в зависимости от количества линейно-управляемых устройств (нагреватели, заслонки рециркуляции, снижение оборотов двигателя и т.п.)
В данной программе всего два линейных устройства - ЭК с одной или двумя ступенями и ЭДВ. В зависимости от параметризации кодировщик собирает данные о кол-ве "ступеней"ПИ регулятора, далее закодированные данные передаются в сортировщик, который распределяет кодированные данные по возрастанию и передает данные в декодер мультиплексного типа, который декодирует последовательность исполнения линейных устройств.

Например, у вас есть набор из рециркуляции, нагревателя и вентилятора.
С помощью этого алгоритма можно создать следующую последовательность обработки воздуха:
Сначала работает нагреватель, затем, при 100% выходе нагревателя работает рециркуляция, затем, при 100% выходе нагревателя и рециркуляции уменьшается скорость вентилятора.
Для того, что бы изменить последовательность управления устройствами, достаточно в алгоритме сконфигурировать 4 бита (для конкретного примера). Последовательности могут быть абсолютно любые + ко всему каждое устройство может быть многоступенчатым.

Алгоритм разработал в 2014 году, забросил, потом довел до ума осенью 2017 года.

eric

Спасибо. Обязательно попробую. Надо только еще внимательно доку изучить.
Одинаково ли оно встанет под имеющуюся установку по входам / выходам,
а так же понять где какие параметры и как должны быть настроены.
В общем сначала учим матчасть прежде чем залить в живую установку.
А встречный вопрос - нельзя ли для начала просто модуль продвинутого
ПИ регулятора из вашей программы воткнуть вместо имеющегося
в стандартном проекте? Я так же где-то на форуме натыкался на ПИД регулятор.
Кто-то выкладывал. Или я ошибаюсь? Может эамена кода регулятора уже
решит проблему?

mike

По входам-выходам вроде одинаково. Параметры в таблице.
Проблема не в регуляторе, а в режиме старта. Можно и существующий допилить, там не сложно

eric

Посмотрел все повнимательнее.

Вы вводите сравнение уставки температуры и значения датчика температуры канала + некий модуль под названием "интервал".  Мне пока не очень ясна его функция. Где бы можно было посмотреть описание модулей и  по возможности что у них внутри?

Наверно как-то это должно определять режим работы ПИ регулятора, но опять же в зависимости от того, что у него внутри.

Пока я не понял логику работы такой схемы. Прошу простить за тупость. Может сможете добавить каких-то пояснений и комментариев. Буду признателен. 

На всякий случай прикрепляю две сравнительные картинки схем управления ПИ регулятором из  двух проектов.
Ну чтоб не искать

mike

Дорогие коллеги!
Пожалуйста, не употребляйте бранных слов в свой адрес!
Мы все всегда учимся и задача сообщества помогать друг другу.

Что касается блока "интервал" - это обычная математическая функция, определяющая принадлежность числа заданному диапазону. Подробнее - во встроенной справке ЗВБ (поиск или F1 на выделенном блоке).

Что касается конструкции, о которой вы спрашиваете - комментарий внутри макроса. Это небольшая надстройка над регулятором.
Принцип простой:
Если ошибка рассогласования лежит вне диапазона +/- 1С, то регулятор перестраивается в "грубый" режим работы.
Если ошибка находится внутри диапазона, то регулятор перестраивается в точный режим.
На практике эта надстройка позволяет очень быстро выйти на уставку и приемлемо регулировать температуру вблизи уставки

eric

#20
А F1 на PI регулятор ничего не дает ((

mike

Не делали пока на него документацию. Думаем пока, как написать по нему методичку.

VoronovMaksim88

Очень нужна методичка по стандартному Pi регулятору !!!