Herunterladen Inhalt Inhalt Diese Seite drucken

DEUTSCHMANN AUTOMATION UNIGATE IC Bedienerhandbuch Seite 33

Inhaltsverzeichnis

Werbung

Deutschmann Automation GmbH & Co. KG
DeviceNet
Scriptbeispiel Initialisierung DeviceNet
var InSize: word;
var OutSize: word;
Set (FieldbusID, 4) ;
// dieser Parameter kann auch über den Befehl SetByVar
// eingestellt werden
// var DNAdresse: long;
// MoveConst( DNAdresse, 4) ; oder aus den Schieberegistern
// SetByVar();
// Festlegen, mit welcher Baudrate der Bus betrieben werden soll.
// hier exemplarisch 125 kBaud
// Das muss vor dem Bus-Start geschehen
Set ( BusBaudrate, 125000 );
// vor dem Bus-Start muss der Teilnehmer konfiguriert werden.
// Das wichtigste ist das Einstellen der Datenbreite,
// die Werte sind hier exemplarisch.
MoveConst ( Insize, 10) ;
MoveConst ( OutSize, 12 );
SetByVar ( BusInputSize,
InSize );
SetByVar ( BusOutputSize, OutSize );
// Insize und OutSize sind aus der Sicht des IC's !!
// Hier ist ein Setzen der Werte mit Set auch möglich
// Es kann auch der ProductCode des Teilnehmers bestimmt werden.
// Das muss vor dem Bus-Start geschehen
// ! Es ist nicht wichtig, den Befehl ProductCode zu setzen.
// Es ist möglich, einen festen ProductCode für ein Script-Gateway zu setzen.
// Ist dieser Wert auf 0 gesetzt, berechnet das Gateway sein ProductCode durch
// 256 * consumed size + produced size
// !!! Wenn Sie einen speziellen ProductCode setzen wollen, MÜSSEN Sie diesen
Befehl nach "BusInPutSize" und "BusOutputSize" setzen.
Set(ProductCode, 0x1234); // 0x1234 => 4660 decimal
BusStart;
// Das DeviceNet ist bereit. ab jetzt KANN der Master
// den Teilnehmer konfigurieren.
// Das bedeutet allerdings nicht, dass der Master bereits
// eine Poll-Verbindung zum Slave aufgenommen hat.
wait (Bus_Active);
// Die Poll-Verbindung ist jetzt durch den DeviceNet
// Scanner aufgebaut worden
// Dieser Befehl kann sehr lange dauern und ist nicht unterbrechbar!
// Daten lesen aus dem Bus ist möglich
// es sollten so viele Bytes gelesen werden wie vorhanden sind.
var InBuffer: Buffer[100];
Readbus ( InBuffer[0], InSize) ;
// Daten schreiben ist jetzt möglich.
// Es dürfen nicht mehr bytes geschrieben werden wie vorhanden sind.
var OutBuffer: Buffer[100];
WriteBus ( OutBuffer[0], OutSize );
®
20.7.20
Bedienerhandbuch UNIGATE
IC - DeviceNet V. 3.6
33

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis