Step 5 Analogwertaufbereitung für FB250/FB251

Tüftlergeist

Level-2
Beiträge
45
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen!

Ich bin hier wieder mal mit Analogwertverarbeitung in Step5 zugange.

Da die in einem früheren Beitrag erwähnte CPU100 keine Bausteine FB250/FB251 "eingebaut" hat, habe ich mir nun auch eine CPU103 besorgt.

Um mit den beiden Bausteinen zu experimentieren zu können, ist auf Steckplatz 1 eine Analogeingabebaugruppe 464-8MC11 (4x ±10 V) gesteckt und auf Steckplatz 3
eine Analogausgabebaugruppe 470-8MA11 (2x ± 10 V).

Am Kanal 0 der Eingabebaugruppe liegt an 3+/4- eine von 0...10 V veränderbare Gleichspannung an,
am Kanal 0 der Ausgangsbaugrguppe hängt parallel zu den Brücken 3-4 und 5-6 ein Analogvoltmeter 0...10 V.

Mein Plan war, die eingelesene Gleichspannung auch gleich wieder auszugeben;-)

Mit den den Bausteinen FB1 und FB2 (von einem OB1 mit absolutem Sprung aufgerufen) klappt das wie geplant: der Analogwertmeßgerätzeiger steht auf der jeweils eingestellten Spannung.

So weit alles verstanden - auch die Normierung.

Wenn ich nun die 464-8MC11 (4x ±10 V) gegen eine 466-8MC11 (4x 0...10 V) tausche und auch noch den im Handbuch abgebildeten FB 72
zum "umrangieren" eingebe und diesen vom OB1 aus vor FB1 und FB2 aufrufe, dann passiert folgendes:

Der Zeiger des Spannungsmessers pendelt je nach eingestellter Spannung mehr oder weniger stark.

Hat da jemand eine Idee, warum der Zeiger pendelt?

Besten Dank!!



Ich muss erwähnen, dass sich die Ziffern des untenstehenden FB72 vor dem Doppelpunkt in meinem Befehlsinterpreter nicht eingeben lassen
(Fehler 1112: Nicht definiert).

FB72

NAME :LESE 466

0005 :
0006 :L EW 72
0007 :T MW 72
0008 :L EW 74
0009 :T MW 74
000A :
000B :L MB 72
000C :SLW 6
000D :T EW 72
000E :
000F :L MB 73
0010 :SLW 6
0011 :T EW 74
0012 :
0013 :L MB 74
0014 :SLW 6
0015 :T EW 76
0016 :
0017 :L MB 75
0018 :SLW 6
0019 :T EW 78
001A :
001B :BE
 

Anhänge

  • FB2.jpg
    FB2.jpg
    373,4 KB · Aufrufe: 29
  • FB1.jpg
    FB1.jpg
    323,6 KB · Aufrufe: 25
Hallo Tüftlergeist,

hier das Handbuch der 100-103 CPUs:
https://support.industry.siemens.co...100u-gerätehandbuch?dti=0&pnid=13941&lc=de-DE

im Abschnitt 11 ist die Analogverarbeitung sehr gut beschrieben.


zu Deinen Aufrufen von FB250 / FB251:

FB250
Bei XA wird ein MW bzw. DW angeschlossen, der FB250 trägt den normierten physikalischen Wert dort ein.

FB251
An XE wird ein MW bzw. DW angeschlossen, welches einen physikalischen (z.B. von der SPS berechneten) Wert enthält.

Dein Fehler:
Du schreibst in Deinem FB72 auf EW72 und bei FB250 auf EW72 - das ist schlecht!

Vorschlag:
  • schmeiße den FB72 weg - der ist unnötig
  • trage bei FB250 XX ein freies MW ein - dieses enthält dann den normierten physikalischen Wert
  • trage bei FB250 XE ein MW ein, was einen physikalischen (z.B. von der SPS berechneten) Wert enthält


Die Zahlen vor dem Doppelpunkt sind die Speicheradressen der Befehle im S5 Baustein, die werden vom PG eingetragen.


Gruß
Peter
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Peter,
danke für die prompte Antwort!

Ich habe das mal so umgesetzt, den FB72 gelöscht und im

FB 250 bei XA : MW 20

und im

FB 251 bei XE : MW 25 eingetragen.

Der Zeiger steht jetzt trotz anliegendem Spannungswert (z.B. 4,5 Volt) auf Null.

Die Funktion Test/Status zeigt für den FB1 (also "Verwaltungsbaustein" für FB250), dass der hexadezimal hinterlegte Wert von MW20 sich in schneller Abfolge ändert obwohl ja der Wert am Kanal 0
fest eingestellt ist.

Wie gesagt habe ich die Analogeingangsbaugruppe von einer solchen mit ±10 Volt gegen eine mit 0...10 Volt getauscht.

Ich denke, dass da noch was anderes faul ist (vielleicht im Zusammenhang mit unipolarer bzw. bipolarer Darstellung).

Das Handbuch liegt mir vor - darum bin ich ja auch auf den FB72 gekommen. Trotzdem vielen Dank!

Gruß,
Andreas
 
Zuletzt bearbeitet:
Hallo Andreas,

was steht in MW25? Hast Du da einen Wert eingetragen?

