TIA Offset Berechnung von Datentypen in TIA-Portal mittels VB-Funktion in Visual Studio

Jojo_1220

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

ich möchte mir eine Applikation mittels Visual Studio erstellen, welche es ermöglicht einen Datenbaustein als .db Source-File einzulesen und anschließend
als File für Dokumentationszwecken in einem "lesbaren" Format abzuspeichern(Excel -->> PDF). Der Grund dafür ist, dass immer wieder Datenbausteine als Interface/Datenübergabe deklariert werden und eine saubere Dokumentation dabei unerlässlich ist. Da ich schon mehrmals solche Datenbausteine händisch in Excel umgeschrieben und übertragen habe, weis ich durchaus wieviel dies arbeit ist und ich möchte dies jetzt mittels einer Visual Basic Funktion im Visual Studio automatisieren auf Basis der Eingaben im TIA-Portal (Kommentar, Datentypname, Offset usw.).

Die Applikation selbst ist an und für sich recht weit, das wesentliche Problem vor dem ich jetzt stehe ist, dass die .db Quelldateien des TIA-Portals keine Offsets mitliefern für eine Absolute Addressierung!

Beim nachbauen eines Algorithmus, welcher dies machen soll bin ich hier und da auf meine Grenzen gestoßen.
Hat sich irgendwer mal über solch einen Algorithmus Gedanken gemacht?
Könnte man mir hier weiter helfen, eventuell mit einer alternativen Lösungsmethodik?

Das Ziel, welches ich erstreben möchte ist darauf aufbauend, eine Art Datenbank abzuleiten, worin die TIA-Portal Datentypen und UDP's drinnen stehen, auf die die Visual Studio Applikation zugreift und anschließend die Excel bzw. die PDF Datei generiert.

mfg,
Jojo
 

Anhänge

  • Offset_Datentyp_Berechnung.png
    Offset_Datentyp_Berechnung.png
    10,5 KB · Aufrufe: 32
Hi,

ich vermute es ght dir beim Offset um die "Adressierung" bei nicht optimierten DB's bzw. den Serialisierten Byte stream?

Bits werden immer 8 stück pro Byte einsortiert, Bytes und deren derivate folgen direkt darauf, alle Datentypen größer "Byte" - also ab 2 Byte - sowie Strukturen und UDT's werden immer an geraden Adressen angeordnet /ausgerichtet

bsp:
3xBool 0.1 -0.3
Word 2.0
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... und ich möchte dies jetzt mittels einer Visual Basic Funktion im Visual Studio automatisieren auf Basis der Eingaben im TIA-Portal (Kommentar, Datentypname, Offset usw.).
Die Applikation selbst ist an und für sich recht weit, das wesentliche Problem vor dem ich jetzt stehe ist, dass die .db Quelldateien des TIA-Portals keine Offsets mitliefern für eine Absolute Addressierung!
Wie hast Du denn die "wesentlichen Probleme" gelöst, die Bedeutung (=Kommentare?) und die Datentypen zu entschlüsseln?
Die Offsets zu enträtseln, dürfte im Zeitalter der "optimierten" DBs eher am Thema vorbei sein.
Irgendeine verlässliche Basis, welche Information wo in welchem DatenTyp verpackt zu finden ist, sollte der "DatenSpender" entweder mitliefern oder dem Empfänger bekannt sein.
Um die Vielfältigkeit der denkbaren individuellen Lösungen gering zu halten, solltest Du in den SPS die entsprechenden ÜbergabeBereiche festlegen, fordern oder zumindest absprechen, statt auf die Intelligenz Deiner Auswertung zu bauen.
 
Nun prinzipiell ist das ganze Phänomen unabhängig ob der datenbaustein optimiert oder nicht optimiert als .db file exportiert wird, genau diese Adressierung geht beim Export nicht mit, welche aber für eine Dokumentation unerlässlich sind.

Hm, das mit den bool und Word ist mir soweit bekannt, ich tu mir zur zeit etwas schwer das ganze system mehr globaler zu sehen un daraus einen Algorithmus ableiten zu können.
 
Die Entschlüsselung der Datentypen vom Format: Int, Dword, Bool usw. Sowie die Kommentare bekommt man dabei sehr einfach aus der Datenbank eingelesen.
Allerdings eben nur ob es ein Word, ein Bool oder ein Real usw. Ist und keine Offset Informationen.
Eben genau so etwas zum identifizieren der Daten möchte ich ja kreieren, für eine Dokumentation auserhalb von speziellen Anwendungen wie TIA Portal...
Vielleicht versuche ich es mit einen vergleich zu Modbus, da bekommt man auch eine Dokumentation welche das Register, die Nummer sowie deren Inhalt definiert....
 
Zurück
Oben