TIA Analogwertverarbeitung

Asan12

Level-1
Beiträge
15
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe eine paar Verständnisfragen zur Analogwertverarbeitung.Ich habe die Aufgabe und auch die Lösung im Anhang beigefügt.
Ich möchte mich hier nicht auf scale_x und norm_x beziehen sondern auf die Bausteine Real,Int,Div,Sub und Move.

Die Aufgabe war:
Wir haben eine Kohleförderbandanlage die Kohle in Loren füllt.
Es sollen 7 Tonnen gefüllt werden unabhängig vom Leergewicht (2 Tonnen).

Es wird ein Drucksensor B2 verwendet(0......10V).

Gewicht:0........10000Kg

Int-Wert:27648

Man muss ja als erstes Umwandeln.

Da man genau sein will und Nachkommastellen haben will,convertier man Int zu Real.Also Eingangssignal B2 Sensor zu Real(16 Bit zu 32 Bit)0....27648.

Dann soll man ja skalieren.Da wir das Gewicbt haben wollen und der maximale Bereich 10000kg ist,teilen wir die 27648 durch hundert.Dann benutzt man ein Div Baustein der die Eingänge miteinander dividiert.Der Sub baustein subtrahiert ja die Eingänge.

Ist das soweit korrekt

Kann mir jemand aber den Move Baustein im Bild erklären und die positive Flanke .

Bei der positives Flanke wird ja eine Signaländerung gespeichert.Diese wird ja benutzt um die Waage zu reseten?

Danke vorab.
 

Anhänge

  • 20221207_131327.jpg
    20221207_131327.jpg
    1,4 MB · Aufrufe: 63
  • 20221207_131347.jpg
    20221207_131347.jpg
    1,4 MB · Aufrufe: 60
Dann soll man ja skalieren.Da wir das Gewicbt haben wollen und der maximale Bereich 10000kg ist,teilen wir die 27648 durch hundert.Dann benutzt man ein Div Baustein der die Eingänge miteinander dividiert.Der Sub baustein subtrahiert ja die Eingänge.
In deiner Lösung sind aber SCALE_X und NORM_X verwendet. Natürlich geht es auch ohne, einfacher Dreisatz halt. Warum willst du durch 100 teilen?
Wenn du das aktuelle Gewicht am Sensor berechnen willst, dann (10000kg/27648)*Analogwert
Der Move soll wohl dazu dienen das Gewicht der leeren Lore zu erfassen. Mit dem Impuls von M2 (was auch immer das für ein Signal ist) wird das Leergewicht gesichert. Das musst du dann später zu deinen 7t0 Füllgewicht addieren und die Zuladung rechtzeitig abstoppen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Kannst du das mal in einer Formel zusammen fassen, was du oben zum normieren und skalieren beschrieben hast? Dann wird dir vielleicht klarer, was da passiert. Das hört sich für mich aktuell so an, das du nicht verstehst, wie Analoge Eingangswerte in der SPS verarbeitet werden.
 
Mir ist irgendwie nicht die Funktion des Move mit positiver Flanke ersichtlich. Habe mal noch das Bild der Anlage hinzugefügt
 

Anhänge

  • 20221207_160135.jpg
    20221207_160135.jpg
    1,9 MB · Aufrufe: 44
Hier wird ja das Gewicht beschrieben.
Der wird durch ein Sensor hier B2 erfasst(0.....10V).0 für 0kg 10V=10000Kg.
Diese Spannung des Sensors wird auf die Analoge Baugruppe weitergegeben,die in Digits von 0 bis 27648 (ADU Siemens) rechnet
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der Move kopiert einfach nur einen Wert in einen anderen, sofern EN true ist. Und da EN über eine Flanke gesetzt wird, wird der Wert nur einmal bei Auslösen des Druckschalters kopiert.
 
Hier wird ja das Gewicht beschrieben.
Der wird durch ein Sensor hier B2 erfasst(0.....10V).0 für 0kg 10V=10000Kg.
Diese Spannung des Sensors wird auf die Analoge Baugruppe weitergegeben,die in Digits von 0 bis 27648 (ADU Siemens) rechnet
Und wie bekommst du den Wert 0-27648 auf deinen Wert 0-10.000kg umgerechnet? Dafür gibts eine simple Formel^^..
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Kannst du mir den Move spezifisch auf das Beispiel erklären.Dass heißt wenn M2 ein positives Signal hat kopiert der Move das positive Signal wo hin.Also beim Blatt steht ja Leergewicht abspeichern.Beim En haben wir M2 und dann noch das Gesamtgewicht.Liefert M2 ein positives Signal wird dann der Wert kopiert .Warum aber ist noch das Gesamtgewicht dabei
 
Kannst du mir den Move spezifisch auf das Beispiel erklären.Dass heißt wenn M2 ein positives Signal hat kopiert der Move das positive Signal wo hin.Also beim Blatt steht ja Leergewicht abspeichern.Beim En haben wir M2 und dann noch das Gesamtgewicht.Liefert M2 ein positives Signal wird dann der Wert kopiert .Warum aber ist noch das Gesamtgewicht dabei
der MOVE Befehl kopiert den Wert am Eingang IN in den Wert am Ausgang OUT immer dann, wenn EN = true ist. Auf deine Aufgabe bezogen bedeutet das, dass das aktuelle Gewicht zwischengespeichert wird, sobald der Druckschalter auslöst.
1670427196752.png



