Unterstützung von UMAC auf PLC-Gerät - TIAPortal

TIA Portal Openness: API für die Automatisierung von Engineering-Workflows

ft:publication_title
TIA Portal Openness: API für die Automatisierung von Engineering-Workflows
Product
TIAPortal
Version
V20
Publication date
01/2025
Language
de-DE
Unterstützung von UMAC auf PLC-Gerät

Voraussetzung

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:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

...

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:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

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:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

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.

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

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:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

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:

  • Keine - Keine Legitimation erforderlich

  • AnonymousUser - Legitimation als anonymer Benutzer

  • GlobalUser - Legitimation als globaler Benutzer

  • ProjectUser - Legitimation als Projektbenutzer

  • SingleSignOnUser - Benutzer mit Einmalanmeldung

  • PasswordOnly - Alte Legitimation mit Passwort für den PLC-Schutz der Zugriffsstufe

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

...

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:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

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.