Datenbausteine auslesen

poppypraun

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

ich arbeite momentan an einem Programm, mit dem es möglich sein soll die Datenkonfiguration zwischen einem Step7-Programm und einer Visualisierung zu ändern.
Hierzu ist es nötig den Aufbau der Datenbausteine auszulesen um an die genauen Adressen der Daten zu kommen.
Nutze hierzu die S7-Kommandoschnittstelle, was auch teilweise funktioniert.

Bei den globalen Datenbausteinen kann ich Daten mit den zugehörigen Datentypen auslesen, sodass die genau Adressbestimmung eigentlich kein Problem sein sollte.
Bei den Instanz-DBs bekomme ich zwar auch die Daten angezeigt, leider aber keine Datentypen.
Beispiele wie so ein Export von beiden Typen aussieht, hab ich mal angehängt.

Bei dem mir vorliegenden Step7-Programm läuft die Kommunikation mit der Visualisierung nur über globale DBs.
Meine Frage: Kann die Kommunikation überhaupt über Instanz-DBs erfolgen? Wenn nicht, dann hätte ich dieses Problem ja nicht.

Das auch die Adressen von Instanz-DBs ausgelesen werden können zeigt das Programm Symbol-Extractor (kann hier heruntergeladen werden: http://www.pro-face.de/pages/support/download_sonstiges.shtm).
Man müsste halt nur wissen wie es funktioniert :).
Habe hierzu das Beispiel auch noch mal im Anhang. Handelt sich um den gleichen Instanz-Baustein, wie beim Kommandoschnittstellen-Export.

Gibt es noch andere Möglichkeiten an die genauen Adressen zu kommen (Dateien im Projektordner o.ä.)?

Wäre schön, wenn ihr da ein paar Tipps für mich hättet.

Gruß
poppy
 

Anhänge

  • Export Global-DB.txt
    700 Bytes · Aufrufe: 130
  • Export Instanz-DB.txt
    470 Bytes · Aufrufe: 34
  • SymbolExtractor Instanz-DB.txt
    395 Bytes · Aufrufe: 34
Hallo,
aus deinen Beispielen werde ich nicht so richtig schlau - aber... ein I-DB ist im Grunde auch nur ein DB. Du müßtest ihn also auch wie einen "normalen" DB lesen und adressieren können ...

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
HAllo poppypraun,

ich vermute mal das wird nicht funktionieren.

Larry hat zwar recht, eine Visu kann ohne Probleme auf instanz-DBs zugreifen und dort sogar Werte ändern, aber die Genese der DBs ist unterschiedlich.

Soll heißen, einen Global_DB definiert man in einem Editur und gibt dort die Datentypen an und kann Quellen generieren und auslesen.

Die Quelle eines Instanz-DBs ist aber sein FB, dort werden die Datentypen festgelegt!
Von einem IDB habe ich es noch nicht geschafft eine Quelle per Simatic-Manager zu generieren.
Und ich gehe mal davon aus dein Programm macht auch nichts anderes...

dtsclipper
 
Danke für die ganzen Antworten!

KOP/FUP/AWL-Editor -> Datei -> Quelle generieren -> namen eingeben -> IDB auswählen -> generieren und staunen

Der Beitrag hat mir sehr geholfen! Wenn man bei "Referenzierte Bausteine einbeziehen" ein Häkchen macht, kommt das raus, was ich brauche.
Das ist auch genau die Funktion, die ich auch über die Kommandoschnittstelle nutze.
Die Funktion nennt sich GenerateSource und dieses "Referenzierte Bausteine einbeziehen" kann man als Flag setzen, nennt sich "S7GSFIncludeUsedBlocks".

Ich glaub das bringt mich schon ein ganzes Stück weiter :).

Gruß,
poppy
 
So kleines Problem,
wenn der referenzierte Baustein mit Graph erstellt wurde funktioniert das leider nicht.
Hat da jemand eine Idee?
Oder ist hier generell jemand, der Erfahrung mit der Kommandoschnittstelle hat?
Vielleicht geht das auslesen der Bausteine ja auch noch irgendwie anders...

Gruß
 
Zurück
Oben