Starts built-in test.
Gx6188BITRun (nHandle, nMode, pnStatus)
Name |
Type |
Comments |
nHandle |
SHORT |
Handle to a GX6188 board. |
nMode |
SHORT |
Selects which BIT test1. GX6188_BIT_MODE_MATRIX: Test Matrix relays only2. GX6188_BIT_MODE_RESOURCE: Test Resource relays only3. GX6188_BIT_MODE_DEFAULT: Tests Matrix and Resource relays.3. GX6188_BIT_MODE_ALL: Same as default (for legacy purposes).4. GX6188_BIT_MODE_COIL: Measures relay coil values to attempt to identify marginal relays.7. GX6188_BIT_MODE_DIAGNOSTICS: Performs all tests available. |
pnStatus |
PSHORT |
Returned status: 0 on success, negative number on failure. |
The built-in test checks each relay on the specified board for continuity.
The nMode parameter allows you to select the continuity path which is used:
● GX6188_BIT_MODE_MATRIX connects the testing circuitry by way of the Matrix looping at the UUT Channel inputs. Driving a signal on connectors J2 and J3 may interfere with this test.
● GX6188_BIT_MODE_RESOURCE connects the testing circuitry by way of the Resource inputs. Driving a signal on connector J5 may interfere with this test.
● GX6188_BIT_MODE_DEFAULT runs both the matrix and resource continuity paths. This performs as complete a continuity test as is achievable given the physical limitations of the PCB. This mode cannot test the instrument inputs (K873-K888, K897-K912, and K921-K952) or the instrument to selector bus relays (K825-K832).
● GX6188_BIT_MODE_COIL sets the relays into a self-test mode to determine if the relay coils are working properly. This mode tests the coil strength of all relays on the board, but it may fault a relay which is functional, but has a coil resistance that is marginal. This can predict future failure or underperformance.
When this function is called, the BIT runs asynchronously in the background. The status and progress of the BIT can be checked by calling Gx6188BITGetStatus.
The following example runs the built-in test and checks the status until the test has completed:
BOOL bPass;
CHAR szBITResult[1024];
DOUBLE dPercentCompleted;
Gx6188BITRun (nHandle, GX6188_BIT_MODE_ALL, &nStatus);
Gx6188BITGetStatus (nHandle, &bPass, szBITResult, 1024, &dPercentCompleted, &nStatus);
while (dPercentCompleted<100)
{
printf("BIT Percent Completed = %f %", dPercentCompleted);
Gx6188BITGetStatus (nHandle, &bPass, szBITResult, 1024, &dPercentCompleted, &nStatus);
}