Здравствуйте!
Подскажите пожалуйста как такое сглаживание аналогового сигнала сделать для контроллеров S-300 400 как тут вот:
https://drive.google.com/file/d/1DhPQsB ... sp=sharing
Помогите! это ток мельницы
спасибо!
Как получить тоже самое на PLC Siemens?
Re: Как получить тоже самое на PLC Siemens?
Посмотрите настройки аналогового входа модуля. Может там?
На крайняк, использовать скользящее среднее. Рекомендую EMA. https://ru.m.wikipedia.org/wiki/%D0%A1% ... 1%8F%D1%8F
На крайняк, использовать скользящее среднее. Рекомендую EMA. https://ru.m.wikipedia.org/wiki/%D0%A1% ... 1%8F%D1%8F
Re: Как получить тоже самое на PLC Siemens?
Здравствуйте!
в настройках аналогового модуля (например SM 331) есть настройка ток или напряжение на входе.
я знаю что такое сглаживание. где это в STL? в FBD? где это реализовано? в каком FC?
спасибо!
в настройках аналогового модуля (например SM 331) есть настройка ток или напряжение на входе.
я знаю что такое сглаживание. где это в STL? в FBD? где это реализовано? в каком FC?
спасибо!
Re: Как получить тоже самое на PLC Siemens?
Готового в Step7 я не нашел. Тут скользящее среднее SMA реализовано: http://we.easyelectronics.ru/plc/simati ... -20ma.html
Re: Как получить тоже самое на PLC Siemens?
т.е. у фирмы Siemens решения нет? надо им помочь как-то)
колебательное звено 1-го порядка (Т варьируется), колебательное звено 2-го порядка (T, sigma)?
[хоть в Спортлото пиши блин( ]
Помогите! Ток прыгает
колебательное звено 1-го порядка (Т варьируется), колебательное звено 2-го порядка (T, sigma)?
[хоть в Спортлото пиши блин( ]
Помогите! Ток прыгает
Re: Как получить тоже самое на PLC Siemens?
Ну в принципе реализация звеньев из ТАУ для дискретных измерений в принципе и есть скользящее среднее.
Re: Как получить тоже самое на PLC Siemens?
где она?
как реализован регулятор в WinCC? К, Т, Д. где их реализация? блин
Помогите!
у меня есть какой-то екзешник я оттуда скриншоты дёргаю. чувак писал уволился давно с работы
как?
скачет ток управляющую компанию это не устраивает. Помогите плиз
как реализован регулятор в WinCC? К, Т, Д. где их реализация? блин
Помогите!
у меня есть какой-то екзешник я оттуда скриншоты дёргаю. чувак писал уволился давно с работы
как?
скачет ток управляющую компанию это не устраивает. Помогите плиз
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Re: Как получить тоже самое на PLC Siemens?
можно сказать "меняйте мельницу и датчик Ваш дурацкий" ) но
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Re: Как получить тоже самое на PLC Siemens?
Слушай, определись с исполнителем: сам или кто-то. Если программу можно корректировать, то работы на полчаса для опытного.
Re: Как получить тоже самое на PLC Siemens?
нет кода. в этом-то и дело
надо на s-314
LAD пойму. ну хоть кто-нибудь! Помогите!
надо на s-314
LAD пойму. ну хоть кто-нибудь! Помогите!
Re: Как получить тоже самое на PLC Siemens?
Фильтр с передаточной функцией W(p) = 1/(1+Tf * p), где p - оператор Лапласа, Tf - постоянная времени фильтра (в сек).
Дискретное дифференциальное уравнение такого фильтра при шаге дискретизации по времени Тd:
Yk = (Td * Xk + Tf * Yk_Prev) / (Td + Tf)
где Yk - выход фильтра (отфильтрованный сигнал) в текущий момент времени,
Yk_Prev - выход фильтра в предыдущий момент времени,
Xk - вход фильтра (сигнал с помехой) в текущий момент времени,
Tf - постоянная времени фильтра, чем больше Tf, тем больше инерционность фильтра, тем более низкочастотным он будет,
Тd - шаг дискретизации по времени (должен совпадать с периодом вызова данного блока).
Блок должен вызываться в одном из блоков прерываний OB3x, в шаге дискретизации Тd необходимо установить время вызова блока (сек).
По умолчанию стоит для OB35 - 100ms = 0.1s
Дискретное дифференциальное уравнение такого фильтра при шаге дискретизации по времени Тd:
Yk = (Td * Xk + Tf * Yk_Prev) / (Td + Tf)
где Yk - выход фильтра (отфильтрованный сигнал) в текущий момент времени,
Yk_Prev - выход фильтра в предыдущий момент времени,
Xk - вход фильтра (сигнал с помехой) в текущий момент времени,
Tf - постоянная времени фильтра, чем больше Tf, тем больше инерционность фильтра, тем более низкочастотным он будет,
Тd - шаг дискретизации по времени (должен совпадать с периодом вызова данного блока).
Блок должен вызываться в одном из блоков прерываний OB3x, в шаге дискретизации Тd необходимо установить время вызова блока (сек).
По умолчанию стоит для OB35 - 100ms = 0.1s
Код: Выделить всё
FUNCTION_BLOCK FB 1
TITLE =
VERSION : 0.1
VAR_INPUT
Xk : REAL ; //Вход фильтра
EN_FILT : BOOL := TRUE; //Вход разрешения фильтрации
Tf : REAL := 3.000000e+000; //Постоянная времени фильтра
Td : REAL := 1.000000e-001; //Шаг дискретизации (период вызова блока)
END_VAR
VAR_OUTPUT
Yk : REAL ; //Выход фильтра
END_VAR
VAR
Yk_Prev : REAL ; //Предыдущее значение
FP_EN_FILT : BOOL ; //Для вычисления фронта начала фильтрации
END_VAR
VAR_TEMP
Temp1 : REAL ;
Temp2 : REAL ;
END_VAR
BEGIN
NETWORK
TITLE =Фильтрация сигнала
L #Xk; // Вход фильтра
ON #EN_FILT;
O( ;
A #EN_FILT;
FP #FP_EN_FILT;
) ;
JC Next; // Если фильтрация запрещена - идем на Next
L #Td;
L #Tf;
+R ; // Вычисление знаменателя Temp1 = T + Tf
T #Temp1;
L #Tf;
L #Yk_Prev;
*R ; // Вычисление Temp2 = Tf * Y(k-1)
T #Temp2;
L #Td;
L #Xk;
*R ; // Вычисление = T * Xk
L #Temp2;
+R ; // Вычисление = (T * Xk) + Temp2
L #Temp1;
/R ; // Вычисление Yk
Next: T #Yk_Prev;
ABS ;
L 1.000000e-005;
>=R ; // Если результат меньше чем 1.0е-5
JC Null;
L 0.000000e+000;
T #Yk_Prev; // то записываем вместо него 0
Null: NOP 0;
A OS; // Если имело место переполнение при вычислениях
R #FP_EN_FILT; // то сбрасить фронт для фильтрации
L #Yk_Prev;
T #Yk; // Вывод результата
BE ;
END_FUNCTION_BLOCK