Sabitler, değiştirilemez değerler için tanımlayıcılardır. Sabitleri bir POU içinde
lokal olarak veya bir global değişken listesi içinde global olarak bildirebilirsiniz.
Bildirim segmenti CONSTANT anahtar sözcüğü ile genişletilir.
Sabitler ayrıca tamsayılar veya kayan noktalı sayılar gibi bir temel türün değerini
temsil eden dizelerdir (örneğin, 16#FFFF_FFFF, T#5s veya -1.234 E-5). Aralarında ayrım yapmak için bu sabitlere değişmezler, değişmez sabitler veya isimsiz
sabitler de denir. Mantıksal (TRUE, FALSE) veya sayısal değişmezlerin (3.1415, T#5s) yanı sıra dize değişmezleri de ('Hello world!', "black") vardır.
Sözdizimi bildirimi
<scope> CONSTANT
<identifier> : <data type> := <initial value> ;
END_VAR
<scope> : VAR | VAR_INPUT | VAR_STAT | VAR_GLOBAL
<data type>: <elementary data type | user defined data type | function block >
<initial value> : literal value | identifier | expression
İzin verilen başlangıç değerleri:
-
Gerçek
Örnekler:
TRUE,FALSE,16#FFFF_FFFF -
Başka bir konumda bildirilen adlandırılmış sabit
-
Değişmezlerden oluşan ve + - * gibi basit işleçlerle de birleştirilen basit ifade
Girişler veya fonksiyon çağrıları başlangıç değeri olarak belirtilemez.
Örnek
VAR_GLOBAL CONSTANT
g_ciMAX_A : INT := 100;
g_ciSPECIAL : INT := g_ciMAX_A - 10;
END_VAR
Sabitler yalnızca bildirim için tanımlanır. Bir başlangıç değerinin atanması gereklidir. Bir uygulama içinde, sabitler yalnızca okunur ve bu nedenle her zaman bir deyimdeki atama operatörünün sağında görünür.
Kod derlendiğinde sabitler ilk değerleriyle değiştirilir. Ayrıca derleme zamanında başlangıç değerini hesaplamak da mümkün olmalıdır.
Yapılandırılmış veya kullanıcı tanımlı türlerin sabitleri çalışma zamanına kadar hesaplanmaz. Programlardaki veya GVL'lerdeki yapılandırılmış sabitler program başlangıcında bir kez hesaplanır. İşlevlerdeki veya yöntemlerdeki yapılandırılmış sabitler, işlev veya yöntem her çağrıldığında hesaplanır. Bu nedenle, yapılandırılmış sabitlerin başlatılması girdilere bağlı olabilir veya işlev çağrılarını yürütebilir.