Twincat Bausteinindizes an der Grenze

Toddy80

Level-1
Beiträge
160
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

bei meinem Twincat-Projekt (Lauft auf einem IPC) bin ich mit meinen Bausteinindizes am Ende (2045 (99%)).
Ich bekomme auch sporadisch folgende Fehlermeldung: Unerlaubte Operation (FPU). Abarbeitung gestoppt.

Was genau sagen die Bausteinindizes aus und wie kann ich dafür Speicherplatz schaffen?
Habe schon versucht unter Projekt -> Optionen -> Twincat den Datenbereich zu erhöhen, leider geht das aber nicht.

Gruß
 
Die max. POU-Anzahl ist standardmässig 2048. Kannst Du in der Datei TwinCat\PLC\TwinCatPLCControl.Ini mit dem Eintrag MaxNumOfPOUs hochsetzen.
 
Vielen Dank für die Antworten.
Ich kann bei meinem Funktionsbaustein leider keinen Fehler entdecken.
Vielleicht übersehe ich aber auch etwas. Hier mein Quelltext:

var.jpgprg.jpg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank für die Antworten.
Ich kann bei meinem Funktionsbaustein leider keinen Fehler entdecken.
Vielleicht übersehe ich aber auch etwas. Hier mein Quelltext:

Anhang anzeigen 22993Anhang anzeigen 22994

Da sind aber eine ganze Menge von potentiellen Divisionen durch 0 drin!
Meine Strategie in solchen Fällen:
Zähler berechnen, wenn = 0 dann Ergebnis immer auch 0.
else Nenner berechnen, wenn = 0, dann nicht weiter, sondern Meldung, Hilfsaktion aber nicht dividieren.
wenn alles klar, dann erst dividieren.

Eine besondere Gemeinheit ist bei REAL Zahlen, dass man nie gegen eine INTEGER 0 vergleichen sollte.
Manche Chips und Compiler haben da so ihre Probleme!
Besser ein Vergleich ((Nenner >= Epsilon) OR (Nenner <= -Epsilon)).

Epsilon ist eine ganz kleine Zahl z.B. 0.0001 (im Prinzip die Genauigkeit/Auflösung der REAL Darstellung).
Manche Implementationen haben so eine Zahl schon definiert, ggf. in der Hilfe nachschauen.
 
So, habe den Fehler gefunden.
Die Variable "rPdiff" wird negativ und somit wird die Wurzel aus einer negativen Zahl gezogen,
was natürlich unmöglich ist.

Vielen Dank für deine Anmerkungen, RobiHerb.

Gruß
Toddy
 
Zurück
Oben