Datenaustausch Analogwerte S5 <-> S7

williwuff

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

ich bräuchte man eure Hilfe.
Und zwar muss ich eine S5 und eine S7 miteinander koppeln und Analogwerte austauschen.
In der S5 ist hierfür schon ein entsprechender Datenbaustein vorhanden, der auch nicht angerührt werden darf (Vorgabe vom Kunden). Die Analogwerte sind dort aufgeführt und als WORT deklariert.

In meinem S7 Programm werden alle Berechnungen mit Real (also Doppelwort) gemacht. Die Berechnungen setzen sich aus den Analogwerten der S5 zusammen.

Wie bekomme ich nun das WORT aus der S5 mit dem DOPPELWORT aus der S7 in Einklang?

Gruß
 
Hallo WW !

Was meinst du denn nun?

1: Übertragung von S5 zu S7 wie von tnt gefragt

oder

2: die Konvertierung INT zu REAL wie von Paule vorgeschlagen ??

Gruss
 
Danke für eure Antworten.

Es handelt sich um ca. 20 Analogwerte.

Mir ging es um die Konvertierung. Die Übertragung erfolgt seriell über eine TTY-Schnittstelle.

Die S5 hat 2 Datenbausteine:
DB200 (Hier stehen alle Analogwerte als WORT drin, die an die S7 geschickt werden sollen)
DB201 ((Hier stehen alle Analogwerte als WORT drin, die von der S7 empfangen werden sollen)


In meiner S7 habe ich die gleichen Bausteine angelegt:
DB200 (empfängt S5 Werte)
DB201 (sendet S7 Werte)

Wie muss ich nun meine DBs in der S7 einrichten? Ich schätze mal auch als WORT, sonst wären sie ja in der S7 anders als in der S5.

Meinen DB200 werte ich dann so aus?

Code:
L DB_Analogwerte_S5 (DB200) (Word-Format)
ITD    
DTR    
T DB_Analogwerte_S7 (kann nun weiterverarbeitet werden in S7) (Real-Format
Und meinen DB201 so?

Code:
L DB_Analogwerte_S7 (Werte aus Berechnungen in S7) (Real-Format)
 ????????
????????
T DB_Analogwerte_S5 (DB201) (Word-Format)
Habe hier keine passenden Konvertierungsbefehle gefunden?!

Kann jemand helfen?

Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Und meinen DB201 so?

Code:
L DB_Analogwerte_S7 (Werte aus Berechnungen in S7) (Real-Format)
 ????????
????????
T DB_Analogwerte_S5 (DB201) (Word-Format)
Habe hier keine passenden Konvertierungsbefehle gefunden?!
So:
Code:
L DB_Analogwerte_S7 (Werte aus Berechnungen in S7) (Real-Format)
RND
T DB_Analogwerte_S5 (DB201) (Word-Format)
Die Konvertierung geht hier zwar nur als Doppelwort, wenn der Wert aber in eine Word Variable reinpasst kann er als solchen Typ auch verwaltet werden.
Sprich, es passt so. ;)
 
Mit dem o.g. Code werden aber nur Ganzzahlen übertragen

Ich möchte jedoch Kommazahlen übertragen, z.B. einen physikalischen Wert von 20,5bar. Und nicht 20bar und auch nicht 21bar.

Hintergrund ist, dass die S5 eine Schutz-SPS ist und die neue S7 alle Regler enthält. Die Feldmessungen gehen in die S5 und werden dann an die S7 übertragen. Und die Regler sollen nicht mit gerundeten Werten arbeiten.
 
Mit dem o.g. Code werden aber nur Ganzzahlen übertragen

Ich möchte jedoch Kommazahlen übertragen, z.B. einen physikalischen Wert von 20,5bar. Und nicht 20bar und auch nicht 21bar.

Dann würde ich skalieren, mit 10 oder 100.
Also 205 entspricht 20,5 bwei Faktor 10.
2050 wäre 20,5 wenn du 100 nimmst.

Es erschließt sich mir nicht, warum wandeln in und von einem Format, das der gegenüber nicht versteht.


bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es erschließt sich mir nicht, warum wandeln in und von einem Format, das der gegenüber nicht versteht.

bike

Warum sollten sich S5 und S7 nicht verstehen?
Das S5 Festpunkt-Format (KF) ist doch dem S7-Integer identisch. Erst Recht, wenn es um bereits skalierte Zahlenwerte im überschaubaren Bereich geht. Wenn mit Kommastellen, dann so wie Du beschrieben hast, sollte dem TE aber nicht allzu schwer fallen.:cool:

Approx
 
erstmal danke für eure nachrichten.

kurz mal zum hintergrund meiner anfrage: eine S5 kommuniziert z.Zt mit einem Simadynregler. Der Simadynregler wird durch eine S7 ersetzt. Die S5 stellt ihre Daten in DB200 und DB201 zur Verfügung.

D.h. in der S5 soll nichts geändert werden. Die beiden DBs sollen so bleiben wie sie sind. Ersetzt wird nur der Simadynregler durch die S7.

In der S7 werden alle möglichen Berechnungen im real-Format gemacht. Die Berechnungen ergeben sich unter anderem aus den Daten, die im DB200 (in WORT-Format) abgelegt sind. Manche Berechnungen werden wieder zurück an die S5 übertragen (in DB201)

Können die Daten im Wort-Format der S5 überhaupt Kommazahlen sein?

Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Können die Daten im Wort-Format der S5 überhaupt Kommazahlen sein?

Gruß
Nein. Ein Datenwort in der S5 ist eine Festpunktzahl (KF). In den DatenWORTen der S5 können also eigentlich nur Ganzzahlen drinstehen. Wenn Kommazahlen zur S7 übertragen werden sollen, dann geht das nur über den Umweg mit der Multiplikation.
Alternativ könnte in der S5 eine Formatkonvertierung (Befehl: FDG) in Richtung Doppelwort-Gleitpunktzahl durchgeführt werden. Aber die S5 soll ja nicht angefasst werden.
Die Aufgabenstellung klingt jedenfalls erstmal etwas seltsam.
Approx
 
Ich werde mir das morgen nochmals in aller Ruhe zu Gemüte führen und schauen, wie der Datenaustausch zwischen Simadynregler und S5 ausgesehen hat.

Es scheint wohl, dass dann auch nur Ganzzahlen übertragen wurden und keine Kommazahlen.

Nochmals vielen Dank für die Mühe
 
Ich werde mir das morgen nochmals in aller Ruhe zu Gemüte führen und schauen, wie der Datenaustausch zwischen Simadynregler und S5 ausgesehen hat.

Es scheint wohl, dass dann auch nur Ganzzahlen übertragen wurden und keine Kommazahlen.

Nochmals vielen Dank für die Mühe

Kann es sein, dass sinnvoll sein kann,zuerst sich über die Aufgabe die man lösen soll, im klaren zu sein?
Es ist doch Mist zuerst Wissen mit fiktiven Fragen abzufragen und dann zu schreiben, ich weiß ja garnicht was ich machen soll.

Langsam macht es keinen Spaß mehr sich Gedanken zu machen, wenn jemand fragt.

Wenn ich dir einen Tipp geben darf: lass es, denn diese Aufgabe ist nicht deine Kragenweite.


bike
 
Zurück
Oben