Herunterladen Inhalt Inhalt Diese Seite drucken

Kommunikation Zwischen Twincat Und Bx/Bcxx50 - Beckhoff BX5200 Dokumentation

Busklemmen-controller für devicenet
Inhaltsverzeichnis

Werbung

In der Default-Konfiguration liegen alle Busklemmen auf feste Adressen. Fügt man eine Busklemme ein,
verschiebt sich eventuell der ganze Adressbereich. Mit der TwinCAT-Konfiguration hat man die Möglichkeit,
seine lokierten Variablen, frei mit einer Busklemme zu verknüpfen. Man parametriert dies im System
Manager und lädt dann diese erstellte Konfiguration auf den Busklemmen-Controller herunter (siehe
TwinCAT-Konfiguration [} 32]). Ein Hochladen einer bestehenden TwinCAT-Konfiguration ist auch möglich.
5.11

Kommunikation zwischen TwinCAT und BX/BCxx50

Um von TwinCAT-Daten zum Busklemmen-Controller zu transportieren liegt es nahe, die Daten in einer
Struktur anzulegen. Da die Datenhaltung auf beiden Systemen unterschiedlich ist sind folgende Hinweise zu
beachten.
• Wenn zwei unterschiedliche Datentypen aufeinander folgen (zum Beispiel Byte und INT) wird die
folgende Variable auf den nächsten graden Adress-Offset gelegt
• Boolsche Variablen sollten nie einzeln in eine Struktur gelegt werden, da sie so immer 1 Byte belegen
würden. Boolsche Ausdrücke sollten immer in ein Byte oder Wort maskiert sein.
Beispiel 1: Eine Struktur auf den BX/BCxx50 und auf dem PC
Variable
Speicher des BX/BCxx50
Byte
%..B0
INT (1)
%..B2
INT (2)
%..B4
Dadurch das hinter dem ersten Byte eine anderer Variable-Typ (INT) folgt ist dieser im BX/BCxx50 auf die
nächste freie grade Adresse gelegt worden. Will man beide auf beiden Systemen die gleiche Datenstruktur
haben, muss im PC-Projekt ein Dummy-Byte eingefügt werden (siehe Beispiel 2).
Beispiel 2: Eine Struktur auf den BX/BCxx50 und auf dem PC mit gleicher Speicherbelegung
Variable
Speicher des BX/BCxx50
Byte
%..B0
Byte
%..B1 (nicht unbedingt notwendig, da dies das
(Dummy)
System selber macht, wenn diese Variabel nicht
vorhanden ist)
INT (1)
%..B2
INT (2)
%..B4
Daten Struktur
Type PB_Data
STRUCT
    wVar_1:WORD;
    iValue_1:INT;
    iValue_2:INT;
    iValue_3:INT;
END_STRUCT
END_TYPE
Anlegen einer Struktur in den Variablen
VAR_Global
    strData_Out AT %QB1000:PB_Data; (*PLC Variables *)
    bInput_01 AT %IX0.0:BOOL; (* Input from a terminal *)
END_VAR
Kleines Programmbeispiel
strData_Out.wVar_1.0:=bInput_01;
BX5200
Speicher des PC (TwinCAT)
%..B0
%..B1
%..B3
Speicher des PC (TwinCAT)
%..B0
%..B1
%..B2
%..B4
Version: 2.2.0
Programmierung
103

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis