-> Hier kostenlos registrieren
Hallo,
ich möchte in einem TIA V16-Projekt, in dem mehrere Servoumrichter (Lenze) zum Einsatz kommen, einen FB schreiben, der dann mehrfach aufgerufen die grundlegenden Funktionen für jeden Umrichter bearbeitet.
Jedem Umrichter möchte ich einen DB zuordnen, der aus einem Umrichter-UDT besteht.
Die vom Umrichter zu lesenden Daten habe ich ebenfalls in einem UDT (UDTIn) beschrieben.
Wenn ich dieses UDT jetzt in meinem FB als InOut-Parameter deklariere, kann ich die gelesenen Umrichterdaten mit der Funktion "GETIO" aber nicht auf dieses UDT schreiben. Es wird rot dargestellt und ich erhalten die Meldung "unzulässige Parameterzuweisung für INPUTS"
Deklariere ich den gleichen UDT aber als "Static" kann ich ihn ohne Fehler an die Funktion "GETIO" antragen! leider stehen mir die Werte dann ja aber nur im FB zur Verfügung. (Ich weiß, ich könnte per Querzugriff auf den Instanz-DB arbeiten, das tut man aber nicht.....)
Hat jemand von Euch einen Tipp, wie ich die Daten eines PN-Teilnehmers in einem FB/FC so auf die InOut-Schnittstelle schreiben kann, dass sie dem restlichen Programm in dem am InOut-Parameter übergebenen DB zur Verfügung stehen?
Ich habe auch schon versucht die Static-Struktur anschließend auf den InOut-Bereich zu kopieren, leider funktioniert auch das nicht..
Das gleiche Problem habe ich "in die andere Richtung", wenn ich die Daten, die zum Antrieb geschrieben werden sollen, über "SETIO" adressieren will.
Anscheinend ist der Zugriff auf den InOut-Bereich mit Funktionen, die einen Datenbereich adressieren nicht möglich!?
Im Anhang habe ich einen Screenshot angefügt. Dort habe ich den gleichen Datentyp einmal als Static und einmal als InOut deklariert.
Leider funktioniert das mit InOut nicht.

ich möchte in einem TIA V16-Projekt, in dem mehrere Servoumrichter (Lenze) zum Einsatz kommen, einen FB schreiben, der dann mehrfach aufgerufen die grundlegenden Funktionen für jeden Umrichter bearbeitet.
Jedem Umrichter möchte ich einen DB zuordnen, der aus einem Umrichter-UDT besteht.
Die vom Umrichter zu lesenden Daten habe ich ebenfalls in einem UDT (UDTIn) beschrieben.
Wenn ich dieses UDT jetzt in meinem FB als InOut-Parameter deklariere, kann ich die gelesenen Umrichterdaten mit der Funktion "GETIO" aber nicht auf dieses UDT schreiben. Es wird rot dargestellt und ich erhalten die Meldung "unzulässige Parameterzuweisung für INPUTS"
Deklariere ich den gleichen UDT aber als "Static" kann ich ihn ohne Fehler an die Funktion "GETIO" antragen! leider stehen mir die Werte dann ja aber nur im FB zur Verfügung. (Ich weiß, ich könnte per Querzugriff auf den Instanz-DB arbeiten, das tut man aber nicht.....)
Hat jemand von Euch einen Tipp, wie ich die Daten eines PN-Teilnehmers in einem FB/FC so auf die InOut-Schnittstelle schreiben kann, dass sie dem restlichen Programm in dem am InOut-Parameter übergebenen DB zur Verfügung stehen?
Ich habe auch schon versucht die Static-Struktur anschließend auf den InOut-Bereich zu kopieren, leider funktioniert auch das nicht..
Das gleiche Problem habe ich "in die andere Richtung", wenn ich die Daten, die zum Antrieb geschrieben werden sollen, über "SETIO" adressieren will.
Anscheinend ist der Zugriff auf den InOut-Bereich mit Funktionen, die einen Datenbereich adressieren nicht möglich!?
Im Anhang habe ich einen Screenshot angefügt. Dort habe ich den gleichen Datentyp einmal als Static und einmal als InOut deklariert.
Leider funktioniert das mit InOut nicht.
