The programming method described herein for robotic control utilizes external binary inputs rather than fixed motion control and PLC software. Generally, the robot executes a loop, where it checks to see if binary coded inputs have been set, and if so, the robot executes the step called for by the input. It then cycles the loop again to check for another input.
Essentially, the method takes advantage of the processing speed of the robot to execute infinitely short programs, which are integrated and real-time to form the resultant full program. This allows for modifications of or additions to programmed executable actions, which in the context of an arc welding robot may include modifying torch position/angle, initiating arc start/end, moving from point to point and the like to happen sequentially and to be modified flexibly to suit the application at hand. Inputs to the binary input string can come from switch boxes, joystick controllers, sensors and/or external computer controls that apply engineering rules to other inputs. Exemplary engineering rules include, without limitation, amperage limits, pre-heat requirements, soft limits of robot movement, and the like.
The method allows override of the process in execution to optimize the program based on data collected on the process by sensors or human monitoring. The robot executes individual commands as programs or sub-routines, which are combined to form the resultant full program automatically and in real time. The system combines sensor and/or human inputs to the engineering rules established in the control system.
A plurality of sensors 18 monitor operating conditions of the robot. The sensors 18 communicate with the switches 14 and activate or deactivate specific switches according to sensed operating conditions and the engineering rules. In one example, the sensors 18 may activate switches to provide an alert if one of the robot operating conditions approaches or exceeds a corresponding engineering parameter limit. Any number of sensors 18 may be provided. Exemplary sensors include temperature sensors, robot position sensors (OB sensors), emergency stop switch sensors, electrical sensors (voltage, amperage), weld temperature sensors, and the like. In addition to manual human inputs, the sensors 18 activate specific switches 14 to provide the binary input for modifications of or additions to the programmed executable actions.
A logic program stored in a memory 20 is executed by a processor 22 within the robotic controller 16 to effect responses to the inputs. In this manner, the robotic controller 16 is programmed to perform executable actions from a control loop. The controller 16 includes one of a polling mechanism or an interrupt mechanism 24 in communication with the binary inputs. In the event that a modification of or addition to the executable actions is required, the program can be modified during execution of the control loop by a combination of inputs via the switches 14 controlled by a person or computer.
The external source communicates with the controller by completing a circuit through the input block of the controller, similar to turning a light on using a switch. The combination of inputs combined represents the binary number that the controller uses to determine a sub-program (A-D) to execute.
The method described herein takes advantage of robot processing speed to execute short programs that are integrated to form a resultant full program. As a consequence, predefined executable actions for robot control can be modified in real-time using a binary input string.
While the invention has been described in connection with what is presently considered to be the most practical and preferred embodiments, it is to be understood that the invention is not to be limited to the disclosed embodiments, but on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.