Kalıcı değişkenler bildirim bölümünde VAR_GLOBAL RETAIN PERSISTENT kalıcı global değişken listesinde bildirilir. Kalıcılık düzenleyicisinin dışında
PERSISTENT anahtar sözcüğü ile işaretlenen değişkenler için örnek yolları buraya eklenir.
CODESYS V3.3.0.1'den itibaren, PERSISTENT RETAIN ile yapılan bir değişken bildirimi RETAIN PERSISTENT veya PERSISTENT ile yapılanla aynı etkiye sahiptir.
Global kalıcı değişken listesindeki bildirimin sözdizimi PersistentVars
VAR_GLOBAL PERSISTENT RETAIN
<identifier> : <data type> (:= <initialization>)?;
<instance path to POU variable>
END_VAR
POU'lardaki beyanın sözdizimi
<scope> PERSISTENT RETAIN
<identifier> : <data type> ( := <initialization> )?; // ( ... )? : Optional
END_VAR
<scope> : VAR | VAR_INPUT | VAR_OUTPUT | VAR_IN_OUT | VAR_STAT | VAR_GLOBAL
Girişlerin, çıkışların veya bellek adreslerinin AT anahtar sözcüğü ile atanmasına izin verilmez.
Kalıcı değişken listelerinde asla POINTER TO veri türünü kullanmayın. Uygulama tekrar indirilirse adresleri değişebilir. İlgili
derleyici uyarıları mesaj penceresinde gösterilir.
Kalıcı değişkenlerin adlarını veya veri türlerini sık sık değiştiriyorsanız, bunları
yalnızca RETAIN anahtar sözcüğüyle kalıcı değişkenler olarak bildirmek daha iyidir.




NOT

Örnek yolları eklemekten kaçının çünkü bu durumda iki kat daha fazla bellek kullanılır ve daha yüksek bir döngü süresi oluşabilir. Bunun yerine, değişkenleri kalıcı değişkenler listesinde bildirin.
Örnek
PersistentVars kalıcı değişken listesindeki bildirim
{attribute 'qualified_only'}
VAR_GLOBAL PERSISTENT RETAIN
g_iCounter : INT;
// Generated instance path of persistent variable
PLC_PRG.fb_A.iPersistentCounter_A: INT;
END_VAR
FB_A fonksiyon bloğundaki bildirim
FUNCTION_BLOCK FB_A
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR PERSISTENT
iPersistentCounter_A : INT;
END_VAR
PLC_PRG programında beyan
VAR
fb_A1 : FB_A;
END_VAR
|
Olası beyan yerleri |
Açıklama |
|---|---|
|
Doğrudan kalıcı global değişken listesinde |
Değişken kalıcıdır ve korumalı bellek alanında bulunur. |
|
Kalıcı değişken listesinde bir örnek yolu bulunan bir programda lokal olarak Kalıcı değişken listesinde bir örnek yolu bulunan bir fonksiyon bloğunda lokal olarak |
Değişken kalıcıdır ve korumalı bellek alanında ve bellekte bulunur (çift tahsis). |
|
Bir programda yalnızca lokal olarak Sadece lokal olarak bir fonksiyon bloğunda |
Değişken kalıcı değildir. Mesaj penceresinde bir uyarı gösterilir. TIP: Değişkenleri kalıcı değişken listesine almak için «Declarations Add All Instance Paths» öğesine tıklayın. |
|
Bir fonksiyon içinde lokal olarak |
Bu tür bir beyanın herhangi bir etkisi yoktur. Değişken kalıcı değildir. |
Kalıcılık düzenleyicisinde, lokal değişkenler PERSISTENT olarak işaretlenmişse «Bildirimler Tüm Örnek Yollarını Ekle» öğesine tıklayın.
Mümkün olduğunca, bir fonksiyon bloğunda bildirilen değişkenleri PERSISTENT olarak işaretlemekten kaçının. Bunun nedeni, işlev bloğu örneğinin yalnızca işaretli
değişkende değil, tamamen kalıcı bellekte depolanmasıdır.