Wenn Du den Wert des AE in MW20 ablegst und diesen Wert zu einem AA übertragen möchtest, musst Du MW20 zu MW25 kopieren oder am FB251 XE MW20 eintragen.

Code:
FB250
XA: MW20      // Analogwert wird in normiert in MW20 abgelegt

FB250
XE: MW20      // normierter Analogwert wird ausgegeben

Tipp:
Es ist sinnvoll MW's immer nur gradzahlig zu verwenden (um Doppelbelegungen zu vermeiden)

Bit_Byte_Word.jpg
 
Moin Peter!

Im MW25 des FB251 habe ich nichts eingetragen.

Eine Wertzuweisung hatte ich in einem separaten FB

L MW 20
T MW 25

schon versucht.

Auch damit pendelt der Instrumentenzeiger munter vor sich hin, so als/wie ;) wenn hinter XE und XA jeweils dasselbe MW steht.


Möglicherweise ist auch diese AE-Baugruppe defekt. Habe vor ein paar Tagen schon eine 6ES5 466-8MC11 (4x 0..10V) zurückgeschickt.


Komisch das...
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Andreas,

dann teste doch mal (ohne Wertzuweisung, schau Dir nur die Werte an (Status Variabel)):

AE-Karte mit 0-10V
Normierung an FB250 von 0 (min) bis 1000 (max)
FB250 XA : MW20

d.h. bei 5,0V am AE muss in MW20 "500" stehen, sonst:
  • Verdrahtungsfehler (Analogwert / Versorgungsspannung AE Karte) oder
  • bei FB250 Steckplatz/Kanalnummer/Kanaltyp falsch angegeben oder
  • MW20 woanders schreibend beeinflusst
    (MW20 enthält MB20 / MB21 / M20.0-M20.7 / M21.0-M21.7)

AA-Karte mit 0-10V
Normierung an FB251 von 0 (min) bis 1000 (max)
FB251 XE : MW25

d.h. bei 400 in MW25 muss ein Analogwert von 4,0V ausgegeben werden, sonst:
  • Verdrahtungsfehler (Analogwert / Versorgungsspannung AA Karte) oder
  • bei FB251 Steckplatz/Kanalnummer/Kanaltyp falsch angegeben oder
  • MW25 woanders schreibend beeinflusst
    (MW25 enthält MB25 / MB26 / M25.0-M25.7 / M26.0-M26.7)

Gruß
Peter
 
Guten Morgen Peter,
ich habe das Rätsel gestern selbst lösen können.

Möglicherweise habe ich Verwirrung gestiftet - sorry. Die verwendete Spannungsquelle
war wohl völlig ungeeignet.

Also erstmal nen Sollwertsteller 0..10 V auf Basis der Spannungsregler 78xx, einem Fernpoti
und einem Analogvoltmeter gebaut, sodass nun auf die stabilen 24 V der CPU- und
Baugruppenversorgung zurückgegriffen werden kann.

Wenn wie vorgeschlagen 5V an die AE-Baugruppe gelegt wird, ist im MW20 des FB250 der
Eintrag 0 (Null) abgelegt. Wird die Spannung erhöht, bleibt der Eintrag bei 0 (macht dann
irgendwann einen Sprung).

Bei einer Spannung von 4V ist im MW20 aber ein Hexadezimalwert von "6A7" hinterlegt - entspricht "1703";
wenn 2V eingestellt sind, findet man im MW20 "35B", was "859" entspricht. Ist zwar in etwa die Hälfte,
macht aber kaum Sinn.

Im Gerätehandbuch steht nun, dass die Analogwerte

- bei der AE-Baugruppe 6ES5 466-8MC11 (4x 0..10V) in EIN Byte
- bei allen anderen, also auch 6ES5 464-8MC11 (4x ±10V) in ZWEI Bytes

geschrieben werden.

Wenn ich wieder den FB72 mit seinen Schiebe- und Umrangieranweisungen aktiviere, ist im MW20
folgendes abgelegt:

ca. 5V: "1FB" oder auch "1F0" entspricht "507" bzw. "496"
ca. 10V: "3E4" enstpricht "996".

Danach MUSS bei der 466-8MC11 die Schiebeoperation um 6 Bit stattfinden.

Das Ganze unter Einbindung des FB 251 winkt nun auch die eingestellte Spannung entsprechend UGR/OGR
proportional zum PAA durch.

Gruß
Andreas
 
Hallo Andreas,

gerade gelesen in Deinem ersten Beitrag, dass Du die 464 gegen eine 466 getauscht hast - ich bin immer von einer "Standard" AE Karte ausgegangen und nicht einer mit nur 256 Abstufungen.

Bei dieser Karte ist es evtl. einfacher nur das Eingangsbyte direkt zu normieren:

Code:
Ergebnis = physikalischer_Maxwert / Zahlenmaxwert * Zahl_aktuell

Ergebnis = 1000 / 255 * EB72

Ergebnis = 3,921 * EB72

weil 103 nur Festpunkt kann den Bereich erweitern:

Ergebnis = (10000 /255) * EB72 = 39 * EB72

d.h, Du brauchst bei dieser Anwendung nur den Multiplizierer FB242,

Gruß
Peter
 
Zurück
Oben