Analogeingang "ruhig" bekommen

El Cattivo

Level-2
Beiträge
157
Reaktionspunkte
8
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe einen Wegsensor als Analogeingag an einer 315 mein Problem ist das der Wert ständig pendelt also zum Beispiel zwischen 3090 und 4010
immer hin und her und das sehr schnell jetzt würde ich gern einen Festen wert ablesen habe schon probiert den Wert jeden Zyklus in einen DB zu schreiben das ganze Hundertmal und daraus den Mittelwert zu bilden das brachte aber keinen erfolg.

Habt ihr noch eine Lösung für mich?
 
Die Mittelwertbildung ist eigentlich schon nicht schlecht. Such auch mal hier im Forum unter "Mittelwert", da gibt es einiges. Allerdings solltest du auch mal untersuchen, ob dein Weggeber nicht tatsächlich in diesem Maß "rauscht". Bei vielen Ananlogkarten kann die Filterzeit erhöht werden. Das ergibt dann langsamere, aber genauere und vor allem, weniger schwankende Werte. Sieh mal in der Hardwarekonfig deiner Karte nach, ob da was geht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Passenderweise habe ich genau das gleiche Problem.

Mein Analogeingang flattert. Es gibt ja das probate Mittel den Mittelwert zu bilden und dadurch das Ergebnis zu glätten. Es gibt auch eine menge Function Blocks hier im Forum. Wie binde ich die aber am einfachsten in mein Programm ein? Den Quellcode in ein FB und diesen dann aufrufen?
 
... wenn du das aber so gemacht hast (Mittelwert aus 100 Messungen) dann sollte das aber genau so funktionieren ... (es sei denn die Wert-Änderung isr eben nicht sehr schnell).

Was hast du für eine Zykluszeit ?
Stell doch mal deinen Mittelwert-Bilder hier ein ...

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... dann würdest du bei 100 Werten ja auch nur den Zeitbereich von 100 bis 200 ms gätten - das wäre mir hier ein bißchen wenig. Vielleicht arbeitest du mal mit 500 bis 1000 Werten für die Glättung / Mittelwertbildung ...

oder alternativ :
den Wert im OB35 mit festgelegtem Intervall (z.B. 10 ms) in deinen Mittelwertspeicher einlesen und das dann auswerten ...

Gruß
LL
 
Mittelwert

Du solltest aber daran denken dass dein ermittelter Mittelwert (zB nach Neustart) auch erst gültig ist nachdem die erforderliche Anzahl Messungen erreicht wurde. Wenn im Ringspeicher alles 0 ist oder alte Werte drinstehen ist das eher ungünstig.

André
 
Naja wenn du fährst kannst du ja die Mittelwertbildung ausschalten nur wenn du im Stillstand bist kannst du einen Mittelwert bilden um denn wert ablesen zu können.
Wenns nur ein Schütz ist, kannst du es mit einen sprung machen wenn der ausgang da ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
habe es nochmal ausprobiert wenn ich 500 oder mehr werte neheme ändert sich das ergebins zu langsam und kommt dem orginal wert nicht hinter her

Ich arbeite manchmal mit 2 Werten:
- Einen gemittelten zum Anzeigen
- Einen aktuellen zum Auswerten

Ist zwar auch nicht immer das Gelbe vom Ei,
aber vielleicht hilfts dir weiter

Gruß
Dieter
 

3090 was für dinger?
ist das schon ne maseinheit?

1. bit auflösung vom da-wander im sensor?
2. bit auflösung vom ad-wandler in der karte?
3. wenn 3090 z.b. 100mm enspricht, dann zappelt da nach der normierung auch nicht mehr wirklich viel
4. wenn doch, dann kannst du diesen wert mit einem PT1 gleid immer noch glätten
5. das mit den 100 einträgen in den DB und mittwelertbildung daraus hallte ich für unnötig, speicherfressend, zyklusbelastend.

aber wie gesagt solltest du die ersten beiden punkte erst mal abklären bzw. wie genau du sein musst.

und wenn eine stelle zappelt die du entweder nicht brauchst von der genauigkeit her, oder die sowieso nur rechenmüll von der karte ist weil die auflkösung nicht reicht, dann wäre das einfachste du radierst das hinten einfach weg...

l wert
l 10
/i
*i
t wert_glatt


ich habe hier auch hier auch einen ansich supergeilen sensor von SICK, kann 30 meter messen, ist +-3mm genau und hat eine wiederholgenauigkeit von 1mm - leider hat dieser unfähige VOLLTROTTEL der das ding entwickelt hat nur einen 12 bit DA wandler für die 4-20mA schnittstele eingebaut...

12 bit sind 4096, d.h. der analogausgang schafft die mm-auflösung bestenfalls bei einem range von 4m, bei allem was größer ist (30m) verwandelt der vermutlich 13,72 cent billigere da-wandler alles was die restliche 1000€ elektronik bringt zu schrott... :sb6:
 
ich habe hier auch hier auch einen ansich supergeilen sensor von SICK, kann 30 meter messen, ist +-3mm genau und hat eine wiederholgenauigkeit von 1mm - leider hat dieser unfähige VOLLTROTTEL der das ding entwickelt hat nur einen 12 bit DA wandler für die 4-20mA schnittstele eingebaut...

Schau dir mal Leuze AMS200 an.
Hat Profibus und SSI-Schnittstelle und preislich auch interessant

Gruß
Dieter
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hab da noch so eine Idee ...

Hallo,

El Cattivo schrieb:
also zum Beispiel zwischen 3090 und 4010
immer hin und her und das sehr schnell

Ich habe hier noch einen 10µF Kondensator herumliegen, den kann ich Dir gerne zuschicken :icon_lol:

Ist aber eher die Lösung für Pragmatiker, Perfektionisten sollten davon Abstand nehmen.

Gruß

Question_mark
 
Zurück
Oben