Creation of the motion path

INFORMATION

The path is exported between program start and end of program.

Proceed as follows to create the motion path:

  1. Import or program the SRL program with the motion commands.
    • The fastest way to create a simple motion path is by using the "Create pick-and-place program" functions. Here, the motion path only has to be parameterized. No programming knowledge is required for this. If the pick-and-place program is not sufficient to map the motion, all possibilities of MOVIKIT® Robotics can be exhausted (conveyor belt tracking, touchprobe, etc.). The associated drive torques can be simulated for any path.
    • Recommendation: Do not initially focus on adhering to the required cycle time. It is important for the robot to move along the correct path in the space. Therefore, initially assign default values to the motion parameter sets if these are still known (e.g. if only one cycle time is specified for the motion task).
  2. Optimize the cycle time of the motion based on the application requirement.
    • To do this, adjust the motion parameter sets while respecting the application requirements for speed, acceleration and jerk.
    • When logged into the IEC Editor under SEW_GVL_Internal.WorkbenchExporter.Out.lrLastSequenceDuration_Sec, the duration of a cycle can be read out after the motion has been completely run through once (program ended).
  3. Optional: Extension to include workpiece pickup and deposit (default value: workpiece not gripped)
    • To do this, use an SRL variable with the "workpiece gripped" semantics and use SET_BOOLVAR to assign this to TRUE when the pickup location is reached, and to FALSE when the deposit location is reached. If there is no exact stop at these locations, the BOOL variable must be switched with a path event.
    • The value of the SRL variable must be written to the corresponding variable of the dynamic model in User-PRG.CallHighPrio(). "MyRobot" corresponds to the name of the robot node defined in MOVISUITE®.
      IF SEW_PRG.xInit THEN                                                 
      MyRobot_DynamicModel.xWorkpieceLoaded:=
      Interface_MyRobot.PrgVar.axBoolValues[1];

      END_IF