• Not Answered

Faceplate to Show OP Station's Login

Hi all,

Does anyone know of a way to create a faceplate that can show the current logged in user of all OP stations on the network?

Maybe timestamped when they logged in?

Thanks in advance

Tony

10 Replies

  • I retrieve this information by using the function frsReadValue for the DVSYS.THISUSER/USERNAME.A_CV parameter (for user logged in), frsGetComputerName function (for the machine they log in on) and "Now" for time stamp.

    I embedded the script in the VB for the alarm banner. It is similar to this (pardon any mistakes as I'm typing this from memory on my phone):

    Dim User As String

    Dim NewUser As String

    Dim Workstation As String

    Dim Timestamp As String

    'Determine if new user is logged in

    If frsReadValue("DVSYS.THISUSER/USERNAME.A_CV") != User

    Then

    NewUser = frsReadValue("DVSYS.THISUSER/USERNAME.A_CV")

    Workstation = frsGetComputerName

    Timestamp = Now

    User = frsReadValue("DVSYS.THISUSER/USERNAME.A_CV")

    Endif

    Once it retrieves the login info I actually send it to a log file with the same script where it's imported into our production manager's database. You could use this in a similar manner by displaying the string values on a faceplate/system page or writing them to a module parameter and referencing the datalinks.

    I hope this might help.

    Regards

  • In reply to lazy_engineer:

    Two ways:

    You can use The diagnostics program, right click on a workstation and select 'Remote Client Diagnostics' (this will work even for non-terminal servers).  The dialog tells you who is logged in to DeltaV and Windows and several other bits of information derived from the terminal services management console.  

    You can also use process history view event charts filtered properly to get the last login/logoff time on each node.

    Set an event filter to Category = USER and State (Other Columns) = *LOG*.  Set the time range from earliest to latest.   Sort by node and you'll have a list for each workstation for logins and logouts.  

  • In reply to lazy_engineer:

    Thanks for your reply i have not tried this yet but it looks like what i was after. Not completely sure how to implement it but will give it a try when i can

    Thanks

  • In reply to Youssef.El-Bahtimy:

    Thanks Youssef for the tip on the remote client diagnostics i wasn't aware of that.

    I have been doing this via the event charts but was looking for a more permanent and easily accessable option.

    Cheers

  • In reply to Tony_M:

    Tony_M,

             If you come up with a permanent solution, please post how it was done. I am with you when you say that you are not completely sure how to implement it.

  • In reply to Lucky:

    The problem with the THISUSER/USERNAME parameter is that (like all other THISUSER parameters) they are specifically local to the workstation and not shared outside of the workstation.    

    If you need to have this knowledge distributed outside of the workstation by other means than described already, you can try bouncing the information off of a module.

    In Operate, create a text variable in user.fxg or si_globals.fxg whose currentvalue that is animated to the THISUSER/USERNAME parameter.  

    Edit script for the variable and create an onchange event for that variable in vb that writes the currentvalue of the variable to a control module parameter.

    You can create one control module that simply is a storage location for the users on each workstation, written by Opereate automatically on user change.

    You can assign this module to an app station so as to not introduce overhead to the controllers for a non-control function.  

    Your display can then just have datalinks to the module's workstation/user parameters.

  • In reply to Youssef.El-Bahtimy:

    Mind the following when using Youssefs method. Depending on your security settings, the logged off user "<none>" is not allowed to write to the controller resulting in an error message when changing users or logging off. Also depending on A&E settings every write action is logged as an event, so optionally put the module in an area that not in A&E's.

    Based on this discussion I tried to build something similar and found the above mentioned issues. Instead I used a scheduled event in Operate to write the current user and the control module has a time-out mechanism to also monitor when users log off.

  • I've used a modele for console data for similar data "publication" as Youssef suggests. The VB write will generate a parameter change record in event chronicle. It is important to only write on change/by exception or you'll fill the event chronicle.

    I create a module for each workstation to store what ever data I need from the console: alarm counts, current user, current main display, horn status.

    Once the module has the data. It is to the system. I generally do this in the tool ba

    Andre Dicaire

  • In reply to Andre Dicaire:

    Hi,

    On the toolbar, there is always username shown. This username will change upon change of user per workstation. Use this variable "OnChange" event & write the username to a module in Database.

    You can use the machine name as parameter name & read the machine name in runtime in toolbar to concatenate the parameter path. (e.g.: "DVSYS.MODULENAME/" & MACHINENAME & ".A_CV).

    All you will need to do is create a module (e.g. above: MODULENAME) & create a string parameter with same name as workstation, for each node in the network.

    You can also create a string parameter with Login_time & in the same script of "UserName_OnChange" you can stamp the time into this parameter.

    These parameters you can easily use on a popup or faceplate to shos systemwide summery of users.

    If on some workstation, the user has not yet login, then you can leave the parameter to default (Visitor) value. If the operator interface is closed on some workstation, then you can set a flag to indicate it in the "Toolbar_Close" event.

    Sorry, I am not giving specific code, but you can try it out based on the above guidelines... :-)

    Best Regards,

    Amod.

  • In reply to amodbobade:

    Forgot to mention.... There must eb autologon for "Visitor" upon log-off. Visitor should have access th these specific parameters in the controller. Evenif the log-off event is not recorded, the "Visitor" login event will be surely recorded in the module.

    Regards,

    Amod.