Changing robot override speed from an external input

Hi,

I went on an ABB training course around 18 months ago and I remember the trainer saying it was possible to change the override speed from an external input to the robot (i.e from a PLC). Basically if certain conditions are made in the PLC I want the robot to run a routine at a reduced speed - say 50%

Thanks

Mark


Comments

  • larstoc
    larstoc Trondheim
    How do you intend to communicate with the robot? The only thing you need to do is to send signal or value to the controller which will change the speeddata that the move algorithm uses. There should be many ways to do this, but I can't really say more based on your information. You can read more on speeddata on page 1141 in the IRC5 reference sheet.
  • Hello,
    if you only must change speed override from remote (by ethernet port), you can try by ABB PC SKD and develop a easy console application that do it.

    regards Emanuele
  • rajasekhar1415
    rajasekhar1415 hyderabad
    hello everyone. am new to this field. I am planning to override the speed through plc. if you find any solution please share in this thread. it will be greatful.
  • Fritz
    Fritz Tallinn
    edited November 12
    hello everyone. am new to this field. I am planning to override the speed through plc. if you find any solution please share in this thread. it will be greatful.

    I'm using following code:
       
        ! declarations for interrupts
        LOCAL VAR intnum intSpeedOverride;
        LOCAL VAR intnum intMaxTcpSpeed;
        
        
        !##########################################
        ! must be connected to Power On system event
        PROC RunOnPowerOn()
            ConnectSpeedOverride;
        ENDPROC
     
        
        !##########################################
        PROC ConnectSpeedOverride()
            SetVelocity;
            
            IDelete intSpeedOverride;
            CONNECT intSpeedOverride WITH SpeedOverrideChanged;
            ISignalGI in_SpeedOverride_R1, intSpeedOverride;
            
            IDelete intMaxTcpSpeed;
            CONNECT intMaxTcpSpeed WITH MaxTcpSpeedChanged;
            ISignalGI in_MaxTcpSpeed_R1, intMaxTcpSpeed;
        ENDPROC
        
        LOCAL TRAP SpeedOverrideChanged
            SetVelocity;
        ENDTRAP
        
        LOCAL TRAP MaxTcpSpeedChanged
            SetVelocity;
        ENDTRAP
        
        LOCAL PROC SetVelocity()
            VAR num override;
            VAR num maxSpeed;
            
            override := GInput(in_SpeedOverride_R1);
            maxSpeed := GInput(in_MaxTcpSpeed_R1);
            VelSet override, maxSpeed;
        ENDPROC



    Edit:
    You have to reconnect interrupts also in the beginning of your main routine.

       PROC main()
            ! interrupts are cleared on PP to Main - reconnect
            ConnectSpeedOverride;        
            .....
     
        ENDPROC

  • Hello Raj..,
    you can modify the production speed override by using the system input: "Set Speed Override"

    Refer to ABB System parameter documentation available online or from RobotStudio.



    Best regards Emanuele