Ölçekleme ve kalite
PLC'den gelen ham sayıyı (ör. 0 – 27648) mühendislik birimine çeviren doğrusal ölçekleme, kalitesiz tag için yedek değer, dahili tag kalıcılığı ve alt / üst sınırın Live'daki etkisi.
Ne zaman gerekir
Analog girişler PLC'de çoğunlukla ham bir sayı olarak durur: Siemens'te 0 – 27648 aralığı gibi. Operatör bu sayıyı değil, °C, bar ya da % görmelidir. HMI Tag'leri bölümünün Ölçekleme ve Kalite sekmesi bu çeviriyi tag düzeyinde, bir kez yapar. Aynı sekme kalitesiz tag için yedek değeri ve dahili tag'in kalıcılığını da ayarlar.
123456- Ölçekleme — açıkken ham değer mühendislik değerine çevrilir.
- Ham alt / üst — sürücünün verdiği sayının uçları.
- Mühendislik alt / üst — bu uçlara karşılık gelen gerçek değerler.
- Yedek değer — tag kalitesizken nesnelerin göstereceği değer.
- Kalıcı — yalnızca dahili tag.
- Ölçekleme özeti — ham ve mühendislik aralıkları ile örnek bir dönüşüm.
Sekmenin satırları Tag'ler sekmesindeki tag'lerdir. Bu sekmede tag eklenmez ve silinmez (Bu sekmede tag eklenemez / çoğaltılamaz); ekleme ve silme Tag'ler sekmesinde yapılır. Ad, Bağlantı ve Veri tipi kolonları yalnızca bilgidir.
Doğrusal ölçekleme
- Ölçeklemeyi açın
Tag satırında Ölçekleme kutusunu işaretleyin. Boş alanlar varsayılanlarla dolar: Ham alt
0, Ham üst27648, Mühendislik alt0, Mühendislik üst100. - Aralıkları girin
Ham alt / üst, sürücünün verdiği sayının uçlarıdır; mühendislik alt / üst, bu uçlara karşılık gelen gerçek değerlerdir. Mühendislik üst, alttan küçük olabilir (ters ölçek).
- İsteğe bağlı: kırpma
Ham değeri kırp açıksa ham değer ham alt-üst aralığına sıkıştırılır; sensör kopması ya da taşma sayıları mühendislik aralığının dışına çıkmaz. Kapalıysa (varsayılan) doğru aralığın dışına uzar.
Çeviri formülü: mühendislik = müh. alt + (ham − ham alt) × (müh. üst − müh. alt) / (ham üst − ham alt). Örnek: ham 0 – 27648 → 0 – 100 için ham 13824 değeri 50 olur. Tanıtım projesinde T101_Seviye bu ayarla % seviyesi, TT101_Sicaklik ham 5530 – 27648 değerini (4 – 20 mA analog giriş) 0 – 100 °C yapar.
- Yalnızca harici ve sayısal tag'de uygulanır. Dahili tag'de değer zaten mühendislik birimindedir (kutu kilitlidir); tip ya da bağlantı sonradan bu koşulları bozarsa ölçekleme kendiliğinden kapanır. Simülatör bağlantısı harici sayılır; simülatör sinyali ham değer kabul edilir.
- Her yer mühendislik değerini görür. Nesneler, trend ve arşiv, alarm, rapor, betikler ve tarayıcıdan izleme tag'in ölçeklenmiş değerini kullanır; hiçbirinde ayrıca ölçekleme gerekmez. Tag'in Alt / Üst sınır değerleri de mühendislik birimindedir. Ölçekli tag'in değeri ondalık olabilir; ham değer tag'in veri tipinde (ör.
Int) yuvarlanarak okunur. - Yazarken ters ölçekleme. Operatörün yazdığı mühendislik değeri ham değere çevrilip PLC'ye gönderilir; tam sayı tiplerinde yuvarlanır. Ham değer tipin aralığına sığmazsa yazma reddedilir:
Tag_Adi: değer ham aralığın dışına çıkıyor: ham değer 40000, izin verilen aralık -32768 … 32767. - Geçersiz tanım uygulanmaz. Ham alt = ham üst ya da mühendislik alt = üst ise ya da sayılardan biri eksikse Live ölçeklemeyi uygulamaz, ham değer aynen görünür; Projeyi denetle bunları hata olarak bildirir (ham alt / üst, tipin aralığının dışındaysa da).
Yedek değer ve kalite
Bir PLC tag'inin değeri şu durumlarda kalitesizdir: bağlantı kopuk, henüz hiç okunmadı ya da okuma hatası var. Dahili ve simülatör tag'leri değer yazıldığı sürece iyidir.
- Kalitesiz tag'e bağlı nesne soluk ve gri çizilir; sayısal alan
####gösterir. - Yedek değer kullan açıksa nesneler ve betikler
####yerine Yedek değer'i görür (mühendislik biriminde;Booliçin 0 / 1; metin için metin). Kalite bayrağı ayrıca korunur: nesne yine soluk çizilir, betikte kalite kötü kalır. - Alarm hesabı, arşiv ve raporlar yedek değeri görmez; kalitesiz tag'i zaten atlarlar. Kalite iyileşince gerçek değer görünür.
- Yedek değer boşsa Projeyi denetle hata verir ("####" gösterilmeye devam eder); değer tag'in tipine uymuyorsa yine hatadır. Dahili ve simülatör tag'inde yedek değer hiç kullanılmaz (uyarı verilir).
Betiklerde kalite kodu
| Kod | Anlamı |
|---|---|
192 | İyi. |
84 | Değer tag'in alt / üst sınırının dışında ama kullanılabilir. |
8 | Bağlantı yok (PLC tag'i, bağlantı Bağlı değil). |
4 | Tanımsız (tag bulunamadı). |
0 | Kötü (bağlantı var ama değer okunamadı ya da henüz gelmedi). |
VBScript'te tag.QualityCode, Python'da tag.quality, C'de GetTagFloatStateQC(…) gibi …StateQC işlevlerinin kalite çıkışı bu kodları verir. C'de ayrıca durum bitleri döner: 0x0001 bağlantı yok, 0x0080 ilk değer bekleniyor, 0x0200 adres hatası, 0x0400 tag yok.
Alt ve üst sınırlar
Tag'ler sekmesindeki Alt sınır ve Üst sınır iki iş yapar:
- Yazmayı sınırlar. Operatör ya da betik aralığın dışında değer yazarsa yazma reddedilir ve bildirim penceresi şunu söyler:
Tag_Adi: değer alt sınırdan (0) küçük olamaz./… üst sınırdan (100) büyük olamaz. - Okunan değeri işaretler. PLC'den gelen kaliteli değer aralığın dışına çıkarsa tag sınır dışı sayılır: nesnenin değer bağlaması bu tag'e bağlıysa G/Ç alanı gibi çerçeveli nesnede kırmızı çerçeve çizilir ve betikte kalite
84olur. Değer yine kullanılır; alarm ve trend bu değeri alır.
Kalıcı dahili tag
Kalıcı kutusu yalnızca dahili tag'de açılır (harici tag'de kilitli; harici tag'in değeri her açılışta cihazdan okunur). Kalıcı tag'in değeri değiştikçe (en çok 2 sn'de bir toplu) kaydedilir ve Live yeniden açılınca geri yüklenir; programı kapatırken bekleyen değişiklik de yazılır. Başlangıç değeri yalnızca ilk açılışta, kayıt henüz yokken kullanılır.
- Değerler Live bilgisayarında projenin veri klasöründe (
<Proje adı>.veri\depo\tag_kalici.json) tag kimliğiyle tutulur; tag silinmişse, kalıcılığı kapatılmışsa ya da kayıt tag'in türüne ya da sınırlarına uymuyorsa yok sayılır ve başlangıç değeri kullanılır. - Reçete adı, sayaç, son vardiya gibi elektrik kesilince kaybolmaması gereken değerler için kullanın.
- Tarayıcıdan izleme kipinde kalıcılık çalışmaz.
Projeyi denetle kuralları
| İleti (özet) | Düzey |
|---|---|
| Ölçekleme açık ama tip sayısal değil | Hata |
| Ham alt ile ham üst eşit; mühendislik alt ile üst eşit; alanlar boş; ham değerler tipin aralığı dışında | Hata (ölçekleme uygulanmaz) |
| Dahili tag'de ölçekleme açık | Uyarı (uygulanmaz) |
| Yedek değer açık ama değer girilmemiş ya da tipe uymuyor | Hata |
| Dahili ya da simülatör tag'de yedek değer | Uyarı |
| Kalıcı açık ama tag harici ya da bağlantı durum tag'i | Uyarı |
| Üst sınır alt sınırdan büyük değil | Hata |