Habr bedieningspaneel op basis van HMI van Advantech


Video: Habr-beheerconsole. Hiermee kunt u karma reguleren, gebruikers beoordelen en verbannen.

TL; DR: In dit artikel zal ik proberen een komisch Habr-controlepaneel te maken met behulp van de industriële interface-ontwikkelomgeving Webaccess/HMI Designer en de WebOP-terminal.

Mens-machine-interface (HMI) is een reeks systemen voor menselijke interactie met bestuurde machines. Deze term wordt doorgaans toegepast op industriële systemen met een operator en een bedieningspaneel.

WebOP — een autonome industriële terminal voor het creëren van mens-machine-interfaces. Wordt gebruikt voor het maken van productiecontrolepanelen, monitoringsystemen, controlekamers, smart home-controllers, enz. Ondersteunt directe aansluiting op industriële apparatuur en kan werken als onderdeel van een SCADA-systeem.

WebOP-terminal - hardware

Habr bedieningspaneel op basis van HMI van AdvantechDe WebOP-terminal is een computer met laag vermogen, gebaseerd op een ARM-processor, in één behuizing met een monitor en touchscreen, ontworpen om een ​​programma uit te voeren met een grafische interface gemaakt in HMI Designer. Afhankelijk van het model hebben de terminals verschillende industriële interfaces aan boord: RS-232/422/485, CAN-bus voor aansluiting op autosystemen, USB Host-poort voor het aansluiten van extra randapparatuur, USB Client-poort voor aansluiting van de terminal op een computer, audio ingang en audio-uitgang, MicroSD-kaartlezer voor niet-vluchtig geheugen en overdracht van instellingen.

De apparaten zijn gepositioneerd als budgetvervanger voor alles-in-één pc's, voor taken waarvoor geen krachtige processors en de middelen van een volwaardige desktopcomputer nodig zijn. WebOP kan werken als een zelfstandige terminal voor besturing en gegevensinvoer/-uitvoer, gecombineerd met andere WebOP's, of als onderdeel van een SCADA-systeem.

Habr bedieningspaneel op basis van HMI van Advantech
De WebOP-terminal kan rechtstreeks verbinding maken met industriële apparaten

Passieve koeling en IP66-bescherming

Vanwege de lage warmteafvoer zijn sommige WebOP-modellen volledig ontworpen zonder actieve luchtkoeling. Hierdoor kunnen de apparaten worden gemonteerd in gebieden die gevoelig zijn voor geluidsniveaus en wordt de hoeveelheid stof die in de behuizing terechtkomt verminderd.

Het frontpaneel is gemaakt zonder kieren of verbindingen, heeft een beschermingsgraad van IP66 en laat direct water onder druk binnendringen.

Habr bedieningspaneel op basis van HMI van Advantech
Achterpaneel van de WOP-3100T-terminal

Niet-vluchtig geheugen

Om gegevensverlies te voorkomen beschikt WebOP over 128Kb niet-vluchtig geheugen, waarmee op dezelfde manier kan worden gewerkt als met RAM. Het kan meterstanden en andere kritische gegevens opslaan. Bij een stroomstoring worden de gegevens opgeslagen en na een herstart hersteld.

Updaten op afstand

Het programma dat op de terminal draait, kan op afstand worden bijgewerkt via een Ethernet-netwerk of via seriële RS-232/485-interfaces. Dit vereenvoudigt het onderhoud, omdat het niet meer nodig is om naar alle terminals te gaan om de software bij te werken.

WebOP-modellen

Habr bedieningspaneel op basis van HMI van Advantech
2000T-serie - de meest betaalbare apparaten gebouwd op basis van het real-time besturingssysteem HMI RTOS. De serie wordt vertegenwoordigd door WebOP-2040T/2070T/2080T/2100T, met schermdiagonalen van respectievelijk 4,3 inch, 7 inch, 8 inch en 10.1 inch.

Habr bedieningspaneel op basis van HMI van Advantech
3000T-serie — meer geavanceerde modellen gebaseerd op het Windows CE-besturingssysteem. Ze onderscheiden zich van de 2000T-serie door een groot aantal hardware-interfaces en hebben een CAN-interface aan boord. De apparaten werken in een groter temperatuurbereik (-20~60°C) en zijn antistatisch beschermd (Lucht: 15KV/Contact: 8KV). De lijn voldoet volledig aan de eisen van de IEC-61000-norm, waardoor de apparaten kunnen worden gebruikt in de productie van halfgeleiders waar statische ontlading een probleem is. De serie wordt vertegenwoordigd door WebOP-3070T/3100T/3120T, met schermdiagonalen van respectievelijk 7 inch, 10.1 inch en 12.1 inch.

WebAccess/HMI Designer-ontwikkelomgeving

