Codesys Visu: Verzweiflung mit Fehler 4268: Es wird ein Ausdruck erwartet

Qnkel

Level-1
Beiträge
99
Reaktionspunkte
6
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,

ich verzweifle gerade.

Ich habe ein FB in der Sprache CFC programmiert. Dieser wird in PLC_PRG aufgerufen.

Der Baustein ist als Variable in "Globale Variablen" angelegt, sagen wir FB1.

In dem FB1 gibt es mehrere TON-Bausteine, TON_1...

In der Visu habe ich ein Form (Rechteck) mit Text "bla bla %d" und bei Textausgabe ".FB1.TON_1.PT-.FB1.TON_1.ET" (es soll die Restzeit des TON angezeigt werden)

Ich bekomme immer den "Fehler 4268: Es wird ein Ausdruck erwartet".

Nehme ich die Punkte weg ("FB1.TON_1.PT-FB1.TON_1.ET") kommt "Fehler 4030: Als Operanden zu 'ADR' sind keine Konstanten und Ausdrücke erlaubt."

Woran liegt es?

In einem leeren Test-Programm, wo ich den TON innerhalb von PLC_PRG programmiert habe und dort als Variable TON_1 (also .PLC_PRG.TON_1.PT...) oder global deklariere funktioniert das wunderbar in der Visu!

Daher muss der Fehler irgendwo beim CFC-Baustein oder so liegen... ich hab keinen Schimmer.

Vielen Dank schonmal!

edit: Auch wenn ich FB1 als Variable in PLC_PRG deklariere und nicht global, bleibt der Fehler.
 
Zuletzt bearbeitet:
Also ich kann es soweit einschränken, das der Fehler durch das Subtrahieren von PT-ET kommt. Lass ich nur PT oder ET anzeigen bei Textausgabe ist der Fehler weg.

Warum??

In meinem schlanken Testprogramm funktioniert dieser Aufruf einwandfrei...

edit:

Ich konnte den Fehler weiter einschränken: Es liegt an der TARGET-Visualisierung. Deswegen funzt es im Test-Programm. Schalte ich TARGET aus und nutze nur die Web-Visu, geht es. Andere mathematische Funktionen funktionieren auch nicht und bringen den selben Fehler.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Mahlzeit,

scheinbar kann er die Werte von PT und ET nicht lesen. Wenn du PT und ET mit je einer Variable beschaltest geht es. %d muss noch durch %s ersetzt werden.

Gruß
 
Hi,

ich würde als erstes mal eine Variable für das Ergebnis von PT-ET dazwischenschalten.
Einmal der Übersicht halber und einmal zu Diagnosezwecken. So siehst du direkt ob es dort schon hängt.

Gruß,
Flo
 
Zurück
Oben