1670427211976.png
 
Kann mir jemand aber den Move Baustein im Bild erklären und die positive Flanke .
Mir ist irgendwie nicht die Funktion des Move mit positiver Flanke ersichtlich.
Zu einem ZeitPunkt, wenn die leere Lore auf der Waage steht, soll ihr Gewicht gemessen und abgespeichert werden, um das Gewicht der Lore wieder herausrechnen zu können, wenn die Waage später nur noch die Summe aus dem Gewicht der Lore plus dem Gewicht der aktuellen Ladung liefern kann.
Habe mal noch das Bild der Anlage hinzugefügt
Ah! Jetzt wird endlich klar was mit ...
Lösungshinweise:
1) aktuelles LeerGewicht speichern
ausgelöst durch M2 (FlankenAuswertung)
... gemeint ist.
M2 scheint der Motor zu sein, der das Förderband zur Befüllung der Lore antreibt.
Von DruckSchalter ist hier nix zu sehen. Wo kommt jetzt der DruckSchalter her? M2 ist der Motor!
Steht eine leere Lore auf der Waage und das Band läuft nicht, dann bleibt die Lore leer.
Wodurch allerdings sichergestellt wird, dass überhaupt eine Lore auf der Waage steht und diese Lore auch noch leer ist ... keine Ahnung. Das muss sich aus dem vorausgegangenen Ablauf der Prozedur ergeben.
Wird das Band bzw. Motor M2 gestartet, so wird es höchste Eisenbahn, den MessWert der Waage abzuspeichern, weil dieser MessWert, also das LeerGewicht der Lore (sofern vorhanden und leer), später (nach Beginn der Befüllung der Lore) noch gebraucht wird um das Gewicht der aktuellen Beladung zu berechnen.
Die Waage liefert immer nur die Summe LeerGewicht der Lore plus Gewicht der aktuellen Beladung. Um nun daraus das Gewicht der Beladung zu berechnen, muss das LeerGewicht der Lore herausgerechnet werden.
Aber das steht ja zum Glück schon unter Punkt 2) der LösungsHinweise:
2) FüllGewicht = GesamtGewicht - LeerGewicht
Also, der ZeitPunkt, zu dem der M2 eingeschaltet wird, ist der spätest mögliche Moment, um das Gewicht einer ggfs vorhandenen und noch leeren Lore zu messen.
Dieser ZeitPunkt bzw. die Flanke des Einschaltens wird aus der "Beobachtung" des MotorSignals abgeleitet. Im Moment des Einschaltens wechselt das Signal von low zu high. Genau das ist die positive Flanke des überwachten Signals. Der Ausgang der FlankenErkennung steht nur einen einzigen SPS-Zyklus lang auf high und mit diesem Impuls wird der MOVE einmalig *) veranlasst, das aktuelle Gewicht als LeerGewicht im MD204 abzuspeichern.
*) "Einmalig" bedeutet natürlich nur, dass der nächste Impuls bei der nächsten positiven Flanke des Signals, also beim nächsten Starten des Motors M2 wieder auftreten wird. Bis es aber irgendwann so weit ist, bleibt der Ausgang der FlankenErkennung auf low und der MOVE tut solange gar nichts.
Bei der positives Flanke wird ja eine Signaländerung gespeichert.
Nein. Der Ausgang der FlankenAuswertung ist genau 1 Zyklus lang auf high und damit wird nicht eine SignalÄnderung gespeichert, sondern - wie gerade eben schon gesagt - in dem hier gezeigten Beispiels das LeerGewicht der Lore.

Die FlankenErkennung speichert allerdings doch etwas, heimlich, still und leise. Sie speichert den aktuellen Zustand ihres Eingangs .
Die FlankenErkennung benötigt nämlich im nächsten SPS-Zyklus diese Information über den jetzigen Zustand, der im nächsten Zyklus schon der "alte" Zustand sein wird(!), um ihn mit dem dann aktuellen Zustand des Eingangs der FlankenErkennung vergleichen zu können.
In Deinem Beispiel sehe ich M10.5 über der FlankenErkennung. Der Merker, den Du hier mit dieser FlankenErkennung verheiratet hast, ist der Speicher, den diese FlankenErkennung fortan benutzen wird, um sich den Zustand an ihrem Eingang bis zu nächsten Zyklus zu merken.
Du machst mit diesem Merker gar nichts mehr. Vor allem darfst Du ihn nicht anderweitig benutzen/beschreiben. Nicht einmal für eine andere FlankenErkennung!
Diese wird ja benutzt um die Waage zu reseten?
Nein. Von einem "Resetten" der Waage ist in Deiner Aufgabenstellung nirgends etwas zu sehen.

Ah ok.Wenn der Druckschalter nochmals ausgelöst wurde wird der Move Baustein zurückgesetet
Von welchem DruckSchalter ist hier immer die Rede???
NEIN, nicht DruckSchalter! Der Motor M2 - genauer gesagt: ein Bit in Deinem Programm mit der Bedeutung "Motor M2 ist eingeschaltet" - wird abgefragt.

Der MOVE wird nicht zurückgesetzt. Entweder er tut etwas (das Kopieren), nämlich, wenn sein Eingang EN high ist oder er tut nix, nämlich, wenn sein Eingang EN low ist.
 
Zuletzt bearbeitet:
Zurück
Oben