TIA Startverhalten S7 1212C und IO-Link-Messsystem

smeitner

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich entwickle eine Schaltung mit einer S7 1212C, einem IO-Link-Master und zwei IO-Link-Ultraschallsensoren. Diese sollen in einer Pumpstation den Wasserstand erfassen und je nach Höhe desselben ein bis drei Pumpen einschalten, um das Wasser zu "entsorgen".
Um das Messrauschen der Sensoren (ausreißer bis zu 100cm) zu unterdrücken, lasse ich nur Messwerte zu, welche in einem Toleranzbereich von vorerst 300mm liegen. Wenn alles richtig funktioniert, werde ich den Toleranzbereich enger fassen.
Das funktioniert schon alles sehr gut, auch nach einem Warmstart.
Das Problem ist der Kaltstart. Dann ist der erste Messwert 0, also der Abstand Sensor-Wasseroberfläche. Das System nimmt ein randvolles Becken an.
Ich vermute, dass das Meßsystem beim Kaltstart zu spät bereit steht und die CPU eine fehlehaften Wert übernimmt. Im folgenden Programm werden alle weiteren Messungen als fehlerhaft aussortiert, da der reale Meßwert immer jenseit der Toleranz zum alten Meßwert (0) liegt.
Hat jemand eine Idee, wie ich den Start der CPU soweit verzögern kann, dass echte Meßwerte von Anfang an verarbeitet werden.?
Oder liege ich mit meiner Vermutung zur Ursache falsch?
Mit einem Startup-Baustein habe ich bereits experimentiert. Ergebnislos.

Danke und Gruß,
Stefan
 

Anhänge

Alternativ kannst du auch mit dem OB100 arbeiten. Dieser OB wird vom System beim Neustart einmalig aufgerufen und vor dem OB1 abgearbeitet.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Soweit habe ich beides schon verstanden, sowohl den Merker FirstScan, als auch den OB100, welchen ich auch verwendet habe, um die ersten Werte zu erfassen. Ich weiß nur nicht, wie ich eine Verzögerung realisiere. Eine Gleitkommadivision hat nicht zum gewünschten Ergebnis geführt.
 
Um das Messrauschen der Sensoren (ausreißer bis zu 100cm) zu unterdrücken, lasse ich nur Messwerte zu, welche in einem Toleranzbereich von vorerst 300mm liegen. Wenn alles richtig funktioniert, werde ich den Toleranzbereich enger fassen.
Das funktioniert schon alles sehr gut, auch nach einem Warmstart.
Das Problem ist der Kaltstart. Dann ist der erste Messwert 0, also der Abstand Sensor-Wasseroberfläche. Das System nimmt ein randvolles Becken an.
Ich vermute, dass das Meßsystem beim Kaltstart zu spät bereit steht und die CPU eine fehlehaften Wert übernimmt. Im folgenden Programm werden alle weiteren Messungen als fehlerhaft aussortiert, da der reale Meßwert immer jenseit der Toleranz zum alten Meßwert (0) liegt.
Hat jemand eine Idee, wie ich den Start der CPU soweit verzögern kann, dass echte Meßwerte von Anfang an verarbeitet werden.?
Oder liege ich mit meiner Vermutung zur Ursache falsch?
Mit einem Startup-Baustein habe ich bereits experimentiert. Ergebnislos.
Naja, ich würd die ganze "Rauschunterdrückung" anders bauen...
- entweder mit nem PT1-Filter im SPS-Programm
- oder evtl. einfach in der HW-Konfig "Störfrequenzunterdrückung" und "Glättung" aktivieren (falls die 1200er das kann)
- oder evtl. im Sensor selbst einen Filter aktivieren

So wie Du das machst, fallen mir spontan noch einige weitere Problemfälle ein, wo das nicht funktioniert... z.B. jemand klemmt den Sensor mal ab, oder Sensorversorgung ausgefallen...

Weiterhin würd ich noch eine Erkennung eines Sensorfehlers einbauen, um im Fehlerfall reagieren zu können, mindestens Alarm und vielleicht Pumpen verriegeln.
 
Vielleicht immer den aktuellen Wert speichern(remanent) und nach dem Kaltstart den Wert wieder mit First Scan einmal laden undd dann für eine Zeit x imit First Scan als gueltigen Wert ueberbruecken.Ich habe das jetzt noch nie benutzt aber normaler weise muesste ja ein verlängerter Impuls loslaufen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
1734438037898.png

Ich dachte hier kann er ueberbruecken mit dem letzten gueltigen Wert wenn er startet.
Beim Runterfahren speichert er den alten Wert ab.
Mit First Scan startet er eine Zeit und wenn die um ist liest er wieder das PEW ein.
Hier beim IN kommt die Ueberbrueckung.So war der Gedanke.
 
Zurück
Oben