| 
 The #Password object provides a password management function. Up to 32767 authorization levels can be implemented with the password management function. Each object can be assigned a specific password level using the PWL=<level> option. The password level after a program start is 0. Entering the master password (Option: Master_PW=<x>) sets the highest authorization level (32767). Passwords with appropriate authorization levels 1, 2, ... can be defined with the system variables /S/APP/password_1, /S/APP/password_2, ... of type WSTRING. The PWL=<x> button action enables the current authorization level to be reset, for example when leaving a screen page. 
Access is allowed if the current password level >= the PWL option of the object. 
  
Parameters 
Object 
Action  
Column K 
 | 
M/O 
 | 
Default 
 | 
Description 
 | 
 
 
 | 
O 
 | 
 
 | 
Password-protected objects are visible but are inactive (disable) 
 | 
 
#Page=<name> 
 | 
O 
 | 
 
 | 
Screen page change to screen page <name> if a password protected object is actuated (normally the page which contains the password input dialog). If the password is successfully entered, the action of the password-protected object is NOT automatically executed. 
Password-protected objects are visible and active. 
 | 
 
Off 
 | 
O 
 | 
 
 | 
Password-protected objects are invisible and are inactive (off) 
 | 
 
 
 
ActionLimit1 
Column N 
 | 
M/O 
 | 
Default 
 | 
Description 
 | 
 
#Page=<name> 
 | 
  
 | 
 
 | 
Screen page change to screen page <name> after the password is entered incorrectly (only in conjunction with #Page=<name> action) 
 | 
 
 
 
VarValue 
Column P 
 | 
M/O 
 | 
Default 
 | 
Description 
 | 
 
Variable 
 | 
M 
 | 
 
 | 
Variable with actual password 
 | 
 
 
 
VarType 
Column Q 
 | 
M/O 
 | 
Default 
 | 
Description 
 | 
 
WSTRING 
 | 
M 
 | 
 
 | 
WString data type 
 | 
 
 
 
Option 
Column S 
 | 
M/O 
 | 
Default 
 | 
Description 
 | 
 
Bitwise=AND 
 | 
O 
 | 
  
 | 
PWL is interpreted bitwise and not according to the value of the authorization level 
 | 
 
Master_PW=<password> 
 | 
O 
 | 
  
 | 
Definition of the master password: Password with highest authorization level 
 | 
 
Timeout=<min> 
 | 
O 
 | 
0 (inactive) 
 | 
<min> Time as constant or numerical variable in minutes without touch event until the current authorization is automatically reset (PWL=0) 
 | 
 
Keep_PWL 
 | 
O 
 | 
  
 | 
Keep active authorization level after wrong password input 
 | 
 
 
 
  
         Option Bitwise=AND 
With this option it is possible to use the 15 bits of the PWL for 15 authorization levels which can be configured to access the functions in a matrix. 
System variables password_1, password_2, ... of type WSTRING can be used to define passwords for the relevant authorization levels 1 (Bit0=1), 2 (Bit1=1), .... 
The current PWL is ANDed with the object-specific PWL:         
Access allowed if: (current PWL AND PWL option) > 0 
  
Example 
  
PasswordBit 
 | 
… 
 | 
-bit3 
 | 
-bit2 
 | 
-bit1 
 | 
-bit0 
 | 
  
 | 
EPAM project 
 | 
 
Curr. PWL 
 | 
  
 | 
8 
 | 
4 
 | 
2 
 | 
1 
 | 
  
 | 
PWL option 
 | 
 
Function/level 
 | 
  
 | 
Master 
 | 
Service 
 | 
Technician 
 | 
Operator 
 | 
  
 | 
  
 | 
 
Screenpage1 
 | 
  
 | 
1 
 | 
0 
 | 
0 
 | 
1 
 | 
à 
 | 
9 (=0x09) 
 | 
 
Screenpage2 
 | 
  
 | 
1 
 | 
0 
 | 
1 
 | 
0 
 | 
à 
 | 
10 (=0x0A) 
 | 
 
Screenpage3 
 | 
  
 | 
1 
 | 
1 
 | 
0 
 | 
1 
 | 
à 
 | 
13 (=0x0D) 
 | 
 
... 
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
 
 
 
  
The service has access to Screenpage3, but not Screenpage 2 and 1.  
The operator has access to Screenpage1 and 3, but not to Screenpage2. 
At the login the current PWL is set accordingly (e.g. Service Bit2=1 -> PWL=4). This makes all objects accessible that have Bit 2 = 1 in the PWL option. 
  
System variables 
  
  
Difference to EPAM3 
| • | Calculation of the password from day and month (day * month + day) currently not implemented. |  
 | • | Option SysPW=Off not implemented |  
  
 |