Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Теория и практика автоматизации
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

апериодическое звено 2-го порядка

 Ответить Ответить Страница  12>
Автор
Сообщение
adept_ Смотреть выпадающим
Новичок
Новичок


Присоединился: 24 Сентябрь 2011
Online Status: Offline
Публикации: 9
Свойства публикации Свойства публикации   Ответить, цитируя автора - adept_ Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: апериодическое звено 2-го порядка
    Опубликовано: 24 Сентябрь 2011 12:53
Здравствуйте!

Пожалуйста подскажите, как считается Y апериодическое звено 2-го порядка для сглаживания сигнала?

Первого порядка я знаю, Y = (X-Y)/T+Y,
такую же формулу надо и для 2-го порядка, W(p) я тоже знаю,
нужны обе формулы, для sigma>1 и для sigma<1.

Спасибо.
Наверх
adept_ Смотреть выпадающим
Новичок
Новичок


Присоединился: 24 Сентябрь 2011
Online Status: Offline
Публикации: 9
Свойства публикации Свойства публикации   Ответить, цитируя автора - adept_ Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Сентябрь 2011 12:55
простите, "Y апериодического звена"
Наверх
Александр Горский Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 04 Сентябрь 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 206
Свойства публикации Свойства публикации   Ответить, цитируя автора - Александр Горский Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 26 Сентябрь 2011 12:53

Апериодическое звено 2 порядка можно получить последовательно соединив два апериодических звена 1 порядка.

Т.е., примерно так: Y=((X-Y1)/T1 + Y1)*((Y1-Y)/T2+Y)

Наверх
adept_ Смотреть выпадающим
Новичок
Новичок


Присоединился: 24 Сентябрь 2011
Online Status: Offline
Публикации: 9
Свойства публикации Свойства публикации   Ответить, цитируя автора - adept_ Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 26 Сентябрь 2011 20:08
Первоначально опубликовано Александр Горский

Т.е., примерно так: Y=((X-Y1)/T1 + Y1)*((Y1-Y)/T2+Y)

спасибо за ответ, я пробую так:

Y1 = ( X - Y1 ) / T + Y1;
Y = Y1 * ( ( Y1 - Y ) / T2 + Y );

не работает, огромные числа дает. что я делаю не так?
T = 60, T2 = 3

Наверх
Александр Горский Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 04 Сентябрь 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 206
Свойства публикации Свойства публикации   Ответить, цитируя автора - Александр Горский Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 27 Сентябрь 2011 08:32

Ну это общая формула. Нужно еще учитывать время изменения сигнала.

Т.е. учитывать время за которое происходят изменения, и , если расчет производится в контроллере, учитывать время цикла - должен быть поправочный коэффициент в каждом такте расчета. Примерно так:
 
Y=k*(X1-Y1)/T1+Y1, где к -расчитать примерно k=Ta/1c
 
Т.е. если время цикла в контроллере 10 мс, то k=10мс/1с=0.01
 
Если расчет идет на компьютере(какая-то эмуляционная задача), то также необходимо разбить общее время отслеживания сигнала на шаги определенной длительности и величину этой длительности расчитать как коэффициент.
 
У меня получилась вот такая кривая при ваших данных Т1=60с, Т2=3с
 
Наверх
adept_ Смотреть выпадающим
Новичок
Новичок


Присоединился: 24 Сентябрь 2011
Online Status: Offline
Публикации: 9
Свойства публикации Свойства публикации   Ответить, цитируя автора - adept_ Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 27 Сентябрь 2011 18:49

Александр, сделал как Вы сказали, вот прям кусок кода:

  ///////////////////////////

  Y = ( X - Y ) / T / period + Y;
Z = Y*((Y-Z)/T2+Z);//Y=((X-Y1)/T1 + Y1)*((Y1-Y)/T2+Y);
debug(Z);

////////////////////////

period=60, X=80+-2.000, T=66, T2=3


дает восходящий ряд (порядка до 10^30) за 60 прогонов, а далее NaN.

у меня вопрос: может у меня в формуле ошибка? чтож мне не дается такая же кривая, как у Вас на рисунке?

