Video: Habr admin konsolu. Karmanı tənzimləməyə, reytinq verməyə və istifadəçiləri qadağan etməyə imkan verir.
TL; DR: Bu yazıda mən Webaccess/HMI Designer sənaye interfeysi inkişaf mühitindən və WebOP terminalından istifadə edərək komik Habr idarəetmə paneli yaratmağa çalışacağam.
İnsan-maşın interfeysi (HMI) insanların idarə olunan maşınlarla qarşılıqlı əlaqəsi üçün sistemlər toplusudur. Adətən bu termin operatoru və idarəetmə paneli olan sənaye sistemlərinə tətbiq edilir.
WebOP — insan-maşın interfeyslərinin yaradılması üçün avtonom sənaye terminalı. İstehsal idarəetmə panelləri, monitorinq sistemləri, idarəetmə otaqları, ağıllı ev nəzarətçiləri və s. yaratmaq üçün istifadə olunur. Sənaye avadanlıqları ilə birbaşa əlaqəni dəstəkləyir və SCADA sisteminin bir hissəsi kimi işləyə bilər.
WebOP terminalı - aparat
WebOP terminalı HMI Designer proqramında yaradılmış qrafik interfeysli proqramı idarə etmək üçün nəzərdə tutulmuş, monitor və toxunma ekranı olan tək halda ARM prosessoruna əsaslanan aşağı gücə malik kompüterdir. Modeldən asılı olaraq terminallar bortda müxtəlif sənaye interfeyslərinə malikdir: RS-232/422/485, avtomobil sistemlərinə qoşulmaq üçün CAN avtobusu, əlavə periferiyaları birləşdirmək üçün USB Host portu, terminalı kompüterə qoşmaq üçün USB Client portu, audio. giriş və səs çıxışı, qeyri-sabit yaddaş və parametrlərin ötürülməsi üçün MicroSD kart oxuyucusu.
Qurğular güclü prosessorlar və tamhüquqlu masaüstü kompüterin resursları tələb etməyən tapşırıqlar üçün hamısı bir yerdə kompüterlər üçün büdcə əvəzedicisi kimi yerləşdirilib. WebOP nəzarət və məlumatların daxil edilməsi/çıxışı üçün müstəqil terminal kimi, digər WebOP-larla qoşalaşmış və ya SCADA sisteminin bir hissəsi kimi işləyə bilər.
WebOP terminalı birbaşa sənaye cihazlarına qoşula bilər
Passiv soyutma və IP66 qoruması
Aşağı istilik yayılması səbəbindən bəzi WebOP modelləri tamamilə aktiv hava soyutma olmadan dizayn edilmişdir. Bu, cihazları səs-küy səviyyələrinə həssas olan yerlərdə quraşdırmaq imkanı verir və korpusun içərisinə daxil olan tozun miqdarını azaldır.
Ön panel boşluqlar və birləşmələr olmadan hazırlanır, IP66 qoruma səviyyəsinə malikdir və təzyiq altında suyun birbaşa daxil olmasına imkan verir.
WOP-3100T terminalının arxa paneli
Uçucu olmayan yaddaş
Məlumat itkisinin qarşısını almaq üçün WebOP-da 128 Kb qeyri-uçucu yaddaş var ki, bu da RAM ilə eyni şəkildə işlənə bilər. O, sayğac oxunuşlarını və digər kritik məlumatları saxlaya bilər. Elektrik kəsilməsi halında, məlumatlar yenidən başladıqdan sonra saxlanılacaq və bərpa olunacaq.
Uzaqdan yeniləmə
Terminalda işləyən proqram Ethernet şəbəkəsi və ya RS-232/485 serial interfeysləri vasitəsilə uzaqdan yenilənə bilər. Bu, texniki xidməti asanlaşdırır, çünki proqram təminatını yeniləmək üçün bütün terminallara getmə ehtiyacını aradan qaldırır.
WebOP Modelləri
WebAccess/HMI Designer inkişaf mühiti
Qutudan kənarda, WebOP terminalı istənilən proqram təminatını işə sala biləcəyiniz aşağı güclü ARM kompüteridir, lakin bu həllin əsas məqsədi mülkiyyətçi WebAcess/HMI sənaye interfeysi inkişaf mühitidir. Sistem iki komponentdən ibarətdir:
- HMI Dizayneri — interfeyslərin və proqramlaşdırma məntiqinin inkişafı üçün mühit. Proqramçının kompüterində Windows altında işləyir. Yekun proqram bir faylda tərtib edilir və icra müddətində icra üçün terminala ötürülür. Proqram rus dilində mövcuddur.
- HMI Runtime — tərtib edilmiş proqramı yekun terminalda işə salmaq üçün icra müddəti. O, təkcə WebOP terminallarında deyil, həm də Advantech UNO, MIC və adi masaüstü kompüterlərdə işləyə bilər. Linux, Windows, Windows CE üçün iş vaxtı versiyaları var.
Salam dünya - layihə yaratmaq
Habr idarəetmə panelimiz üçün test interfeysi yaratmağa başlayaq. Proqramı terminalda işlədəcəm
Yeni layihənin yaradılması və memarlığın seçilməsi
Tərtib edilmiş proqramın WebOP-a yüklənəcəyi rabitə protokolunun seçilməsi. Bu addımda siz serial interfeysi seçə və ya terminalın IP ünvanını təyin edə bilərsiniz.
Layihənin yaradılması interfeysi. Sol tərəfdə gələcək proqramın komponentlərinin ağac diaqramı var. Hələlik bizi yalnız Ekranlar elementi maraqlandırır, bunlar birbaşa terminalda göstəriləcək qrafik interfeys elementləri olan ekranlardır.
Əvvəlcə "Salam Dünya" mətni və düymələrdən istifadə edərək onlar arasında keçid etmək imkanı olan iki ekran yaradaq. Bunun üçün yeni ekran, Ekran #2 əlavə edəcəyik və hər bir ekrana mətn elementi və ekranlar arasında keçid üçün iki düymə əlavə edəcəyik (Ekran Düymələri). Gəlin hər bir düyməni növbəti ekrana keçmək üçün konfiqurasiya edək.
Ekranlar arasında keçid düyməsini təyin etmək üçün interfeys
Salam Dünya proqramı hazırdır, indi siz onu tərtib edib işlədə bilərsiniz. Kompilyasiya mərhələsində dəyişənlərin və ya ünvanların düzgün göstərilməməsi halında səhvlər ola bilər. Hər hansı bir səhv ölümcül hesab olunur, proqram yalnız səhvlər olmadıqda tərtib ediləcəkdir.
Ətraf mühit terminalı simulyasiya etmək imkanı verir ki, siz kompüterinizdə proqramı yerli olaraq sazlaya biləsiniz. Simulyasiyanın iki növü var:
- Onlayn simulyasiya — proqramda göstərilən bütün xarici məlumat mənbələrindən istifadə olunacaq. Bunlar USO-lar və ya serial interfeyslər və ya Modbus TCP vasitəsilə qoşulan cihazlar ola bilər.
- Offline simulyasiya — xarici cihazlardan istifadə etmədən simulyasiya.
Xarici məlumatlarımız olmasa da, əvvəllər proqramı tərtib edərək oflayn simulyasiyadan istifadə edirik. Yekun proqram adı ilə layihə qovluğunda yerləşəcək ProjectName_ProgramName.px3
Simulyasiyada işləyən proqram WebOP terminalının toxunma ekranında olduğu kimi siçan kursoru ilə idarə oluna bilər. Biz görürük ki, hər şey nəzərdə tutulduğu kimi işləyir. Əla.
Proqramı fiziki terminala yükləmək üçün Yüklə düyməsini sıxmağınız kifayətdir. Ancaq terminalın inkişaf mühitinə qoşulmasını konfiqurasiya etmədiyim üçün sadəcə USB flash sürücüsü və ya MicroSD yaddaş kartından istifadə edərək faylı ötürə bilərsiniz.
Proqram interfeysi intuitivdir, mən hər qrafik blokdan keçməyəcəyəm. Arxa fonlar, formalar və mətn yaratmaq Word-ə bənzər proqramlardan istifadə edən hər kəs üçün aydın olacaq. Qrafik interfeys yaratmaq üçün heç bir proqramlaşdırma bacarığı tələb olunmur, bütün elementlər siçanı forma üzərinə sürükləməklə əlavə edilir.
Yaddaşla işləmək
Qrafik elementlərin necə yaradılacağını bildiyimizə görə, indi dinamik məzmun və skript dili ilə işləməyi öyrənək. Dəyişəndən verilənləri əks etdirən bar diaqramı yaradaq U $ 100. Diaqram parametrlərində məlumat növünü seçin: 16 bitlik tam ədəd və diaqram dəyərlərinin diapazonu: 0-dan 10-a qədər.
Proqram üç dildə skript yazmağı dəstəkləyir: VBScript, JavaScript və öz dilində. Üçüncü variantdan istifadə edəcəyəm, çünki sənədlərdə bunun üçün nümunələr var və redaktorda avtomatik sintaksis kömək edir.
Yeni bir makro əlavə edək:
Qrafikdə izlənilə bilən dəyişəndəki məlumatları tədricən dəyişmək üçün bir neçə sadə kod yazaq. Dəyişənə 10 əlavə edəcəyik və 100-dən böyük olduqda onu sıfırlayacağıq.
$U100=$U100+10
IF $U100>100
$U100=0
ENDIF
Skripti döngədə icra etmək üçün onu Ümumi Quraşdırma parametrlərində 250ms icra intervalı ilə Əsas Makro kimi təyin edin.
Proqramı simulyatorda tərtib edib işə salaq:
Bu mərhələdə biz yaddaşdakı məlumatları manipulyasiya etməyi və vizual olaraq göstərməyi öyrəndik. Bu, artıq sadə monitorinq sistemi yaratmaq, xarici cihazlardan (sensorlar, nəzarətçilər) məlumatların qəbulu və yaddaşda qeyd edilməsi üçün kifayətdir. HMI Designer-də müxtəlif məlumat ekranı blokları mövcuddur: oxlar, müxtəlif diaqramlar və qrafiklər olan dairəvi zənglər şəklində. JavaScript skriptlərindən istifadə edərək HTTP vasitəsilə xarici mənbələrdən məlumatları yükləyə bilərsiniz.
Habr idarəetmə paneli
Əldə edilmiş bacarıqlardan istifadə edərək Habr admin konsolu üçün komik interfeys hazırlayacağıq.
Uzaqdan idarəetməmiz aşağıdakıları bacarmalıdır:
- İstifadəçi profillərini dəyişdirin
- Karma və reytinq məlumatlarını saxlayın
- Sürgülərdən istifadə edərək karma və reytinq dəyərlərini dəyişdirin
- “Qadağa” düyməsini kliklədikdə, profil qadağa kimi qeyd edilməli, avatar üzərindən xətt çəkilməlidir.
Hər bir profili ayrıca səhifədə göstərəcəyik, ona görə də hər profil üçün səhifə yaradacağıq. Biz karma və reytinqi yerli dəyişənlərdə yaddaşda saxlayacağıq, proqram başlayanda Setup Macro istifadə edərək işə salınacaq.
Karma və reytinqin tənzimlənməsi
Karmanı tənzimləmək üçün kaydırıcıdan (Slide Switch) istifadə edəcəyik. Biz qeyd ünvanı kimi Quraşdırma Makrosunda işə salınmış dəyişəni təyin edirik. Slayder dəyərlərinin diapazonunu 0-dan 1500-ə qədər məhdudlaşdıraq. İndi slayder hərəkət etdikdə yaddaşa yeni məlumatlar yazılacaq. Bu halda, kaydırıcının ilkin vəziyyəti yaddaşdakı dəyişənin dəyərlərinə uyğun olacaq.
Karma və reytinqin ədədi dəyərlərini göstərmək üçün Rəqəmsal ekran elementindən istifadə edəcəyik. Onun işləmə prinsipi “Salam Dünya” proqramının nümunəsindəki diaqrama bənzəyir, sadəcə olaraq Monitor ünvanında dəyişənin ünvanını göstəririk.
Qadağa düyməsi
“Qadağa” düyməsi Toggle Switch elementindən istifadə etməklə həyata keçirilir. Məlumatların saxlanması prinsipi yuxarıdakı nümunələrə bənzəyir. Parametrlərdə düymənin vəziyyətindən asılı olaraq müxtəlif mətn, rəng və ya şəkil seçə bilərsiniz.
Düymə basıldıqda, avatar qırmızı ilə kəsilməlidir. Bunu Picture Display blokundan istifadə etməklə həyata keçirmək asandır. Bu, keçid düyməsinin vəziyyəti ilə əlaqəli çoxlu şəkilləri təyin etməyə imkan verir. Bunun üçün bloka düymə ilə blokla eyni ünvan və vəziyyətlərin sayı verilir. Avatarın altında ad lövhələri olan şəkil oxşar şəkildə qurulur.
Nəticə
Ümumiyyətlə, məhsulu bəyəndim. Əvvəllər oxşar tapşırıqlar üçün Android planşetindən istifadə təcrübəm var idi, lakin bunun üçün interfeys hazırlamaq daha çətindir və brauzer API-ləri periferiyalara tam girişə imkan vermir. Bir WebOP terminalı Android planşet, kompüter və nəzarətçi kombinasiyasını əvəz edə bilər.
HMI Designer, arxaik dizaynına baxmayaraq, kifayət qədər inkişaf etmişdir. Xüsusi proqramlaşdırma bacarıqları olmadan tez bir zamanda işləyən interfeysin eskizini yarada bilərsiniz. Məqalədə çox sayda olan bütün qrafik bloklar müzakirə edilmir: animasiya edilmiş borular, silindrlər, qrafiklər, keçid açarları. Qutudan kənarda bir çox məşhur sənaye nəzarətçiləri dəstəkləyir və verilənlər bazası konnektorlarını ehtiva edir.
References
WebAccess/HMI Designer və Runtime inkişaf mühiti endirilə bilər
→
Mənbə: www.habr.com