TwinCAT 2 und ASI-Bus

avancon

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

Ich bin neu hier und habe eine Frage zur Programmierung in TwinCAT 2. Wir verwenden einen CX9010 IndustriePC mit mit einer EL6201 ASI-Masterklemme für einen Versuchsaufbau. Nun geht es darum, einem bestimmten Slave (z.Bsp. 1B oder 33) einen neuen Parameter zu schicken (in diesem Fall für die Drehrichtung eines Motors). Ich werde leider nicht schlau aus der Dokumantation im Infosys von Beckhoff. Ich habe zwar in der Bibliothek unter TcIoFunctions einen Function Block FB_WriteParameter gefunden, ich verstehe aber nicht wie ich den Slave definieren muss, der jetzt die neuen Parameter bekommt.

Vielen Dank im Voraus für eure Hilfe!

Beste Grüsse

Marc
 
Hallo,
habe hier eine KL6201 mit ner CX9010 am Laufen ohne Probleme.
Was meinst du denn mit Parameter schicken, die Slaves haben ja nur
jeweils 4E/As.

läuft denn die Kommunikation mit dem Slave grundsätzlich?
Hast du die 4 E/As der Slaves im Manager mit deinen Variablen verbunden?
Kannst du Ausgänge setzen, Eingänge einlesen?

Jürgen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen Jürgen

Ich habe im Moment nur einen Motorenslave (für BLDC-Motoren) im Bus. Dieser kennt 8 Parameter und 8 Befehle, die er ausführen kann (also je 3 bit). Mit dem Parameter wird z. Bsp. die Drehrichtung definiert, mit den Befehlen können verschiedene Drehzahlen gewählt werden. Alle diese Funktionen haben wir erfolgreich mit einem Handprogrammiergerät getestet (mit den Funktionen PARA und DATA). Nun möchte ich genau diese Aufgaben mit dem CX9010 ausführen.

Ich konnte am Freitag zwar den Slave erkennen, jedoch als ich die Eingänge manuel auf 1 gesetzt habe, hat sich der Motor nicht gedreht.

Leider habe ich mit dem ASI-Bus noch nicht so viel erfahrung. Ich gehe mal davon aus, dass die 4 E/A vom EL6201 in Kombination benutzt werden können, also mir 4 Bit zur Verfügung stehen?

Dann wäre nur noch die Frage zu den Parameter zu klären. Ich habe gesehen, dass man diese im System Manager manuel setzen kann (doppelklick auf Slave) aber es wäre schön man könnte dies auch im Programm.

MfG Marc
 
Hallo Marc,
hast du denn im PLC Programm Variablen erstellt (Bool oder Byte) und mit dem AS-I Slave verknüpft?
Wichtig ist noch das du Bit 3 in ASI Out Control auf 1 setzt, sonst läuft die Kommunikation nicht.
Also z.B. eine Variable ASi_Out_Control anlegen, im Manager mit ASi_Out_Control vernüpfen und
im PLC Programm setzen:

(*AS-I Control*)
ASi_Out_Control AT%QB1000 : BYTE:=2#0001000; (*Freigabe_Master*)

ASI.PNG


Gruß
Jürgen
 
Zuletzt bearbeitet:
Zurück
Oben