11.01.2014 Aufrufe

netIC Benutzerhandbuch und Design Guide - Hilscher

netIC Benutzerhandbuch und Design Guide - Hilscher

netIC Benutzerhandbuch und Design Guide - Hilscher

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Datenmodell 90/227<br />

umgekehrten Reihenfolge wäre nämlich die Aktualität der System<br />

Flags nicht gewährleistet.<br />

# Sie haben nun die zu schreibenden Daten in den zyklischen<br />

Ausgangsdatenbereich geschrieben <strong>und</strong> die zu lesenden Daten aus<br />

dem Eingangsdatenbereich gelesen. Außerdem sind nun bekannt:<br />

• Die System Flags (Inhalt von Register 999) stehen zur Auswertung<br />

zur Verfügung<br />

• Falls ein neues Paket vorhanden ist, also falls das Flag<br />

RX_MBX_FULL gesetzt ist, ist die Größe des empfangenen Pakets<br />

bekannt (Inhalt von Register 998).<br />

2. Register Application-Paket schicken<br />

Hinweis: Dieser Schritt muss nur einmal zur Initialisierung durchgeführt<br />

werden. Das gilt ebenfalls für die beiden nachfolgenden Schritte. Setzen<br />

Sie also in der Programmschleife nach Schritt 4 ein Flag, das die<br />

erfolgreiche Initialisierung anzeigt, <strong>und</strong> machen Sie die Ausführung der<br />

Schritte 2, 3 <strong>und</strong> 4 davon abhängig, dass dieses Flag noch nicht gesetzt<br />

ist, um diese Schritte nur beim erstmaligen Schleifendurchlauf<br />

durchzuführen. Dies ist notwendig, da Schritt 2 auf Ergebnissen des<br />

Schritts 1 aufsetzt (speziell: Verfügbarkeit des System Flags<br />

TX_MBX_FULL (Register 999, Bit 5) <strong>und</strong> deswegen nicht außerhalb der<br />

Schleife durchgeführt werden kann..<br />

Bevor es möglich ist, Indications zu empfangen, muss zuerst ein<br />

Register Application Paket gesendet worden sein. Diese<br />

Funktionalität steht in allen Protocol Stacks zur Verfügung.<br />

Um zu testen, ob Paketversand zur Zeit möglich ist, wertet man das<br />

aktuelle System Flag TX_MBX_FULL (Register 999, Bit 5) aus.<br />

Dieses muss 0 sein, damit Paketversand möglich ist.<br />

Wenn dies der Fall ist, kann das Paket, das einen reduzierten rcX-<br />

Header (Adressen 3994-3999) enthält, mit dem MODBUS-<br />

Schreibbefehl (FC 16) versendet werden:<br />

Modbus FC16<br />

Variable Beschreibung Wert (Beispiel)<br />

Device Address MODBUS -<br />

Geräteadresse<br />

Die Adresse, mit der der<br />

<strong>netIC</strong> mit Hilfe des netX<br />

Configuration Tools oder<br />

per MODBUS RTU<br />

konfiguriert wurde<br />

FunctionCode „Write multiple registers“ 16<br />

Data Address Write Offset, ab dem<br />

3994<br />

geschrieben wird<br />

Data Count Write<br />

Anzahl der zu<br />

6<br />

schreibenden Register<br />

Data<br />

Zu schreibende Daten<br />

folgen hier<br />

Daten des Register –<br />

Application-Pakets.<br />

Tabelle 54: Modbus Funktionscode 16 zum Schreiben des Register Application-<br />

Pakets<br />

Dabei müssen die Register 3994 (Send Packet Command), 3996<br />

(Send Packet Error Code), 3998 (Send Packet Size) <strong>und</strong> 3999 (Send<br />

Packet Identifier) entsprechend gesetzt sein.<br />

<strong>netIC</strong> | Real-Time-Ethernet- <strong>und</strong> Feldbus-Gateways<br />

DOC080601UM21DE | Revision 21 | Deutsch | 2012-01 | Freigegeben | Öffentlich © <strong>Hilscher</strong>, 2008-2012

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!