continuously monitor a GI signal

  • HI,

    I need to monitor the value of a laser during a linear movement of the robot.

    The laser gives me an instantaneous reading of the part and passes me a GI signal.

    I am looking for a solution similar to the "SearchL" instruction but which works with GI signals.


    The aim is to stop the robot's path when the laser detects a certain height.


    In kuka I can do this without any problems, but with ABB I cannot find a solution.


    Can you help me? :tired_face:

    thanks

  • ISignalAI instruction will allow you to trigger an interrupt from an analog value. You should be able to remap you GI to an AI representation. With this, you can specify a value which represents the desired height interrupt. You will have to experiment with the scaling, but you should be able to do so.

  • A LOT more crass than Lemster's solution (provided your system has multitasking) would be to monitor the group input you have with a background task (monitoring activated by a persistent Boolean variable & using the desired robot for the task's Use Mechanical Group) in a WHILE DO loop then stop once the condition is met.


    WHILE bMonitorActive DO

    WHILE GInput(gi_LaserValue)>nDesiredHeight DO

    WaitTime 0.001;

    ENDWHILE

    StopMove;

    bMonitorActive:=FALSE

    WaitTime 0.001;

    ENDWHILE


    Yes, this is only a snippet.

    Edited once, last by SomeTekk ().

Advertising from our partners