Наверх
Александр Горский Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 04 Сентябрь 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 206
Свойства публикации Свойства публикации   Ответить, цитируя автора - Александр Горский Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 28 Сентябрь 2011 07:37

Первая ремарка: неправильная формула получилась (это я такую дал:-((), не нужно умножать на Y при расчете во втором элементе,т.к. мы используем не передаточные функции, а законченные функции, т.е. формула должна быть:

Z=k*(Y-Z)/T2+Z
 
Второе: что такое у вас period=60??? 60 мс??? 60 раз в 1 с???
В любом случае при расчете Z в вашем коде этого  коэффициента нет, а он должен быть.
 
Третье: на начальном этапе расчета значение Z  действительно имеет вид кривой похожей на параболу
 
Четвертое: вот фрагмент расчета в excell по шагам
 
STEP x y z
    0 0,022222
1 80 0,022222 0,022222
2 80 0,044438 0,022346
3 80 0,066648 0,022592
4 80 0,088852 0,02296
5 80 0,111049 0,023449
6 80 0,133241 0,024059
7 80 0,155426 0,024789
8 80 0,177605 0,025638
9 80 0,199778 0,026605
10 80 0,221945 0,027691
11 80 0,244105 0,028893
12 80 0,26626 0,030212
13 80 0,288408 0,031646
14 80 0,31055 0,033196
15 80 0,332686 0,034859
16 80 0,354816 0,036637
17 80 0,376939 0,038528
18 80 0,399057 0,04053
19 80 0,421168 0,042645
20 80 0,443274 0,044871
21 80 0,465373 0,047207
22 80 0,487466 0,049653
23 80 0,509552 0,052208
24 80 0,531633 0,054871
25 80 0,553708 0,057643
26 80 0,575776 0,060521
27 80 0,597838 0,063506
28 80 0,619894 0,066597
29 80 0,641945 0,069794
30 80 0,663988 0,073095
31 80 0,686026 0,0765
32 80 0,708058 0,080009
33 80 0,730083 0,08362
34 80 0,752103 0,087334
35 80 0,774116 0,091149
 
 
 
 
Наверх
adept_ Смотреть выпадающим
Новичок
Новичок


Присоединился: 24 Сентябрь 2011
Online Status: Offline
Публикации: 9
Свойства публикации Свойства публикации   Ответить, цитируя автора - adept_ Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 29 Сентябрь 2011 17:10

Здравствуйте!

period - это 60 раз в 1 с,

работает, вот, может кому пригодится:

///////////////////////////

// double i; // - сигнал

// double period = 60, T1 = 60, T2 = 3;

double Y1 = ( i - Y1 ) / T1 / period + Y1;
double Z = ( Y1 - Z ) / T2 / period + Z;

///////////////////////////

Александр, спасибо Вам за ответ, вот только я думал, что я смогу сгладить сигнал более апроксимированно с использованием АПЗ 2-го порядка, а мне нужно скорее всего: охватить одно звено 1-го порядка ООС другим звеном 1-го порядка, простите за оффтоп


С уважением, помогите

Наверх
Александр Горский Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 04 Сентябрь 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 206
Свойства публикации Свойства публикации   Ответить, цитируя автора - Александр Горский Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 30 Сентябрь 2011 07:28
Первоначально опубликовано adept_

... мне нужно скорее всего: охватить одно звено 1-го порядка ООС другим звеном 1-го порядка...

Я вас правильно понимаю?
 
 
Наверх
adept_ Смотреть выпадающим
Новичок
Новичок


Присоединился: 24 Сентябрь 2011
Online Status: Offline
Публикации: 9
Свойства публикации Свойства публикации   Ответить, цитируя автора - adept_ Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 30 Сентябрь 2011 17:30

Александр, Вы правы, вопрос в том, появится ли на выходе близкоапроксимированный входной сигнал, т.е. на выходе возможно будет не произведение звеньев, а их отношение? как будут выглядеть формулы с ООС?


Спасибо!

Наверх
 Ответить Ответить Страница  12>

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz