Flexible NC-Programmierung
2.5 Genauigkeitskorrektur bei Vergleichsfehlern (TRUNC)
Hinweis
Der Operator B_NOT bezieht sich auf nur einen Operanden. Dieser steht nach dem Operator.
Beispiele
Beispiel 1: Vergleichsoperatoren
IF R10>=100 GOTOF ZIEL
oder
R11=R10>=100
IF R11 GOTOF ZIEL
Das Ergebnis des Vergleichs R10>=100 wird zunächst in R11 zwischengespeichert.
Beispiel 2: Logische Operatoren
IF (R10<50) AND ($AA_IM[X]>=17.5) GOTOF ZIEL
oder
IF NOT R10 GOTOB START
NOT bezieht sich nur auf einen Operanden.
Beispiel 3: Bitweise logische Operatoren
IF $MC_RESET_MODE_MASK B_AND 'B10000' GOTOF ACT_PLANE
2.5
Genauigkeitskorrektur bei Vergleichsfehlern (TRUNC)
Der TRUNC-Befehl schneidet den mit einem Genauigkeitsfaktor multiplizierten Operanden ab.
Einstellbare Genauigkeit bei Vergleichsbefehlen
Teileprogrammdaten vom Typ REAL werden intern im IEEE-Format mit 64 Bit dargestellt.
Aufgrund dieser Darstellungsform können Dezimalzahlen ungenau abgebildet werden, die bei
einem Vergleich mit ideal gerechneten Werten zu unerwarteten Ergebnissen führen können.
Relative Gleichheit
Damit die durch die Darstellungsform hervorgerufenen Ungenauigkeiten den Programmfluß
nicht verfälschen, wird bei den Vergleichsbefehlen nicht auf absolute Gleichheit, sondern auf
eine relative Gleichheit geprüft.
Syntax
Genauigkeitskorrektur bei Vergleichsfehlern
TRUNC (R1*1000)
Bedeutung
TRUNC:
74
Abschneiden der Nachkommastellen
Programmierhandbuch, 10/2015, 6FC5398-2BP40-5AA3
Arbeitsvorbereitung