Desktop.DASH U Stuff

November 2012

In the previous section we added some fancification to the dashboard display by adjusting colors and fonts.

Home Desktop.DASH

In this section we will look at Universal Stores, Userlevel and Administration features.

Universal Stores

U Stores are simply in-built variables to facilitate the display and use of values outside of the PLC itself, for example Windows Date strings, Desktop.DASH status values and Instant Messenger content.

They are intended for use with the Display Control only.

Instant Messenger Stores U0-9

With these stores you can read and write your own messages of up to 40 characters via IM.

You cannot access a U store directly, you must assign a unique UserLabel to each store you want to access.

For Example. U1 assigned as "TODO". When you first configure the display it recognizes that it is an IM store and renders as shown...

New Blank IM U Store

Once you are successfully logged into IM and authenticated to Desktop.DASH you can simply enter something like "todo Feed Chickens" to update the store...

IM Store Updated - don't forget to feed the chickens! =P

You may have noticed that the text auto-fits the display control - this is a built-in feature, such that if you want a simple bold message it will stand out, for longer messages stretch the control to a width that suits first...

IM Store Long Message

(Configuring Instant Messenger will be covered in the next section.)

System Stores

System stores are READ only for your use as required, and at the outset the following U stores are also available:-

U10-19 Date and Time functions Read only

U10 - 5/18/2010

U11 - Tuesday, May 18, 2010

U12 - 4:47 PM

U13 - 4:47:55 PM

U14 - for day of week, eg Thursday

U20-29 Dashboard diagnostic stores Read only

U20 - Run MODE State (Running, Stopped)

U21 - Selected Driver (MC, FX, AL)

U22 - Last driver start time

U23 - Last driver stop time

U24 - Current driver cycle time in x.xxx seconds (includes all reads and writes)

U25 - Current Dash filename (the file loaded)

U26 -

U27 -

U28 - Current UserLevel

U29 - App version (Desktop.DASH v1.0.0.0)

U30-39 Dash Status Read only

U30 - Chat server (Online, Offline)

U31 - Last error


U40-49 Host PC diagnostics

U40 - OS Name

U41 - Total Physical Memory

U42 - Available Physical Memory

UserLevel

Desktop.DASH supports a very basic authentication system in the form of UserLevel.

The UserLevel value of any particular dashboard control determines who has access to modify it's associated PLC DataPoint store.

Essentially, the person attempting to modify a DataPoint either locally (at the PC) or remotely (via Instant Messenger) must have a UserLevel EQUAL to or GREATER THAN the UserLevel of the control.

Notionally the UserLevel values are as follows:-

  1. Basic-Level

  2. ..

  3. ..

  4. Mid-Level

  5. ..

  6. ..

  7. Supervisor

  8. Administrator

And a UserLevel of 0 (Zero) Guest means no restriction whatsoever.

Important Notes

Whilst some effort has been made to encrypt UserLevel data to disc, it is NOT military strength and can be compromised by physical access to the host PC and OS, etc

UserLevel access and control has dual functionality, firstly to apply constraints to the dashboard itself, and secondly to provide authentication to remote control commands and requests.

UserLevel administration is on a PER PROJECT basis - for every dashboard you create you will need to configure an Administrator and Users (or copy the desktop.users file between projects!)

By design - if you choose to use the UserLevel and create an Administrator account you will require Supervisor or ADMIN level access to STOP the run mode

Administrator Account

To get started go to Main Menu > Admin > Log-In

For the first time you attempt to LOG IN to a project that has no existing users you will be greeted as follows...

New Admin Account Prompt

Which is then followed by the log in prompt itself...

Login Dialogue

Important Notes

The log in Username MUST be in the form of an EMAIL address.

Even though the address may be fictitious - for any users that require Instant Messenger authentication however it must be real.

The Password must be at least 4 characters in length.

You create the Admin account in this way alone - all subsequent accounts are created via the Manage Users dialogue.

Username MUST be an Email Type

Once you have created an account you can add, change and delete other users by choosing Main Menu > Admin > Manage Users

Manage Users Dialogue

From this screen you can select any user, modify their password, change their UserLevel and of course delete their account altogether.

Example. Add New User.

Enter a Username, Password and select the appropriate UserLevel from the pull down list...

Add New User

Press [ Add / Update ] when done.

To edit any user select their details in the top pane, and their settings will fill the Username, Password and UserLevel fields.

Adjust their details as required, then again press [ Add / Update ] when done.

To delete any account, first select it in the top pane, then press [ Delete User ] - you will be prompted once to confirm.

Important Notes

You can create multiple Administrator accounts.

If you delete all accounts you will need to start over!

If you delete the last remaining Administrator account you are stuffed - and will have to find and delete the desktop.users file from the project folder, reload the project, then start over!

UserLevel Display

To display the current UserLevel add a new display control to the dashboard and set it's store to U28, then toggle briefly between Demo Mode (Shift + F5) and Stop (F6) to update the display...

Current UserLevel Display

Example. Limit adjustment of a Slider control to a UserLevel of 4.

If we have a slider control that must be restricted to a certain level then select it's Setup properties via the right-click menu...

Adjust UserLevel Per Control

When you attempt to adjust this slider in run mode you will be prompted for the Username and Password of an account with at least UserLevel 4.

The UserLevel of the dashboard will immediately reset to 0 and if you want to make another adjustment you will be prompted each and every time for credentials.

The intention here is that you are invited to make a supervisory adjustment, then as you leave the bridge the restrictions are returned to guest level.

If however you want to set a continuing UserLevel then you must add the User Control to the dashboard.

User Control

From the dashboard menu choose User...

User Control Added

With this control available during run mode you and others can log in to the dashboard and maintain your UserLevel to make ongoing control system value adjustments.

To change UserLevel just enter new credentials, to log out and leave the UserLevel to Guest or 0 press [ Log Out ].

Note that the actual current UserLevel is displayed in the title bar of this control.

If you do press [ Log In ] without any credentials you will get the usual Windows log in prompt.

The User control supports flow layout, such that after selecting a color scheme and font you can re-size it, and it's contents will flow to suit...

User Control Flow Layout

As stated previously...

By design - if you choose to use the UserLevel and create an Administrator account you will require Supervisor or ADMIN level access to STOP the run mode

In the next section we'll look at how to configure your DASH for remote view and control using the Telegram BOT Service...

Desktop.DASH Telegram Bot

Please also review how UserLevel is implemented with Instant Messenger remote access and control from the deprecated V1 Instant Messenger topic...

Desktop.DASH Instant Messenger