Herunterladen Inhalt Inhalt Diese Seite drucken

Kommunikation Zwischen Twincat Und Bx/Bcxx50 - Beckhoff BX3100 Dokumentation

Busklemmen-controller für profibus
Inhaltsverzeichnis

Werbung

Programmierung
Umgehen eines Starten des Boot-Projekt*
Bei den Busklemmen-Controllern der BX-Serie kann beim Booten das Starten des Boot-Projekts durch
Drücken des Navi-Schalters verhindert werden. Das Boot-Projekt ist damit nicht gelöscht und wird beim
erneuten Booten des Busklemmen-Controller wieder gestartet.
* ab Version 0.85
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;
106
Speicher des PC (TwinCAT)
%..B0
%..B1
%..B3
Speicher des PC (TwinCAT)
%..B0
%..B1
%..B2
%..B4
Version: 2.2.0
BX3100

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis