Beckhoff Schrittmotorklemme EL7047 - Homing mit Nockensensor.

LeFish

Level-1
Beiträge
60
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo allerseits,

ich habe eine Beckhoff Schrittmotorklemme EL7047 an einer CX9020 vorliegen.

Die Belegung der EL7047:
EL7047.PNG

Die Kommunikation funktioniert auch, der Motor dreht entsprechend.

EL7047Conn.jpg

Der Schrittmotor von igus (Nema 23XL - Datenblatt: https://www.igus.eu/contentData/Products/Downloads/MOT-AN-S_EN_20200707.pdf) hat eine Bremse und einen Encoder.
Der Schrittmotor dreht sich (Absolut und Relativ)

Ich habe einen PNP-Initiator für den Nullpunkt an E1 hängen und habe folgende StartUp-Parameter gesetzt, die Bremse hängt an E2:
EL7047 Parameter.jpg

Für das Homing habe ich folgenden Funktionsblock:
Homing_FB.jpg

Mit welcher IO/Variablen der EL7047 muss ich bCalibrationCam verlinkten, damit der Motor den Nullpunkt findet? Wenn ich bCalibrationCam händisch force funktioniert das Homing.

Danke!

LG
LeFish
 

Anhänge

  • EL7047 Parameter.jpg
    EL7047 Parameter.jpg
    72,8 KB · Aufrufe: 13
Zuletzt bearbeitet:
Du musst E1 auf eine Variable mappen und diese Variable dann an den Eingang bCalibrationCam legen. Eventuell ist der Eingang schon auf die NC gemappt, dann musst Du die entsprechende NC Variable nutzen.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Du musst E1 auf eine Variable mappen und diese Variable dann an den Eingang bCalibrationCam legen. Eventuell ist der Eingang schon auf die NC gemappt, dann musst Du die entsprechende NC Variable nutzen.

Der Eingang liegt auf I/O "Digital Input 1" an. Dieser ist mit einem Bit in nstate2 (Drive der NC Achse) verlinkt.
DI 1.jpg

Die NC_Achse ist mit dem Objekt des Typs AXIS_REF verlinkt (Link to PLC).

Axis.jpg

Hier die Datentypen: https://infosys.beckhoff.com/index....1/tcplclib_tc2_mc2/54043195598578315.html&id=

Und innerhalb des Objekts AXIS_REF kann ich die entsprechende Variable die den Wert von nstate2 hält, beim besten Willen nicht finden.

Ich habe mir alle Variablen in der Struktur NCTOPLC_AXIS_REF angeschaut. Kein Wert hat mit meinem Auslösen des Näherungsschalters korreliert.
 
Dann leg Dir doch eine Bool-Input-Variable im PLC-Programm an, verknüpfe sie zusätzlich mit Digital Input 1 der Klemme und nutze sie als bCalibrationCam.
 
Dann leg Dir doch eine Bool-Input-Variable im PLC-Programm an, verknüpfe sie zusätzlich mit Digital Input 1 der Klemme und nutze sie als bCalibrationCam.

Das habe ich schon versucht. Dadurch wurde aber der Link mit nstate2 aufgebrochen und interessanterweise zeigte Digital Input 1 dann keine Reaktion mehr auf meinen Näherungssensor, obwohl die LED an der EL7047 Karte entsprechend leuchtete, je nach dem ob der Näherungssensor auslöste oder nicht.

Solange ich die Standardlinks von Digital Input 1 und Digital Input 2 nicht aufbreche zeigt das IO genau den Wert vom Näherungssensor bzw. der Bremse (an DI2 als Ausgang parametriert) an. Die Standardlinks werden gesetzt, wenn ich die Karte mit der Achse über "Link to I/O" verbinde.

Axis_IOLink.jpg

Gibt es eine Möglichkeit einen Link zu einer I/O Variable parallel zu einem bereits bestehenden Link zu erstellen? Also kann ich Digital Input 1 zweimal verknüpfen? Einmal weiterhin mit nstate2 und einmal mit einer Variable für bCalibrationCam in meinem FB der Achse als "AT %I*" ?
Mir ist klar, dass das mit Outputs nicht gehen kann, aber Inputs müsste ich ja mehrfach abgreifen können oder?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Das habe ich schon versucht. Dadurch wurde aber der Link mit nstate2 aufgebrochen und interessanterweise zeigte Digital Input 1 dann keine Reaktion mehr auf meinen Näherungssensor, obwohl die LED an der EL7047 Karte entsprechend leuchtete, je nach dem ob der Näherungssensor auslöste oder nicht.
...
Gibt es eine Möglichkeit einen Link zu einer I/O Variable parallel zu einem bereits bestehenden Link zu erstellen? Also kann ich Digital Input 1 zweimal verknüpfen? Einmal weiterhin mit nstate2 und einmal mit einer Variable für bCalibrationCam in meinem FB der Achse als "AT %I*" ?
Mir ist klar, dass das mit Outputs nicht gehen kann, aber Inputs müsste ich ja mehrfach abgreifen können oder?
Vorsicht, Du musst in diesem Fall das Pferd von hinten aufziehen, wenn Du so versuchst einen schon verknüpften I/O mit einer weiteren Variable zu verknüpfen passiert genau das was Dir passiert ist, die ursprüngliche Verknüpfung geht verloren. Du musst stattdessen eine Variable mit einem I/O verknüpfen. Dafür suchst Du Dir im SPS-Knoten unter SPS-Name Instance->Inputs die Variable die Du verknüpfen willst raus und machst entweder einen Doppelklick und klickst im nächsten Fenster auf den Button "Verknüpft m." oder Du machst einen Rechtsklick und wählst Verknüpfung ändern. In beiden Fällen wählst Du anschließend den entsprechenden I/O aus, in Deinem Fall E1. Damit Dir der schon verknüpfte I/O angezeigt wird musst Du aber die Option "Nur unbenutzte" abwählen.
 
Zuletzt bearbeitet:
Hat funktioniert, bCalibrationCam-Eingang des Homingblocks ist mit Digital Input 1 verknüpft und der Link zu nstate2 ist noch erhalten!

Teste ich gleich morgen an der Anlage!

Danke!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es geht auch beim gewohnten Verknüpfen eines Klemmen-Inputs mit einer PLC-Variablen. Wenn man bei gedrückter Strg-Taste mit der Maus auf die Variable klickt, wird sie zu der bestehenden Verknüpfung hinzugefügt.
Und wieder was gelernt, danke. Es ist ja schön, dass bekannte Bedienkonzepte von Windows übernommen wurden und nicht wieder was neues erfunden wurde. Die Tastenkombination kannte ich noch nicht, oder hab sie wieder vergessen.
 
Zurück
Oben