Beckhoff KL6021 SerialBus Klemme

Hallo erstmal dies ist mein erster theard in diesem forum und ich habe ein Problem mit einer Beckhoff KL6021 Klemme.

Folgenden Versuchsaufbau habe ich:

Output von der Klemme 1 geht in den input von der Klemme 2.

So jetzt habe ich wie in der Dokumentation beschrieben, 2 Tasks gemacht und dann die Programme so Geschrieben:

ComBackground(ST)


Code:

Code:
PROGRAM ComBackground

VAR
Sender_Init :KL6Init;
Sender_Com :KL6Control;
serstat AT%QB5002:BYTE;

FIRST: BOOL;
END_VAR


	

Code:
IF NOT FIRST THEN
Sender_Init( Start:=TRUE,
SerStatus:= serstat,
SerCtrl:= serstat);
FIRST:=TRUE;
END_IF
Sender_Com( COMin:= Sender_Data_IN,
COMout:= Sender_Data_OUT,
TxBuffer:= Sender_TxBuffer,
RxBuffer:= Sender_RxBuffer);[/

CODE]
MAIN.PRG (ST) 


Code:

	Code:
	PROGRAM MAIN
VAR
 Senden_ctrl: BOOL;
 Lesen_ctrl: BOOL;
END_VAR
Code:
	IF Senden_ctrl THEN
Senden();
Senden_ctrl:=FALSE;
END_IF
IF Lesen_ctrl THEN
Lesen();
Lesen_ctrl:= FALSE;
END_IF
Senden.prg (ST)


Code:

	Code:
	PROGRAM Senden
VAR
 Print:SendString;
 PrintChar:SendByte;
 Timer:TON;
 i:BYTE;
END_VAR
Code:
	 Timer(IN:=TRUE,PT:=T#1s);
IF Timer.Q THEN
 Print(SendString:='*Hello World',TXbuffer:=Sender_TxBuffer);
 Timer(IN:= FALSE);
 FOR i:=0 TO 9 DO
  PrintChar(SendByte := 48+i,TXbuffer:=Sender_TxBuffer);
 END_FOR
 Print(SendString:='$0D$0A', TXbuffer:= Sender_TxBuffer);
Timer(in:=FALSE);
END_IF
Lesen.prg (ST)



Code:

	Code:
	PROGRAM Lesen
VAR
 ReadScanner:ReceiveString;
 Barcode:STRING;
 LastBarcode:STRING;
 Edge:R_TRIG;
 empfang AT%IB5004:BYTE;
 Empfang_Init: KL6Init;
END_VAR
Code:
	Empfang_Init(    Start:=TRUE,
   SerStatus:= empfang,
   SerCtrl:=empfang);

ReadScanner(  Prefix:='*',
    Suffix:='$0A$0A',
    Timeout:=T#0S,
    Reset:=FALSE,
    ReceivedString:=Barcode,
    RxBuffer:=Sender_RxBuffer);
Edge(CLK:=ReadScanner.StringReceived);
IF Edge.Q THEN
 LastBarcode:=Barcode;
END_IF
SO als Global Vars hab ich:



Code:
VAR_GLOBAL
(SENDER_IN&OUT**********)
Sender_Data_IN AT%IB5000 :KL6inData;
Sender_Data_OUT AT%QB5000 :KL6outData;
Sender_TxBuffer : ComBuffer;
Sender_RxBuffer :ComBuffer;
(END_VAR_SENDER*********)
END_VAR


Ich hab die Biblotheken:COMlib.lib,ChrAsc.lib,Standart.lib drinn

Noch ne kleine erklärung die If'S in der Main force ich auf true.... als schalter hab ich mir das gedacht.

Und was ist die Frage in Bezug auf IP-Symcon?

meine frage wahr eig eher, ob jemand eine idee hat wie man das zum laufen bringt, denn bevor ich mit ip-symcon was anfangen kann muss ich ja ansatzweise mal die basics haben -.-

Hallo Pandalord

Grundsätzlich richtig. Aber ich fürchte Beckhoff ist hier (noch) nicht so stark vertreten. Hier wird zumeisst Wago IO 750 eingesetzt weil IP-Symcon die direkt unterstützt (über Wagos Modbus DLL).

Musst schauen ob sich hier jemand für dein Problem findet…

Gruß,

Toni