Anwendungsbeispiele
8
Funktionsbaustein (FB) LineSpeed
User_PRG.Init
User_PRG.
HighPrio
62
Handbuch – MOVIKIT
Initialsierung der Konfigurationsstrukturen:
_stConfigGeneralAxis1.lrGearRatioWinder := 3;
//Gesamtübersetzung Wickelantrieb
_stConfigGeneralAxis1.lrDiameterMin := 40; //[mm]
_stConfigGeneralAxis1.lrDiameterMax := 200; //[mm]
_stConfigGeneralAxis1.lrLineSpeedMax := 50; //[m/min]
_stConfigGeneralAxis1.lrLineSpeedStopDec:= 10; //[m/(min*s)]
_stConfigGeneralAxis1.lrAccDecMax := 3000; //[Umdr./(min* s)]
_stConfigGeneralAxis1.uiTaskCycleTime := 1; //[ms]
_stConfigDiameterAcqAxis1.eMode := 3; // Distanzsensor
_stConfigDiameterAcqAxis1.lrDiameterScalingU1 := 500; //[mV]
_stConfigDiameterAcqAxis1.lrDiameterScalingD1 := 40; //[mm]
_stConfigDiameterAcqAxis1.lrDiameterScalingU2 := 10000; //[mV]
_stConfigDiameterAcqAxis1.lrDiameterScalingD2 := 200; //[mm]
_stConfigDiameterAcqAxis1.uiDiameterFilterTime := 3000; //[ms]
_stConfigDiameterAcqAxis1.stGeneral := _stConfigGeneralAxis1;
//Konfigurationsstruktur General von Axis1 zuweisen
_stConfigLineSpeedAxis1.xActivateSpeedControl := FALSE;
//Geschwindigkeitsregelung nicht aktiviert
_stConfigLineSpeedAxis1.uiTolerance := 10; //[%]
_stConfigLineSpeedAxis1.uiInRangeTime := 500; //[ms]
_stConfigLineSpeedAxis1.uiOutRangeTime := 500; //[ms]
_stConfigLineSpeedAxis1.stGeneral := _stConfigGeneralAxis1;
//Konfigurationsstruktur General von Axis1 zuweisen
xInitDone := TRUE;
Aufruf der Funktionsbausteine und Anbindung MultiMotion Auxiliary Velocity:
// ------------ Durchmessererfassung für Achse 1 -------------
_fbDiameterAcqAxis1(
lrSetDiameter:=_lrSetDiameter,
xSetDiameter:=_xSetDiameter,
xHoldDiameter:=_xHoldDiameter,
xUnwinder:=_xUnwinder,
lrDiameterSignal:=_lrDiameterSignal,
xStandstill:=Interface_Axis1.Basic.Out.xStandstill,
stConfig:=_stConfigDiameterAcqAxis1,
lrDmPersistent:=PersistentVars.lrDmPersistentAxis1);
// ---------- konstante Bahngeschwindigkeit Achse 1 ----------
_fbLineSpeedAxis1(
// FB Eingänge
®