Motion Recorder Software Package

Description

The Motion Recorder allows for the movement of a number of axes to be captured and played back. During playback a virtual axis replaces time allowing for the motion pattern to be run at different speeds, paused and resumed, and run forward or backwards. Imagine recording the movement of a machine with a video camera and then fast forwarding, rewinding, and pausing the video playback. These same effects are made available on the physical machine with the Motion Recorder. The Motion Recoder is a special case of the more general electronic camming principles supported by the controller. This particular software package collects 30 seconds of motion at 100 Hz and performs interpolation between recorded points for sample rate resolution. Other durations and sampling frequencies can be performed to achieve specific objectives. Contact technical support for variations.

Motion Recorder Blocks

The Motion Recorder has number of blocks that directs action as described below

Initialize

The Initialize blocks requires 3 parameters:

The first two parameters are the axes that will be recorded. The third parameter is a virtual axis that represents progress through the recording. This index should be chosen above any physical axes available in the system. This block must be performed prior to using any of the remaining Motion Recorder blocks.

Begin Capture

Begin Capture commences recording similar to pushing the start button on a video recording.

End Capture

End Capture is the opposite of Begin Capture and concludes any recording.

If 30 seconds transpires Between Begin Capture and End Capture a error is indicated with a prompter.

Capturing

While the Motion Recorder is capturing motion the expression Capturing is true.

This expression is similar to the visual reminder on a video recorder that recording is taking place.

End Of Recording

The End Of Recording number in the data area under Motion Recoder indicates how many samples were recorded.

With 100 Hz sampling and 30 seconds of time this number has a maximum value of 3000.

Save

The Save block places the recorded information into flash memory. A number of takes can be made until there is a satisfactory result. That result can then be saved.

Engage

The Engage block allows for playback to occur. If the axes are not near the recorded path the Motion Recorder will inspect the recording to identify the closest point in the recording to the current location of the axes and move the axes to that point. Engaging does not commence any movement but prepares for movement. While engaged the axes are directed by the Motion Recorder and not by individual axis commands.

Disengage

The Disengage block disconnects the axes from the Motion Recorder making them responsive to individual axes commands again.

Playback with Motion Blocks

The Motion Recorder is a software package configured to act in the role of a motion axis. Playback is accomplished by telling the Motion Recorder to move through the recording with the same blue motion directives used for any other motion. The name Motion Recorder is available in the drop down list of axes available for motion commands.

This block directs the Motion Recorder to playback the motion to the end of the recording:

The motion range is enforced with Positive and Negative software limits. If an attempt is made to play past either the end of the recording a position limit escapecode will occur.

This block runs the motion backwards to the beginning:

This block stops the playback:

This block causes a future playback to occur at twice the recorded speed of 100 Hz:

The Accel and Decel commands also work allowing the playback to be snappier or more gentle. Note that the virtual axis running the playback has accels and decels. The initial motion that was recorded also operated subject to accels and decels. Accordingly the playback will have extra gentle accel since the recorded accel is subject to another accel from the Motion Recorder. To avoid this change in behavior set the Motion Recorder accel and decel to high values but remember that stopping the Motion Recorder in this condition could be abrupt. Since Accel and Decel can be changed during motion it is an option to change the rates based on the circumstances.

The position of the playback is appropriately reported through the Commanded Position block

The reported position is in recording samples.

The playback is done when the Motion Recorder move is finished:

Examples

This block list records a two axis pattern:

This Button Click saves the recording with some status indicating progress:

This Jog button moves the pattern forward stopping if the button is released:

And this button moves the pattern in reverse:

Engaging can be done automatically by making a procedure that engages before performing motion. It's also possible to have a Motion Overrun, like any other axis, by telling the motion to go in reverse while it is still moving forward and decelerating. These features can be consolidated into a block procedure:

The current position within the playback can be reported with a Show block:

Extensions

The Motion Record is just an application program. The principles used to build it can be used to build other types of gearing and camming structures. If the Motion Recorder does not directly fit your application contact technical support for assistance in having the component that best fits the application requirements.