Ana içeriğe geç

Dahili sinyaller

Her sinyal bir cihazdan gelmez. Operatörlerin girdiği ayar değerleri, hesaplanan toplamlar, bir pompanın çalışma saatleri ya da gecikmeli bir alarm koşulu YTCC'nin kendisi tarafından tutulur ya da hesaplanır. Bu dahili sinyaller sinyalin Value source (Değer kaynağı) sekmesinde Value source (kind) (Değer kaynağı (tür)) ile belirlenir.

TürNe yaparAlanlar
Memory — holds a value (operator/script writes) (Bellek)Operatörlerin, betiklerin ya da arayüzün yazdığı bir değeri tutarOn startup, Initial value
Expression (İfade)Başka sinyallerden bir değer hesaplarExpression
Counter (Sayaç)Bir girdinin 0'dan 1'e değişimlerini sayarInput tag, Reset tag (optional)
Runtime (hours) (Çalışma süresi)Bir girdinin doğru olduğu saatleri toplarInput tag
Threshold (Eşik)Bir girdi bir sınırı aşınca doğru olurInput tag, High
Timer (Zamanlayıcı)Bir girdiyi geciktirir ya da uzatırInput tag, Timer type, Time (ms)
Totalizer (integrates a rate over time) (Toplayıcı)Bir oranı zamana göre toplar, örneğin m³/h debiyi m³ toplamaInput tag, Rate unit, Cut-off, Reset tag (optional)

Dışarıdan yalnız bellek sinyalleri yazılabilir; ötekileri sunucu hesaplar.

Başlamadan önce​

  • Konfigürasyon editörü açık ve sinyal var olmalıdır; penceresini açın. Bit, Numeric ya da Text ile oluşturulan yeni sinyaller bellek sinyalidir. Bkz. Sinyal oluşturma.

Adımlar​

1. Bir bellek sinyali​

Memory — holds a value (operator/script writes) seçin ve On startup (Açılışta) ile proje başlarken sinyalin ne tutacağını belirleyin:

On startupBaşlatmadan sonraki değer
Keep last value (Son değeri koru, varsayılan)Son yazılan değer; ilk başlatmada Initial value (Başlangıç değeri)
Fixed initial value (Sabit başlangıç değeri)Her zaman Initial value
Unknown (no value until written) (Bilinmiyor)Değer yok; biri yazana kadar kalite belirsizdir
Memory türü, Keep last value açılışı, Initial value ve Filter and deadband grubuyla T101.LevelSetpoint'in Value source sekmesi.

Başlangıç değeri sinyalin veri tipine ve mühendislik aralığına uymalıdır.

2. Bir ifade​

Expression seçin ve formülü girin. Başka sinyallere süslü parantez içinde yollarıyla başvurun, örneğin if({P101.Running} || {P102.Running}, {Station.OutletFlow} / 10, 0).

P101.Running, P102.Running ve Station.OutletFlow kullanan bir formülle Expression türlü Value source sekmesi.

Tüm işleçler, işlevler ve kurallar Dahili sinyal ifade söz dizimi sayfasında listelenir.

3. Bir zamanlayıcı​

Timer seçin, Input tag'i (Girdi sinyali; adının en az bir kısmını yazın ve listeden seçin), Timer type'ı (Zamanlayıcı türü) ve Time (ms)'i (Süre) seçin; burada P101.Running üzerinde 10 saniyelik açılma gecikmesi.

Timer türü, P101.Running girdi sinyali, TON açılma gecikmesi ve 10000 ms ile Value source sekmesi.
Zamanlayıcı türüÇıkış
TON — on delay (Açılma gecikmesi)Girdi süre boyunca doğru kalınca doğru; girdi yanlış olur olmaz yanlış
TOF — off delay (Kapanma gecikmesi)Girdi doğru olur olmaz doğru; girdi süre boyunca yanlış kalınca yanlış
PULSEGirdinin her yükselişinde süre uzunluğunda bir darbe; darbe sırasındaki yükselişler yok sayılır

OK'e tıklayın ve konfigürasyonu uygulayın; bkz. Doğrulama ve uygulama.

Sayaç, çalışma saati ve eşik​

  • Counter girdinin iyi kaliteli her 0'dan 1'e değişimini sayar; başlatmadan sonraki ilk değer sayılmaz. Sıfırlama sinyali doğru olduğu sürece sayaç 0'da kalır.
  • Runtime (hours) girdinin iyi kaliteyle doğru olduğu süreyi toplar; kötü girdi onu duraklatır.
  • Threshold girdi High'ın (Üst) üstüne çıkınca doğru, yeniden altına düşünce yanlış olur. Yanlış başlar.

Toplayıcı​

Toplayıcı her an toplamına oran × geçen süre ekler. Sürücüler değeri yalnız değişince gönderdiği için son iyi oran bir sonraki değer gelene kadar geçerli sayılır. Önerilen veri tipi Float64'tür.

AlanVarsayılanAnlamı
Rate unit (oran birimi)per hour (/h)Girdinin zaman birimi: per hour (/h), per minute (/min) ya da per second (/s). Debimetreler çoğunlukla saat başına verir
Cut-off (kesme eşiği)0Bunun altındaki oran 0 sayılır. 0 ile sıfır çevresindeki negatif gürültü toplamı hiçbir zaman azaltmaz; düşük debide sürünmeyi kesmek için, örneğin 0,5 m³/h'e yükseltin. 0 ya da daha büyük olmalı
Reset tag (optional) (sıfırlama tag'i)—Bu sinyal 1 iken toplam 0'da kalır

Girdi kalitesi iyi değilken bir şey eklenmez ve toplam girdinin kalitesini alır; sayı olmayan girdi kötü sayılır. Çıktı en çok saniyede bir değişir; aradaki miktar kaybolmaz, bir sonraki güncellemeye eklenir. Sıfırlama hemen görünür.

Sonucun kalitesi​

  • Bir ifade yalnız tüm girdilerin iyi kaliteli bir değeri varken hesaplanır. Aksi halde son iyi değerini Bad kalitesiyle korur.
  • Sayaçlar, çalışma saatleri, eşikler, zamanlayıcılar ve toplayıcılar girdilerinin kalitesini alır.

Yeniden başlatmada ne korunur​

Keep last value bellek sinyalleri, sayaçlar, çalışma saatleri ve toplayıcılar sunucuda saklanır ve projenin yeniden başlatılmasından sonra sürer. Bellek değerleri ve sayaçlar en çok saniyede bir, çalışma saatleri ve toplayıcılar 30 saniyede bir saklanır; bir çökme son saniyeleri kaybettirebilir.

Bilmekte fayda var​

  • Dahili sinyaller her veri tipinde olabilir: Bool, 8–64 bit tam sayılar, Float32, Float64, String, tarih/saat ve enum. Süzgeç ve ölü bant yalnız sayısal tiplerde geçerlidir.