Zugriff auf einfache und komplexe Datentypen

Bereitstellen komplexer Slave-Datenpunkte für den Master

I/O-Module stellen Ihre Daten als Einzelvariablen zur Verfügung. Einige I/O-Module*) stellen Daten außerdem als Array/Struktur zur Verfügung. Je nachdem, an welcher Stelle und wie tief Sie sich in der Baumstruktur des Feldbuskonfigurators befinden und an welcher Stelle Sie auf [Bereitstellen] klicken, können Sie für diese I/O-Module entweder auf die Einzelvariablen, auf Arrays oder auf das gesamte I/O-Modul zugreifen. Diese Wahlmöglichkeit bietet sich, wenn ein Feldbuskoppler als Kopfstation dient, denn dieser leitet Daten unverändert von den I/O-Modulen über den Bus weiter und lässt einen vollen Zugriff auf die Datenstrukturen der I/O-Module zu.

Controller hingegen haben die Aufgabe, Daten der I/O-Module zunächst vorzuverarbeiten und erst das Ergebnis über den Bus weiterzugeben. Applikationsvariablen („Programmvariablen“) werden innerhalb des Applikationsprogramms mit Daten der I/O-Module verknüpft und erst dann über den Bus kommuniziert. Die Konfiguration wird hierbei also nicht automatisch erstellt.

In folgendem Beispiel wurde das komplexe I/O-Modul 750-645 hinter einem Koppler eingefügt. Es kann hier entweder das I/O-Modul als Ganzes (1), ein Array (2) oder die Einzelvariable (3) für den Master bereitgestellt werden.

Auf einfache und komplexe Datentypen zugreifen
Auf einfache und komplexe Datentypen zugreifen

Der Zugriff auf die Datenpunkte der I/O-Module*) erfolgt einheitlich, unabhängig davon, ob die I/O-Module direkt am Controller angereiht sind oder dezentral über Modbus angesprochen werden.

Beim Bereitstellen der Datenpunkte werden automatisch Programmbausteine und Instanzen vorbereiteter Funktionsbausteine generiert, über welche der Datenaustausch realisiert wird. Diese Programmbausteine können Sie ohne weitere Anpassungen direkt in Ihrem Programm verwenden.

*) Das Bereitstellen kompletter Datenstrukturen ist für diejenigen I/O-Module möglich, deren zugehörige Funktionsbausteine einen iPort für Verbindungen anbieten: 0750-0636, 0750-0642, 0750-0643, 0753-1630, 0753-1631, 0753- 0646, 0753-0647, 0753-0649, 075x-0482, 075x-0484, 075x-0493, 075x-0494, 075x-0495, 75x-0632, 075x-0635, 075x-0640, 075x-0644, 075x-0645, 075x- 0650, 075x-0651, 075x-0652, 075x-0653, 075x-0655, 075x-0657, 075x-0658, 075x-0670, 075x-0671, 075x-0672, 075x-0673, 075x-0511, 075x-0633

Beschaltung des IPorts für komplexe Datenstrukturen

Für komplexe I/O-Module*), die Daten über Arrays austauschen, werden in den verwendeten Funktionsblöcken automatisch Instanzen sogenannter IPorts angelegt. Auf diese Schnittstelle kann direkt zugegriffen werden. Über die IPorts werden bei jedem Modbus-Zyklus Daten empfangen und über Modbus in einheitlicher Weise weiterverarbeitet.

Der Zugriff auf den IPort erfolgt wie nachfolgend dargestellt:

Modbus . Slave-Name _tcp . Modul-/Datenpunktname . IPort;

Modbus

Festgelegt durch die Nutzung des Modbus-Konfigurators

Slave-Name

Abhängig von der Benennung im Projekt

_tcp/

Festgelegt durch die gewählte Verbindungsart zum Slave (z. B. tcp, udp)

Modul-/Datenpunktname

Abhängig von der Benennung im Projekt

IPort

Festgelegt durch die Nutzung des IPorts

Programmbeispiel in Strukturiertem Text (ST):

Verwendung des IPorts im Programm (ST)
Verwendung des IPorts im Programm (ST)

Beispiel in Funktionsbausteinsprache (FUP):

Verwendung des IPorts im Funktionsbaustein (FUP)
Verwendung des IPorts im Funktionsbaustein (FUP)