RobotStudio event

Smart Components - I/O Signals

edited July 2021 in RobotStudio
Hi, I am trying to create smart components in RS to replicate the real life.

I have created a tool using the mechanism wizard to replicate a 3/2 spring return valve paint spraying gun. This is to allow two positions of the gun and maximise reachable angles.

I have discovered after reading many posts on the forum that a moving TCP is not supported, therefore I have had to create TCPs for both positions of the spray gun which I will have to switch between in Rapid.

As far as I am aware, after watching tutorials and reading online the way to make this work in Rapid is to create Smart Components (SC). I have followed the steps shown, which uses the 'PoseMover' feature in the SC Compose menu. I have my two Poses, however I want to connect this to only one output that's already on the controller from a backup taken. On the real life spray gun, there is only one output to control the mechanism, whereas on RS i've only seen ways to create this using two, using a DI and DO for each pose.

I have connected this output in Station Logic already, however it isn't working correctly. I have tried it with only one 'pose' to then to reset the signal like it does in real life, however that has not worked.

Please can someone advise me what I am doing wrong?
Post edited by EmilyReid on


  • If I understand you question correctly, you are after 1 digital output from the controller to control 2 PoseMovers? You could use a NOT gate to make sure one of the pose movers is always on execute.

  • Thank you very much Daniel for your reply! This is my first time using logic in Smart Components so I haven't quite got my head around it. I have somehow managed to get my tool mechanism, and a turntable mechanism working. It's just our slide left to do.

    What I'm attempting to do seems very confusing to me, so any help would be much appreciated. 

    So I have 5 outputs, and 10 Poses I need to connect.

    (There are 3 Air Rams for the Slide mechanism which create 5 Poses)
    For example, PoseMover_13 (Pose 1), all Slide DOs need to be at 0, and 'Ram_down' needs to be 0.
    For PoseMover_15 (Pose 2), Slide DOs 1&2 need to be 0, and Slide DO 3 to be 1 etc...

    I'm struggling to figure out how to do this when there are so many signal values involved in just one move. This is all set in real life, so cannot be changed!

    Sorry If I confuse anyone, this is where I'm up to. I did uses 'LogicSplit' for our tool, but that doesn't work for this many signals. Will the 'LogicGate [NOT]' work for this?

  • Ok great! 

    Yes you can use the logic gates to execute the pose depending on the different signal values. I find it easier to type it out with the Logic Expression smart component when using lots of signals.

    So PoseMover_13 (Pose 1) expression would be something like: !S1 AND !S2 AND !S3 AND !RamDown

    PoseMover_15 (Pose 2) expression: !S1 && !S2 && S3
  • Thank you so much Daniel for your help, I really appreciate it! It worked perfectly!