RobotStudio event

Smart component collision sensor not working with virtual flex pendant

Hello, I am working on a project that involves a single robot that uses a storage rack for multiple end effectors. We are running robot studio v5.15.02 for this station. I am able to simulate changes between end effectors successfully using smart components in the simulation tab. Each end effector has its own smart component in robot studio. The smart components have an attacher and detacher that are triggered by a combination of a digital input and a collision sensor. If the robot is in contact with the end effector AND there is a high signal for the quick changer digital input, then the attacher is triggered. My problem occurs when I try to use the virtual flex pendant. Once I try to run the simulation from the virtual FP, only the initial end effector in contact with the robot is attached/detached. This happens regardless of what position or which tool is in contact with the robot. Clearly the collision sensors in the smart components are still working, it’s just the wrong end effector gets attached. I am trying to figure out how to solve this difference in behavior between the two simulation modes. I have tried deactivating the Virtual Controller under simulation setup/simulation scenarios as some users have suggested for time related smart components. This had no effect. I also have the “Perform collision detection” setting under simulation options set to “Always.” Still no luck. Any ideas or suggestion?

Comments

  • Hi, The collision sensor (and most other sensors) is updated 1) continuously during simulation, and 2) when the the Active signal is toggled. If you are running the program from the VFP there is no simulation, so only 2) applies. Hope this clarifies things. Regards, Johannes
    Johannes Weiman
    Software Engineer
    RobotStudio Team, ABB Robotics
  • bareftr
    bareftr
    edited August 2015
    I see, thank you for your fast response! With your advice in mind, I added some code to the tool change that would reset, then set a DO connected to the “Active” node on all of the collision sensors. IF NOT RobOS() THEN Reset VirtActivate; WaitTime .1; Set VirtActivate; ENDIF This worked great for me.
  • Sorry, previous post didn't retain the formatting