Fehler beim ausführen im Run-Modus

Zuviel Werbung?
-> Hier kostenlos registrieren
Ja das habe ich mir auch schon gedacht kann es mir aber eigentlich nicht vorstellen und habe den Programmcode auch schon durchsucht, in Bezug auf die Division durch null (wenn der Fehler das bedeutet)
 
Verwendest du Divisionen im Programm? Hast du auf die richtigen Variablentypen geachtet (1/2 ist 0 wenn Integers verwendet werden etc..)?
Wenn die Meldung wirklich soetwas bedeutet.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi
vielen Dank für die Antworten. Es lag natürlich an der Division durch Null.
Habe den Fehler in meinem Programmcode gefunden.
An einer falschen Stelle einer Flaschen Variablen die Null zugewiesen :-|
 
Habe gerade gesehen, dass du TwinCAT 3 verwendest.
Dazu war das natürlich der falsche Link.
Bei TwinCAT 3 gibt es ja die "POU for implicit checks..."
 
Anstelle der FUNCTION CheckDivXxx wuerde ich die raten, jede Divison vorgaengig auf einen Divisor <> (ungleich) 0 zu pruefen. Alternativ kann eine eigene Funktion fuer die Division erstellt werden, welche bereits auf Divisionen durch 0 abgesichert ist...

Man beachte den Hinweise zu den CheckXxx Funktionen:
"Die Funktion kann eine erhebliche Erhöhung der Systemauslastung verursachen, deshalb sollte sie nur für Testzwecke eingesetzt werden."
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das stimmt.
ich empfehle auch immer nur, diese Funktionen nach einem solchen Fehler bzw. nach Programmänderungen zu verwenden.
Ich habe schon Applikationen gesehen, wo nach Aktivieren dieser Check-Funktion eine Mehrauslastung von +20% zu sehene war.
Das hängt aber natürlich ganz stark von der eigesetzten CPU ab.

Deine Idee mit der eigenen Funktion zur Berechnung ist gut; gerade mit den OO-Möglichkeiten in der 3rd Edition kann man das gut lösen.
 
Zurück
Oben