PDA

Просмотр полной версии : вход SYNC в Valve_Reg_No_Pos



Владимир Васильевич
06.04.2010, 08:24
Добрый день!
В своем проекте использую Valve_Reg_No_Pos+PID_3pos_in_anr из библиотеки PID_Regulators.lib. Прошу, объясните, как правильно использовать вход SYNC (задание мат.модели задвижки). Интересует сам алгоритм задания модели, т.е. что и в каком порядке нужно подавать на входа IN_VAL и SYNC? Прошу за ранее прошения, если вопрос детский, но с этим сталкиваюсь впервые, как-то так вот получилось...

Назаров Александр
06.04.2010, 08:44
In_val - входное значение блока, допустим от пид регулятора. Sync - сигнал синхронизации действительного положения привода. допустим ход привода составляет 30с. вращаем его в крайнее положение, устанавливаем на входе In_val, допустим через мультиплексор, значение этого положения и подаем Sync =0. при этом происходит синхронизация действительного и вычисленного значения.

Владимир Васильевич
06.04.2010, 09:07
еслия правильно понял, то при полностью закрытой задвижке на вход In_val подаем 0 и на вход Sync подаем True (именно True, а не 0, так написано в инструкции). при этом нужно ли повторить эти действия для положения задвижки в полностью открытом положении с значениями In_val = 100 и Sync подать True? поле всех настроек вход Sync нужно держать в False?

Назаров Александр
06.04.2010, 09:27
Пардон, конечно true. Синхронизировать можно сколько угодно раз, особенно если вычисленное значение приближено к реальному. Я делаю примерно так: если ПИД функция в течении заданного времени выдает 0 или 100, то через обходное ИЛИ включаю в - или + управление привода, при этом делаю синхронизацию.

Владимир Васильевич
06.04.2010, 09:46
спасибо большое! если вас не затруднит, не могли бы вы выложить часть кода, который описывает данный алгоритм, для полной наглядности. можно в личку. за ранее благодарен за разъеснение.

Назаров Александр
06.04.2010, 10:15
вот например.

Владимир Васильевич
06.04.2010, 11:23
Не сочтите за наглость, а можно увидеть содержание ФБ А01(Section_to_Corner) и А02(Synchro) в файле ValveNoPos.bmp?

Назаров Александр
06.04.2010, 11:38
В ФБ Section_to_Corner реализуется преобразование процента "живого сечения" жалюзи в угол поворота, а вернее величину от 0 до 100 ед входной величины для VALVE_REG_NO_POS. (P_corner := 1.0/0.9 * 180 / 3.1416 * ACOS((100 - P_section) / 100);) Остальное в файле для импорта в проект.

Владимир Васильевич
06.04.2010, 12:19
огромное спасибо! все встает на свои места...

delov_to
21.06.2017, 14:37
И как посмотреть вложения, вместо скачки - черный экран(( Если никак - получается зря регистрировался. Тема актуальна - ищу готовый блок Valve_Reg_No_Pos для CodeSys 3.4.4.0, и хочется посмотреть на сам алгоритм, или его реализацию

petera
21.06.2017, 15:04
И как посмотреть вложения, вместо скачки - черный экран(( Если никак - получается зря регистрировался. Тема актуальна - ищу готовый блок Valve_Reg_No_Pos для CodeSys 3.4.4.0, и хочется посмотреть на сам алгоритм, или его реализацию

Посмотрите мой вариант http://www.owen.ru/forum/showthread.php?t=24626&p=212048&viewfull=1#post212048
Работает не только в контроллере но и в эмуляции.