The B200 error is "Printhead Temperature exceeded", What this means that while you were printing some document, either one or more of the printhead ink wells ran out of ink and the printing continued. Printhing without ink in the wells will OVERHEAT THE PRINTHEAD NOZZLES and can potentially burn the out. The printer has a built in temperature sensor to detect the ambient temperature and to monitor the temperature of the head. This data is always collected and monitored and saved in the EEprom data and the Service Test print data. If the error will not go away once you have unplugged the priner for at least 5 minutes, then there is the possibility that you have already burnt out the head. Remove the printhead and use a 5x magnification glass to look VERY CLOSE at all of the nozzles to see if you can detect any possible burnt out nozzle. It many come down to need a new printhead.
the 5100 is the carriage error and can be caused by 4 different sensors. First off the "Timing Strip" that passes through the back of the Carriage Assembly can be contaminated with ink spots and this needs to be cleaned. Open the cover and use your flashlight to examine the timing strip as much as you can see. You really don't have much access to this strip unless you remove the covers,..and doing that is considerable work. The other items that can cause this error are the sensor inside the carriage unit, the drive motor for the carriage asm, and of course the main logic card. However, 99.6% of the time it is the Timing strip which is easitly contaminated with splattered ink.