S7 Analogwertverarbeitung

holle

Level-1
Beiträge
49
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen
Bin neu hier unnd finde euer forum richtig gut.
habe folgendes problem
Ein analogwert soll engelesen werden und je nach digital einganszustand auf 1 von 3 analogausgängen ausgegeben werden.
jetzt soll jedoch auf den analogausgängen auf denen nicht gerade der der analogeingang übertragen wird der letzte "wirkliche"wert gehalten (eingefroren)und ausgegeben werden.
ist so etwas möglich ?

mfg
holle
 
das ist einfach

Code:
      UN    M      1.0
      SPB   m010
      L     100
      SPA   m012
m010: UN    M      1.1
      SPB   m011
      L     200
      SPA   m012
m011: UN    M      1.2
      SPB   m013
      L     300
      SPA   m012
m012: T     PAW  352
m013: NOP   0

wenn kein neuer wert ins paw transferiert wird, bleibt der zuletzt gültige wert im paw bestehen.

benutz doch auch mal die suchfunktion des forums

mfg
 
re

Hallo Volker
Habe noch einige Verständnisprobleme mit der Ausgangsbeschaltung
habe bisher S7 nur im FUP programmiert und bin da auch noch anfänger

Warum L 100/L 200/L 300 und wie sind die Merker 1.0/1.1/1.2 beschaltet?
könntest du mir vielleicht eine klartextbeschreibung hinter die einzlnen Zeilen im Code schreiben.

mfg holle
 
anstatt der merker könnte da genausogut ein eingang stehen. ist halt die bedingung. :)
L 100-300 ist nur ein beispielwert der abhängig von obiger bedingung in das paw transferiert wird.
also wenn zb m1.0 1-signal hat wird spb m010 nicht ausgeführt und der wert 100 geladen, dann wird absolut nach m12 gesprungen und der geladene wert (100) in das paw transferiert.

mfg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
re

Kann ich also anstatt L100-300 auch PEW oder MW laden.
Warum 3 verschiedene Merker
es gibt doch nur 2 zustand wenn m1.0 1 ist tranferiere
MW oder PEW auf PAW oder wenn m1.0 0 ist halte auf PAW denn vorherigen Wert.
mfg holle
@volker danke das du dir die Zeit nimmst
 
woher du den wert holst ist egal.
in meinem beispiel gibt es 3 bedingungen mit 3 unterschiedlichen werten fürs paw.
zb du hast eine absauganlage an der 3 schleifstationen hängen. abhängig wieviel stationen eingeschaltet sind läuft der freq-umrichter mit 30,40,50 hz. das entspräche jetzt den merkern 1.0-1.2. mit den werten 100,200,300.

mfg
 
re

wo wird denn festgelegt das der PAW wert Eingefroren wird oder wird der wert gehalten bis mann den ausgang zurücksetzt
mfg holle
 
Zuviel Werbung?
-> Hier kostenlos registrieren
das ist grundsätzlich so. ist auch bei merkern und ausgängen so.
z.b.

u a 1.0
spb m001
un a 1.0
= a1.0
m001:

im ersten zyklus ist hier der a 0 und deshalb wird nicht gesprungen und der a wird 1. in allen darauf folgenden zyklen wird gesprungen.
diese funktion ist wie das setzen eines ausgangs. sowas ist aber nicht unbedingt gut programmiert.
 
re

Also würde das in meinem Fall so aussehen

U E124.0
SPB m001
L PEW256
T PAW272
:m001
und hier würde dann solange (E124.0) 1 ist der Wert übertragen und wenn (E124.0) 0 ist der letzte Wert am PAW ausgegeben?
oder wird bei E124.0 -0 der Wert des PAW auf 0 zurückgesetzt?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
re

Klasse dann hätten wir uns die ganze Geschichte sparen können.
Sollte ja dann das (move -Programmelement sein)
hatte es auch so programmiert.
Danke für deine Hilfe.

Ich hofe das ich morgen die Hardware bekomme und das ganze mal testen kann
 
Andere Lösung

Hey SPS'ler,

Die Lösung wird wahrscheinlich nicht funktionieren weil die S7 Ausgänge meistens über das Prozessabild aktuallisiert werden.
Dies ist auch sehr sinnvoll weil ein z.B. T PAW 100 erheblich mehr
zeitbenötigt als ein T AW100.
Da es meistens möglich ist, die SPS und die E/A Baugruppen mit
HW-Config so zu Configurieren, dass die Periperie im Prozessabbild liegt und meisten sowieso über den Profibus angeschlossen ist, wird das auch die schnellste Lösung sein.

Ich würde so etwas so Programmieren
Code:
         L     AW100   // Eingelesender Parameter
         UN   E0.0      // Analogwert nicht auf ersten Ausgang ausgeben
         SPB nAa1
         T     AW100   // Erster Analogausgang
         SPA End

nAa1:UN   E0.1      // Analogwert nicht auf zweiten Ausgang ausgeben
         SPB nAa2
         T     AW102   // 2-Analogausgang
         SPA End     

nAa2:UN   E0.2      // Analogwert nicht auf dritten Ausgang ausgeben
         SPB End
         T     AW104   // 2-Analogausgang
     
End:  ...
 
Zurück
Oben