Analog ortalama değer alma

S7 1200 Plc ileri bilmiyorum ve bunu bu Plc de nasıl yaparsın konuda bilemem ama analog inputundan gelen bilgileri mesala 100 MS de bir data bloğuna yaz.mesala 500 MS de bir değerleri toplayarak ortalamasını al.
teşekkürler...
 
S7 1200 Plc ileri bilmiyorum ve bunu bu Plc de nasıl yaparsın konuda bilemem ama analog inputundan gelen bilgileri mesala 100 MS de bir data bloğuna yaz.mesala 500 MS de bir değerleri toplayarak ortalamasını al.
teşekkürler...
eşit aralıklarla 8 ölçüm yap, ölçtüğün 8 ölçümü topla, 8 e böl. 8 örnek idi, istediğin kadar ölçümü topla ve ölçüm sayısına böl.
bu işlemi yapan komutu biliyomusunun peki s7 1200 de?
 
FilitreEdilmisAnalogKanalDegeri = (AnologKanalaGelenDeger+FilitreEdilmisAnalogKanalDegeri*(FilitreDegeri-1))/FilitreDegeri
bu formülde Filitre degeri için 2-3-4-5 gibi rakamlar kullanabilirsin.
yada bu formülü kullanma analog kanala gelen degerlerin aritmetik ortalamasını al.
s7 1200 de bunu otomatik olarak yapan komut var mı pekı bazı plclerde boyle bır komut varmış
 
S7 1200 kullanmadım ama resimdeki açıklamaya göre analog giriş filtresi var, bunu kullanırsan sorunun çözülecektir. Kullandığın analog kartın seçenekleri içinde olacaktır muhtemelen. Genelde her kanal için ayrı ayrı bu filtre ayarlanabilir.
 
algoritmayı anlatim sana kardeşim öncelikle kaç ölçümün ortalamasını alıcaksan o kadar array oluştur
bir timmerin tick eventinde ölçülendegeri array alanın en son bufferina yaz ve her timmer tick geldiğinde array alanı sondan başa bir kaydır. ortalama degerin array alanların içindeki toplam gr/array sayısı dır ve ölçüm hassa olucak ise ön kesme kullan nedir bu 10kg set ettin kasayı 9 kg a geldiğinde bantın hızını biraz düşür doluncada durdur
 
TON_SamplingPulse(IN:=NOT(TON_SamplingPulse.Q), PT:=REAL_TO_TIME(SamplingTime));
IF TON_SamplingPulse.Q THEN
FOR INDEX:=1 TO 19 BY 1 DO
PastMeasuredValues[INDEX]:=PastMeasuredValues[INDEX+1];
END_FOR
PastMeasuredValues[20] := MeasuredValue;
ENDİF

AveragedValue := (PastMeasuredValues[1]+PastMeasuredValues[2]+PastMeasuredValues[3]+PastMeasuredValues[4]+PastMeasuredValues[5]+PastMeasuredValues[6]+PastMeasuredValues[7]+PastMeasuredValues[8]+PastMeasuredValues[9]+PastMeasuredValues[10]+PastMeasuredValues[11]+PastMeasuredValues[12]+PastMeasuredValues[13]+PastMeasuredValues[14]+PastMeasuredValues[15]+PastMeasuredValues[16]+PastMeasuredValues[17]+PastMeasuredValues[18]+PastMeasuredValues[19]+PastMeasuredValues[20])/20;
 

Yeni mesajlar

Forum istatistikleri

Konular
129,721
Mesajlar
929,266
Kullanıcılar
452,439
Son üye
GİZEM51*-+

Yeni konular

Geri
Üst