Is there a good way out there among you IA gurus (“I don’t want to reinvent the wheel”) to only allow access to a set of tags to only one client at a time? I am setting up clients in several work cells. They are all using exactly the same window designs, but each cell has it’s own set of tags. I use a lot of indirect addressing based on the cell number to get the right client to the right tags. Unfortunately, in testing, I’ve discovered that, in real world mode, that more than one client can connect to the tags for the same cell. I created a startup popup and script to allow the cell to be selected by the operator. I did this to allow my client hardware setup to go to any cell and work in that cell, but it also allows two operators to select the same cell (They shouldn’t, but it could happen).
You could utilize the hostname to map to the cell so it is auto-selected.
You can also add security zones to enhance security further.
I thought about the hostname. I experimented with it today by displaying it at the bottom of the main window. That would work, but it also means I (that means me since no one else will want to learn to do it) will have to edit the hostname each installation or equipment move. I’m using Raspberry Pi for the client and cloning the operating system for each client as a quick and easy setup.
I might have to look into the security zones. I hadn’t thought along those lines…
Could you not have an initial setup procedure designed as an SOP for when clients are moved or new ones added that has a step to assign the client to a work cell, which in the back end would simply associate that host name to the selected work cell? This might need supervisor privilege.
I know that’s similar to what you are doing now, but as an SOP it puts the responsibility on the customer. Also, you could have logic to check if there’s already a host name assigned to that work cell
I would do hostname as well.
I have a client using RPi clients with a similar design, where only one (Vision) client is supposed to work with a given machine. I used a database to map client MacIDs to machine IDs, where a client startup script performs the check and opens the correct window with the correct tagpath. Any client that doesn't find itself in the DB goes to a "Commissioning" window and is shown a multi-level list (facility/department/line) of machines that it could be assigned. Machines already assigned to a different client are disallowed. A supervisor can forcibly "unassign" a client that isn't connected. The DB table has the machine ID as a primary key so no two clients can ever be given permission.
Use this technique to get the outbound network interface's Mac ID: