Inbetriebnahme KL6581 (EnOcean) Twincat 3

D4Rkl1Gh7

Level-1
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

im Rahmen einer Projektarbeit möchte ich mit Twincat 3 ein EnOcean Modul (KL6581) in Betrieb nehmen, ich bin also noch Anfänger im Bereich SPS-Programmierung.
Hierzu verwende ich den Buskoppler BK9050 von Beckhoff.
Ich habe Twincat 3 installiert, ein neues Projekt angelegt und den Buskoppler und die KL6581 unter "I/O" mit Hilfe der Scanfunktion erkannt. Hier sehe ich auch alle Ein- und Ausgänge der KL6581.
Im nächsten Schritt möchte ich nun einen oder mehrere Ausgänge der KL6581 auslesen.

Hierzu muss ich eine Verbindung zwischen dem Ausgang des EnOcean Moduls und meines Programmes herstellen und genau hier liegt mein Problem:

Ich habe die EnOcean Bibliothek bereits installiert und auch schon ein kleines Beispielprogramm geschrieben, schaffe es jedoch nicht, einen Output mit einer globalen Variable zu verknüpfen.
Im Internet und auf der Homepage von Beckhoff finde ich nur ausführliche Dokumentationen zu Twincat 2.

Ich denke, dass ich bei Twincat 3 unter "SYSTEM" den BK9050 bzw. die KL6581 als Ziel auswählen muss (Choose Target). Hier wird mir jedoch nur mein Computer als lokales Gerät angezeigt, über die Funktion "Search Ethernet" finde ich den Buskoppler ebenfalls nicht.
Die Ethernetverbindung funktioniert, es werden Daten gesendet und empfangen, über die Console kann ich den Buskoppler auch per ping ansprechen.

Vielleicht kann mir jemand einen Tipp geben, wie ich mein Problem lösen kann?

lg,

D4Rkl1Gh7
 
Noch nicht so viel mit TwinCAT gearbeitet, oder? ;)

über die Funktion "Search Ethernet" werden andere Beckhoff Steuerungen gesucht der BK9050 ist ein "einfacher" Slave und keine Steuerung.
Du must also unter IO Device erstmal eine Ethernetschnittstelle anlegen, entweder eine virtuelle dann kannst du keine Echtzeit machen oder eine Echtzeit Ethernet Schnittstelle. Wenn du Ihn anpingen kannst geht auch eine virtuelle Schnittstelle die anfügen und dann suchen lassen. Dann müsste es gehen. Wenn du virtuell machst sollte deine Task langsamer als 20 ms sein, musst du mal schauen, sonst kannst du noch auf UDP stellen ist dann etwas schneller aber nie in Echtzeit.
Dann mal los...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
die Ethernetschnittstelle habe ich bereits angelegt:
Bild1.JPG
In meinem Beispielprogramm möchte ich nun eine Verbindung mit der KL6581 aufbauen. Wenn diese den Zustand "bereit" meldet, soll eine Integervariable erhöht werden. Falls die KL6581 nicht bereit ist soll eine andere Integervariable erhöht werden:
MAIN.JPG
EnOcean_1.JPG
EnOcean_2.JPG

Wenn ich das Programm starten möchte, wird es ohne Probleme compiliert, es taucht jedoch diese Fehlermeldung auf:
error.JPG
Daher nun meine Frage:
Wie verlinke ich die Variabeln?
Auf der Homepage von Beckhoff gibt es zwar Beispielprogramme, für Twincat 3 sind diese jedoch (zurzeit) nicht aufrufbar.

Wenn ich das Programm starte wird im Moment natürlich nur die Variable iFalse erhöht.

Vielen Dank für die Hilfe,

D4Rkl1Gh7
 
Du hast noch keine Verknüpfung gemacht, also SPS Programm zu deiner Hardware.
Sonst ruf mal beim Beckhoff Support an...eigentlich recht einfach.
Gruß
 
Hallo,
ich habe inzwischen die Lösung für mein Problem herausgefunden:
Damit unter "'Programmname' Instance" die Option "Change Link" ausgeführt werden kann müssen (zumindest bei mir) im Konfigmodus die Optionen "Load I/O Device" und "Activate Free Run" beide aktiviert sein, dann kann man über "Change Link..." die Variabeln mit der KL6581 verlinken!
bild1.JPG
Wenn ich das Programm dann starte funktioniert auch alles und meine Variable iReady wird erhöht.
bild2.JPG

Vielen Dank,

D4Rkl1Gh7
 
Zurück
Oben