One of the things we ran into today was that the ALS laser had an error. One of the diode currents has drifted outside of the tolerance, which caused an error. (Trends coming tomorrow).
- One of the things that made this hard was that the error was intermittent and the error messages flash very briefly making it hard to read them.
- A second thing was that although we could trend and see that the laser head error flag was toggling between 0 and 1 for the last few days, the error code has been consistently 0. This meant that we weren't able to see which error it was
- I looked at the code and started checking for error conditions in the trends, and we saw the offending diode current. Increasing the tolerance made the errors go away. Jenne Jeff and company proceeded with locking.
- Daniel and I looked at the error handling code and the ALS Laser library, and realized that in the ALS Library the error message isn't set, and the error list is made but not added to the Error Handler when it is initialized. In the Error Handler library, there is an if, else if statement which assumes that there is either an error code or an error list, and sets the error code within the conditional statements. We edited the Laserhead library so that there will be an error list once it is updated. It might also be possible to take the error code setting outside the conditional but that would require more thought.
- It would also be possible to edit the ALS autolockers so that they are less stringent in forcing us to fix errors.
So, we should do an update of the beckhoff code sometime soon. We had not encountered this problem before because we haven't had any errors from the laser head before.