# Schrittmotorklemme KL2541 Eingänge definieren



## wolfi999 (9 Juni 2009)

Hallo Leute,

Besitze eine Schrittmotorenklemme KL2541. Programme zur Schrittmotor Ansteuerung funtkioniert.
Diese Klemme besitzt ja einen digitalen Eingang, worauf ein Endschalter gehängt werden kann. Verdrahtet habe ich meinen Endschalter mit meiner Kl2541. Wie kann ich jetzt meine SPS-Variable mit dem Endschalter der KL2541 verknüpfen? Oder wie lese ich den Eingang aus??

Danke für eure Hilfe
mfg
wolfi


----------



## DirkS1017 (9 Juni 2009)

Hi,

die KL2541 hat zwei Digitale Eingänge (+ einen zusätzlichen Latcheingang). Die Digitalen Eingänge werden immer ins StatusWord gemappt (Bit 0+1 vom ExtStatus).

Diese werden per default als Referenzeingänge genutzt. Bei Verwendung des MC_Homing sollte dann beim Referenzieren der Endschalter erkannt und die Position gesetzt werden. Referenzgeschwindigkeit und -position gibst Du mit der KS2000 oder den Register 53-56 vor.

Ansonsten kann man diese aber auch als Referenzeingänge deaktivieren und dann als normale Eingänge verwenden. Einstellung dazu ebenfalls über die KS2000 oder Register 52.4 und 52.5.

Doku zu den KS2000-Einstellunge unter
http://infosys.beckhoff.com/content/1031/kl2531_kl2541/html/bt_kl2541_ks2k_set_settings1.htm
und zum StatusWord unter
http://infosys.beckhoff.com/content/1031/kl2531_kl2541/html/bt_kl2531_kl2541_cw_sw.htm


----------



## wolfi999 (9 Juni 2009)

Hallo!

Danke. Für deine Antwort.

Du schreibst *"Ansonsten kann man diese aber auch als Referenzeingänge deaktivieren"* --> genau das suche ich!

--> wo kann ich das machen? Ist das nur ein Häkchen weg/dazu schalten?

mfg
wolfi


----------



## DirkS1017 (9 Juni 2009)

Ja, bei Zugriff mit der KS2000-Software ist das nur ein bzw. zwei Häckchen wegnehmen (siehe Screenshot1). Ansonsten muss Du das direkt im Register (R52.4 + R52.5) deaktivieren. Geht entweder über Registerkomunikation aus dem SPS-Programm oder über Tabellenzugriff vom SystemManager aus.

Die Öffner-/Schließer-Auswertung kannst Du im übrigen auch nur mit zwei Häckchen verändern (siehe Screenshot2).

Gruß,
Dirk


----------



## wolfi999 (10 Juni 2009)

Hallo!

Danke für deine Screenshots. Ich habe gestern abend noch versucht dies einzustellen, jedoch ohne Erfolg.
Wie im Bild 1 zu erkennen ist, habe ich die Auswahl gar nicht "Referenzeingang aktiv". Oder heißt dies der Eingang ist als Referenzeingang bereits deaktiviert?
Ist das in TwinCat irgendwie sichtbar?

Danke.

mfg
wolfi


----------



## DirkS1017 (10 Juni 2009)

Mh, liegt entweder an der KS2000-Version oder der Klemmen-Firmware.

Klemmenfirmware habe ich hier 3E und KS2000-Software 4.3.0.68.

Würde vorschlagen, Du dates erst mal Deine KS2000 up. Wenn dann immer noch nicht die Haken zu sehen, kann man es mal mit einem Firmwareupdate probieren, dass wäre aber nur die letzte Wahl.

Dann besser über den Tabellen-Zugriff mit dem SystemManager. Da kann man direkt in den Registern rumschreiben.


----------



## wolfi999 (10 Juni 2009)

Hallo,

Danke. Werde ich mal versuchen.

Aber nichts desto trotz, wie funtkioniert der Tabellen - Zugriff vom TwinCat Manager??? --> habe ich noch nichts davon gehört??

mfg
wolfi


----------



## DirkS1017 (15 Juni 2009)

Vorraussetzung ist ein im TcSysMan eingebundener BK/BC. Dann kannst Du wie folgt vorgehen :

1. TwinCAT in Config schalten
2. Im TcSysMan Rechtsklick auf den BK/BC und "Register Zugriff" auswählen (siehe Screenshot3)
3. Die zu editierende Klemme auswählen (z.B. KL2541)
4. Den zu editierenden Kanal auswählen (z.B. Channel 0)
5. Code 16#1235 in Register 31 schreiben (zum deaktivieren des Schreibschutzes)
6. Das gewünschte Register editieren
7. Register 31 wieder zu 0 setzten
8. BK aus- und wieder einschalten


----------



## wolfi999 (17 Juni 2009)

Hallo,

Danke.

Das heißt für mich, laut Dokumentation von Beckhoff ist Referenzeingang deaktivieren Register 52.4 und 52.5 (digitaler Eingang 1 und 2).
Wenn ich jetzt im Register 52 (siehe pdf) hex 0005 reinschreibe, müssten beide deaktiviert sein. 
Ist das richtig????

Danke für deine Hilfe.

mfg
wolfi


----------



## DirkS1017 (17 Juni 2009)

Ähm, ne, nicht ganz. Nicht 5 sondern 30.

Register 52 ist richtig. Bit 4 und 5 auch richtig. Per Default ist im Register 52 alles 0, wie auch bei Dir im Screenshot. Demnach muss binar eine 2#110000 runtergeschrieben werden, dass wäre dann hex 0x30 oder dezimal 48. Vorher das Kodewortregister 31 nicht vergessen. Da muss eine 0x1235 rein, sonst werden Deine Änderungen in Register 52 nicht angenommen.

Gruß,
Dirk


----------



## wolfi999 (19 Juni 2009)

Hallo,

Das beschreiben des Registers hat super funtkioniert. 
Jedoch habe ich immer noch ein Problem. Wo sehe ich jetzt die Eingänge, damit ich diese im TwinCat verknüpfen kann? Oder muss ich noch mehr einstellen?

mfg wolfi


----------



## DirkS1017 (21 Juni 2009)

Die Eingänge werden im Status-"Wort" (nicht Byte) in den ersten beiden Bits gemappt und können von da aus entweder Bitweise zu Deinem SPS-Programm verknüpft werden (dazu beim Verknüpfen "Öffne Dialog" anhaken) oder aber Du pickst Dir die Bits im SPS Programm direkt über eine Zuweisung raus.

Gruß,
Dirk


----------



## wolfi999 (22 Juni 2009)

Hallo Dirk,

Ich weiß auch nicht, aber irgendwie stehe ich auf der Leitung.
Würdest du mir bitte erklären wie diese beiden Methoden im Detail funtkionieren.
Danke.

mfg
wolfi


----------



## DirkS1017 (23 Juni 2009)

Methode 1 :
Alle Verknüpfungen gehen ins SPS-Programm. ExtStatus.0 und ExtStatus.1 wären die beiden digitalen Eingänge (siehe Bsp1.* in Bsp.rar im Anhang).

Methode 2 :
Alle Verknüpfungen gehen zu einer NC-Achse (Screenshot1 im Bsp.rar). Der zu Verknüpfende digitale Eingang aus Deinem SPS-Programm oder IO-Task wird zum ExtStatus verknüpft (Screenshot2). Da dieser aber schon zur NC verknüpft ist und auch von einem anderen Typ ist (anstatt Bit Word), müssen die Optionen "Zeige alle Varieblen", "Zeige alle Typen" und "Öffne Dialog" angehakt werden  (Screenshot3). Danach geht ein weiterer Dialog auf, in dem man dann den Überlappenden Speicherbereich und den Offset einstellt, da die beiden zu verknüpfenden Variablen unterschiedlich groß sind. Der Digitale Eingang muss daher mit einem Offset von 0, also auf das 0. Bit von ExtStatus, eingestellt werden  (Screenshot4). Beim zweiten digitalen Eingang ein Offset von 1, also auf das 1. Bit von ExtStatus (Screenshot5). Damit ist ExtStatus direkt dreifach verknüpft, zur NC und zu zwei weiteren boolschen Variablen (Screenshot6). Sowas geht aber nur mit Eingängen.

Beispielkonfig ebenfalls im Bsp.rar im Anhang.

Gruß,
Dirk


----------

