KL 6001 Schnittstelle falsches Format ?

cas

Level-2
Beiträge
521
Reaktionspunkte
43
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo
ich habe eine KL6001 Klemme.
Der Systemmanger verlang für das Ctrl/Status USINT.
Das Programm gibt aber WORD aus (siehe Bilder).

watt nun ???

MfG CAS
 

Anhänge

  • Data.PNG
    Data.PNG
    10,9 KB · Aufrufe: 29
  • Systemmanager.PNG
    Systemmanager.PNG
    12,1 KB · Aufrufe: 27
Das funktioniert so. Mit Multivernüpfung die Variablen im Systemmanager verknüpfen.
Aber in deiner Beschreibung hast du die Variablen von der Com Schnittstelle vom PC.
PC Com hat 64Byte Nutzdaten, KL6001 hat bei dir nur 3Byte Nutzdaten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
richtig, ist schon klar mit der Multiverknüpfung.

Aber mir fehlen da ein paar bytes und words.

Mit KS2000 kann ich auch nicht ausrichten, hab schon nachgeschaut.

wat nun?

MfG CAS
 
Hallo CAS,

wie Commander_Titte schon geschrieben hat verwendest du den falschen Typ in deiner Deklaration. In deinem Fall musst du KL6inData/KL6outData oder KL6inData5b/KL6outData5b verwenden. Ob deine Klemme 3 oder 5-Byte für die Kommunikation benutzt kannst du in KS2000 einstellen (im Moment hast du die auf 3-Byte eingestellt). Dann einfach mit Multiverknüpfung verknüpfen.

Grüße
 
Hallo,

der Typ ist in der Lib fest vorgegeben. Da komm ich nicht ran.

Der Typ ist in der der SerLib drin (für die Kommunikation).

Mist...

MfG CAS
 
So ganz versteh ich dein Problem nicht. Ich verwende die selbe *.lib. Du musst in der Deklaration zwei Variablen deklarieren die du im Systemmanager verknüpfst:

----------------------------------------------
PE_5By AT %I*: KL6inData5B;
PA_5By AT %Q*: KL6outData5B;

RxBuffer : ComBuffer;
TxBuffer : ComBuffer;
----------------------------------------------

und dann noch den eigentlichen Kommunikationsbaustein aufrufen:

----------------------------------------------
ComControl(
Mode := SERIALLINEMODE_KL6_5B_STANDARD,
pComIn := PE_5By,
pComOut := PA_5By,
SizeComIn := Size(PE_5By),
TxBuffer := TxBuffer,
RxBuffer := RxBuffer,
Error =>,
ErrorID =>);
----------------------------------------------

Der Code funktioniert bei mir (ich verwende die Klemmen im 5-Byte Modus)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
so....funktioniert jetzt.
Hab zwei Fehler gemacht.....mist.

1.) Habe den Parameter von SerialLineControl (Mode) falsch eingestellt, war auf PC...

2.) Habe das falsche Struktur verwendet (statt KL6xxx5Byte) den von PC-COM)

danke für die Mithilfe.

MfG CAS
 
Zurück
Oben