OBDII is a set of standards and practices used to fine tune emission programs across vehicle makes and models. OBDII Mode 1 is for requesting and displaying current emission related scan data. Mode 2 is for requesting Freeze Frame data. OBDII is concerned with emission systems but understanding the system can often help with diagnostics.
Mode 3 is for requesting emission related trouble codes. OBDII codes are prefaced with P0 and are defined by accepted definitions for Generic or Global OBDII. A query for OBD II codes should return the number of modules online responding and which module is responding. You won't get codes from modules other than those containing the OBDII emission data.
This demo picture is showing 1 ECU module communicating via J1850 protocol and that it is the Engine Module. A Mode 3 request for codes returns the P0 prefixed codes for OBDII emission test failures.
Important to bear in mind when retrieving trouble codes is that they do not indicate parts that need replaced or what is wrong with the car. They indicate failed tests. Diagnostics are the steps you need to take to determine why the tests were failed. But, gathering data is part of the diagnostic method so it's a good start.
Kenny@ggauto.repair