Video: Habr yönetici konsolu. Karmayı, derecelendirmeyi ve kullanıcıları yasaklamanızı düzenlemenizi sağlar.
TL; DR: Bu makalede Webaccess/HMI Designer endüstriyel arayüz geliştirme ortamını ve WebOP terminalini kullanarak komik bir Habr kontrol paneli oluşturmaya çalışacağım.
İnsan-makine arayüzü (HMI), kontrollü makinelerle insan etkileşimi için bir dizi sistemdir. Tipik olarak bu terim, bir operatöre ve bir kontrol paneline sahip endüstriyel sistemlere uygulanır.
WebOP — insan-makine arayüzleri oluşturmaya yönelik otonom bir endüstriyel terminal. Üretim kontrol panelleri, izleme sistemleri, kontrol odaları, akıllı ev kontrolörleri vb. oluşturmak için kullanılır. Endüstriyel ekipmanlara doğrudan bağlantıyı destekler ve SCADA sisteminin bir parçası olarak çalışabilir.
WebOP terminali - donanım
WebOP terminali, HMI Designer'da oluşturulan grafik arayüze sahip bir programı çalıştırmak için tasarlanmış, monitör ve dokunmatik ekrana sahip, tek bir durumda ARM işlemciye dayalı düşük güçlü bir bilgisayardır. Modele bağlı olarak terminallerde çeşitli endüstriyel arayüzler bulunur: RS-232/422/485, otomotiv sistemlerine bağlanmak için CAN veri yolu, ek çevre birimlerini bağlamak için USB Host portu, terminali bir bilgisayara bağlamak için USB Client portu, ses giriş ve ses çıkışı, kalıcı bellek ve ayar aktarımı için MicroSD kart okuyucu.
Cihazlar, güçlü işlemciler ve tam teşekküllü bir masaüstü bilgisayarın kaynakları gerektirmeyen görevler için hepsi bir arada bilgisayarlar için bütçe alternatifi olarak konumlandırılmıştır. WebOP, diğer WebOP'larla eşleştirilmiş, kontrol ve veri girişi/çıkışı için bağımsız bir terminal olarak veya bir SCADA sisteminin parçası olarak çalışabilir.
WebOP terminali doğrudan endüstriyel cihazlara bağlanabilir
Pasif soğutma ve IP66 koruması
Düşük ısı dağılımı nedeniyle bazı WebOP modelleri tamamen aktif hava soğutması olmadan tasarlanmıştır. Bu, cihazların gürültü seviyelerine duyarlı alanlara monte edilmesine olanak tanır ve muhafazanın içine giren toz miktarını azaltır.
Ön panel boşluk veya ek yerleri olmadan yapılmıştır, IP66 koruma seviyesine sahiptir ve basınç altında suyun doğrudan girişine izin verir.
WOP-3100T terminalinin arka paneli
Kalıcı bellek
Veri kaybını önlemek için WebOP, RAM ile aynı şekilde çalışılabilen 128Kb kalıcı belleğe sahiptir. Sayaç okumalarını ve diğer kritik verileri saklayabilir. Elektrik kesintisi durumunda veriler kaydedilecek ve yeniden başlatmanın ardından geri yüklenecektir.
Uzaktan güncelleme
Terminalde çalışan program, Ethernet ağı veya RS-232/485 seri arayüzleri aracılığıyla uzaktan güncellenebilir. Bu, yazılımı güncellemek için tüm terminallere gitme ihtiyacını ortadan kaldırdığından bakımı basitleştirir.
WebOP Modelleri
WebAccess/HMI Designer geliştirme ortamı
Kutunun dışında WebOP terminali, herhangi bir yazılımı çalıştırabileceğiniz düşük güçlü bir ARM bilgisayarıdır, ancak bu çözümün asıl amacı, tescilli WebAcess/HMI endüstriyel arayüz geliştirme ortamıdır. Sistem iki bileşenden oluşur:
- HMI Tasarımcısı — arayüzler ve programlama mantığı geliştirmeye yönelik ortam. Programcının bilgisayarında Windows altında çalışır. Nihai program tek bir dosyada derlenir ve çalışma zamanında yürütülmek üzere terminale aktarılır. Program Rusça olarak mevcuttur.
- HMI Çalışma Zamanı — derlenmiş programı son terminalde çalıştırmak için çalışma zamanı. Yalnızca WebOP terminallerinde değil, Advantech UNO, MIC ve normal masaüstü bilgisayarlarda da çalışabilir. Linux, Windows, Windows CE için çalışma zamanı sürümleri vardır.
Merhaba dünya - proje oluşturma
Habr kontrol panelimiz için bir test arayüzü oluşturmaya başlayalım. Programı terminalde çalıştıracağım
Yeni bir proje oluşturma ve mimari seçme
Derlenen programın WebOP'a yükleneceği iletişim protokolünün seçilmesi. Bu adımda bir seri arayüz seçebilir veya terminalin IP adresini belirleyebilirsiniz.
Proje oluşturma arayüzü. Sol tarafta gelecekteki programın bileşenlerinin bir ağaç diyagramı var. Şimdilik sadece Ekranlar öğesiyle ilgileniyoruz, bunlar doğrudan terminalde görüntülenecek grafik arayüz elemanlarının bulunduğu ekranlardır.
Öncelikle "Merhaba Dünya" metninin bulunduğu ve butonlar kullanılarak bunlar arasında geçiş yapılabilen iki ekran oluşturalım. Bunu yapmak için yeni bir ekran ekleyeceğiz, Ekran #2 ve her ekrana bir metin öğesi ve ekranlar arasında geçiş yapmak için iki düğme (Ekran Düğmeleri) ekleyeceğiz. Her düğmeyi bir sonraki ekrana geçecek şekilde yapılandıralım.
Ekranlar arasında geçiş yapmak için düğmeyi ayarlamaya yönelik arayüz
Merhaba Dünya programı hazır, artık derleyip çalıştırabilirsiniz. Derleme aşamasında değişkenlerin veya adreslerin yanlış belirtilmesi durumunda hatalar meydana gelebilir. Herhangi bir hata ölümcül kabul edilir; program yalnızca hata olmadığında derlenecektir.
Ortam, bilgisayarınızdaki programın hatalarını yerel olarak ayıklayabilmeniz için bir terminali simüle etme yeteneği sağlar. İki tür simülasyon vardır:
- Çevrimiçi simülasyon — programda belirtilen tüm harici veri kaynakları kullanılacaktır. Bunlar USO'lar veya seri arayüzler veya Modbus TCP aracılığıyla bağlanan cihazlar olabilir.
- Çevrimdışı simülasyon — harici cihaz kullanılmadan simülasyon.
Harici verilerimiz olmasa da programı daha önce derlemiş olduğumuz için çevrimdışı simülasyon kullanıyoruz. Nihai program proje klasöründe şu adla bulunacaktır: ProjeAdı_ProgramAdı.px3
Simülasyonda çalışan program, WebOP terminalinin dokunmatik ekranında olduğu gibi fare imleciyle kontrol edilebilir. Her şeyin planlandığı gibi çalıştığını görüyoruz. Harika.
Programı fiziksel bir terminale indirmek için İndir düğmesine tıklamanız yeterlidir. Ancak terminalin geliştirme ortamına bağlantısını yapılandırmadığım için dosyayı bir USB flash sürücü veya MicroSD hafıza kartı kullanarak kolayca aktarabilirsiniz.
Programın arayüzü sezgiseldir, her grafik bloğundan geçmeyeceğim. Arka planlar, şekiller ve metinler oluşturmak, Word'e benzer programları kullanan herkes için anlaşılır olacaktır. Grafiksel bir arayüz oluşturmak için herhangi bir programlama becerisine gerek yoktur; tüm öğeler fare formun üzerine sürüklenerek eklenir.
Bellekle çalışmak
Artık grafik öğelerin nasıl oluşturulacağını bildiğimize göre, dinamik içerik ve kodlama diliyle nasıl çalışılacağını öğrenelim. Bir değişkenden gelen verileri gösteren bir çubuk grafik oluşturalım U $ 100. Grafik ayarlarında veri türünü seçin: 16 bit tamsayı ve grafik değerleri aralığı: 0'dan 10'a kadar.
Program üç dilde komut dosyası yazmayı destekler: VBScript, JavaScript ve kendi dili. Üçüncü seçeneği kullanacağım çünkü belgelerde bunun için örnekler var ve doğrudan editörde otomatik sözdizimi yardımında bulunuyor.
Yeni bir makro ekleyelim:
Grafik üzerinde izlenebilen bir değişkendeki verileri artımlı olarak değiştirmek için basit bir kod yazalım. Değişkene 10 ekleyeceğiz ve 100'den büyük olduğunda sıfıra sıfırlayacağız.
$U100=$U100+10
IF $U100>100
$U100=0
ENDIF
Komut dosyasını bir döngüde yürütmek için, onu Genel Kurulum ayarlarında 250 ms yürütme aralığıyla Ana Makro olarak ayarlayın.
Programı simülatörde derleyip çalıştıralım:
Bu aşamada hafızadaki veriyi işleyip görsel olarak göstermeyi öğrendik. Bu, basit bir izleme sistemi oluşturmak, harici cihazlardan (sensörler, kontrolörler) veri almak ve bunları belleğe kaydetmek için zaten yeterlidir. HMI Designer'da farklı veri görüntüleme blokları mevcuttur: oklu dairesel kadranlar, çeşitli tablolar ve grafikler şeklinde. JavaScript komut dosyalarını kullanarak harici kaynaklardan HTTP aracılığıyla veri indirebilirsiniz.
Habr kontrol paneli
Edinilen becerileri kullanarak Habr yönetici konsolu için komik bir arayüz oluşturacağız.
Uzaktan kumandamız şunları yapabilmelidir:
- Kullanıcı profillerini değiştir
- Karma ve derecelendirme verilerini depolayın
- Kaydırıcıları kullanarak karma ve derecelendirme değerlerini değiştirin
- "Yasakla" butonuna tıkladığınızda profil yasaklanmış olarak işaretlenmeli, avatarın üstü çizili olarak değişmelidir
Her profili ayrı bir sayfada görüntüleyeceğiz, dolayısıyla her profil için bir sayfa oluşturacağız. Karmayı ve derecelendirmeyi, program başlatıldığında Kurulum Makrosu kullanılarak başlatılacak olan yerel değişkenlerde bellekte saklayacağız.
Karmayı ve derecelendirmeyi ayarlamak
Karmayı ayarlamak için kaydırıcıyı (Slayt Anahtarı) kullanacağız. Kurulum Makrosunda başlatılan değişkeni kayıt adresi olarak belirtiyoruz. Slider değer aralığını 0 ile 1500 arasında sınırlayalım. Artık kaydırıcı hareket ettiğinde hafızaya yeni veriler yazılacaktır. Bu durumda kaydırıcının başlangıç durumu, bellekteki değişkenin değerlerine karşılık gelecektir.
Karma ve derecelendirmenin sayısal değerlerini görüntülemek için Sayısal görüntüleme öğesini kullanacağız. Çalışma prensibi örnek “Merhaba Dünya” programındaki şemaya benzer; sadece Monitör Adresinde değişkenin adresini belirtiyoruz.
Yasaklama düğmesi
"Yasaklama" düğmesi, Geçiş Anahtarı öğesi kullanılarak uygulanır. Veri depolama prensibi yukarıdaki örneklere benzer. Ayarlarda düğmenin durumuna bağlı olarak farklı metin, renk veya resim seçebilirsiniz.
Düğmeye basıldığında avatarın üzeri kırmızı renkte çizilmelidir. Picture Display bloğunu kullanarak bunu uygulamak kolaydır. Geçiş Anahtarı düğmesinin durumuyla ilişkili birden fazla görüntü belirtmenize olanak tanır. Bunu yapmak için bloğa, düğmenin bulunduğu blokla aynı adres ve durum sayısı verilir. Avatarın altında isim levhalarının bulunduğu resim de benzer şekilde düzenlenmiştir.
Sonuç
Genel olarak ürünü beğendim. Daha önce benzer görevler için Android tablet kullanma deneyimim vardı, ancak bunun için bir arayüz geliştirmek çok daha zor ve tarayıcı API'leri çevre birimlerine tam erişime izin vermiyor. Bir WebOP terminali, bir Android tablet, bilgisayar ve denetleyici kombinasyonunun yerini alabilir.
HMI Designer, arkaik tasarımına rağmen oldukça gelişmiştir. Özel programlama becerileri olmadan, hızlı bir şekilde çalışan bir arayüzün taslağını oluşturabilirsiniz. Makale, çok sayıda olan tüm grafik bloklarını tartışmıyor: animasyonlu borular, silindirler, grafikler, geçiş anahtarları. Kutudan çıktığı haliyle birçok popüler endüstriyel kontrol cihazını destekler ve veritabanı konnektörleri içerir.
referanslar
WebAccess/HMI Designer ve Runtime geliştirme ortamı indirilebilir
→
Kaynak: habr.com