Skip to main content

Funktionsbausteine MC_CamTableSelect und MC_CamIn

  • MC_CamTableSelect.MasterAbsolute

    Ist der Eingang MasterAbsolute = TRUE, wird die Kurvenscheibe an der aktuellen Masterposition gestartet. Dieser Punkt darf an einer beliebigen Position des Masterwertebereichs der Kurvenscheibe liegen. Liegt der Punkt außerhalb des Wertebereichs der Kurvenscheibe, wird ein Fehler ausgegeben.

    Ist der Eingang MasterAbsolute = FALSE, wird die Kurvenscheibe auf die aktuelle Position verlagert. Dabei wird der Nullpunkt des Masters auf die aktuelle Masterposition oder auf die Position am Ende der vorherigen Kurvenscheibe gesetzt. Die letztere Variante ermöglicht ein exaktes Anschließen der neuen Kurvenscheibe an die vorherige ohne das manuelle Setzen von Offsets. Dies ist jedoch nur möglich, wenn zur neuen Kurvenscheibe ohne ein Neustart des Funktionsbausteins MC_CamIn Bausteins gewechselt wird und die vorherige Kurvenscheibe im aktuellen Zyklus beendet wurde.

    Der Modus MasterAbsolute = FALSE darf nur verwendet werden, wenn der Wert 0 im Masterwertebereich liegt, da an dieser Position mit der Auswertung der Kurvenscheibe begonnen wird. Andernfalls wird für nicht periodische Kurvenscheiben der Fehler SMC_CI_MASTER_OUT_OF_SCALE ausgegeben.

  • MC_CamTableSelect.SlaveAbsolute

    Der Parameter CamTableSelect.SlaveAbsolute beeinflusst die Betriebsart StartMode des Folgeantriebs. Dieser Modus wird zunächst vom Parameter CamIn.StartMode vorgeschrieben. Welcher StartMode aus der Wechselwirkung der beiden Parameter resultiert, ist in nachfolgender Tabelle dokumentiert.

  • MC_CamIn.StartMode

    • absolute: Beim Start eines neuen Zyklus wird die Kurvenscheibe unabhängig von der aktuellen Position des Slave ausgewertet. Das kann zu einem Sprung führen, falls die Slaveposition an der Masterstartposition abweicht von der an der Masterendposition.

    • relative: Die neue Kurvenscheibe wird unter Berücksichtigung der aktuellen Slaveposition gestartet. Dabei wird die Position, die der Slave nach Ende des vorausgehenden Zyklus besitzt, als Slaveoffset zu den neuen Auswertungen der Kurvenscheibe addiert. Dabei kann ebenfalls ein Sprung auftreten, wenn die Slaveposition an der Master-Startposition nicht 0 ist.

    • ramp_in, ramp_in_pos, ramp_in_neg, ramp_in: Beim Start der Kurvenscheibe werden eventuell auftretende Sprünge durch ausgleichende Bewegungen verhindert. Deren Dynamikwerte werden durch VelocityDiff, Acceleration und Deceleration beschränkt. Wenn der Folgeantrieb rotatorisch ist, bewirkt die Option ramp_in_pos eine Kompensation allein in positiver Richtung, wohingegen ramp_in_neg in negativer Richtung kompensiert. Für lineare Folgeantriebe ergibt sich die Richtung der Kompensation automatisch, ramp_in_pos und ramp_in_neg werden wie ramp_in interpretiert.

  • MC_CamIn.MasterOffset, MC_CamIn.MasterScaling

    Diese Parameter transformieren die Masterposition gemäß folgender Formel: X = MasterScaling * MasterPosition + MasterOffset. Die transformierte Position X wird nun zur Auswertung der Kurvenscheibe verwendet. Somit wird die Kurvenscheibe mit einer höheren Geschwindigkeit abgefahren, wenn der Wert von MasterScaling größer ist als 1; die Geschwindigkeit wird hingegen gesenkt für Werte kleiner 1.

  • MC_CamIn.SlaveOffset, MC_CamIn.SlaveScaling

    Diese Eingabe verschiebt oder skaliert den Graph der Kurvenscheibenfunktion in Richtung des Slaves (vertikale Achse). Die Kurvenscheibe wird zunächst skaliert, anschließend verschoben gemäß folgender Formel: Y = SlaveScaling*CAM( X ) + SlaveOffset. Ein SlaveScaling > 1 bewirkt eine Vergrößerung des Slavewertebereichs; entsprechend führt ein SlaveScaling < 1 zu einer Verkleinerung.

Tabelle 37. Interaktion MC_CamIn.StartMode und CamTableSelect.SlaveAbsolute

MC_CamIn.StartMode

MC_CamTableSelect.SlaveAbsolute

MC_CamIn.StartMode: Neuer Wert

absolute

TRUE

absolute

absolute

FALSE

relative

relative

TRUE

relative

relative

FALSE

relative

ramp_in

TRUE

ramp_in absolute

ramp_in

FALSE

ramp_in relative

ramp_in_pos

TRUE

ramp_in_pos absolute

ramp_in_pos

FALSE

ramp_in_pos relative

ramp_in_neg

TRUE

ramp_in_neg absolute

ramp_in_neg

FALSE

ramp_in_neg relative