Beginner

charly2

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

ich muss mich in die Beckhoff einarbeiten.

Folgende Module sind auf dem Schreibtisch zusammengesteckt:

Ein Buskoppler BK1150 und ein KL1408 mit 8 IN, ein KL2408 mit 8 OUT und ein Abschluss KL9010.

TwinCAT 3 habe ich auf einem Laptop mit WIN10 instal. und ich kann es starten.

Ein rj45-Kabel verbindet den PC mit dem Buskoppler BK1150.

Meine Frage: Gibt es von dieser Ausgangslage eine Testmöglichkeit, ob das richtige Kabel eingesetzt wurde und ob TwinCAT 3 den Buskoppler BK1150 erkennt.

Oder ist vorher ein Treiber für die Verbindung zu instal.?

VG Walter
 
Du musst den TwinCAT Realtime Treiber installieren, damit du deine Hardware scannen und betreiben kannst:
https://infosys.beckhoff.com/index.php?content=../content/1031/ethercatsystem/1036996875.html&id=
Anschließend erstellt du ein neues Projekt und scannst deine Hardware:
https://infosys.beckhoff.com/index.php?content=../content/1031/ethercatsystem/1037001483.html&id=

-Stirni
@charly2: Je nachdem welchen Chipsatz Deine Netzwerkkarten haben, kannst Du nur den sogenannten Intermidiate Treiber einsetzen, dieser hat nur eingeschränkte Echtzeitfähigkeit.
Dann noch zwei Hinweise.
Der BK muss über die obere Buchse an den EtherCAT angeschlossen werden, die untere dient dazu weitere EtherCAT Slaves an den BK anzuschließen.
Denk bitte daran, den BK richtig mit Spannung zu versorgen, sonst leuchten die angesteuerten Kanäle Deiner Ausgangsklemmen zwar, aber es kommt an den entsprechenden Anschlüssen keine Spannung raus. Mehr verrate ich erstmal zum Thema Spannungsversorgung nicht, Du sollst ja auch was dabei selber erfahren und lernen.
 
Herzlichen Dank für die schnellen Antworten Stirni, oliver.
Scann war erfolgreich. Ich kann über den PC /TwninCat E/A Ausgäge schalten und IN den Zustand sehen.

VG Walter
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

next Problem:

Ausgangspunkt: Programm siehe Foto1.
bOut1 auf Klemme 3 Kanal 8 gelegt
bIn1 auf Klemme2 Kanal 8
bIn2 auf Klemme2 Kanal 7 (Foto2)

Frage 1:
Laut Foto 1 muss ich noch eine Verknüpfung von Gerät 2 zu einer Task
erstellen.
Wie?

Frage 2:
Wo ist das Gerät 1

Frage 3: Gibt es eine Anleitung ähnlich "Ihr erstes
TwinCAT-3-SPS-Projekt" auf der Beckhoff-Homepage, aber nicht als Simulation,
sondern mit richtiger Hardware?

Danke für Antworten.

VG walter
 

Anhänge

  • FOTO_1_20231024_123447.jpg
    FOTO_1_20231024_123447.jpg
    4,4 MB · Aufrufe: 39
  • FOTO_2_20231024_125425.jpg
    FOTO_2_20231024_125425.jpg
    4,7 MB · Aufrufe: 38
du musst eine Variable deklarieren, die eine Hardware Verknüpfung eingehen kann.
Beispielsweise

test AT %I* : BOOL;

damit erzeugst du eine Variable, welche du dann wie in Bild2 gezeigt, finden und linken kannst.

Damit funktioniert auch die Meldung mit Syncmaster.
Hat was mit Zykluszeit Steuerung und Ethercat Master zu tun.

Grüße
 
Zuviel Werbung?
-> Hier kostenlos registrieren
test (Variable)
AT (Zuweisung zu)
%I* (Input, das *-Zeichen sagt aus, dass du keinen bestimmten Eingang in der Deklarierung zuweißt)
: BOOL (Datentyp der Varibale)

Mit dieser Zuweisung kannst du die Variable "test" auf einen boolschen Eingang zuweisen

Dafür gibt es den Ordner in deinem Projekt der nennt sich GVLs (Globale Variablen Listen), dort kannst du eine GVL anlegen und deine I/Os deklarieren. Damit sind sie in deinem ganzen Projekt benutzbar.
 
DCDCDC Danke für die Erklärung.