Standaard is de WebOP-terminal slechts een energiezuinige ARM-computer waarop u alle software kunt draaien, maar het hele punt van deze oplossing is de bedrijfseigen WebAcess/HMI-ontwikkelingsomgeving voor industriële interfaces. Het systeem bestaat uit twee componenten:

  • HMI-ontwerper — omgeving voor het ontwikkelen van interfaces en programmeerlogica. Draait onder Windows op de computer van de programmeur. Het uiteindelijke programma wordt in één bestand gecompileerd en naar de terminal overgebracht voor uitvoering tijdens runtime. Het programma is beschikbaar in het Russisch.
  • HMI-runtime — runtime voor het uitvoeren van het gecompileerde programma op de uiteindelijke terminal. Het werkt niet alleen op WebOP-terminals, maar ook op Advantech UNO, MIC en gewone desktopcomputers. Er zijn runtimeversies voor Linux, Windows, Windows CE.

Habr bedieningspaneel op basis van HMI van Advantech

Hallo wereld - een project maken

Laten we beginnen met het maken van een testinterface voor ons Habr-controlepaneel. Ik zal het programma op de terminal uitvoeren WebOP-3100T WinCE uitvoeren. Laten we eerst een nieuw project maken in HMI Designer. Om een ​​programma op WebOP te laten draaien is het belangrijk om het juiste model te selecteren; het formaat van het uiteindelijke bestand zal hiervan afhangen. Bij deze stap kunt u ook de desktoparchitectuur selecteren, waarna het definitieve bestand wordt gecompileerd voor X86-runtime.

Habr bedieningspaneel op basis van HMI van Advantech
Een nieuw project creëren en een architectuur kiezen

Het selecteren van het communicatieprotocol waarmee het gecompileerde programma in WebOP wordt geladen. Bij deze stap kunt u een seriële interface selecteren of het IP-adres van de terminal opgeven.
Habr bedieningspaneel op basis van HMI van Advantech

Interface voor het maken van projecten. Aan de linkerkant bevindt zich een boomdiagram van de componenten van het toekomstige programma. Voorlopig zijn we alleen geïnteresseerd in het item Schermen, dit zijn direct de schermen met grafische interface-elementen die op de terminal worden weergegeven.

Habr bedieningspaneel op basis van HMI van Advantech

Laten we eerst twee schermen maken met de tekst "Hallo wereld" en de mogelijkheid om hiertussen te schakelen met behulp van knoppen. Om dit te doen, zullen we een nieuw scherm toevoegen, Scherm #2, en op elk scherm zullen we een tekstelement en twee knoppen toevoegen om tussen schermen te schakelen (Schermknoppen). Laten we elke knop configureren om naar het volgende scherm te gaan.
Habr bedieningspaneel op basis van HMI van Advantech
Interface voor het instellen van de knop om tussen schermen te schakelen

Het Hello World-programma is klaar, nu kunt u het compileren en uitvoeren. In de compilatiefase kunnen er fouten optreden als er onjuiste variabelen of adressen zijn opgegeven. Elke fout wordt als fataal beschouwd; het programma wordt alleen gecompileerd als er geen fouten zijn.
De omgeving biedt de mogelijkheid om een ​​terminal te simuleren, zodat u lokaal fouten in het programma op uw computer kunt opsporen. Er zijn twee soorten simulatie:

  • Online simulatie — alle in het programma gespecificeerde externe gegevensbronnen zullen worden gebruikt. Dit kunnen USO's zijn of apparaten die zijn aangesloten via seriële interfaces of Modbus TCP.
  • Offline simulatie — simulatie zonder het gebruik van externe apparaten.

Hoewel we geen externe gegevens hebben, gebruiken we offline simulatie, nadat we het programma eerder hebben samengesteld. Het definitieve programma bevindt zich in de projectmap, met de naam Projectnaam_Programmanaam.px3

Habr bedieningspaneel op basis van HMI van Advantech
Het programma dat in de simulatie draait, kan met de muiscursor op dezelfde manier worden bestuurd als op het touchscreen van een WebOP-terminal. We zien dat alles werkt zoals bedoeld. Geweldig.
Om het programma naar een fysieke terminal te downloaden, klikt u gewoon op de knop Downloaden. Maar aangezien ik de verbinding van de terminal met de ontwikkelomgeving niet heb geconfigureerd, kun je het bestand eenvoudig overbrengen met behulp van een USB-flashstation of MicroSD-geheugenkaart.
Habr bedieningspaneel op basis van HMI van Advantech
De programma-interface is intuïtief, ik zal niet elk grafisch blok doornemen. Het maken van achtergronden, vormen en tekst zal duidelijk zijn voor iedereen die programma's heeft gebruikt die vergelijkbaar zijn met Word. Voor het maken van een grafische interface zijn geen programmeervaardigheden vereist; alle elementen worden toegevoegd door de muis naar het formulier te slepen.

Werken met geheugen

Nu we weten hoe we grafische elementen moeten maken, gaan we leren werken met dynamische inhoud en een scripttaal. Laten we een staafdiagram maken waarin gegevens van een variabele worden weergegeven U $ 100. Selecteer in de diagraminstellingen het gegevenstype: 16-bits geheel getal en het bereik van diagramwaarden: van 0 tot 10.

Habr bedieningspaneel op basis van HMI van Advantech

Het programma ondersteunt het schrijven van scripts in drie talen: VBScript, JavaScript en zijn eigen taal. Ik zal de derde optie gebruiken omdat er voorbeelden van zijn in de documentatie en automatische syntaxishulp rechtstreeks in de editor.

