Suchen von Bildregelgruppen und Bildregeln - WinCC

SiVArc Openness

ft:publication_title
SiVArc Openness
Product
WinCC
Version
V20
Publication date
01/2025
Language
de-DE
Suchen von Bildregelgruppen und Bildregeln

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 Bildregeltabelle, Bildregeln und Bildregelgruppen ist vorhanden.

Suchen von Bildregelgruppen in Bildgruppen

Fall 1: Suchen von Bildregeln in der Bildregeltabelle.

Mit der folgenden API sivarc.ScreenRules.Rules können Sie die verfügbaren Regeln in der SiVArc-Bildregeltabelle wie nachfolgend gezeigt suchen:

//Sammlung sämtlicher direkter Bildregeln der ersten Ebene

ScreenRuleComposition screenRules = sivarc.ScreenRules.Tables.Find("Default screen rule table").Rules;

if (screenRules != null && screenRules.Count > 0)

{

//Suchen von Bildregel

ScreenRule rule = screenRules.Find("Screen rule_7");

if (rule != null)

{

Console.WriteLine("Screen Rule Name: " + rule.Name);

Console.WriteLine("Screen Rule Comment: " + rule.Comment);

Console.WriteLine("Screen Rule Enabled: " + rule.Enabled);

Console.WriteLine("Screen Rule Condition: " + rule.Condition);

}

}

Fall 2: Suchen von Bildregelgruppen in der Bildregeltabelle.

Mit der folgenden API sivarc.ScreenRule.Groups können Sie die verfügbaren Regeln und Regelgruppen in der SiVArc-Bildregeltabelle wie nachfolgend gezeigt suchen:

var groups = sivarc.ScreenRules.Tables.Find("Default screen rule table").Groups;

if (groups != null && groups.Count > 0)

{

ScreenRule rule = groups.Find("Screen rule_group").Rules.Find("Screen rule_2");

if (rule != null)

{

Console.WriteLine("Found Screen Rule Name: " + rule.Name);

Console.WriteLine("Found Screen Rule Comment: " + rule.Comment);

Console.WriteLine("Found Screen Rule Enabled: " + rule.Enabled);

Console.WriteLine("Found Screen Rule Condition: " + rule.Condition);

}

var group = groups.Find("Screen rule_group").Groups.Find("Screen rule group_2");

if(group != null)

{

Console.WriteLine("Found Screen Rule Group Name: " + group.Name);

Console.WriteLine("Found Screen Rule Group Comment: " + group.Comment);

Console.WriteLine("Found Screen Rule Group Enabled: " + group.Enabled);

Console.WriteLine("Found Screen Rule Group Condition: " + group.Condition);
}

}

Projektieren der Eigenschaft Condition Operator

Sie können die Eigenschaft Condition Operator der Bildregel in der Bildregeltabelle wie nachfolgend gezeigt projektieren:

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

if (screenRule ! = null)

{

screenRule.ConditionOperator = ConditionOperator.GreaterThan;

}

Die API screenRuleGroup.ConditionOperator wird zum Projektieren der Eigenschaft Condition Operator in der Bildregeltabelle verwendet.

  • Bei Bildregeln gilt: Wenn Sie auf eine Bildregel zugreifen, bei der die Eigenschaft Condition Operator nicht vorhanden ist, gibt das System den Wert ConditionOperator.None zurück.

    • Wenn Sie auf eine Bildregel zugreifen, bei der die Eigenschaft Condition Operator nicht vorhanden ist, gibt das System den Wert ConditionOperator.None zurück.

    • Wenn Sie einen anderen Condition Operator-Wert für den oben erwähnten Regeltyp festlegen, zeigt das System eine wiederherstellbare Ausnahme an

  • Bei Bildregelgruppen ConditionOperator.And gibt das System eine wiederherstellbare Ausnahme zurück.

Projektieren von Layoutfeldern

Die API GetLayoutFields wird zum Projektieren von Layoutfeldern im Bildregeleditor verwendet, wie nachfolgend gezeigt:

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

  {

    var layoutFields = screenRule.GetLayoutFields();

    foreach (var layoutField in layoutFields)

     {

        if (layoutField.Equals("TestLayoutField"))

           {

             screenRule.LayoutField = layoutField;

            }

          }

       }

screenRule.LayoutField schreibt den Wert in das Layoutfeld.

Um Layoutfelder für die Bildregel zu aktualisieren, verwenden Sie den nachfolgenden Code:

if (screenRule ! = null)

{

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

IList<string> layoutFields = screenRule ?. GetLayoutFields() . ToList();

{

if (layoutFields ?.Count > 1)

{

screenRule.LayoutField = layoutfields[0];

}

}

Hinweis

In ähnlicher Weise können Sie das Positionierungsfeld für die Bildregelgruppe konfigurieren.