Auf Attribute eines Adressobjekts zugreifen - 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
Auf Attribute eines Adressobjekts zugreifen

Voraussetzung

Verwendung

Mit der Schnittstelle TIA Portal Openness API können Sie Attribute des Adressobjekts abrufen oder festlegen.

Ferner können Sie das aktuelle Prozessabbild einem OB zuweisen.

Auf die folgenden Attribute kann zugegriffen werden:

Attributname

Datentyp

Schreibbar

Zugriff

Beschreibung

IsochronousMode

Bool

r/w

Dynamisches Attribut

Isochronen Modus aktivieren/deaktivieren

ProcessImage

Int32

r/w

Dynamisches Attribut

Partitionsnummer des Prozessabbilds festlegen/abrufen

InterruptObNumber

Int64

r/w

Dynamisches Attribut

Nummer des Alarm-Organisationsbausteins festlegen/abrufen (nur klassischer Controller)

StartAddress

Int32

r/w

Modelliertes Attribut

Neuen Wert für StartAddress festlegen/abrufen

Einschränkung

  • Attribut StartAddress

    • Durch Festlegen von StartAddress kann implizit die StartAddress des gegenteiligen IO-Typs am Namensmodul geändert werden. Durch Ändern der Eingangsadresse wird die Ausgangsadresse geändert.

    • Der Schreibzugriff wird nicht für alle Geräte unterstützt.

    • Gepackte Adressen werden in TIA Portal Openness nicht unterstützt.

    • Durch Ändern der Adresse über TIA Portal Openness werden die zugewiesenen Variablen nicht neu verdrahtet.

  • Attribut InterruptObNumber

    • Nur zugänglich in Einstellungen mit S7-300 oder S7-400 Controllern. Bei S7-400 Controllern wird der Schreibzugriff unterstützt.

Programmcode: Attribute eines Adressobjekts abrufen oder festlegen

Um auf den isochronen Modus eines Adressobjekts zuzugreifen, ändern Sie den folgenden Programmcode:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

Address address= ...;

  // read attribute

bool attributeValue = (bool)address.GetAttribute("IsochronousMode");

 // write attribute

address.SetAttribute("IsochronousMode", true);

Um auf das Attribut ProcessImage eines Adressobjekts zuzugreifen, ändern Sie folgenden Programmcode:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

Address address= ...;

  // read attribute

int attributeValue = (int)address.GetAttribute("ProcessImage");

 // write attribute

address.SetAttribute("ProcessImage", 7);

Um auf das Attribut InterruptObNumber eines Adressobjekts zuzugreifen, ändern Sie folgenden Programmcode:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

Address address= ...;

  // read attribute

long attributeValue = (long)address.GetAttribute("InterrruptObNumber");

 // write attribute

address.SetAttribute("InterrruptObNumber", 42L);

//default value = 40

Um auf das Attribut StartAddress eines Adressobjekts zuzugreifen, ändern Sie folgenden Programmcode:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

Address address= ...;

  // read attribute

int attributeValue = (int)address.GetAttribute("StartAddress");

 // write attribute

address.StartAddress = IntValueStartAddress;

Programmcode: Das aktuelle Prozessabbild einem OB zuweisen

Um das aktuelle Prozessabbild einem OB zuweisen, ändern Sie den folgenden Programmcode:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

OB obX =…

Address address= ...;

// assign PIP 5 to obX

address.SetAttribute("ProcessImage", 5);

try

{

        address.AssignProcessImageToOrganizationBlock(obX);

} catch(RecoverableException e) {

       Console.WriteLine(e.Message);

}

// remove this PIP-OB assignment

try

{

        address.AssignProcessImageToOrganizationBlock(null);

} catch(RecoverableException e) {

       Console.WriteLine(e.Message);

}