Yapılar (UDT) ve yapı örnekleri
Aynı yapıdaki çok sayıda cihaz (pompa, motor, vana) için üyeleri bir kez tanımlayın; her cihaz için taban adres verin, tag'ler ve adresleri kendiliğinden üretilsin.
Ne işe yarar
Bir tesiste onlarca aynı yapıda cihaz olur: her pompanın çalışıyor, arıza, hız, akım, basınç değeri vardır. Her biri için ayrı tag ve adres yazmak yerine yapıyı (üye listesini) bir kez tanımlar, her cihaz için bir yapı örneği eklersiniz (ad, bağlantı, taban adres). Studio her örnek için Ornek.Uye adlı tag'leri ve adreslerini üretir.
Üç kavram vardır:
- Yapı (UDT)
- Üyelerin listesi: ad, veri tipi, yapının başına göre göreli adres. Yapılar (UDT) sekmesinde tanımlanır.
- Yapı örneği
- Yapının bir cihaza uygulanması: ad (
Pompa_P101), yapı, bağlantı ve taban adres (DB30). Yapı Örnekleri sekmesinde tanımlanır. - Üretilen tag
- Her örnek × üye için otomatik tag:
Pompa_P101.Hiz. Tag'ler tablosunda YAPI rozetiyle görünür.
Adım adım
- Yapıyı tanımlayın
HMI Tag'leri › Yapılar (UDT) sekmesinde Ekle ile yapıyı açıp adını yazın (ör.
Pompa_Yapisi). Kullanım kolonu N üye · M örnek gösterir. - Üyeleri ekleyin
Yapıyı seçin; altta Yapı Üyeleri tablosu açılır. Her üye için Ad, Veri tipi, Göreli adres, gerekirse Uzunluk (String), Birim ve Açıklama girin.
123Yapılar (UDT) sekmesi: Pompa_Yapisi ve üyeleri; göreli adres yapının başına göre bayt (ve bit) ofsetidir. - Kullanım — yapının üye ve örnek sayısı.
- Göreli adres — yapının başına göre bayt (ve bit).
- Veri tipi — üyenin tipi; boyut harfini bu belirler.
- Örnek ekleyin
Yapı Örnekleri sekmesinde Ekle; Ad (cihaz adı), Yapı (UDT), Bağlantı ve Taban adresi girin. Üretilen tag'ler kolonu üretilen tag'lerin sayısını ve ilk adlarını gösterir.
123Yapı Örnekleri sekmesi: her örnek bir cihazdır; taban adres örneğe göre değişir. - Yapı (UDT) — örneğin hangi yapıdan üretileceği.
- Taban adresi — örneğe göre değişir (DB30, DB31, DB32).
- Üretilen tag'ler — otomatik üretilen tag sayısı ve adları.
- Tag'leri kullanın
Tag'ler sekmesinde YAPI rozetli tag'ler oluşmuştur; sayfa nesnelerine ve alarmlara diğer tag'ler gibi bağlanır.
Göreli adres ve taban adres nasıl birleşir
Üretilen tag'in adresi örneğin taban adresi ile üyenin göreli adresinden hesaplanır; sonuç her zaman bağlantının sürücü kuralıyla yeniden denetlenir.
| Sürücü | Taban adres | Göreli adres | Üye tipi | Üretilen adres |
|---|---|---|---|---|
| Siemens S7 | DB10 | 2 | Real | DB10.DBD2 |
| Siemens S7 | DB30 | 0.1 | Bool | DB30.DBX0.1 |
| Siemens S7 | DB10.DBX20.0 (yapı 20. bayttan) | 0.3 | Bool | DB10.DBX20.3 |
| Modbus, Mitsubishi, Omron | 40001, D100 | 2, 4 | — | 40003, D104 (sayı toplanır) |
| OPC UA | ns=3;s="Motor1" | Hiz (üye adı) | — | ns=3;s="Motor1".Hiz |
| Allen-Bradley | Motor1 | Hiz | — | Motor1.Hiz |
| MQTT | hat1/durum | motor.hiz | — | hat1/durum#motor.hiz |
| Simülatör | kullanılmaz | sinus(0, 100, 10) | — | göreli adres sinyalin kendisidir |
- S7'de göreli adres
baytya dabayt.bityazılır; boyut harfini (DBW,DBD…) Studio üyenin tipinden koyar. Uzun tiplerde (LReal,String…)DB30.DBX24.0biçimi üretilir. - Taban adres
M100gibi merker de olabilir. - Sürücüsü sembolik olan bağlantılarda (OPC UA, Allen-Bradley) üye adı noktayla eklenir.
- Taban adres boşsa ve bağlantı simülatör değilse Projeyi denetle Taban adresi boş; üye adresleri eksik kalır. uyarısını verir.
Üretilen tag'ler
- Kilitli alanlar: ad, bağlantı, veri tipi, uzunluk ve adres yapıdan gelir, elle değiştirilemez. Okuma döngüsü, Başlangıç değeri, Alt / Üst sınır, Birim ve Açıklama düzenlenebilir (birim ve açıklama üye tanımından başlar, sonra tag'de değişebilir). Okuma döngüsü varsayılan olarak 1 sn'dir; ölçekleme ve yedek değer de tanımlanabilir.
- Grup: tag, örneğin grubuna konur; örneği bir gruba taşımak tag'leri de taşır.
- Silme: üretilen tag tek başına silinemez; Bu tag bir yapı örneğinden üretildi; tek başına silinemez. Kaldırmak için yapı örneğini silin. Örneği silince tag'leri de kalkar.
- Excel ve CSV: üretilen tag'ler dışa aktarılır ama içe alınmaz (Yapı örneğinden üretilen tag; içe alınmaz.); yapılar ve örnekler kendi sekmelerinden aktarılır.
Değişikliğin yayılması
Yapıda ya da örnekte yapılan her değişiklik hemen tüm örneklere yansır: yeni üye eklenince her örnek için yeni tag üretilir; üye silinince tüm örneklerdeki tag'i de silinir; üyenin adı, tipi ya da göreli adresi değişince tag'lerin adı, tipi ve adresi güncellenir; örneğin bağlantısı ya da taban adresi değişince o örneğin tüm tag'lerinin bağlantısı ve adresi güncellenir. Silinen üyenin tag'ine bağlı nesne ve alarmlar Projeyi denetle listesinde silinmiş bir tag'e bağlı, faceplate'te üyeye öneksiz bağlı nesneler silinmiş bir yapı üyesine bağlı hatası verir; yapıda üyeyi silmeden önce kullanıldığı yerleri denetleyin. Yapıya yeni eklenen üye mevcut faceplate'e kendiliğinden konmaz.
Faceplate ile kullanım
Yapının asıl yararı tek bir faceplate sayfasının bütün örneklerde kullanılmasıdır:
- Faceplate'i oluşturun
Araç çubuğundaki Faceplate düğmesiyle (ya da Ekle›Yeni faceplate) Yeni Faceplate penceresini açın, yapıyı ve bir şablon seçin. Şablon, yapının üyelerini rollerine göre (durum lambası, alarm lambası, buton, IO alanı …) yerleştirir ve bağlar.
- Nesneleri üyelere bağlayın
Faceplate'teki nesneler tag'e değil, yapının üyesine öneksiz bağlanır (
Hiz); tag seçici sayfanın yapısının üyelerini listenin başında gösterir. - Pencereyi açın
Proses sayfasındaki nesnenin olayına Açılır pencere aç (tag önekiyle) işlevini ekleyin ve Tag öneki alanına örneğin adını yazın (öneriler yapının örneklerinden gelir):
Pompa_P103. Live öneksizHizbağlamasınıPompa_P103.Hizolarak okur. Sayfaya gömmek için Sayfa Penceresi nesnesinin Tag öneki alanı aynı biçimde çalışır.
Eski biçim de çalışır: pencere sayfasındaki nesneler bir örneğin tag'lerine (Pompa_P101.Hiz) bağlıysa Live tag adının ilk noktadan öncesini önekle değiştirir. Öneke karşılık gelen tag yoksa o özellik bağsız kalır (nesne kalitesiz görünür). Ayrıntı: Faceplate ve açılır pencere.