1. A method for controlling a robot comprising the steps of: executing a control program having a plurality of process instructions on a robot controller in communication with the robot, the robot interacting with process equipment to perform processes in response to the process instructions during the execution of the control program; collecting associated process data for each of predetermined ones of the process instructions executed by the robot controller, the process data including time of execution of the associated predetermined process instruction and additional data specific to operation of at least one of the robot and the process equipment as the processes are being performed, wherein the additional data includes at least one of an identifier of a specific location in the robot's path, process measurements captured by the robot from external sensors or controls, and processes internal to the robot controller; and storing the collected process data in a form identified by at least one unique identifier.