Kesilmiş bir değerin REAL veri tipi değişkenine atanabileceği tamsayı değişkenleri üzerindeki işlemleri tespit
eder
Gerekçe: Statik analiz, bir tamsayı hesaplamasının sonucu bir REAL veya LREAL değişkenine atandığında hata verir. Programcı bu tür bir atamanın olası yanlış yorumlanmasına
karşı uyarılmalıdır: lrealvar := dintvar1 * dintvar2. LREAL 'un değer aralığı DINT'un değer aralığından daha büyük olduğundan, hesaplama sonucunun her zaman LREAL'da temsil edilebileceği varsayılabilir. Ama durum böyle değil. İşlemci çarpma işleminin
sonucunu bir tamsayı olarak hesaplar ve ardından sonucu LREAL adresine atar. Tamsayı hesaplamasındaki bir taşma kaybolacaktır. Sorunu aşmak için
hesaplama REAL işlemi olarak yapılmalıdır: lreal_var := TO_LREAL(dintvar1) * TO_LREAL(dintvar2).
Önemliymiş: Yüksek
Örnek
PROGRAM PLC_PRG VAR rx : LREAL; di : DINT; END_VAR rx := di * di // SA0020 rx := TO_LREAL(di) * TO_LREAL(di) // No message --> SA0020: Possibly assignment of truncated value to REAL variable
Ayrıca bakınız