Hallo,
ich hab mir die Funktionsweise von dem Baustein R2_ADD mal angesehen und bin etwas verwirrt zurückgeblieben.
Wenn man den Code ein bisschen umstellt, dann kommt folgendes raus:
R2_ADD_ad.RX := X.RX + Y + X.R1 ;
R2_ADD_ad.R1 := X.RX + Y + X.R1 - R2_ADD_ad.RX ;
Kommt die Funktionsweise dann aus der höheren Rechengenauigkeit der Floating-Point Einheit im Vergleich zu REAL-Variablen?
Und wieso wurde nicht der Datentyp LREAL verwendet, sondern das Format REAL2 erfunden?
nun die bausteine r2_xxx gibt es deshalb weil auf zahlreichen systemen lreal nicht zur verfügung steht, teilweise verbiegt es der compiler zu einem real ohne groß davor zu warnen.
die rechnerei wird deshalb so umständlich gemacht weil man bei real die auslöschungen und überläufe minimieren möchte