Analogwert verarbeiten S5/analog PT100

spspfuscher

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Servus,

Meine S5 100U mit CPU 102 soll anhand einer Analoginput 2x PT 100 (6ES5-464-8MF11 / Steckplatz 0) bei einem einstellbaren Wert den Ausgang a2.7 auf 1 setzen.
Für Euch bestimmt ein Klacks, aber mit den Unterlagen die ich zur verfügung habe, werden die S5 und ich nicht einig.

Die Konfigschalter auf der Baugruppe 50 HZ, 2 Chanel, Broken on.

Im FB 72 habe ich mir....

L EB 65
SLW 3
T EW 66

L EB 64
SLW 3
T EW 64
BE

zusammen gekramt. Damit geht sie S5 schon mal nicht auf "HALT".
Aber vom Konfigurator bekomme ich "SPS antwortet nicht korrekt" zurück, wenn ich den FB 72 bearbeiten möchte.

Das mit dem FB 250 passt irgendwie garnicht.

Kann mir jemand ein einfachstes Beispiel schreibseln, damit ich verstehen kann was ich wo warum machen muß.

Bisher habe ich nur UND bzw ODER und manchmal einen Timer gebraucht. Jetzt ist Latein-Ende. Ich habe ein NIE.

Danke an die SPS Götter
 
L EW 64 //dort wo der Analogwert liegt
SRW 3 //Fehlerbit, Tätigkeitsbit, Bereichsüberschreitung ausblenden
L KF+1234 //Schwellwert
>F //grösser?
= A2.7 //=Ausgang
 
Falls es Dich interessiert:

im EW liegt der digitalisierte Messwert gemeinsam mit 3 Statusbits

xxxx xxxx xxxx xSSS

mit SRW "SCHIEBE RECHTS WORT 3"
wird das zu
000x xxxx xxxx xxxx

also dem Rohmesswert (0-2047 oder 0-4095)

L KF +1234

ist der Schwellwert

>=F

vergleicht ob Akku2 (der Messwert um 3 Bits verschoben) grösser ist als Akku1 (+1234 als Festpunktzahl (KF) mittels Festpunktvergleich.

=A2.7

wenn ja, wird der Ausgang zugewiesen.

alles kein Mirakel....
 
das funktioniert so nicht
bit 3 ist das 0,5 grad bit.
ausserdem ist bit 7 das vorzeichenbit.

machs so
Code:
     :AWL
     :A   DB 130
     :
     :L   EW  88
     :
     :UN  E   88.7
     :SPB =M001
     :KZW
M001 :
     :SRW      4
     :UN  E   88.7
     :SPB =M002
     :KZW
M002 :
     :T   DW  61
     :
     :L   KF +10
     :T   DW  64
     :
     :SPA FB 242
Name :MUL:16
Z1   :    DW  61
Z2   :    DW  64
Z3=0 :    M  254.0
Z32  :    MW 254
Z31  :    DW  62                               a-temp * 10
     :
     :L   KF +0
     :UN  E   89.3
     :SPB =M003
     :L   DW  62
     :L   KF +0
     :>F
     :SPB =M004
     :SPA =M005
M004 :L   KF +5
     :SPA =M003
M005 :L   KF -5
     :SPA =M003
     :
M003 :L   DW  62                               
     :+F
     :T   DW  62
     :L   DW  73                               korrekturwert fuer Thermo
     :+F
     :T   DW  62                    isttemperatur in 1/10 grad, genauigkeit 0,5 grad
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
das funktioniert so nicht
bit 3 ist das 0,5 grad bit.
ausserdem ist bit 7 das vorzeichenbit.

machs so
Code:
     :AWL
     :A   DB 130
     :
     :L   EW  88
     :
     :UN  E   88.7
     :SPB =M001
     :KZW
M001 :
     :SRW      4
     :UN  E   88.7
     :SPB =M002
     :KZW
M002 :
     :T   DW  61
     :
     :L   KF +10
     :T   DW  64
     :
     :SPA FB 242
Name :MUL:16
Z1   :    DW  61
Z2   :    DW  64
Z3=0 :    M  254.0
Z32  :    MW 254
Z31  :    DW  62                               a-temp * 10
     :
     :L   KF +0
     :UN  E   89.3
     :SPB =M003
     :L   DW  62
     :L   KF +0
     :>F
     :SPB =M004
     :SPA =M005
M004 :L   KF +5
     :SPA =M003
M005 :L   KF -5
     :SPA =M003
     :
M003 :L   DW  62                               
     :+F
     :T   DW  62
     :L   DW  73                               korrekturwert fuer Thermo
     :+F
     :T   DW  62                    isttemperatur in 1/10 grad, genauigkeit 0,5 grad

Ich versuche verzweifelt mit Hilfe von Volkers Code am Ende des Bausteins in DW 62 einen logischen Wert zu erkennen. Meine Fragen: Welches Format muß ich auswählen ( KF ?? ) und was für ein Wert sollte da bei etwa 17 Grad C zu sehen sein ??
 
@borromeus
Danke, dass Du Dir die Mühe gemacht hast. Leider hast Du zweimal knapp daneben getroffen.

...
>=F
vergleicht ob Akku2 ... grösser ist als Akku1
...
">=" bedeutet "grösser oder gleich"

...
=A2.7
wenn ja, wird der Ausgang zugewiesen.
...
Der Ausgang wird in jedem Fall zugewiesen: wenn der Vergleich OK ist, wird dem Ausgang eine 1 zugewiesen, wenn nicht, dann eine 0.
Gruss, Heinileini
 
Ich versuche verzweifelt mit Hilfe von Volkers Code am Ende des Bausteins in DW 62 einen logischen Wert zu erkennen. Meine Fragen: Welches Format muß ich auswählen ( KF ?? ) und was für ein Wert sollte da bei etwa 17 Grad C zu sehen sein ??
im DW 62 steht bei 17 Grad 170 (KF)

wenn du dein ew um 4 nach rechts schiebst steht dann steht im Akku deine Temperatur in GANZEN Grad also 17 (KF)
mit dem fb 242 wird dieser wert mit 10 multipliziert

der teil danach prüft ob das 0,5 Grad-Bit 1 ist.
wenn ja werden 0,5 Grad addiert bzw subtrahiert abhängig ob der wert positiv oder negativ ist. (+5 / -5)
 
Zurück
Oben