TwinCat3 - Referenz auf Achse

moon

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

nachdem mir als absoluter Neuling bereits hier im Forum super geholfen wurde, würde ich gerne ein paar Tipps zur Inbetriebnahme eines Motors bekommen:

Alle MotionControl-bezogene Bausteine (z.B: http://infosys.beckhoff.com/italian...lclibmc2/html/blocks/tcplclibmc_power.htm&id= ) brauchen zum Ansteuern der entsprechenden Achse eine Referenz auf eben diese:
http://infosys.beckhoff.com/espanol...libmc2/html/Types/TcPlcLibMC_AXIS_REF.htm&id=

Nun gelingt es mir nicht, diese Referenz mit Daten zu füllen. Es kann ja nicht reichen, einfach eine Referenz zu deklarieren, sie muss ja irgendwo noch mit der Achse "verknüpft" werden, oder verstehe ich da etwas falsch?

- SPS: CX5020-0122
- Motor: AM3121-0200
- Servoklemme: EL7201
- TwinCat3.0.3099 auf Zielsystem und Engineering-PC

Vielen Dank vorab!
lg
moon
 
Die "Referenz" ist im Endeffekt ja ein FB. Dieser muss im Programm deklariert und aufgerufen werden. Die Achsreferenz enthält intern die Ein-/Ausgänge der Achse, wie du im zweiten Link erkennen kannst. An den Eingang (IN_OUT) der MC-Bausteine wird die Referenz angelegt.
War bei Twincat 2 so und sollte bei TwinCAT 3 genauso gehen, vermute ich mal.

Oder meinst du die Verknüpfung mit den I/Os der Motion-Control an sich?
Nach dem Kompilieren findet man die Ein-/Ausgänge der Achse im I/O-Bereich der PLC. Dann muss im NC-Teil die zugehörige Achse angelegt werden. Dann Doppelklick auf die Ein-/Ausgänge der Achsreferenz und es sollten dir automatisch zur Verknüpfung die Ein-/Ausgänge der NC-Achse im NC-Teil angeboten werden.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, und vielen Dank für deine Antwort!
Also ich habe bis jetzt mit "Axis1: AXIS_REF;" eine solche Referenz deklariert und mit "Axis1.ReadStatus();" den FB aufgerufen um die Achse bei jedem Zyklus einzulesen.
Reicht es dann also, wenn ich an IN_OUT einfach nur "Axis1" anlege?
Woher weiß TwinCat, dass ich diese Achse meine? Reicht da der Name?

lg
moon
 
Woher weiß TwinCat, dass ich diese Achse meine? Reicht da der Name?
Das meinte ich mit "verknüpfen". Mit der Deklaration der Achsreferenz solltest du nach dem Übersetzen des PLC-Programms unter den Ein-/Ausgänge des Programms die Ein-/Ausgänge deiner Achse sehen. So wie hier: http://twincat3.infosys.beckhoff.co...ontent/1033/tc3_plc_intro/html/quickstart.htm (dritte Grafik von unten) die Variable MAIN.nCounter dargestellt ist. Du siehst dann bei dir z. B. "MAIN.Axis1.NcToPlc ..." und "MAIN.Axis1.PlcToNc...."
Das verknüpfst du mit der Achse, die du vorher unter "NC" angelegt hast, so wie man ansonsten die I/Os der Hardware mit der PLC verknüpft.

Die Programmierung in TwinCAT findet eigentlich immer hardwareunabhängig statt. Erst durch Verknüpfungen auf Ebene der Prozessabbilder kennen sich die Programmteile.
 
Also dann nur noch: MAIN.Axis1.NcToPlc --> Variable --> Verknüpft m. --> NcToPlc der Achse auswählen !?!

Wahnsinn, vielen Dank! =)

lg
moon
 
Zurück
Oben