RobWorkProject  20.10.1-
Public Member Functions | List of all members
Fanuc Class Referenceabstract

The interface for a fanuc robot. More...

#include <Fanuc.hpp>

Inherited by FanucDriver, and FanucVirtual.

Public Member Functions

virtual ~Fanuc ()
 destruct object
 
virtual void setGlobalSpeed (int speed)=0
 sets the speed in percentage of the maximum speed. More...
 
virtual int getGlobalSpeed ()=0
 gets the speed in percentage of the maximum speed. More...
 
virtual void moveFineQ (rw::math::Q const &q)=0
 sends a move FINE command to the fanuc controller. The FINE command moves to the given Q and stops. More...
 
virtual void moveCntQ (rw::math::Q const &q)=0
 sends a move CNT command to the fanuc controller. The CNT command moves toward the given Q and blends toward the next move command if any is given before q is reached. More...
 
virtual bool isMoveComplete ()=0
 queries if the last move instuction is completed. Notice that the CNT move instruction completes before reaching the goal configuration. More...
 
virtual void setCntQSpeed (int speed)=0
 sets the speed of the moveCntQ instruction in percentage of the globalspeed. More...
 
virtual void setFineQSpeed (int speed)=0
 sets the speed of the moveFineQ instruction in percentage of the globalspeed. More...
 
virtual void setCntQAcc (int acc)=0
 sets the acceleration override of the moveCntQ instruction in percentage of "normal" acceleration were normal is 100%. More...
 
virtual void setFineQAcc (int acc)=0
 sets the acceleration override of the moveFineQ instruction in percentage of "normal" acceleration were normal is 100%. More...
 
virtual rw::math::Q getQ ()=0
 gets the joint configuration of the robot. The configuration is only updated by calls to the update function. More...
 
virtual rw::math::Q getdQ ()=0
 gets the joint velocities of the robot. The configuration is only updated by calls to the update function. More...
 
virtual void update ()=0
 updates all internal registers and transmits commands to the robot controller.
 
virtual bool connect ()=0
 connects to the robot controller More...
 
virtual bool isConnected ()=0
 returns if connected to fanuc controller More...
 
virtual void disconnect ()=0
 disconnects from the robot controller
 
virtual void callRobotProgram (unsigned int progNr)=0
 calls a program on the robot controller.
 
virtual void setCallArguments (float arg1, float arg2, float arg3)=0
 We allow 3 arguments to be setup before calling a robot program. More...
 
virtual bool isCallFinished ()=0
 checks if a call to a robot program on the controller is finished
 
virtual bool notifyProgram ()=0
 notifies the robot controller by setting the notify register to 1.0 More...
 
virtual bool isCallWaiting ()=0
 checks if the robot controller is waiting for a notify. More...
 
virtual float getLastError ()=0
 check last occored error More...
 
virtual void resetError ()=0
 resets the error status
 

Detailed Description

The interface for a fanuc robot.

All internal values are updated using the update function. That means a call to moveCntQ(q) is first sent to the robot when update() is called.

Member Function Documentation

◆ connect()

virtual bool connect ( )
pure virtual

connects to the robot controller

Returns
true if connect is succesfull, false otherwise

Implemented in FanucVirtual, and FanucDriver.

◆ getdQ()

virtual rw::math::Q getdQ ( )
pure virtual

gets the joint velocities of the robot. The configuration is only updated by calls to the update function.

Returns
the current joint velocity.

Implemented in FanucVirtual, and FanucDriver.

◆ getGlobalSpeed()

virtual int getGlobalSpeed ( )
pure virtual

gets the speed in percentage of the maximum speed.

The speed is always in the interval [0;100]

Implemented in FanucVirtual, and FanucDriver.

◆ getLastError()

virtual float getLastError ( )
pure virtual

check last occored error

Returns
error code of last returned error

Implemented in FanucVirtual, and FanucDriver.

◆ getQ()

virtual rw::math::Q getQ ( )
pure virtual

gets the joint configuration of the robot. The configuration is only updated by calls to the update function.

Returns
the current joint configuration.

Implemented in FanucVirtual, and FanucDriver.

◆ isCallWaiting()

virtual bool isCallWaiting ( )
pure virtual

checks if the robot controller is waiting for a notify.

Returns
true if robot controller is waiting for notify false otherwise

Implemented in FanucVirtual, and FanucDriver.

◆ isConnected()

virtual bool isConnected ( )
pure virtual

returns if connected to fanuc controller

Returns
true if connected, false otherwise

Implemented in FanucVirtual, and FanucDriver.

◆ isMoveComplete()

virtual bool isMoveComplete ( )
pure virtual

queries if the last move instuction is completed. Notice that the CNT move instruction completes before reaching the goal configuration.

Returns
true if last move instruction is complete false otherwise.

Implemented in FanucVirtual, and FanucDriver.

◆ moveCntQ()

virtual void moveCntQ ( rw::math::Q const &  q)
pure virtual

sends a move CNT command to the fanuc controller. The CNT command moves toward the given Q and blends toward the next move command if any is given before q is reached.

Parameters
q[in] The joint configuration to move to.

Implemented in FanucVirtual, and FanucDriver.

◆ moveFineQ()

virtual void moveFineQ ( rw::math::Q const &  q)
pure virtual

sends a move FINE command to the fanuc controller. The FINE command moves to the given Q and stops.

Parameters
q[in] The joint configuration to move to.

Implemented in FanucVirtual, and FanucDriver.

◆ notifyProgram()

virtual bool notifyProgram ( )
pure virtual

notifies the robot controller by setting the notify register to 1.0

Returns
true if notify is posible, false otherwise.
Note
that the notification will happen at the next update

Implemented in FanucVirtual, and FanucDriver.

◆ setCallArguments()

virtual void setCallArguments ( float  arg1,
float  arg2,
float  arg3 
)
pure virtual

We allow 3 arguments to be setup before calling a robot program.

Parameters
arg1[in] first argument
arg2[in] second argument
arg3[in] third argument

Implemented in FanucVirtual, and FanucDriver.

◆ setCntQAcc()

virtual void setCntQAcc ( int  acc)
pure virtual

sets the acceleration override of the moveCntQ instruction in percentage of "normal" acceleration were normal is 100%.

Parameters
acc[in] the acceleration overide in percent ]0;500]

Implemented in FanucVirtual, and FanucDriver.

◆ setCntQSpeed()

virtual void setCntQSpeed ( int  speed)
pure virtual

sets the speed of the moveCntQ instruction in percentage of the globalspeed.

Parameters
speed[in] the speed in percent ]0;100]

Implemented in FanucVirtual, and FanucDriver.

◆ setFineQAcc()

virtual void setFineQAcc ( int  acc)
pure virtual

sets the acceleration override of the moveFineQ instruction in percentage of "normal" acceleration were normal is 100%.

Parameters
acc[in] the acceleration overide in percent ]0;500]

Implemented in FanucVirtual, and FanucDriver.

◆ setFineQSpeed()

virtual void setFineQSpeed ( int  speed)
pure virtual

sets the speed of the moveFineQ instruction in percentage of the globalspeed.

Parameters
speed[in] the speed in percent ]0;100]

Implemented in FanucVirtual, and FanucDriver.

◆ setGlobalSpeed()

virtual void setGlobalSpeed ( int  speed)
pure virtual

sets the speed in percentage of the maximum speed.

The speed can be set in the interval [0;100]

Implemented in FanucVirtual, and FanucDriver.


The documentation for this class was generated from the following file: