Selam , yine bir otomasyon üzerine yazı ile karşınızdayım. Siemens bir süredir Unified HMI panelleri piyasaya sunuyor. Kendilerine sorarsak eski TP panellerden çok daha kabiliyetli ve esnek bir programlaması var, ama bana sorarsanız daha geliştirecekleri çok şey var gibi.
Bu yazımda örnek bir uygulama tasarlayıp operatör yetkilendirmelerini nasıl yaptığımı göstereceğim. Unified panellerin kendi programları içinde kullanıcı tanımlaması yok. Bunun yerine TiaPortal'daki projenizin güvenlik ayarlarında tanımlanan kullanıcıları kullanıyor.
Yeni Proje Oluşturarak Başlayalım
Örnek çalışmamı TiaPortal V20 kullanarak yapıyorum, aklınızın bir köşesinde bulunsun. Öncelikle TiaPortal'da yeni bir proje oluşturuyorum.
Projemiz oluşturulur ve açılır. Ben TiaPortal'da görüntü olarak Project View kullanıyorum. Sol alt köşedeki bağlantıyı tıklatarak Project View ve Portal View arasında geçiş yapabilirsiniz. Öncelikle solda proje ağacında en üstte olan Add new device bağlantısını tıklayarak bir unified paneli projemize ekleyelim. Açılan cihaz seçme penceresinden örneğin 10 inç bir unified paneli projemize ekleyelim.
Öncelikle cihazın Runtime settings penceresini bir açalım.
Burada pembe boyalı seçenekler görünüyor. Bu program bu şekilde derlenemez , hata verir demek. Öncelikle Encripted transfer bölümündeki Activate encrypted transfer seçeneğini iptal edelim. Programı panele yüklerken şifreli yüklemek istemiyorum. Ben bu kadar güvenliği saçma buluyorum. Altta Screen bölümünde ise ilk başlangıçta hangi sayfanın açılacağını belirtmek gerekiyor. Şu anda daha ekrana hiç bir sayfa eklemedik. Hemen yeni bir sayfa ekleyelim. Proje ağacında Screens başlığı altındaki Add new screen bağlantısını çift tıklayalım, Screen_1 default adında yeni bir sayfa oluşturulacak ve düzenleme için açılacaktır. İsterseniz ismine sağ tıklayıp Rename seçerek sayfaya başka bir isim verebilirsiniz. Ben öylece bıraktım.
Yeni eklediğimiz sayfa projedeki yegane sayfa olduğu için Runtime settings'de Start screen olarak otomatik olarak yerleşmiş olmalı. Sayfanın arkaplan rengi default gri olarak oluşturuldu, ben hiç sevmem hemen değiştirdim. Sayfa editörde açıkken properties sekmesinden
Background - color rengini değiştirdim. Bu rengi çok seviyorum, üzerinde renkli animasyonlar daha canlı görünüyor. Şimdi denemek amaçlı sağdan toolbox sekmesinden Basic objects altından düz yazı elemanı olan bir Text elemanını ekrana koyalım.
İsterseniz yazının büyüklüğü , kalınlığı vs aşağıdan properties sekmesinden değiştirebilirsiniz. Elimizde panel yok yukarıdan Start simulation butonuna tıklayıp bilgisayarda simüle edelim.
Scrren_1 ekranı ile simülasyona başlanacağına dair bir bildirim çıkar bunu OK butonunu tıklayıp geçtiğimizde derlenmesi ve yüklemeye uygunluğunun kontrolü için bir sürü işlemler yapar. Herşey yolunda giderse bilgisayarımızdaki Web tarayıcı otomatik olarak açılıp sayfamız görünecektir.
Buraya gelemediyseniz bilgisayarınızda unified Runtime çalışması ile ilgili bir sorun ya da eksiklik vardır , ama o bu yazının konusu değil. Örneğin TiaPortal ile beraber kurulan programlardan Simatic Runtime manager programında projenizin State (durum) değerinin Running olduğunu görmelisiniz, diğer bir değer varsa Runtime manager ekranında durdurup tekrar çalıştırmayı deneyin.
WinCC Unified Configuration Uygulaması
Bu uygulama unified HMI uygulamalarının yapılandırılması ile alakalı. Bizi ilgilendiren kısmı ise kullanıcı yetkilendirme yapılandırması kısmı. Program çalıştırıldığında açılan pencerede Next butonuna tıklayarak solda User management seçili sekmeye kadar bir şey değiştirmeden gelelim. Burada Select local or central user management in TiaPortal seçeneği seçili olmalıdır. Diğer hiç bir şeyi ellemeden Next tıklaya tıklaya Apply setting sayfasına kadar gelelim ve Accept butonuna tıklayalım. Bir süre bir şeyler yapar ve en son Finish butonu görünür ve buna tıkladığımızda uygulama kapatır.
Sayfa Tasarımı Yapalım
Amacım sayfaya deneme amaçlı butonlar eklemek ve bunların yetki seviyelerine göre tıklanmasını sağlamak (tıklanabilmesine izin vermek). Öncelikle şu anda aktif olan kullanıcı adını göstermek için bir dinamik yazı ekleyelim. Bu amaçla IOField elemanı kullanabiliriz, toolbox - elements kısmında olan elemanı ekleyelim. Fontu biraz büyütüp koyulaştırabiliriz. Output format özelliğini String - default seçelim. Process value olarak dinamik seçeneklerinden Tag seçelim ve göstereceği değer olarak da @UserName sistem değişkenini seçelim. Zaten şu ana kadar uygulamamıza kendimiz bir Tag eklemedik , sadece sistem Tag'leri görünüyor. Böyle bırakırsak sadece aktif kullanıcı adını yazar, başına biraz ilaveyi yine Output format değeri içinde yapabiliriz.
Bir çalıştıralım bakalım. Zaten simülasyon çalıştığı için Download to device butonuna tıklayarak daha hızlı yükleme yapabiliriz.
Demek ki kimse giriş yapmadıysa DefaultUser adında biri giriş yapmış görünüyor. Ekrana 3 tane de buton ekleyelim.
Amacım bu butonlara farklı yetki seviyelerindeki kullanıcılar basabilsin. Şimdilik yetkisiz bir şekilde hangi butona basıldığını gösterecek bir bilgilendirme yapalım. Bunu da Merhaba Dünya yazısına animasyon ekleyerek yapabiliriz. Öncelikle yazılacak mesajımızı içeren bir yerel Tag ekleyelim. HMI Tags - Show all tags penceresinde Add new ile yeni bir WString tipi Tag ekleyelim.
Merhaba Dünya yazısının Text özelliğini de dinamik olarak Mesaj Tag değerine bağlayalım.
Buton tıklama olaylarına da bu mesajları değiştiren komutlar ekleyelim. Buton özelliklerinde Events sekmesinde Click left mouse button olayı üzerinden mesajımıza istediğimizi yazdırırız.
Her üç butona da benzer mesajlar yazdıralım ve deneyelim.
Unified Panelde Yetkilendirmeler
Solda proje ağacında Security settings başlığı altında projemizin güvenlik ayarları ve kullanıcı yetkilendirmeleri yapılır. Unified panel de bu kullanıcılarla çalışır. İlk önce Settings kısmına bakalım. Burada Password complexity for local users bölümünde minimum uzunluğu 8'e düşürelim. Bana kalsa 4 karakter yetecek de TiaPortal en az 8 diyor. At least one uppercase letter and one lowercase letter tikini de kaldırdım, fazla karmaşık istemeyen kullanıcılara daha basit şifreler vermek isterim.
Kullanıcılar, Roller, Haklar vs
Users and roles penceresinde bir sürü karmaşık şey var. Ama ben orada hazır olan bir sürü ayar yerine kendi tanımlayıp yönettiğim ayarları kullanmak istiyorum. Bu amaçla ilk önce bu bilgilerin çalıştırılma mekanizmasını biraz anlamaya çalışalım.
Bir buton tıklanmasına yetkilendirme yapmak için Authorization özelliğinde bir kullanıcı hakkı seçeriz. Bunları kullanıcılar sayfası Roles sekmesinde aşağıda .... Rights sekmeleri içinde görebiliriz. Biz kendi hak tanımlamalarımızın butonun özelliklerinde çıkması için burada User-specific runtime rights bölümünde yeni haklar ekleyeceğiz. 3 butonumuzun üzerinde yazan kişiler için haklar ekleyelim.
Şimdi butonlarımızın Authorization özelliklerinde bu eklediğimiz haklardan alakalı olanı seçebiliriz.
Şimdi yaptığımız değişiklikleri yükleyip denemeye kalkarsak TiaPortal kullanıcı özellikleri değiştiği için bize Full download önerecektir ve paneldeki verilerin de sıfırlanacağı seçili olacaktır. Yükleyip çalıştırdığımızda ise butonlarımızın yetkisiz olduğu için silik bir şekilde görüntülendiğini görürüz. Butonlardan birine tıklarsak da WinCC unified runtime bize kullanıcı şifre giriş ekranını açıp şifre girmemizi isteyecektir.
İyi de bizim daha tanımlanmış bir tane bile kullanıcımız yok. Şimdi onlara bir bakalım. Kullanıcı listesine yeni bir kullanıcı eklerken , az önce kendi tanımımız olan hakları seçemiyoruz, bunun yerine roller seçebiliyoruz. Yani şöyle diyelim kullanıcıların rolleri var ama butona basmak için hak gerekiyor. Kullanıcıdan butona varabilmek için rollerin hakları olması gerekiyor. Bu amaçla Roles sekmesinde kendi tanımladığımız rolleri kendi tanımladığımız haklara bağlamamız gerekiyor. Yine aynı isimlendirme benzeri roller tanımlayalım.
Operatör rolü sadece operatör haklarına sahip, amir rolü hem amir hem operatör haklarına sahip ve yönetici rolü tüm 3 hakka da sahip. Yani yapı esnek , istediğiniz gibi değişik roller de üretebilirsiniz. Ben burada basit bir örnek veriyorum. Şimdi gidip kullanıcılar ekleyip bu rollere bağlayabiliriz.
Çalıştırıp butonlarımızı değişik kullanıcılarla deneyebiliriz.
Burada anlattığım yöntem birçok otomasyoncunun işini tepe tepe görecektir. Siemens support sitesinde çok karmaşık anlatıyor herşeyi, o yüzden bu yazıları yazıp duruyorum. Umarım faydası olur.
Sonraki yazılarda görüşmek üzere kalın sağlıcakla..






















Hiç yorum yok:
Yorum Gönder