-> Hier kostenlos registrieren
Guten Morgen,
ich habe folgende Problemstellung. An einem Funktionsbaustein wird ein DatenbausteinUDT mit mehreren Bool-Werten übergeben. Nun wollte ich diesen UDT an einer Funktion übergeben die in dem Baustein aufgerufen wird. Dies funktioniert nicht da beim kompilieren folgende Fehlermeldung erscheint:
Gibt es eine elegante Methode in SCL um dies zu beheben? Zur Not muss ich jeden einzelnen Bool Wert separat an die Funktion übermitteln, dies wäre allerdings unschön.
ich habe folgende Problemstellung. An einem Funktionsbaustein wird ein DatenbausteinUDT mit mehreren Bool-Werten übergeben. Nun wollte ich diesen UDT an einer Funktion übergeben die in dem Baustein aufgerufen wird. Dies funktioniert nicht da beim kompilieren folgende Fehlermeldung erscheint:
Code:
[COLOR=black][FONT=Verdana]Hilfe zur Meldung 15:4664[/FONT][/COLOR]
[COLOR=black][FONT=Verdana]Beschreibung:[/FONT][/COLOR]
[COLOR=black][FONT=Verdana]Es liegt ein Aufruf eines (S)FC oder (S)FB vor, bei dem eine Parameterversorgung nicht im Anwenderprogramm abgebildet werden kann, obwohl der Parameter mit einem Objekt zulässigen Datentyps versorgt wird.[/FONT][/COLOR]
[FONT=Verdana][COLOR=black]In STEP 7 gibt es bestimmte Kombinationen von Parametern (Formalparameter) und Objekten (hier Aktualparameter genannt), die nicht abgebildet werden können und daher nicht erlaubt sind. Eine genauere Beschreibung dieser Kombinationen sollte der STEP 7-Dokumentation bzw. dem S7-SCL-Handbuch entnommen werden.[/COLOR][/FONT]
[COLOR=black][FONT=Verdana]Behebung:[/FONT][/COLOR]
[COLOR=black][FONT=Verdana]Wählen Sie für den betreffenden Aktualparameter, falls möglich, eine andere Objektklasse (z.B. lokale Variable statt globaler Datenbereich, lokale Variable statt FC-Eingangsparameter, Bausteinbezeichner statt Variable, ...) und übersetzen Sie erneut. Wenn Sie mit dieser Methode nicht nach wenigen Versuchen eine erlaubte Kombination finden, empfiehlt sich das Nachschlagen in der STEP 7-Dokumentation.[/FONT][/COLOR]
Gibt es eine elegante Methode in SCL um dies zu beheben? Zur Not muss ich jeden einzelnen Bool Wert separat an die Funktion übermitteln, dies wäre allerdings unschön.