Projektieren des PLC- und HMI-Geräts - WinCC

SiVArc Openness

ft:publication_title
SiVArc Openness
Product
WinCC
Version
V20
Publication date
01/2025
Language
de-DE
Projektieren des PLC- und HMI-Geräts

Voraussetzung

  • Die TIA Portal Openness-Anwendung ist mit dem TIA Portal verbunden. Weitere Informationen zu Verbindungen finden Sie im Benutzerhandbuch zum TIA Portal.

  • Ein TIA Portal-Projekt mit HMI-Geräten, Panel-Geräten und PLCs ist vorhanden.

Lesen und Schreiben eines PLC/HMI-Geräts

Dynamische Eigenschaften bestehen ausschließlich aus PLC-Gerätespalten und HMI-Gerätespalten.

Fall 1: Betrachten wir das Lesen dynamischer Eigenschaften für ein Regelobjekt. Sie können Attribute wie den Status des PLC- und HMI-Geräts wie im folgenden Code gezeigt lesen:

Um den Status des PLC-Geräts zu überprüfen, sofern für eine bestimmte Regel ausgewählt, müssen Sie den PLC-Namen an die Methode GetAttribute übergeben.

if (sivarc != null)

{

ScreenRule screenRule = sivarc.ScreenRules.Tables.Find("Default screen rule table").Rules.Find("ScreenRule")

var plcStatus = screenRule.GetAttribute("PLC_1");

Console.WriteLine ("PLC_1 status: " + plcStatus);

}

Um den Status des HMI-Geräts zu überprüfen, sofern für eine bestimmte Regel ausgewählt, müssen Sie den Runtime-Namen des HMI-Geräts an die Methode GetAttribute übergeben.

Bei Panels müssen Sie nur den Gerätenamen übergeben.

var hmiDeviceStatus = screenRule.GetAttribute("HMI_RT_2");

Console.WriteLine ("HMI_RT_2 status: " + HMIDeviceStatus);

Um den Status für alle Geräte zu lesen, gehen Sie folgendermaßen vor:

var devicestatus = screenRule.GetAttribute new List<string>

{

"PLC_1", "PLC_2", "HMI_RT_1", "HMI_RT_2";

}

foreach (var devicestatus in devicestatus)

{

Console.WriteLine ("PLC & HMI device status: " + devicestatus);

}

}

Fall 2: Betrachten wir das Schreiben dynamischer Eigenschaften für ein Regelobjekt. Sie können folgendermaßen Attribute wie PLC-Gerätespalten lesen, um den Status des PLC-Geräts zu überprüfen, sofern für eine Regel ausgewählt:

Um den Status des PLC-Geräts zu aktualisieren, sofern für eine bestimmte Regel ausgewählt, stellen Sie sicher, dass Sie den PLC-Namen an die Methode SetAttribute mit einem boolschen Wert übergeben.

if (sivarc != null)

{

ScreenRule screenRule = sivarc.ScreenRules.Tables.Find("Default screen rule table").Rules.Find("ScreenRule")

screenRule.SetAttribute("PLC_1", false);

}

Um den Status des HMI-Geräts zu aktualisieren, sofern für eine bestimmte Regel ausgewählt, stellen Sie sicher, dass Sie den Runtime-Namen des HMI-Geräts an die Methode SetAttribute mit einem boolschen Wert übergeben.

Bei Panels müssen Sie nur den Gerätenamen übergeben.

if (sivarc != null)

{

ScreenRule screenRule = sivarc.ScreenRules.Tables.Find("Default screen rule table").Rules.Find("ScreenRule");

screenRule.SetAttribute("HMI_RT_1", true);

}

Um den Status für alle Geräte zu aktualisieren, gehen Sie folgendermaßen vor:

if (sivarc != null)

{

var valuesToBeUpdate = new[]

{

new KeyValuePair<string, object>("PLC_2", true),

new KeyValuePair<string, object>("PLC_3", true),

new KeyValuePair<string, object>("HMI_RT_1", false),

new KeyValuePair<string, object>("HMI_1", true),

};

ScreenRule screenRule = sivarc.ScreenRules.Rules.Find("ScreenRule");

screenRule.SetAttributes(valuesToBeUpdate);

Ausnahmefälle

  • Wiederherstellbare Ausnahme:  Beim Zugriff auf PLC/HMI-Gerätespalten über GetAttributes für ein anderes Regelobjekt, bei dem dynamische Attribute nicht unterstützt werden (Variablen- und Textlistenregel), zeigt das System eine wiederherstellbare Ausnahme an, z. B. {‘HMI_RT_1' wird vom Typ 'Siemens.Engineering.SiVArc.TagRule’ nicht unterstützt}.

  • Nicht wiederherstellbare Ausnahme – Bei ungültigen PLC/HMI-Gerätenamen, die nicht auf ein Regelobjekt anwendbar sind, zeigt das System eine nicht wiederherstellbare (NonRecoverable) Ausnahme an; dies gilt nur für Bild-, Melde- und Kopierregeln.

Hinweis

Bei Kopierregeln können Sie den PLC-Status abfragen, obwohl die PLC-Spalte nicht unterstützt wird. Grund dafür ist das allgemeine Verhalten von Editoren, die Funktionalität von SiVArc wird dadurch nicht beeinflusst.

Für den Zugriff auf den PLC-/HMI-Gerätestatus für Regel-/Regelgruppenobjekte wird das folgende dynamische Attribut verwendet: objectstatus = screenRule.GetAttribute("PLC device name");

Einschränkungen:

  • HMI-Gerätenamen mit alphanumerischen Zeichen dürfen keine Sonderzeichen enthalten, außer ‘_’

  • Um den HMI-Gerätestatus abzufragen, sind die Namen mit "HMI_" als Präfix, gefolgt vom aufgelösten Gerätenamen anzugeben. Beispiel: HMI-Gerätename: HMI_@#$RT_1, Für den Zugriff auf den Gerätenamen müssen Sie Parameter HMI_HMI_RT_1 angeben.

  • Projekt mit mehreren HMI-Geräten mit nur "_" als Sonderzeichen wird in den gleichen Gerätenamen aufgelöst, das System hängt die Zahl zusammen mit dem HMI-Gerätenamen an. Beispiel: Device_PLC_XYZ steht für das erste Gerät in der Projekthierarchie.
    Die gleiche Vorgehensweise gilt für den Zugriff auf PLC-Gerätestatusdaten.

  • Projekt mit zwei Geräten – HMI_@#RT_1 & HMI_%^RT_@#1; wenn beide in den gleichen Namen aufgelöst werden, also HMI_RT_1 nach Entfernen der Sonderzeichen (Projekt HMI_@#RT_1 HMI_%^RT_@#). Für den Zugriff auf den Status des ersten Geräts müssen Sie HMI_HMI_RT_1 als Parameter angeben, für den Zugriff auf den Status des zweiten Geräts müssen Sie HMI_HMI_RT_1_1 als Parameter angeben. Die gleiche Vorgehensweise gilt für den Zugriff auf PLC-Gerätestatusdaten.