NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

hidden user priviledge

I want to have a engineering mode that's not available to the customer, that allows us (engineers) to examine lower-level portions of our hardware.  Can I have a login that isn't presented through the login drop down list, but is know to us, and is password protected, that when
entered, opens up test windows that we need?
0 Kudos
Message 1 of 7
(3,455 Views)

To MrBean -

Using the sequence editor User Management window, you can set the property flag on the user to make the user hidden. This would prevent the user from being list in the sequence editor unless the station option was set to show hidden properties.

The login dialog box is called by the <TestStand>\Components\NI\Callbacks\FrontEnd\FrontEndCallbacks.seq file.  The LoginLogout sequence has a Login step that calls the LoginUser function in the <TestStand>\Components\NI\Callbacks\FrontEnd\frontend.dll.  If you customized that DLL and placed it in the <TestStand>\Components\User\Callbacks directory, TestStand will use it instead of the NI copy.  Currently the ring control lists all users even those that are hidden.  You could change it to exclude hidden users.

Scott Richardson
0 Kudos
Message 2 of 7
(3,445 Views)
Do you know where this equivalent functionality resides in the LabVIEW version of the operator interface ?
0 Kudos
Message 3 of 7
(3,442 Views)
The user manager is not accessible from the default operator interface. But, if you use the sequence editor once to make the changes to the user properties and modify the login DLL as Scott mentioned, the operator interface will have a login dialog that you want.
0 Kudos
Message 4 of 7
(3,433 Views)
Am I correct in that all of these approaches are CVI-specific, or does LabVIEW also work with this same DLL you mention?
0 Kudos
Message 5 of 7
(3,430 Views)
The only thing that is CVI specific is the login DLL which was created with CVI. If you are asking about the LabVIEW operator interface, it doesn't matter whether steps are written in LabVIEW, CVI, Visual C++, Visual Basic, or any of the other supported adapters. It is the TestStand Engine that is managing the steps and running them. You can use the CVI operator interface with all of steps written in LabVIEW. The actual operator interface you use is irrelevant to this discussion. If you have CVI, then editing the login function is simple. If you want to create your own login in LabVIEW, you can do that too.
0 Kudos
Message 6 of 7
(3,418 Views)

To MrBean -
I looked at the code in login.c for the DLL I mentioned. I have to correct my previous reply. Sorry about that. You may have seen that the source file calls the Engine function TS_EngineDisplayLoginDialog which displays the valid users in an Engine dialog box. So you would have to replace this function with your own dialog that prompts the user for a login name. You could just let the user type one without giving them a list. Or you could ask the engine for a list of users using Engine.UsersFile and then UsersFile.UserList which returns an array of User objects. On each User object you would have to call AsPropertyObject.GetFlags to see if the bit PropFlags_Hidden was set or not.  You could also just exempt specific names if you wanted also. In the end you could generate your own list and display in a combo box on a modal dialog to the user.

Dennis is right that the callback is used for whatever OI you are using. The DLL happens to be written with CVI, but you could use LabVIEW if you wanted.

Scott Richardson
0 Kudos
Message 7 of 7
(3,406 Views)