Как получить тоже самое на PLC Siemens?

Автоматизация технологических процессов, системы управления, АСУ ТП, АСКУЭ, программирование ПЛК, человеко-машинный интерфейс, сетевое оборудование, протоколы
Ответить
adept_
Дилетант
Сообщения: 12
Зарегистрирован: 01 июн 2017, 08:11

Как получить тоже самое на PLC Siemens?

Сообщение adept_ »

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

Подскажите пожалуйста как такое сглаживание аналогового сигнала сделать для контроллеров S-300 400 как тут вот:

https://drive.google.com/file/d/1DhPQsB ... sp=sharing

Помогите! это ток мельницы

спасибо!

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Как получить тоже самое на PLC Siemens?

Сообщение Михайло »

Посмотрите настройки аналогового входа модуля. Может там?

На крайняк, использовать скользящее среднее. Рекомендую EMA. https://ru.m.wikipedia.org/wiki/%D0%A1% ... 1%8F%D1%8F

adept_
Дилетант
Сообщения: 12
Зарегистрирован: 01 июн 2017, 08:11

Re: Как получить тоже самое на PLC Siemens?

Сообщение adept_ »

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

в настройках аналогового модуля (например SM 331) есть настройка ток или напряжение на входе.

я знаю что такое сглаживание. где это в STL? в FBD? где это реализовано? в каком FC?

спасибо!

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Как получить тоже самое на PLC Siemens?

Сообщение Михайло »

Готового в Step7 я не нашел. Тут скользящее среднее SMA реализовано: http://we.easyelectronics.ru/plc/simati ... -20ma.html

adept_
Дилетант
Сообщения: 12
Зарегистрирован: 01 июн 2017, 08:11

Re: Как получить тоже самое на PLC Siemens?

Сообщение adept_ »

т.е. у фирмы Siemens решения нет? надо им помочь как-то)

колебательное звено 1-го порядка (Т варьируется), колебательное звено 2-го порядка (T, sigma)?
[хоть в Спортлото пиши блин( ]

Помогите! Ток прыгает

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Как получить тоже самое на PLC Siemens?

Сообщение Михайло »

Ну в принципе реализация звеньев из ТАУ для дискретных измерений в принципе и есть скользящее среднее.

adept_
Дилетант
Сообщения: 12
Зарегистрирован: 01 июн 2017, 08:11

Re: Как получить тоже самое на PLC Siemens?

Сообщение adept_ »

где она?

s7+Безымянный.png

как реализован регулятор в WinCC? К, Т, Д. где их реализация? блин

Помогите!

у меня есть какой-то екзешник я оттуда скриншоты дёргаю. чувак писал уволился давно с работы

как?

скачет ток управляющую компанию это не устраивает. Помогите плиз
У вас нет необходимых прав для просмотра вложений в этом сообщении.

adept_
Дилетант
Сообщения: 12
Зарегистрирован: 01 июн 2017, 08:11

Re: Как получить тоже самое на PLC Siemens?

Сообщение adept_ »

можно сказать "меняйте мельницу и датчик Ваш дурацкий" ) но

s7_Безымянный.png

:wall:
У вас нет необходимых прав для просмотра вложений в этом сообщении.

adept_
Дилетант
Сообщения: 12
Зарегистрирован: 01 июн 2017, 08:11

Re: Как получить тоже самое на PLC Siemens?

Сообщение adept_ »

Михайло писал(а):
04 июл 2020, 06:14
Готового в Step7 я не нашел.
а зачем искали? значит нужно было. значит и не только мне надо. хм

капец.)

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Как получить тоже самое на PLC Siemens?

Сообщение Михайло »

Слушай, определись с исполнителем: сам или кто-то. Если программу можно корректировать, то работы на полчаса для опытного.

adept_
Дилетант
Сообщения: 12
Зарегистрирован: 01 июн 2017, 08:11

Re: Как получить тоже самое на PLC Siemens?

Сообщение adept_ »

нет кода. в этом-то и дело

надо на s-314

LAD пойму. ну хоть кто-нибудь! Помогите!

SMax
Любитель
Сообщения: 32
Зарегистрирован: 14 окт 2018, 09:28

Re: Как получить тоже самое на PLC Siemens?

Сообщение SMax »

Фильтр с передаточной функцией 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

Код: Выделить всё

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

Ответить