Cartesian robot with two vertical axis and a flow with part exchange

Hello everyone,

I‘ve an issue with an cartesian robot with two vertical axis.

I would control these two geometrys with the works RobotController but however only one vertical axis is possible for the RobotController. The axes must be switched by loading to the first mountplate and by unload to the other mountplate.

Also the flow was an issue that comes from the two axis. If a mashine requests a new raw part the gantry has to get a new raw part before for the part exchange.


My solution approach for the axis issue is as followed:

With PythonKinematics and a script named AxisSwitchScript i made a switching function based on the requested tasks from flanged RobotPositioner. The Problem i‘m see is in the mountplate link that includes the partcontainer. I’m not able to switch between this two mountplates so that the part will be rigth transported.

And for the flow issue my approach is as followed:

I put an works process in both gripper and with these i decoupled the flow and made a intermediate step with changing the id and then the mashine has a need for this id.


Is it possible to switch the linked links in robot controller?

Is here my approach with an works process in both gripper possible or is there an better solution for it?


Best greetings and thanks in advanced


KinematicSwitcherAbstract.vcmx (1.94 MB)

Hy Maximum,

I would not try to switch aroud with a seperate Script in the Kinematic. If the robot works fine it maybe works by define the right Tool and it’s Tcp in the Feed-Task in the specific Works-Process?!




Hy Feature,

I tried it quickly but if’ve got the follow error with the second tcp from the robot positioner…Error


maybe solving this problem could be your solution…



Hi Maximum

I would recommend to use PM for this. I have done couple of cases kind of like this one.

So trick here is to have all the process executors to be in same component!

Because you will use servo controller task to move around with your manipulator. And also you need to use property conditions to sync process executors.

My projects wasnt as complicated as this one but i think it could work with this also.

Hy Ozan,

I prefer to use the works library because i’ve solved the part change flow with it but unfortunately, it was only possible for me by changing the standard works processes and make a script that handles the request’s and the switching function’s.

From my script, that “subscribed” on the robotpositioner and listen on the requested task, i describe the note from the gripper works processes based on the intercepted task. This is how i create my own work flow.


Greets Max