DioPowerSupplySetRailsVoltage

Applies To

GX5055

Purpose

Programs the high powered chassis power supply VCC and VEE voltage levels.

Syntax

DioPowerSupplySetRailsVoltage (nHandle, dVcc, dVee, pnStatus)

Parameters

Name
Type
Comments
nHandle
SHORT
Session identifier:
Board handle is used when communicating with the hardware. The Board handle session identifier is returned by calling DioInitialize or DioSetupInitialization.
dVcc
DOUBLE
Used to specify the positive voltage rail level to be program, The dVcc may be between 10V to +28V. The maximum voltage swing between VCC and VEE may not exceed 33.5 V.
dVee
DOUBLE
Used to specify the negative voltage rail level to be program. The Vee voltage must may not exceed 18V and must not be less than 3V. The maximum voltage swing between VCC and VEE may not exceed 33.5 V.
pnStatus

PSHORT

Returned status: 0 on success, negative number on failure.

Comments

The Marvin Test Solutions Gx7015A and Gx7005A high powered chassis include a built in, user programmable power supply system. They use a special backplane to deliver high power to the GX5055 pin electronics via the J5 PXI connector. The power supply is made up of two VCC high rail modules, one VEE low rail module, and one VDD module.

The GX5055 DIO is capable of controlling these modules by setting their voltages, and monitoring their voltage and current output.

Example

The following example:

1.  Check if high power supply is supported.

2.  Sets the power connection to the backplane and returns the power connection settings

3.  Enables the high powered chassis power supply.

4.  Read the power supply’s status, if fault is detected, then call DioPowerSupplyResetFault.

5.  Program VCC voltage rail to 18.0V and VEE to 14.0.

6.  Read back each of the 4 voltages

7.  Read back each of the 4 power supply current

 

SHORT nStatus;

SHORT nPowerState;

DWORD dwStatus;

DOUBLE dVoltage, dCurrent;

DOUBLE dVcc, dVee;

BOOL bSupported;

 

DioPowerSupplyIsSupported(nHandle, &bSupported, &nStatus);

 

If (bSupported)

{

DioSetPowerConnect (nHandle, DIO_POWER_FROM_BACKPLANE, &nStatus);

DioGetPowerConnect (nHandle, &nPowerState, &nStatus);

 

DioPowerSupplySetState(nHandle, DIO_ENABLED, &nStatus);

DioPowerSupplySetRailsVoltage (nHandle, 18.0V, 14.0 pnStatus)

 

DioPowerSupplyGetStatus(nHandle, &dwStatus, &nStatus);

if (dwStatus & 0x1F9000) // detected any of the faults

    DioPowerSupplyResetFault(nHandle, &nStatus);

 

Read back the voltages:

DioPowerSupplySetRailsVoltage (nHandle, &dVcc, &dVee, pnStatus)

 

Measure power supplies 4 voltages:

DioPowerSupplyMeasure(nHandle, DIO_POWER_SUPPLY_VCC1_VOLTAGE, &dVoltage, &nStatus);

DioPowerSupplyMeasure(nHandle, DIO_POWER_SUPPLY_VCC1_VOLTAGE, &dVoltage, &nStatus);

DioPowerSupplyMeasure(nHandle, DIO_POWER_SUPPLY_VEE_VOLTAGE, &dVoltage, &nStatus);

DioPowerSupplyMeasure(nHandle, DIO_POWER_SUPPLY_VDD_VOLTAGE, &dVoltage, &nStatus);

 

Measure power supplies 4 voltage railes currents:

DioPowerSupplyMeasure(nHandle, DIO_POWER_SUPPLY_VCC1_CURRENT, &dCurrent, &nStatus);

DioPowerSupplyMeasure(nHandle, DIO_POWER_SUPPLY_VCC1_CURRENT, &dCurrent, &nStatus);

DioPowerSupplyMeasure(nHandle, DIO_POWER_SUPPLY_VEE_CURRENT, &dCurrent, &nStatus);

DioPowerSupplyMeasure(nHandle, DIO_POWER_SUPPLY_VDD_CURRENT, &dCurrent, &nStatus);

}

 

See Also

DioPowerSupplyGetStatus, DioPowerSupplyIsSupported, DioPowerSupplyMeasure, DioPowerSupplyResetFault, DioPowerSupplySetRailsState, DioGetErrorString