TIA Kommunikation mit Profinet-Device

mr.peterbuilt

Level-2
Beiträge
12
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, brauche einen Rat
ich möchte mit Profinet IO Devices kommunizieren - siehe Gerätesicht I/O-Konfiguration.
Kann ich einfach Datentypen des Eingangs- und Ausgangsbereichs definieren, Variablen mit diesen Datentypen anlegen und direkt darauf zugreifen?
Oder braucht es mehr? In Step7 classic wurde die Kommunikation über die Bausteine DPRD_DAT und DPWR_DAT realisiert. Dafür gab es eigens einen Baustein vom Hersteller, der sich aber nicht migrieren ließ. Einen Baustein fürs TIA gibt es vom Hersteller nicht.

TIA-Portal V20
CPU1515F-2PN
 

Anhänge

  • Conti3.png
    Conti3.png
    35,4 KB · Aufrufe: 26
  • Conti2.png
    Conti2.png
    45,3 KB · Aufrufe: 26
  • Conti1.png
    Conti1.png
    61,4 KB · Aufrufe: 26
Zuviel Werbung?
-> Hier kostenlos registrieren
Einen UDT für Eingangsdaten und einen für die Ausgangsdaten anlegen. Dann eine Eingangsvariable vom Typ UDT der Eingangsstruktur und eine Ausgangsvariable vom Typ UDT Ausgangsstruktur anlegen und fertig.
Vielen Dank, hört sich gut an. Also quasi so(siehe Bild, Datentyp exemplarisch für die Eingangsdaten)
Und dann Variable von genau dem Typ auf die Anfangsadresse.

Und wenn ich den ganzen Bereich doch in einem DB haben wollte - womit bekomme ich die Daten dort hin geschoben?
 

Anhänge

  • Conti4.png
    Conti4.png
    140,1 KB · Aufrufe: 21
  • Conti5.png
    Conti5.png
    7,5 KB · Aufrufe: 21
Zuviel Werbung?
-> Hier kostenlos registrieren
Den UDT im globalen DB anlegen & die Daten per Zuweisung/Move von den Eingangsdaten kopieren.
Kannst diese aber auch einfach per UDT komplett an einen Baustein zu Weiterverarbeitung übergeben.

Mit Move funktioniert es bei mir nicht. Mir dem MOVE_BLK_VARIANT scheinbar schon. Kann ich das so machen?
 

Anhänge

  • Conti6.png
    Conti6.png
    27,4 KB · Aufrufe: 16
Mit Move funktioniert es bei mir nicht. Mir dem MOVE_BLK_VARIANT scheinbar schon. Kann ich das so machen?
Das Funktioniert nicht, weil du von einem UDT in einen Struct kopieren möchtest, so wie es die Fehlermeldung schon sagt:
1774436230276.png
1774436338617.png
1774436369686.png

Entweder du änderst den Struct in auf den Datentyp "Waage_Input" oder du übergibst die Eingangs Daten an einen Baustein (also ohne das schreiben in einen DB).
 

Anhänge

  • 1774436282201.png
    1774436282201.png
    32,2 KB · Aufrufe: 2
Zuviel Werbung?
-> Hier kostenlos registrieren
Das sieht einfach aus. Aber es sagt mir "ungültige Zuweisung" Was mache ich falsch? Die Bereiche sind jedenfalls gleich groß.
Gleich groß reicht nicht. Quelle und Ziel müssen vom selben Datentyp sein. Also im DB eine Variable anlegen wie der UDT, den du an die Input-Adresse zugewiesen hast.
 
Zurück
Oben