# Master period /Slave period of a cam must be an integer

**URL:** <https://community.br-automation.com/t/master-period-slave-period-of-a-cam-must-be-an-integer/7160>\
**Category:** Mechatronics & Motion\
**Tags:** automation-studio\
**Created:** [June 2, 2025, 8:42pm UTC](https://community.br-automation.com/t/master-period-slave-period-of-a-cam-must-be-an-integer/7160 "2025-06-02T20:42:15Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Joslet\_Sebastian](https://avatars.discourse-cdn.com/v4/letter/j/FF8800/32.png) [@Joslet\_Sebastian](https://community.br-automation.com/u/Joslet_Sebastian)\
**Post date:** [June 2, 2025, 8:42pm UTC](https://community.br-automation.com/t/master-period-slave-period-of-a-cam-must-be-an-integer/7160/1 "2025-06-02T20:42:15Z")

</div>

I am getting error, Master period /Slave period of a cam must be an integer. How do I get rid of this error. I am using MpAxisCoupling function block to configure the Cam.

 ![image](https://europe1.discourse-cdn.com/brcommunity/original/2X/8/8dc2997bf2e93dac3bb732b88fe6a85c63ec2b3d.png)

---

<div class="post-metadata">

**Author:** ![Stefan\_Holz](https://avatars.discourse-cdn.com/v4/letter/s/FF8800/32.png) [@Stefan\_Holz](https://community.br-automation.com/u/Stefan_Holz)\
**Post date:** [June 3, 2025, 4:37am UTC](https://community.br-automation.com/t/master-period-slave-period-of-a-cam-must-be-an-integer/7160/2 "2025-06-03T04:37:14Z")

</div>

Hi,

try making the cam 0/0 → 1/1

 ![grafik](https://europe1.discourse-cdn.com/brcommunity/original/2X/6/658751f3c34bf809815a7737f6de0fd11a055f31.png)

An then Scale it via the FB:  
[Coupling FB](https://help.br-automation.com/#/en/4/motion/mapp_motion/programmierung/bibliotheken/technologie/axis/datentypen_und_konstanten/mpaxiscampartype.html)

Scaling could be for example:  
Master 36000(360°)  
Slave 72000(720°)

depening on your scaling of the axes

That way the slaveaxis makes 2 revolutions while the master makes one.

---

<div class="post-metadata">

**Author:** ![Joslet\_Sebastian](https://avatars.discourse-cdn.com/v4/letter/j/FF8800/32.png) [@Joslet\_Sebastian](https://community.br-automation.com/u/Joslet_Sebastian)\
**Post date:** [June 4, 2025, 8:46pm UTC](https://community.br-automation.com/t/master-period-slave-period-of-a-cam-must-be-an-integer/7160/3 "2025-06-04T20:46:51Z")

</div>

Thanks for the help. I could not put any CamID value . It shows error in the logger as , Value”1” for CamID is invalid.

 ![](https://europe1.discourse-cdn.com/brcommunity/original/2X/2/2709a4c4f1bab7c0e89d1c22fd5eb95e9ea2a53f.png)

---

<div class="post-metadata">

**Author:** ![michael.bertsch](https://dub1.discourse-cdn.com/brcommunity/user_avatar/community.br-automation.com/michael.bertsch/32/239_2.png) [@michael.bertsch](https://community.br-automation.com/u/michael.bertsch)\
**Post date:** [June 5, 2025, 6:45am UTC](https://community.br-automation.com/t/master-period-slave-period-of-a-cam-must-be-an-integer/7160/4 "2025-06-05T06:45:28Z")

</div>

Hi,

The CAM must be transfered to the ACOPOS Axis were it will be used.  
This can be done via a ChannelFeature or during Runtime via a Functionblock.

**Functionblock**  
[CamPrepare](https://help.br-automation.com/#/en/4/motion/mapp_motion/programmierung/bibliotheken/core/axis/funktionsbausteine/mc_br_camprepare/fb_br_camprepare.html)

**ChannelFeature**

1. Cam must be part of the Software Configuration  

2. Add Cam List  
[CamList](https://help.br-automation.com/#/en/4/motion/mapp_motion/konfiguration/basic_components/cam_list.html)  

3. Add Cam List Channel Feature  
[Channel Feature CAMList](https://help.br-automation.com/#/en/4/motion/mapp_motion/konfiguration/basic_components/axis_feature/cam_list.html)  

4. Add Cam List Channel Feature to Slave Axis  

Greetings  
Michael

---

<div class="post-metadata">

**Author:** ![Joslet\_Sebastian](https://avatars.discourse-cdn.com/v4/letter/j/FF8800/32.png) [@Joslet\_Sebastian](https://community.br-automation.com/u/Joslet_Sebastian)\
**Post date:** [June 5, 2025, 5:14pm UTC](https://community.br-automation.com/t/master-period-slave-period-of-a-cam-must-be-an-integer/7160/5 "2025-06-05T17:14:36Z")

</div>

Hi Michael,

Thanks for the help. The slave axis(gAxis\_2) synchronize with the master axis(gAxis\_1), but I am not getting the correct position wave form and the velocity goes to negative.

 ![](https://europe1.discourse-cdn.com/brcommunity/original/2X/3/3d8bd38037fc8d4313696edb0eb6e058c91ae951.png)

 ![](https://europe1.discourse-cdn.com/brcommunity/original/2X/a/a64ade34a1d9ab6a0f50eada2866f2e231261b14.png)

---

<div class="post-metadata">

**Author:** ![michael.bertsch](https://dub1.discourse-cdn.com/brcommunity/user_avatar/community.br-automation.com/michael.bertsch/32/239_2.png) [@michael.bertsch](https://community.br-automation.com/u/michael.bertsch)\
**Post date:** [June 6, 2025, 6:44am UTC](https://community.br-automation.com/t/master-period-slave-period-of-a-cam-must-be-an-integer/7160/6 "2025-06-06T06:44:11Z")

</div>

Hello,

good to hear that you were now be able to get to Synchronised Motion.

**First about you CAM Curve**  
The Y-Axis is the Slave Position at a spezific X-Axis Master Position.  
In the first half of you curve you move the slave in a positive direction as long as the master reaches the 0,5 units mark. At this Position the Slave has 0 Velocity. In the next half of the curve you move the slave in a negative direction to 0 as long as the master reaches 1 unit mark.

 ![image](https://europe1.discourse-cdn.com/brcommunity/original/2X/9/98a19d42f1d043ba83d6c817fa9daab02e168321.png)  
This means if you couple your slave into the master, and then the master has a constant positive movement, the slave will go forward , backward, forward, backward, …  
If the master will change its movement, this will alter also the slave movment, so it is important that we allways know also the master movement which is used.

* * *

For better diagnosis i would recoment to use the trace section of the mapp cockpit.  
So you can have all relevant Data on one screen.

Configuration Window

 ![image](https://europe1.discourse-cdn.com/brcommunity/original/2X/8/8dee447431c1323c75957854f35b991818a83112.png)

Analysis Window  
(Sample Values not related to this topic!)

 ![image](https://europe1.discourse-cdn.com/brcommunity/original/2X/8/81f6e923c7fcdb49c9e0533e93ad564afaa24029.png)

Detail for XY-Configuration

 ![image](https://europe1.discourse-cdn.com/brcommunity/original/2X/0/0fb6dcb899b4a817ae5bdec29522c6a18b2088ab.png)

* * *

About your movement issues…

- **The Master/Slave Scaling of the curve is wrong?**  
You have to consider ACOPOS Units when working with CAM Curves. They depend on the Measurement resolution of you axis, and are different to the Measurement units normaly used in the Axis API.  
**ACOPOS Units \* Measurement resolution = Measurement units**  
 ![image](https://europe1.discourse-cdn.com/brcommunity/original/2X/a/a2f6ee4fbd85bd30c0afe674435516b31c402aa8.png)

- **How did the master moved?**  
The master movement can also influence the slave movement

Greetings  
Michael

---

<div class="post-metadata">

**Author:** ![Joslet\_Sebastian](https://avatars.discourse-cdn.com/v4/letter/j/FF8800/32.png) [@Joslet\_Sebastian](https://community.br-automation.com/u/Joslet_Sebastian)\
**Post date:** [June 6, 2025, 5:07pm UTC](https://community.br-automation.com/t/master-period-slave-period-of-a-cam-must-be-an-integer/7160/7 "2025-06-06T17:07:31Z")

</div>

Thanks Michael,  
I am able to trace one cycle of the slave position in one cycle of the master position as seen below.

 ![image](https://europe1.discourse-cdn.com/brcommunity/original/2X/8/886e1155bec50d784a10176d333b32a32b885397.png)  
How can I get 3 cycles of slave position in one master position cycle.

---

<div class="post-metadata">

**Author:** ![michael.bertsch](https://dub1.discourse-cdn.com/brcommunity/user_avatar/community.br-automation.com/michael.bertsch/32/239_2.png) [@michael.bertsch](https://community.br-automation.com/u/michael.bertsch)\
**Post date:** [June 6, 2025, 5:30pm UTC](https://community.br-automation.com/t/master-period-slave-period-of-a-cam-must-be-an-integer/7160/8 "2025-06-06T17:30:36Z")

</div>

Hi,

Option 1.  
Change the CAM to contain 3 Periods.  
0,1666666667. → 1  
0,3333333333 → 0  
…  
1 → 0

Option 2.  
Adapt the Masterscaling with a Factor \*1/3

As 1/3 is 0.3333333 this is a bad value for this option. 1/2 = 0.5 would be better, but this is not what you desired.

You always have to be carefull that you stay within defined periods.

CAMs normaly run in a long positive periodic run… so small units can sum up, at every cycle and end up in larger errors. So the periods should be considered.

Greetings  
Michael
