A fuse or dirty/loose ground would be my first suspects.
It's important to determine if the code reader will power up when plugged into the DLC or if it cannot communicate with the PCM.
The DLC uses power from fuse #17 in the PDC to power the code reader/scanner, but the problem is that if F17 is blown, the headlamp switch won't be powered either. Cavity 16 on the lower right of the data connector is 12 volts positive. Not being able to "Communicate" is an issue with the Serial Communication Interface (SCI) function of the PCM.
The Data Link Connector (DLC) provides a ground circuit for the code reader via two pin cavities in the DLC, both of which are at the oil dipstick tube mount bracket on the right side of the engine. If these grounds are corroded, or disconnected, the DLC won't power up the code reader.
There are two pin cavities on the DLC that are SCI dedicated for the code reader to communicate with the PCM to retrieve DTC codes. There have been occurrences where the ABS CAB had a defective PCI connection and shut down the entire SCI circuit and the code reader could not communicate with the PCM.
Go to an auto parts store and get the code(s) read, the problem may be the code reader you are using.