Hallo alle zusammen!
folgendes steht mir befor, ich soll ein krl-programm schreiben für ein Bandvorschub-Endeffektor, im dem zwei Pneumatikmotoren mit Servoventilen angesteuert werden, dabei wird ein Motor quasi als Master, der zweiter als Slave fungieren. Beide Motoren haben je ein Ikrementalgeber. Die Drehzahl/Geschwindigkeit für den ersten Motor gebe ich vor, das wird auch die Geschwindigkeit des Roboters(am Endeffektor) sein. Der zweiter Motor soll sich dem ersten Motor anpassen, dabei muss beachtet werden das beim abrollen des Material, immer weniger Material auf der rolle bleibt und der 2.Motor immer schneller drehen soll um Vorschub an Material nicht zu hindern. Das kann mann entweder über Triangulationsensor(der vorhanden ist und ein Wert von 0-10V (50mm-350mm)/linear Liefert oder einfach über Zeit/Strecke! (muss ich noch rausfinden was besser ist)
Die Servoventile werden im Bereich von 0-10V Betrieben, d.h. 5V-Mittelstellung(STOPP) 0-5V=Linkslauf, 5-10V=Rechtslauf, eigentlich werden die nur in eine Richtung laufen, deswegen irrelevant(nur zu Info)
Inkrementalgeber liefert ein 2Byte-Wert.
=============================
IOSYS.INI
Die Analoge-Ausgänge sind wie folgt belegt:
ANOUT1=4,0,16,3,CAL32767
ANOUT2=4,2,16,3,CAL32767
ANOUT3=4,4,16,3,CAL32767
ANOUT4=4,6,16,3,CAL32767
Die Analoge-Eingänge:
ANIN1=4,2,16,1 Inkrementallgeber 1
ANIN2=4,4,16,1 Inkrementallgeber 1
;ANIN3=4,6,16,1 für Triangulationssensor(wird benötigt, aber noch nicht jetzt, kann aber gleich berücksichtigt ;werden)
dazu kommen ein paar Digi-Ein/Ausgänge.
===============================
Programm.SRC
$ANOUT[1]=0.5 ; Grundstellung
....u.s.w.
KUKA-Roboter=Master, WAGO-Modul=Slave mit der Adresse[4]
Meine Frage an Euch, wie kann ich am bessten diese Regelung in KRL programmieren?
für alle Vorschläge währe ich sehr Dankbar!