Herunterladen Inhalt Inhalt Diese Seite drucken

Programmbeispiel - Beckhoff BC8000 Bedienungsanleitung

Rs485 busklemmen controller
Inhaltsverzeichnis

Werbung

Anhang
Lokale Variablen im Pro-
gramm MAIN
Programm MAIN
ComControl
Senden
28

Programmbeispiel

PROGRAM MAIN
(* Programm Erläuterung
(* Der BC8000 sendet ein Wort Ausgangsdaten alle 500ms zu einem
BK8000 *)
(* dabei wird das low Byte immer um eins erhöht
(* Der BK8000 sendet daraufhin ein Wort Eingangsdaten zurück
(* Der BC8000 wertet diese aus, schiebt das Byte um eins nach links und
*)
(* gibt es wieder aus auf seine Ausgangsklemmen. Benötigte Hard-
/Software:
*)
(* 1 x BC8000,1 x KL1104, 2 x KL2114, 1x 9010, 1 x BK8000, 2 x KL1104,
2 x KL2112, 1 x KL9010*)
(* Kommunikations Lib, Serielles Kabel mit zwei Sub-D Steckern
*)
VAR
ComControl : KL6Control5B;
nikation *)
Receive: ReceiveByte; (* FB für das Empfangen von Daten *)
Send: SendByte
Sb: BYTE;
Senden:ARRAY[0..6] OF BYTE;
start: BOOL;(* Hilfvariable ist nur den ersten Zyklus auf FALSE *)
i2: USINT;
i3: USINT;
Summe: BYTE;
Timer1: TON;
Starten: BOOL;
gesendet worden sind *)
J0: UINT;
t1: INT;
byAusgang1:ARRAY[0..20] OF BYTE;
EingWorte: USINT;
END_VAR
IF NOT start THEN(*Initialisierung des Arrays für das Protokoll des
BK8000*)
senden[0]:=16#50;
senden[1]:=16#01;
senden[2]:=16#11;
senden[3]:=16#0B;
senden[4]:=16#FF;
senden[5]:=16#FF;
senden[6]:=16#6B;
Start:=TRUE;
END_IF
(*++++++++++++++++++++++++++++++++++++++++++++++++++++++*)
(* Handshake mit der Klemme oder der Emulation der Klemme *)
ComControl(
COMin:=KL6InData ,
(*-------------------------SENDEN-------------------------------------------------*)
Timer1(IN:=NOT Timer1.Q,PT:=t#100ms);
tokoll gesendet*)
IF Timer1.Q THEN
Starten:=TRUE;
END_IF
(* FB zur automatischen Kommu-
(* FB für das Senden von Daten *)
(* Checksumme *)
(* Startet die Übertragung alle 500 ms *)
(* Alle 500 ms auf TRUE bis alle Daten
(*Starterkennung*)
(*Anzahl der zu sendenen Worte *)
(*Message Ident*)
(*Adresse des Kopplers *)
(*DO*)
(*D1*)
(*Checksumme*)
COMout:=KL6OutData ,
TxBuffer:=TxBuffer ,
RxBuffer:=RxBuffer );
(*Alle 0,5 sec wird ein Pro-
*)
*)
*)
BC8000

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis