INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Daten einer SPS S7-1200 mit SP7 Toolkit auslesen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

28.07.2020, 11:29 (Dieser Beitrag wurde zuletzt bearbeitet: 28.07.2020 14:58 von jg.)
Beitrag #1

Daniel9395 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Jul 2020

2019
2019
kA



Daten einer SPS S7-1200 mit SP7 Toolkit auslesen
Hallo zusammen,

momentan stehe ich vor einem Problem und komme einfach nicht weiter. Hab schon mehrere Seiten durchgestöbert aber bin auf leider keine erfolgreiche Hilfe gestoßen.
Ich versuche euch mal das Problem so gut es geht zu schildern.

Wir haben an unserer Versuchsanlage insgesamt 3 Siemens SPSen S7-1200. Dort werden verschiedene Daten wie z.B. Temperaturen erfasst, sowie Volumenströme oder Drücke aufgezeichnet. Diese Daten werden in spidercontrol visualisiert. Da wir eine Steuerung/Regelung in LabVIEW aufbauen wollen, müssen diese Daten im ersten Schritt in LabVIEW gelesen werden (später kommt dann noch das Schreiben der Daten auf die SPS dazu, so weit bin ich allerdings noch nicht). Die Kommunikation soll mit dem SP7 Toolkit von DATA AHEAD erfolgen. Eine Verbindung zu den SPSen konnte ich auch schon erfolgreich herstellen und mir werden auch ein paar Werte angezeigt, allerdings, so vermute ich, im falschen Format. Laut Dokumentation des Anlagenbauers, kommen die Werte die ich abrufen möchte als Boolean, Integer oder Real von der SPS. Wenn ich nun zum Beispiel die Temperaturen (Integer-Werte) abrufen möchte zeigt es mir in LabVIEW immer nur Ganzzahlen an (z.B. 235, statt 23.5). Auf der gleichen SPS und im gleichen DB sollen Volumenströme (Real-Werte) ausgelesen werden, allerdings wird mir hier 0 angezeigt (wenn ich im SP7 Toolkit Real auswähle) oder 16738 wenn ich Integer auswähle. Hier wäre meine erste Frage, wie bekomme ich diese Zahlen anders visualisiert? Bei einer anderen SPS werden Temperaturen und Drücke als Real-Werte ausgelesen, allerdings werden mir hier Zahlen im Format -2,7386235087E23 dargestellt. Auch hier meine Frage, wie bekomme ich die Zahlen richtig visualisiert.

Ich hoffe ich konnte einige Informationen nennen, falls welche fehlen sollten, bitte entschuldigt, ich bin noch LabVIEW-Anfänger ... Bei Bedarf kann ich auch Screenshots hochladen.

Ich freue mich auf eure Hilfe.

Viele Grüße
Daniel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
28.07.2020, 12:34
Beitrag #2

Freddy Offline
Oldtimer
****


Beiträge: 695
Registriert seit: Aug 2008

2019, 2020, NXG 5.0
1996
DE

76275
Deutschland
RE: Daten einer SPS S7-1200 mit SP7 Toolkit auslesen
Hallo Daniel,
Zitat:Beispiel die Temperaturen (Integer-Werte) abrufen möchte zeigt es mir in LabVIEW immer nur Ganzzahlen an (z.B. 235, statt 23.5).
Integer Werte sind doch Ganzzahlenwerte mit positiv und negativen Vorzeichen.

Lade doch mal Dein VI hoch.

Gruß
Freddy

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2020, 12:38
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 16.467
Registriert seit: May 2009

11SP1, 17SP1 (ab und zu 20)
1995
DE_EN

10×××
Deutschland
RE: Daten einer SPS S7-1200 mit SP7 Toolkit auslesen
Hallo Daniel,

Zitat:Wenn ich nun zum Beispiel die Temperaturen (Integer-Werte) abrufen möchte zeigt es mir in LabVIEW immer nur Ganzzahlen an (z.B. 235, statt 23.5).
Da könnte dann ein simpler Skalierungsfaktor fehlen, wie z.B. 1/10…

Zitat:Auf der gleichen SPS und im gleichen DB sollen Volumenströme (Real-Werte) ausgelesen werden, allerdings wird mir hier 0 angezeigt (wenn ich im SP7 Toolkit Real auswähle) oder 16738 wenn ich Integer auswähle. Hier wäre meine erste Frage, wie bekomme ich diese Zahlen anders visualisiert?
Indem du sie erstmal richtig ausliest!
16738 = x4162 (Darstellung als U16, dezimal/hexadezimal)
Wenn man jetzt zwei Nullbytes anhängt, um die 4 Bytes eines SGL-Wertes zu erhalten (SPS-REAL!), dann bekommt man den Wert 14.25:
   
Daher mein Vorschlag: Daten erstmal richtig von der SPS abholen!

Zitat:Bei einer anderen SPS werden Temperaturen und Drücke als Real-Werte ausgelesen, allerdings werden mir hier Zahlen im Format -2,7386235087E23 dargestellt. Auch hier meine Frage, wie bekomme ich die Zahlen richtig visualisiert.
Auch hier vermute ich ein Problem beim korrekten Abholen der Daten von der SPS…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2020, 12:51
Beitrag #4

Freddy Offline
Oldtimer
****


Beiträge: 695
Registriert seit: Aug 2008

2019, 2020, NXG 5.0
1996
DE

76275
Deutschland
RE: Daten einer SPS S7-1200 mit SP7 Toolkit auslesen
Hallo Daniel,
die VI's, die mitgeliefert werden enthalten die Möglichkeit einzustellen welche Art von Ergebnis Du bekommen möchtest.

Es gibt bei NI ein Forum mit dem Thema DATA AHEAD


Angehängte Datei(en) Thumbnail(s)
   

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2020, 13:04
Beitrag #5

Daniel9395 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Jul 2020

2019
2019
kA



RE: Daten einer SPS S7-1200 mit SP7 Toolkit auslesen
Hallo Freddy, hallo Gerd,

vielen Dank für eure schnellen Rückmeldungen. Im Anhang findet Ihr zwei Screenshots der VIs.

Das mit dem Skalierungsfaktor habe ich auch schon ausprobiert. Wenn ich allerdings 1/10 einfüge, schneidet es die Zahl ab und ich erhalte 23, statt 23.5.

Ich vermute wie Gerd schon erwähnt hab, dass ich die Daten der SPS erstmal richtig auslesen muss, allerdings habe ich bisher noch keinen blassen Schimmer wie ich das anstelle ... Habt ihr da vielleicht Tipps?

Viele Grüße
Daniel


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2020, 13:18
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 16.467
Registriert seit: May 2009

11SP1, 17SP1 (ab und zu 20)
1995
DE_EN

10×××
Deutschland
RE: Daten einer SPS S7-1200 mit SP7 Toolkit auslesen
Hallo Daniel,

Zitat:Das mit dem Skalierungsfaktor habe ich auch schon ausprobiert. Wenn ich allerdings 1/10 einfüge, schneidet es die Zahl ab und ich erhalte 23, statt 23.5.
Wenn ich einen Integerwert mit 0.1 multipliziere, dann erhalte ich einen Floatwert mitsamt Nachkommastellen...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
28.07.2020, 13:51 (Dieser Beitrag wurde zuletzt bearbeitet: 28.07.2020 13:53 von jg.)
Beitrag #7

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.560
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Daten einer SPS S7-1200 mit SP7 Toolkit auslesen
(28.07.2020 13:04 )Daniel9395 schrieb:  Hallo Freddy, hallo Gerd,

vielen Dank für eure schnellen Rückmeldungen. Im Anhang findet Ihr zwei Screenshots der VIs.

Das mit dem Skalierungsfaktor habe ich auch schon ausprobiert. Wenn ich allerdings 1/10 einfüge, schneidet es die Zahl ab und ich erhalte 23, statt 23.5.

Ich vermute wie Gerd schon erwähnt hab, dass ich die Daten der SPS erstmal richtig auslesen muss, allerdings habe ich bisher noch keinen blassen Schimmer wie ich das anstelle ... Habt ihr da vielleicht Tipps?

Viele Grüße
Daniel

Verkehrt ist erst mal, dass du immer blind bei Item-Offset 0 einstellst. Damit fängst du immer beim ersten Byte im Datenbaustein an zu lesen.

Beispiel: Falls in deinem DB zuerst 3 I16 definiert sind und dann 2 REAL Werte, dann wirst du mit Offset 0 nie auf einen grünen Zweig kommen. "Read Real Array" interpretiert dann die ersten 4 Byte im DB als den ersten Real-Wert, die nächsten 4 Bytes als den zweiten REAL-Wert (der sich aber in Realität aus einer Mischung des dritten I16 und des ersten REAL zusammensetzt) usw. usw. usw.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2020, 14:08 (Dieser Beitrag wurde zuletzt bearbeitet: 28.07.2020 14:15 von Daniel9395.)
Beitrag #8

Daniel9395 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Jul 2020

2019
2019
kA



RE: Daten einer SPS S7-1200 mit SP7 Toolkit auslesen
Ihr helft mir gerade unheimlich!

Vielen Dank für den Tipp Gerd, ich habe zuerst durch 10 geteilt, dann hat es die Zahlen immer abgeschnitten... Mit der Multiplikation von 0,1 hat es nun funktioniert. Vielen Dank!

Ich glaube jetzt verstehe ich auch so langsam was ich falsch mache bzw. wie ich der Lösung langsam näher komme ...
In dem einen DB sind zB zuerst 10 Integer Werte definiert und dann 4 Real, dann wieder 2 Integer, 2 Real, 5 Integer, 1 Real, 1 Integer.
In einem anderen DB habe ich zuerst 9 Bool, 1 Integer, 9 Real und nochmal 2 Integer.

Wie komme ich denn nun immer genau zu den Werten die ich gerne abrufen würde?

Bitte entschuldigt, dass ich so planlos bin ... Es wäre super wenn ihr mir noch ein bisschen helfen könntet!

Edit: Leute ich glaube ich hab es eben verstanden. Ich habe nun versucht nach den 10 Integer Werten die 4 Real Werte abzurufen. Ein Integer hat eine Größe von 16 bit, 10 Integer ergeben daher 160 bit, was 20 byte entspricht. Also setze ich als Offset 20 bytes. Und es hat mir nun tatsächlich die richtigen Werte ausgespuckt.
Daher jetzt nochmal die Frage, stimmt meine Vorgehensweise so? Und wie läuft die Nummerierung bei Bool-Werten? Ein Bool hat eine Größe von 1 bit, was gebe ich da als entsprechenden byte-Offset ein?

Vielen Dank für eure Hilfe!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2020, 15:01
Beitrag #9

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.560
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Daten einer SPS S7-1200 mit SP7 Toolkit auslesen
Lass dir am besten einen Screenshot von den Datenbausteinen im TIA-Portal erstellen. Da sollte dann jeweils der Offset in Bytes bei Beginn eines neuen Datentyps mit drinnen stehen.

Wenn die neun Boolean als Array of Bool im DB angelegt sind, dann musst du mit "read bool array" 2 Items auslesen - steht allles in der Hilfe zum Read DB VI. Die SPS bzw. TIA wird bei Beginn eines neuen Datentyps oder einer neuen Variable in den meisten Fällen auf eine gerade Start-Adresse aufrunden.

Was du ebenfalls machen kannst:
Den gesamten DB als "Array of Byte" auslesen und selber in LabVIEW das Parsing durchführen. Das geht sehr einfach, bei einer S7 ist die Speicherreihenfolge dieselbe wie bei LabVIEW, MSB.
Soll heißen, so etwas ist prinzipiell möglich:
   

Gruß, Jens

Nachtrag: Es ist kontraproduktiv (auch wenn es die API hergibt), mehrere Abfragen an dieselbe SPS parallel zu programmieren. Ersten kann es die SPS nicht, zweitens verhindert die SP7-API, dass diese Anfragen parallel abgearbeitet werden.

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.07.2020, 10:11
Beitrag #10

Daniel9395 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Jul 2020

2019
2019
kA



RE: Daten einer SPS S7-1200 mit SP7 Toolkit auslesen
Vielen dank für die Info, Jens.

Wie schaffe ich es denn so einen Typ-Eingang wie in deinem Screenshot zu erstellen?

Viele Grüße
Daniel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Motorisierter Prüfstand: Daten mit LabView auslesen montie 11 2.429 03.05.2019 09:20
Letzter Beitrag: montie
  Daten aus txt.Datei auslesen Greensche 4 2.352 06.07.2016 15:44
Letzter Beitrag: Lucki
  Mp3 Daten auslesen flipside2112 9 5.949 15.02.2016 11:01
Letzter Beitrag: GerdW
  Monitor Daten auslesen? Sam789 8 13.402 31.10.2013 13:24
Letzter Beitrag: BsaiboT
  RFID Daten über LabVIEW auslesen ? che-salih 3 3.561 19.06.2013 22:11
Letzter Beitrag: che-salih
  Daten von GPS Maus auslesen. mtothex 15 12.005 13.06.2013 14:14
Letzter Beitrag: funkyspike

Who read this thread?
12 User(s) read this thread:
Freddy, MarcoN, MScz, Daniel9395, arts, IchSelbst, th13, Achim, TpunktN, GerdW, jg, THL

Gehe zu: