Voraussetzung
-
Die TIA Portal Openness-Anwendung ist mit dem TIA Portal verbunden.
Siehe Verbindung zum TIA Portal aufbauen -
Ein Projekt ist geöffnet
Siehe Projekt öffnen
Einleitung
Sie können mit TIA Portal Openness Aktionen auf dem PLC-Gerät ausführen, das über User Management Access Control (UMAC) geschützt ist.
Eine Legitimation über den Event Handler OnlineLegitimation ist für alle Online-PLC-Funktionen erforderlich, die eine Legitimation erfordern und UMAC unterstützen. Dies ist der gleiche Event Handler, der auch für die Kommunikation über TLS verwendet wird. Für Informationen über den Event Handler OnlineLegitimation siehe Abschnitt "Ein Ereignis für TLS-Benachrichtigung abonnieren" Unterstützung der sicheren S7-Kommunikation mit TLS
Um den Event Handler für die Online-Legitimation zu registrieren, benötigen Sie das Objekt der Verbindungskonfiguration. Sie können auf das Objekt der Verbindungskonfiguration über den Konfigurationsnavigator des entsprechenden Online-Diensts zugreifen (z. B. OnlineProvider, FingerprintDataProvider, DownloadProvider, StationUploadProvider usw.).
Programmcode: Auf das Objekt der Verbindungskonfiguration zugreifen
Um auf das Konfigurationsobjekt zuzugreifen, ändern Sie folgenden Programmcode:
|
... DeviceItem deviceItem = ...; DownloadProvider downloadProvider = deviceItem.GetService<DownloadProvider>(); ConnectionConfiguration onlineConfiguration = downloadProvider.Configuration; ... |
Programmcode: Ein Ereignis für Online-Legitimation abonnieren
Um ein Ereignis für die Benachrichtigungen zur Online-Legitimation zu abonnieren, müssen Sie Ihren Event Handler auf OnlineLegitimation registrieren:
|
ConnectionConfiguration onlineConfiguration = ...; OnlineConfigurationDelegate onlineConfigurationDelegate = OnlineCallBackMethod; onlineConfiguration.OnlineLegitimation += onlineConfigurationDelegate; ... private void OnlineCallBackMethod(OnlineConfiguration onlineConfiguration) { ... |
|
Hinweis Die Registrierung für dieses Ereignis ist nur erforderlich, wenn sie nicht im Rahmen der Tls-Kommunikation erfolgt ist. |
Programmcode: Ein Abonnement für ein Ereignis für Online-Legitimation löschen
Um das Abonnement eines Ereignisses für Online-Benachrichtigungen (OnlineLegitimation) zu löschen, müssen Sie Ihren Event Handler aus dem Register löschen:
|
ConnectionConfiguration onlineConfiguration = ...; OnlineConfigurationDelegate onlineConfigurationDelegate = OnlineCallBackMethod; onlineConfiguration.OnlineLegitimation -= onlineConfigurationDelegate; ... private void OnlineCallBackMethod(OnlineConfiguration onlineConfiguration) { .. |
OnlineAuthenticationConfiguration
OnlineAuthenticationConfiguration hat die folgenden Eigenschaften und Methoden:
|
OnlineAuthenticationConfiguration |
Beschreibung |
|---|---|
|
bool IsSecureCommunication { get; } |
Das Attribut liefert "true" im Falle einer "Sicheren Kommunikations"-Verbindung (TLS-Handshake) zur PLC. In allen anderen Fällen liefert das Attribut "false". Weitere Informationen finden Sie unter Herunterladen zu den PLCs |
|
IList<AuthenticationType> GetSupportedAuthenticationTypes() |
Abrufen der unterstützten AuthenticationTypes über GetSupportedAuthenticationTypes() von der PLC. |
|
OnlineCredentials OnlineCredentials { get; } |
Eigenschaft zur Konfiguration der Einzelheiten der Anmeldedaten. |
IsSecureCommunication
Im Objekt OnlineAuthenticationConfiguration können Sie mit der Option IsSecureCommunication überprüfen, ob die Verbindung sichere Tls verwendet. Dies ist mit der Konfiguration für den Upload oder Download über DownloadConfiguration vergleichbar.
|
OnlineAuthenticationConfiguration onlineAuthenticationConfiguration = onlineConfiguration as OnlineAuthenticationConfiguration; if (onlineAuthenticationConfiguration != null) { // Secure communication via TLS? if (onlineAuthenticationConfiguration.IsSecureCommunication) { ... } } |
GetSupportedAuthenticationTypes() und AuthenticationType
GetSupportedAuthenticationTypes()
Je nach der heruntergeladenen UMAC-Konfiguration sind verschiedene Typen der Authentifizierungslegitimation möglich. Um die unterstützten Typen abzurufen, müssen Sie:
|
OnlineAuthenticationConfiguration onlineAuthenticationConfiguration = onlineConfiguration as OnlineAuthenticationConfiguration; if (onlineAuthenticationConfiguration != null) { IList<AuthenticationType> supportedTypes = onlineAuthenticationConfiguration.GetSupportedAuthenticationTypes(); foreach (AuthenticationType supportedType in supportedTypes) { ... } } |
AuthenticationType
AuthenticationType stellt den Typ der Authentifizierung dar, den Sie wählen können.
Um den Typ der Authentifizierung abzurufen, können Sie den UserType-Wert des UserType des CurrentUserType-Attributs abrufen.
|
AuthenticationType |
Attribut |
Beschreibung |
|---|---|---|
|
UserType CurrentUserType { get; } |
Liefert den UserType, unterstützt von der PLC |
Dieser Wert kann in OnlineCredentials verwendet werden: UserType Die möglichen Einträge für UserType für die von der PLC unterstützen Legitimation sind:
|
|
... IList<AuthenticationType> supportedTypes = onlineAuthenticationConfiguration.GetSupportedAuthenticationTypes(); foreach (AuthenticationType supportedType in supportedTypes) { UserType userType = supportedType.CurrentUserType; if (userType == UserType.ProjectUser) { ... } } ... |
OnlineCredentials
OnlineCredentials hat die folgenden Eigenschaften und Methoden:
|
OnlineCredentials |
Aktion |
Beschreibung |
|---|---|---|
|
void SetPassword(SecureString password) |
Einstellung des Passworts über die SetPassword-Methode. |
Geben Sie ein Passwort in die OnlineCredentials ein, um Zugriff auf das Modul zu erhalten. |
|
string Name { get; set; } |
UserName über die Eigenschaft Name empfangen oder angeben. |
Geben Sie den Namen als UserName in die OnlineCredentials ein. |
|
UserType Type { get; set; } |
UserType über die Eigenschaft Type empfangen oder angeben |
Geben Sie UserType in die OnlineCredentials ein. Die möglichen Werte sind verfügbar über GetSupportedAuthenticationTypes() |
Nachdem Sie die unterstützten Benutzertypen und die notwendigen Legitimationsinformationen überprüft haben, müssen Sie diese in den OnlineCredentials einstellen:
|
OnlineAuthenticationConfiguration onlineAuthenticationConfiguration = onlineConfiguration as OnlineAuthenticationConfiguration; if (onlineAuthenticationConfiguration != null) { // Check supported user types and legitimation information ... // Set the online credentials for legitimation OnlineCredentials onlineCredentials = onlineAuthenticationConfiguration.OnlineCredentials; SecureString password = ...; onlineCredentials.Type = UserType.ProjectUser; onlineCredentials.Name = "User1"; onlineCredentials.SetPassword(password); } |
|
Hinweis Die explizite Legitimation ist innerhalb des Rückrufs nicht erforderlich. Die Legitimation erfolgt nach der Rückgabe des Rückrufs. Bei unzureichenden Zugriffsrechten wird die Online-Aktion (z. B. Download) mit einer Ausnahme einer unzulässigen Verbindung abgebrochen. |