Alt aralık türlerinin aralık dışı ihlallerini tespit eder. Atanan değişmezler derleyici tarafından zaten kontrol edilir. Sabit atandığında, değerler tanımlanan aralık içinde olmalıdır. Değişkenler atandığında, veri türleri aynı olmalıdır.
Gerekçe: Alt aralık türleri kullanılıyorsa, bu alt aralıktan çıkılmadığından emin olun. Derleyici bu tür alt aralık ihlallerini yalnızca sabitlerin atamaları için kontrol eder.
Önemliymiş: Düşük
Kod yapısı buna izin vermediği için CFC nesneleri için kontrol gerçekleştirilmez.
Örnek
VAR_GLOBAL iVarGlob:INT; END_VAR PROGRAM PLC_PRG VAR iSubr1: INT (INT#1..INT#10); iSubr2: INT (INT#1..INT#1000); iCount: INT; by_SubType : BYTE (BYTE#0..BYTE#11); iVar : INT (-4095..4095); END_VAR iSubr1 := nCount; // SA0008 iSubr1 := subr2; // SA0008 iSubr1 := gvl.iVarGlob; // SA0008 //byBYTE_SubType := BYTE#123; //already detected by compiler, error "Cannot convert type..." --> SA0008: Subrange variable 'iSubr1' maybe out of allowed range
Ayrıca bakınız