Common

TwinCAT is a general automation system (or suite of automation modules) whose components can be added or removed in various configurations. Since TwinCAT is constructed in a very modular fashion and the modules are independent of each other, the User Manager can be implemented independently of the other modules. The PC operating system (Windows NT/2000, Windows CE) is also a part of the TwinCAT automation system and must therefore be included in the user administration.

For the deployment of TwinCAT under Windows NT*/2000 the user administration is based on the security system of Windows NT, i.e. an NT administrator is also a TwinCAT administrator and users of an NT domain are also recognized in TwinCAT. Thus, the total system can (if necessary) be administered using Windows NT tools. The security system of Windows NT can revoke or award access rights for each object of the operating system (partition, directory, file, network, …). Access to the NT security system is unfortunately relatively opaque, since the API is distributed over several parts of the operating system. Thus, some functions are to be found in the "Lan Manager" API whereas others are in the actual security API. The TwinCAT User Manager collects the necessary functions in a COM object "TcUserManager". TcUserManager does not of course implement all functions of the NT security system, but only those functions that appear useful in a machine control system. If additional Windows NT functionality should be required in special circumstances, the appropriate Windows NT APIs can also be accessed directly, since Windows NT utilizes the same user data bank as the TwinCAT User Manager.

Deployment

Ideally the machine control system starts up without a user having to log in. As a rule, a standard user is automatically logged in and the operating interface is started up through TwinCAT. The standard user should only have restricted user privileges (those of a simple Window NT user) since he or she can otherwise execute alterations to the system (e.g. installation of drivers) that can lead to impairments of machine functions. If the execution of privileged functions (deletion of files, alteration of production sequences, alteration of the CNC program) should be necessary when the machine is operating under production conditions, a complete log out and relog into Windows NT must of course be avoided. Instead the operating interface process (in fact this is only one of the threads) can assume the status of a user with higher privileges (ImpersonateUser), or an additional process such as e.g. TwinCAT System Manager can be started from the operating interface using CreateProcessAsUser with the user account of an administrator. Each user in TwinCAT can belong to several user groups.  In order to protect particular functions of the operating interface, access can be checked using either UserIsMemberOf or UserIsAdmin. At the present time the method UserIsMemberOf checks the user group on the basis of name, which means that problems associated with the language of the country can occur.In order to avoid these problems and moreover to have uniform user groups in the TwinCAT system, standard user groups are defined for TwinCAT.

These user groups are added as global Windows NT user groups through the TwinCAT installation to the Windows NT data base (this is yet to be implemented). 

Common 1:

* Only TwinCAT 2.9 runs under Windows NT.