-> Hier kostenlos registrieren
Hallo,
ich habe ein Projekt zur Ansteuerung eines Profinet-Slaves bekommen. Das Projekt ist vorher in Step7 entwickelt worden und soll nun für das TIA Portal aufgerüstet werden.
Das Problem tritt bei der Kommunikation mit dem PROFINET IO-Device auf.
In Netzwerk 2 des FB32 wird SFC15 (DPWR_DAT) aufgerufen. In Step 7 wurde der RECORD Parameter mittels "zusammengebastelten" Any-Ptr belegt, was auch damals wunderbar funktioniert hat. Allerdings funktioniert das in TIA nicht mehr und er verlangt den Datentyp VARIANT.
Ich habe mich schon durch unzählige Hilfen gelesen, aber es möchte nicht funktionieren (Fehler: 8092 wird immer zurückgeliefert)
Soweit ich das verstanden habe kann ich doch dort die Struktur angeben, welche ich übertragen möchte ohne vorher einen Pointer zu erstellen.
In der BLKMOV Funktion wird neuedings auch VARIANT verlangt. In der Hilfe wird mittels Pointer und der Anfangsadrersse der zu übertragenden Daten gearbeitet. Aber mit den neuen optiomierten FB's ist es mir doch (ohne extra Umstellung der Bausteineigenschaften) eigentlich nicht "erlaubt" mit den absolut Adrerssen zu arbeiten, erwünscht ist das Arbeiten mit den symbolischen Namen.
Die Hilfe verwirrt mich, warum wird es so verlangt aber selbst in den Hilfen anders durchgeführt??
Habe das Projekt mal angehängt und im FB den Aufruf in Netzwerk 2 markiert.
Vielen Dank schon mal im Voraus
Gruss
ich habe ein Projekt zur Ansteuerung eines Profinet-Slaves bekommen. Das Projekt ist vorher in Step7 entwickelt worden und soll nun für das TIA Portal aufgerüstet werden.
Das Problem tritt bei der Kommunikation mit dem PROFINET IO-Device auf.
In Netzwerk 2 des FB32 wird SFC15 (DPWR_DAT) aufgerufen. In Step 7 wurde der RECORD Parameter mittels "zusammengebastelten" Any-Ptr belegt, was auch damals wunderbar funktioniert hat. Allerdings funktioniert das in TIA nicht mehr und er verlangt den Datentyp VARIANT.
Ich habe mich schon durch unzählige Hilfen gelesen, aber es möchte nicht funktionieren (Fehler: 8092 wird immer zurückgeliefert)
Soweit ich das verstanden habe kann ich doch dort die Struktur angeben, welche ich übertragen möchte ohne vorher einen Pointer zu erstellen.
Code:
CALL DPWR_DAT
LADDR :=264
RECORD :="InstDB".Head_1.OutData
RET_VAL :=#Head_1.Ret_Val_SFC15
In der BLKMOV Funktion wird neuedings auch VARIANT verlangt. In der Hilfe wird mittels Pointer und der Anfangsadrersse der zu übertragenden Daten gearbeitet. Aber mit den neuen optiomierten FB's ist es mir doch (ohne extra Umstellung der Bausteineigenschaften) eigentlich nicht "erlaubt" mit den absolut Adrerssen zu arbeiten, erwünscht ist das Arbeiten mit den symbolischen Namen.
Die Hilfe verwirrt mich, warum wird es so verlangt aber selbst in den Hilfen anders durchgeführt??
Habe das Projekt mal angehängt und im FB den Aufruf in Netzwerk 2 markiert.
Vielen Dank schon mal im Voraus
Gruss