TIA WORD Zugriff auf Datentyp im Static Bereich eines FB

Dublin

Level-1
Beiträge
25
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
nach langer Erfahrung mit S7 beginne ich mit TIA Programmierung und stoße auf Anfängerprobleme :oops:
Ich habe einen Handle-FB für einen SINAMIC Umrichter erstellt. STW und ZSW habe ich als PLC-Datentyp angelegt und im FB-Static deklariert.

Das Siemens Beispiel erstellt ein Array mit 6 WORDS (PZD 6/6 Telegram 352). Wie kann ich nun das ZSW in das Prozess-Ausgangs Array schreiben?
Ich kann Struct nicht in Word moven, in S7 5.5 hätte ich den Lokaldatenzugriff verwendet... Das neue Slice hilft hier auch nicht weiter.

Wäre nett wenn mir jemand auf die Sprünge helfen könnte, Danke!

TIA_G120.jpg
 
Hallo,

der große Unterschied zwischen TIA und S7-Klassik ist eine "strenge" Typkontrolle. Das heißt du kannst nicht einfach Daten über Typgrenzen hinweg kopieren, sondern du musst vorher eine Typkonvertierung durchführen.
Das Problem ist allerdings das dies mit PLC-Datentypen nicht möglich ist, weil TIA die Semantik deines PLC-Datentypes nicht kennt und damit keine Konvertiervorschrift hat. Daher ist es wichtig auf saubere SW-Strukuren zu achten.

Zu deinem Problem:


  • entweder hast du einen strukurellen Fehler (Warum musst du den PLC-Datentyp nach Word konvertieren?)
  • oder du kannst bei der S7-1500 mit dem Variant-Zeiger und den Funktionen Deserialisieren/Serialisieren die Typkontrolle aushelbeln.

Ich hoffe das hilft ein wenig
 
Zuletzt bearbeitet:
...(Warum musst du den PLC-Datentyp nach Word konvertieren?)...

Hallo Mario,

danke für deine Antwort.
Diese hat mich zum Überdenken meiner Vorgehensweise gebracht! Ich war so blind!

Du hast recht, warum muss ich überhaupt in WORD konvertieren. Muss ich nicht.
Habe jetzt das gesamte PA und PE als Datentyp angelegt und das schreibe und lese ich mit DPWR_DAT und DPRD_DAT.
Keine Konvertierung mehr notwendig!

TIA_G120_sol1.jpg
 
Zurück
Oben