DeltaV Operate - Animations - Visibility based on workstation

Is anyone aware of a way to animate an object's visibility based on the workstation?

I am able to animate based on current user, but that's as far as I can go:
DVSYS.THISUSER/USERNAME.A_CV="OPERATOR"

Thanks!

-James

  • Hi James,
    You can read the name of the workstation in the usersettings at the start of the DeltaV Operate.
    You can use this function :
    NAM_STATION_CURRENT = frsvariables.gs_wsName.cuurentvalue
    And after you store this value in a DeltaV moduleWhat do you thinck ?
    Best regards
  • As Richard has indicated, the variable frsVariables.misc_glb.gs_wsName.CurrentValue will contain the string of the workstation node.

    You can use this in your animations but depending on the number of nodes you are using and what end result you want, it might be better to create variables that you can set from usersettings based on the nodenames and then use these variables instead of hard coding the nodename(s). This would allow you to easily add nodes at a later date because all you would need to modify would be the Usersettings instead of all the places where you are doing this animation.

    Good luck
  • In reply to Matt Stoner:

    Richard and Matt,
    We're off to a very good start. Thanks for your input.

    I am able to use frsVariables.misc_glb.gs_wsName.CurrentValue in a datalink to display the current workstation, but when I use the same code (frsVariables.misc_glb.gs_wsName.CurrentValue = "xxws01") to animate visibility, the entire object immediately deletes upon closing the dialog box. Any ideas on what I am missing?

    I hesitate to edit usersettings. I will do so as a last resort.
  • James, I'm curious as to the reason behind the request and how it would be applied. You asked about an object's visibility. Is this for only a few objects or many? Is this for objects only or entire graphics? Is this for a single workstation or multiple workstations? Is the goal to restrict changes or to restrict visibility?

    DeltaV provides the ability to restrict changes by workstation, but normally allows visibility from all workstations. You are asking how to prevent an object from being seen by "anyone" on a given workstation. I've certainly explored options for preventing change to objects based on workstation and username (privileges), but haven't had the need to restrict visibility? Understanding the application better might help find the best solution.

    Regards,
    Michael
  • In reply to James Suisse:

    James, The object didn't delete...it is just not visible. The default value of this variable is 0, that wouln't make it = "xxws01" which would make the visibility False.
  • In reply to Michael Moody:

    Michael,
    I have been asked to create a daily report that places a text document on a specific workstation. That being said, I have created this report and need to give an operator access to it. I have created a button on a specific graphic that when clicked, opens the report.

    The reason I want to restrict visibility to only that workstation is the report is only on the one workstation. Also, since the button has been placed on a graphic file, it gets transferred to all workstations. I do not want to create any misconceptions about the button being usable on all machines. Hence the workstation-based visibility condition.

    To answer Matt's comment:
    Do animations normally run in Configure mode? The object is running the visibility condition offline. Is this normal? Also, I am configuring the graphic on the station "xxws01" and the visibility still didn't run right.
  • It's possible to create visibility on an object based on the workstations name using: ( DVSYS.THISUSER/NODENAME.A_CV = "xxws01" )
  • In reply to James Suisse:

    I got the visibility to run right (it is definitely case sensitive), but this doesn't totally explain why it runs in configure mode.
  • In reply to James Suisse:

    Could you just have your button script check the workstation name, and only call the report if the name matches? Then you could put the button on a graphic and it won't do anything if you are on another workstation...

  • In reply to Tyler Anderson:

    You wrote:

    "The reason I want to restrict visibility to only that workstation is the report is only on the one workstation. Also, since the button has been placed on a graphic file, it gets transferred to all workstations. I do not want to create any misconceptions about the button being usable on all machines. Hence the workstation-based visibility condition."

    Is there any reason why a user on another workstation can't open the report?  If you simply point your open script to \\workstationname\sharelocation\filename.extention, you should have access from any workstation (provided it is a domain or you have put the file in a shared folder with read-only access to everyone).

    That way you don't have to mess with visibility and the report accessibility is distributed.

     

     

     

  • In reply to Youssef.El-Bahtimy:

    Youssef,

    That is a very good idea and I will implement it as you suggested... although it kind of makes the entire thread moot.

    On the other hand, now we have several documented methods for animating based on workstation name.