Allgemein
TwinCAT ist ein allgemeines Automatisierungssystem bzw. ein Automatisierungsbaukasten, dessen Komponenten in unterschiedlichen Konfigurationen hinzugefügt oder weggelassen werden können. Da TwinCAT sehr modular aufgebaut ist und die Module unabhängig voneinander sind, ist die Benutzerverwaltung unabhängig von den anderen Modulen implementiert. Das Betriebssystem des PCs (Windows NT/2000, Windows CE) ist ebenfalls ein Teil des TwinCAT Automatisierungssystems und muss deshalb in die Benutzerverwaltung einbezogen werden.
Beim Einsatz von TwinCAT unter Windows NT*/2000 basiert die Benutzerverwaltung auf dem Sicherheitssystem von Windows NT, d.h. ein NT Administrator ist auch ein TwinCAT Administrator und Benutzer einer NT-Domäne sind auch in TwinCAT bekannt. So kann (wenn nötig) das gesamte System mit Windows NT Werkzeugen administriert werden. Das Sicherheitssystem von Windows NT kann Zugriffsrechte für jedes Objekt des Betriebssystems (Partition, Verzeichnis, Datei, Netzwerk, ...) entziehen oder vergeben. Der Zugriff auf das NT-Sicherheitssystem ist leider undurchsichtig, da sich das API auf mehrere Teile des Betriebssystems verteilt. So finden einige Funktionen in der "Lan Manager" API andere wiederum in der eigentlichen Security API. Die TwinCAT Benutzerverwaltung fasst die notwendigen Funktionen in einem COM-Objekt "TcUserManager" zusammen. TcUserManager implementiert natürlich nicht alle Funktionen des NT-Sicherheitssystems, sondern nur die Funktionen, die an einer Maschinensteuerung brauchbar erscheinen. Sollten in Sonderfällen zusätzliche Windows NT Funktionalitäten notwendig sein, so kann auch direkt auf die entsprechenden Windows NT APIs zugegriffen werden, da Windows NT auf dieselbe Benutzerdatenbank zurückgreift wie die TwinCAT Benutzerverwaltung auch.
Einsatz
Idealerweise startet die Maschinensteuerung, ohne dass sich ein Benutzer einloggen muss. In der Regel wird ein Standard-Benutzer automatisch eingeloggt und die Bedienoberfläche durch TwinCAT gestartet. Der Standard-Benutzer sollte nur eingeschränkte Benutzerrechte (einfacher Windows NT Benutzer) haben, da er sonst Veränderungen am System (z.B. Installieren von Treibern) durchführen kann, die zu Beeinträchtigungen der Maschinenfunktion führen können. Falls im Produktionsbetrieb der Maschine die Ausübung von privilegierten Funktionen (Löschen von Dateien, Ändern von Produktionsabläufen, Ändern des SPS-Programms) notwendig ist, so muss ein komplettes Ausloggen und Wiedereinloggen in Windows NT natürlich vermieden werden. Stattdessen kann der Bedienoberflächenprozess (eigentlich ist es nur einer der Threads) den Status eines höher privilegierten Benutzers annehmen (ImpersonateUser), oder es kann ein zusätzlicher Prozess wie z.B. der TwinCAT System Manager mit dem Benutzerkonto eines Administrators von der Bedienoberfläche mit CreateProcessAsUser gestartet werden. Jeder Benutzer in TwinCAT kann zu mehreren Benutzergruppen gehören, um spezielle Funktionen der Bedienoberfläche zu schützen, kann der Zugriff mit UserIsMemberOf oder mit UserIsAdmin überprüft werden. Die Methode UserIsMemberOf überprüft die Benutzergruppe zurzeit anhand des Namens, wobei Probleme mit der Landessprache auftreten können. Um diesen Problemen aus dem Wege zu gehen und außerdem einheitliche Benutzergruppen im TwinCAT System zu haben, sind Standardbenutzergruppen für TwinCAT festgelegt:
- TcUsers
- TcPowerUsers
- TcAdministrators
Diese Benutzergruppen werden als globale Windows NT Benutzergruppen durch die TwinCAT Installation zur Windows NT Datenbasis hinzugefügt (ist noch zu implementieren).
*Nur TwinCAT 2.9 läuft unter Windows NT. |