beautypg.com

Example 2 - function block – Yaskawa MotionWorks IEC Toolboxes User Manual

Page 329

background image

Math Toolbox

MotionWorks IEC61131-3 Toolboxes: 2013-09-13

316

Correction:=REM((-RegistrationData.BufferNonCyclic[TempUsePointer] - RegistrationData.SensorOffset),
CamMasterCycle) + ((ControlData.EndSyncPosition - ControlData.StartSyncPosition) / LREAL#2.0);

Duration:=RegistrationData.SensorDistance - ((ControlData.EndSyncPosition -
ControlData.StartSyncPosition) / LREAL#2.0) - (ActualPositionNonCyclic -
RegistrationData.BufferNonCyclic[TempUsePointer]);

ELSE

(* These calculations are designed for reciprocating cam profiles (Slave net change = zero each cycle, Out

and Back *)

Correction:= - REM( (REM(RegistrationData.BufferCyclic[TempUsePointer], CamMasterCycle) +
(RegistrationData.SensorDistance - ControlData.StartSyncPosition - ((ControlData.EndSyncPosition -
ControlData.StartSyncPosition) / LREAL#2.0))), CamMasterCycle);

Duration:=RegistrationData.SensorDistance - ControlData.StartSyncPosition - ((ControlData.EndSyncPosition
- ControlData.StartSyncPosition) / LREAL#2.0);

END_IF;

Example 2 - Function Block