Closing Vision Window instance on separate clients

I have multiple Clients running the same project, i want to be able to restrict user access so that only one operator is on a window instance at a time.

ie. User 1 opens Window#1 from one of the HMIs. User 2 tries to open the same Window#1 from a different HMI but is met with a message saying "Window in Use" and gets kicked out of that Window Instance, without interrupting the first user.

This is extremely difficult and fragile, as described. Instead, consider allowing the window to always be opened, but all of its features disabled by default.

Then, set up a couple memory tags. One to hold the client ID of the client "in control", and a second to contain a datetime timeout value.

Enable the controls on the window while the particular client's ID matches and the timeout timestamp is greater than now().

Use a button on the window to "claim" control by writing the current client ID to the memory tag, with a timeout a short time in the future.

(The claim button would also be disabled when some other client has control.)

1 Like

Seems dangerous for someone to "accidently" leave every window open and disable the whole factory for a week untill they find the laptop hidden behind a box in a corner.

Definitly needs ways to overwrite this by admin users

This is actually not an uncommon practice. It's typically used for machine HMI where operators can manually control the machine from either side of the machine. The idea is that only one operator can be in control of the machine at a given time. Usually, there is a button that allows an operator to take control from one screen or the other.

1 Like

Thank you for the quick reply. I will try to implement this and update you if it worked.