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ür | Ne yapar | Alanlar |
|---|---|---|
| Memory — holds a value (operator/script writes) (Bellek) | Operatörlerin, betiklerin ya da arayüzün yazdığı bir değeri tutar | On startup, Initial value |
| Expression (İfade) | Başka sinyallerden bir değer hesaplar | Expression |
| Counter (Sayaç) | Bir girdinin 0'dan 1'e değişimlerini sayar | Input tag, Reset tag (optional) |
| Runtime (hours) (Çalışma süresi) | Bir girdinin doğru olduğu saatleri toplar | Input tag |
| Threshold (Eşik) | Bir girdi bir sınırı aşınca doğru olur | Input tag, High |
| Timer (Zamanlayıcı) | Bir girdiyi geciktirir ya da uzatır | Input 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³ toplama | Input 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 startup | Baş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 |

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).

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.

| 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ış |
| PULSE | Girdinin 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.
| Alan | Varsayılan | Anlamı |
|---|---|---|
| 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) | 0 | Bunun 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.