I recently used a hardware configuration where a B&R X20CP1381 CPU was controlling a couple of async motors using the ACOPOSmicro and a stepper motor using the X20SM1436. I needed a task running at 4ms but the current configuration was set to 10ms. When you add an ACOPOS controller, the CPU system timer configuration changes automatically to EPL/X2X Interface and the POWERLINK interface is selected, in my case it is the IF3 interface. The POWERLINK cycle time is 10ms by default in a new project.
So, in order to change my tasks cycle time, I have to change the POWERLINK cycle time to 4ms, which allows me to set the #1 Task classes timing to 4ms.
All looked fine, I tested the async motors and they were working, but when I tested the stepper motor I had an error, don’t remember its code but it was something related to timing. I opened the X2X (IF6) bus configuration and changed its cycle time also to 4ms. This fixed the problem! I think the reason is that the ncsdcctrl program is in the cyclic #1 tasks group running at 4ms and the X2X bus was running slower. I guess that if I had placed the ncsdcctrl program in a 10ms task it would also fix the issue, as the X2X cycle time is 10ms by default. Ho well, 10 is not a multiple of 4 so I can’t have a 10ms task, that fix wouldn’t work ;-) So probably the only possible solution is to have the POWERLINK, the X2X bus and the ncsdcctrl program all running at 4ms.