Hoe kunnen we helpen?

Print

Gebruikers, gebruikersgroepen en gebruikerslogboek

Wat u gaat bouwen

Het voltooide project bevat twee groepen, vier gebruikers, per groep beveiligde besturingselementen, een aanmeldgedeelte en een bedieningslogboek dat toont wie wat heeft gewijzigd.

Groep Gebruikers Mag (voorbeeld)
Operators Operator1, Operator2 De machine bedienen: starten en stoppen, setpoints, receptselectie
Maintenance Tech1, Tech2 Alles wat Operators mogen, plus instellingsschermen, logboekexport en het wissen van het logboek

De namen en rechten zijn voorbeelden; vervang ze door uw eigen namen en rechten. Geef elke gebruiker een uniek wachtwoord en behoud geen enkel standaardwachtwoord.

 

Voordat u begint

Gebruik User Permission voor alles in deze handleiding; dit is het huidige gebruikersbeheer van CommandHMI

  • User Permission (Project Manager > Setting > User Permission): gebruikers op naam en gebruikersgroepen. Gebruik deze.
  • Set user password (HMI Parameter Settings): 8 vaste gebruikers met niveaus 1 tot en met 8. Dit is het vorige gebruikersbeheer, behouden voor compatibiliteit met oudere projecten. Gebruik het niet in nieuwe projecten en combineer de twee niet.

De twee groepen aanmaken

Maak eerst de groepen aan, zodat ze bestaan wanneer u de gebruikers toevoegt.

  1. Open in de Project Manager Setting en dubbelklik op User Permission.
  2. Gebruik Add user group en voer deze naam in: Operators
  3. Herhaal dit voor Maintenance
  4. Laat de standaardgebruikers en -groepen staan. De software staat niet toe dat ze worden verwijderd.

Houd groepsnamen kort: de HMI toont de huidige groep via LW63200, dat 32 tekens bevat.

 

De 4 gebruikers aanmaken

Voeg elke gebruiker toe in hetzelfde dialoogvenster en wijs hem toe aan precies één groep.

  1. Gebruik in User Permission de optie Add user.
  2. Voer de gebruikersnaam en een wachtwoord in en selecteer vervolgens de groep.
  3. Herhaal dit voor de vier onderstaande gebruikers.
  4. Bevestig met OK en sla het project op.
  • LW60838~60853 toont de naam van de momenteel aangemelde gebruiker (ASCII, lengte 32)
  • LW63200~63215

 

 

Besturingselementen per groep beperken

De toegang wordt per besturingselement ingesteld (Bit switch, Word switch,..). Het tabblad Advanced bepaalt wie het mag bedienen, het tabblad Visibility bepaalt wie het kan zien.

  1. Voeg een besturingselement toe, bijvoorbeeld een Bit switch, en open het tabblad Advanced.
  2. Schakel de optie voor toegangscontrole op basis van gebruikers in en selecteer de toegestane groepen.
    • Besturingselement op operatorniveau: Operators en Maintenance toestaan
    • Besturingselement alleen voor onderhoud: Maintenance toestaan
  3. Om een besturingselement te verbergen in plaats van te vergrendelen, stelt u dezelfde optie in op het tabblad Visibility.

 

Alleen invoerelementen hebben deze optie: bit button, word button, screen button, function button, multi-function button, multi-state button, numeric input, ASCII input, combo box, radio button, stepping button, slider en recipe selector. Weergave-elementen kunnen alleen via het tabblad Visibility worden verborgen.

Aanmelden, afmelden en weergave van de huidige gebruiker

  • Aanmeldknop: zie “Function Button” Log on
  • Afmeldknop: zie “Function Button” Cancel user login
  • Weergave van wie is aangemeld
    • Naam van de huidige gebruiker, ASCII Display, Monitor address LW60838, Total 32
    • Naam van de huidige groep, ASCII Display, Monitor address LW63200, Total 32

Plaats deze vier besturingselementen in een kopbalk die op elk scherm zichtbaar is; een openbaar scherm is hier zeer geschikt voor.

Om af te melden vanuit een script of vanuit de PLC, zet u LB60133 op 1. De bit wordt automatisch gereset zodra het afmelden is voltooid.

Het bedieningslogboek configureren met het historische logboek

We gaan het volgende gebruiken:

  • LW1000~1015 : gebruikersnaam die in het logboek wordt geschreven (32 ASCII-tekens, vrij te kiezen veld, aan te passen)
  • LW39900~39915 : kopie van de vorige gebruikersnaam (vrij te kiezen veld, aan te passen)
  • LW60838~60853 : gebruikersnaam van de aangemelde gebruiker (32 ASCII-tekens, alleen-lezen)
  • LB1000 : trigger voor het registreren van gebeurtenissen
  1. Maak een historisch datalogboek aan
  2. Geef het gewenste maximale aantal logregels op (in dit geval 50)
  3. Voeg LB1000 toe als registratietrigger, met Auto-Reset

Het script dat gebruikerswissels en afmeldingen bewaakt

#include "MacroInit.h"
//#include "subFun1.c" //Example
#define USER_NAME_ADDR 60838 // LW60838~60853 : user name of the logged-in user (32 ASCII characters, read-only)
#define PREV_NAME_ADDR 39900 // copy of the previous user name (free-form field, to be adapted)
#define LOG_TEXT_ADDR 1000 // LW1000~1015 : user name to bewrite in log (32 ASCII characters, free-form field, to be adapted)
#define USER_NAME_WORDS 16 // 32 char = 16 words
void Macro_main(IN *p)
{
MarcoInit
int i;
int changed = 0;
char logoutText[] = "User logout";
// Check if logged user changed
for (i = 0; i < USER_NAME_WORDS; i++) { if (LocalWord[USER_NAME_ADDR + i] != LocalWord[PREV_NAME_ADDR + i]) { changed = 1; LocalWord[PREV_NAME_ADDR + i] = LocalWord[USER_NAME_ADDR + i]; } } if (changed) { if (LocalWord[USER_NAME_ADDR] == 0) { // Logout : empty name -> fixed text
for (i = 0; i < USER_NAME_WORDS; i++)
{
LocalWord[LOG_TEXT_ADDR + i] = 0;
}
for (i = 0; logoutText[i] != 0; i++)
{
LocalWord[LOG_TEXT_ADDR + i / 2] |= (unsigned short)logoutText[i] << (8 * (i % 2));
}
}
else
{
// Login : copy of the user’s name
for (i = 0; i < USER_NAME_WORDS; i++)
{
LocalWord[LOG_TEXT_ADDR + i] = LocalWord[USER_NAME_ADDR + i];
}
}
// Trigger for recording events
LocalBit[1000] = 1;
}
}

 

Plak het in een nieuw script (New script) van de Script Editor, compileer het en roep het vervolgens elke 500 ms aan.

en voeg het besturingselement Historical data display toe

Om dit te verkrijgen:

Om te testen kunt u met bit buttons knoppen toevoegen voor het wisselen van gebruiker en het afmelden

U kunt het project hier downloaden