Chapter 10: Group Motion
In Chapter 5, we talked about single-axis motion. In this chapter, you'll learn how to move multiple axes at the same time. KINGSTAR offers three kinds of group motion: linear, circular, and helical. We focus on linear and circular in this chapter.
Axes can be moved individually even if they are added to a group.
Linear motion
- It works like single-axis motion.
- It's up to 32 groups and 64 axes. The interpolation is vectorial and all axes reach their end positions at the same time.
- Target positions are arrays with a value for each coordinate.
- From KS 4.1, KINGSTAR supports Axis Coordinate System (ACS), Machine Coordinate System (MCS), and Product Coordinate System (PCS). Before 4.1, KINGSTAR supports only ACS.
Circular motion
- It's up to 32 groups and 64 axes.
- It moves a group in 2D or 3D space.
- There are three ways to define a circle: mcBorder, mcCenter, and mcRadius.
- The length of the aux point and end point arrays should be three even for 2D circles.
Helical motion
- It's up to 32 groups and 64 axes.
- It moves a group in 2D or 3D space.
- There are three ways to define a circle: mcBorder, mcCenter, and mcRadius.
- The length of the aux point and end point arrays should be three even for 2D circles.
Blending motion
- There are four velocity blending modes: mcBlendingLow, mcBlendingHigh, mcBlendingPrevious, and mcBlendingNext.
- KINGSTAR supports velocity blending for linear and circular motion, and path blending for linear motion. Path blending uses transition modes.
- Only one transition mode is supported: mcCornerDistance.
Add a header and .cpp file
You need to add a header and a .cpp file to learn the code of this chapter. The steps of adding them are written in Chapter 2 > Add a header and .cpp file.
- Add a header file:
- Add a .cpp file:
In Solution Explorer, in Header Files, add a header file and name it "GroupMotion.h
."
In Solution Explorer, in Source Files, add a C++ file and name it "GroupMotion.cpp
."
Tutorials
Take the following steps to complete the training:
- Linear motion
- Circular motion
- Helical motion
- Test a group movement
- Stop a group movement
- Blending for group motion
- Get and set group values