Wo findet man eine DOCU zu den Hieroglyphen test AT %I* : BOOL; ?

Bedeutet dann %O* , dass ein Ausgang gemeint ist?

Danke für Antworten.

VG Walter

P.S.: Dieses Forum ist wirklich hilfreich.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
DCDCDC Danke für die Erklärung.

Wo findet man eine DOCU zu den Hieroglyphen test AT %I* : BOOL; ?

Bedeutet dann %O* , dass ein Ausgang gemeint ist?

Danke für Antworten.

VG Walter

P.S.: Dieses Forum ist wirklich hilfreich.
Wenn Du Powerpoint hast kannst Du Dir mal die Präsentation zu TC3 runterladen, da wird das auch erklärt. Eine Version ohne Powerpoint kommt noch.
 
test (Variable)
AT (Zuweisung zu)
%I* (Input, das *-Zeichen sagt aus, dass du keinen bestimmten Eingang in der Deklarierung zuweißt)
: BOOL (Datentyp der Varibale)

Mit dieser Zuweisung kannst du die Variable "test" auf einen boolschen Eingang zuweisen

Dafür gibt es den Ordner in deinem Projekt der nennt sich GVLs (Globale Variablen Listen), dort kannst du eine GVL anlegen und deine I/Os deklarieren. Damit sind sie in deinem ganzen Projekt benutzbar.
Die Variablen zur Verknüpfung von I/Os müssen aber nicht zwingend in einer GVL abgelegt werden. Die können genauso in einem Programm oder Funktionsbaustein deklariert sein.
Wichtig ist, nachdem die Variablen deklariert wurden muss das Projekt einmal komplett übersetzt werden, erst dann kann man I/Os damit verknüpfen.
 
Die Variablen zur Verknüpfung von I/Os müssen aber nicht zwingend in einer GVL abgelegt werden. Die können genauso in einem Programm oder Funktionsbaustein deklariert sein.
Wichtig ist, nachdem die Variablen deklariert wurden muss das Projekt einmal komplett übersetzt werden, erst dann kann man I/Os damit verknüpfen.
Zwingend natürlich nicht. Macht für I/Os finde ich, aber schon Sinn diese global zu deklarieren.
 
Danke, danke....
Mein Prog. sieht jetzt so aus
----------------------------------------
PROGRAM MAIN
VAR
bIn1 AT %I* : BOOL;
bIn2 AT %I* : BOOL;
bOut AT %Q* : BOOL;

END_VAR

bOut := bIn1 AND bIn2; // wenn bIn1 und Bin2 wird bOut==1
--------------------------------------------------------------------
Jetzt muss ich nur noch sehen, wie ich es hin bekommen, dass KL1408 die bIn1 und 2
und die KL2408 bOut richtig verdaut.

VG Walter
 
Screenshot 2023-10-25 134653.png

Das kannst du ganz einfach im E/A Bereich, in dem du auf den einzelnen Eingang per Rechtsklick gehst, oder Doppelklick und dann den Eingang mit deiner Variable verknüpfst
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke, danke....
Mein Prog. sieht jetzt so aus
----------------------------------------
PROGRAM MAIN
VAR
bIn1 AT %I* : BOOL;
bIn2 AT %I* : BOOL;
bOut AT %Q* : BOOL;

END_VAR

bOut := bIn1 AND bIn2; // wenn bIn1 und Bin2 wird bOut==1
--------------------------------------------------------------------
Jetzt muss ich nur noch sehen, wie ich es hin bekommen, dass KL1408 die bIn1 und 2
und die KL2408 bOut richtig verdaut.

VG Walter
Na ja, ganz einfach. Dein Programm übersetzen und dann im E/A-Knoten die zwei gewünschten Eingänge der KL1404 mit den Variablen bIn1 und bIn2 verknüpfen und anschließend den einen gewünschten Ausgang der KL2408 mit bOut verknüpfen.
Nachtrag: DCDCDC war einen Hauch schneller.
 
Zwingend natürlich nicht. Macht für I/Os finde ich, aber schon Sinn diese global zu deklarieren.
Steile These. Ich finde es macht für die wenigsten I/Os Sinn diese global zu deklarieren.
Instanziiere ich nach OOP z.B. einen Zylinderbaustein mit darin befindlichen IOs mehrmals, bekomme ich gleichzeitig ohne Mehraufwand die entsprechenden I/Os dazu. TwinCAT sei dank.

-Stirni
 
Zurück
Oben