Laten we een nieuwe macro toevoegen:

Habr bedieningspaneel op basis van HMI van Advantech

Laten we wat eenvoudige code schrijven om stapsgewijs gegevens te wijzigen in een variabele die in een diagram kan worden gevolgd. We voegen 10 toe aan de variabele en stellen deze terug op nul als deze groter is dan 100.

$U100=$U100+10
IF $U100>100
$U100=0
ENDIF

Om het script in een lus uit te voeren, stelt u het in de Algemene instellingen in als Hoofdmacro, met een uitvoeringsinterval van 250 ms.

Habr bedieningspaneel op basis van HMI van Advantech
Laten we het programma compileren en uitvoeren in de simulator:

Habr bedieningspaneel op basis van HMI van Advantech

In dit stadium hebben we geleerd gegevens in het geheugen te manipuleren en visueel weer te geven. Dit is al voldoende om een ​​eenvoudig monitoringsysteem te creëren, waarbij gegevens van externe apparaten (sensoren, controllers) worden ontvangen en in het geheugen worden vastgelegd. In HMI Designer zijn verschillende gegevensweergaveblokken beschikbaar: in de vorm van ronde wijzerplaten met pijlen, verschillende diagrammen en grafieken. Met JavaScript-scripts kunt u via HTTP gegevens uit externe bronnen downloaden.

Habr-bedieningspaneel

Met behulp van de verworven vaardigheden zullen we een komische interface maken voor de Habr-beheerconsole.

Habr bedieningspaneel op basis van HMI van Advantech

Onze afstandsbediening moet in staat zijn om:

  • Wissel tussen gebruikersprofielen
  • Bewaar karma- en beoordelingsgegevens
  • Verander karma en beoordelingswaarden met behulp van schuifregelaars
  • Wanneer u op de knop “ban” klikt, moet het profiel als verboden worden gemarkeerd en moet de avatar veranderen in doorgestreept

We zullen elk profiel op een aparte pagina weergeven, dus we zullen voor elk profiel een pagina maken. We slaan karma en beoordeling op in lokale variabelen in het geheugen, die zullen worden geïnitialiseerd met behulp van Setup Macro wanneer het programma start.

Habr bedieningspaneel op basis van HMI van Advantech
De foto is klikbaar

Karma en beoordeling aanpassen

Om karma aan te passen zullen we de schuifregelaar (Slide Switch) gebruiken. We specificeren de variabele die is geïnitialiseerd in Setup Macro als het opnameadres. Laten we het bereik van de schuifregelaarwaarden beperken van 0 tot 1500. Wanneer de schuifregelaar beweegt, worden er nieuwe gegevens naar het geheugen geschreven. In dit geval komt de beginstatus van de schuifregelaar overeen met de waarden van de variabele in het geheugen.

Habr bedieningspaneel op basis van HMI van Advantech
Om de numerieke waarden van karma en beoordeling weer te geven, gebruiken we het numerieke weergave-element. Het principe van de werking is vergelijkbaar met het diagram uit het voorbeeldprogramma “Hello World”; we geven eenvoudigweg het adres van de variabele aan in Monitor Address.

Ban-knop

De “ban”-knop wordt geïmplementeerd met behulp van het tuimelschakelaarelement. Het principe van gegevensopslag is vergelijkbaar met de bovenstaande voorbeelden. In de instellingen kun je verschillende tekst, kleur of afbeelding selecteren, afhankelijk van de status van de knop.

Habr bedieningspaneel op basis van HMI van Advantech
Wanneer de knop wordt ingedrukt, moet de avatar rood worden doorgestreept. Dit is eenvoudig te implementeren met behulp van het Picture Display-blok. Hiermee kunt u meerdere afbeeldingen opgeven die zijn gekoppeld aan de status van de tuimelschakelaarknop. Hiervoor krijgt het blok hetzelfde adres als het blok met de knop en het aantal statussen. De afbeelding met naamplaatjes onder de avatar is op een vergelijkbare manier opgebouwd.

Habr bedieningspaneel op basis van HMI van Advantech

Conclusie

Over het algemeen vond ik het product leuk. Eerder had ik ervaring met het gebruik van een Android-tablet voor soortgelijke taken, maar het ontwikkelen van een interface daarvoor is veel moeilijker, en browser-API's bieden geen volledige toegang tot de randapparatuur. Eén WebOP-terminal kan een combinatie van een Android-tablet, computer en controller vervangen.

HMI Designer is, ondanks zijn archaïsche ontwerp, behoorlijk geavanceerd. Zonder speciale programmeervaardigheden kunt u snel een werkende interface schetsen. Het artikel bespreekt niet alle grafische blokken, waarvan er veel zijn: geanimeerde pijpen, cilinders, grafieken, tuimelschakelaars. Het ondersteunt standaard veel populaire industriële controllers en bevat databaseconnectoren.

referenties

WebAccess/HMI Designer en Runtime ontwikkelomgeving kunnen worden gedownload hier

Bronnen van het Habr-controlepaneelproject

Bron: www.habr.com

Voeg een reactie