Agilent Technologies Video Gaming Accessories E4370A User Manual

USER’S GUIDE  
Multi-Cell Charger/Discharger  
Agilent Model E4370A  
Powerbus Load  
Agilent Model E4371A  
64-Channel Charger/Discharger  
Agilent Models E4374A and E4375A  
Agilent Part No. 5964-8138  
Microfiche No. 5964-8139  
September 2001  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Safety Summary  
The following general safety precautions must be observed during all phases of operation of this instrument.  
Failure to comply with these precautions or with specific warnings elsewhere in this manual violates safety  
standards of design, manufacture, and intended use of the instrument. Agilent Technologies assumes no liability  
for the customer's failure to comply with these requirements.  
GENERAL  
This product is a Safety Class 1 instrument (provided with a protective earth terminal). The protective features of  
this product may be impaired if it is used in a manner not specified in the operation instructions.  
Any LEDs used in this product are Class 1 LEDs as per IEC 825-1.  
ENVIRONMENTAL CONDITIONS  
This instrument is intended for indoor use in an installation category II, pollution degree 2 environment. It is  
designed to operate at a maximum relative humidity of 95% and at altitudes of up to 2000 meters. Refer to the  
specifications tables for the ac mains voltage requirements and ambient operating temperature range.  
BEFORE APPLYING POWER  
Verify that all safety precautions are taken. Note the instrument's external markings described under "Safety  
Symbols".  
GROUND THE INSTRUMENT  
To minimize shock hazard, the Agilent MCCD Mainframe chassis and cover must be connected to an electrical  
ground. The mainframe must be connected to the ac power mains through a grounded power cable, with the ground  
wire firmly connected to an electrical ground (safety ground) at the power outlet. Any interruption of the protective  
(grounding) conductor or disconnection of the protective earth terminal will cause a potential shock hazard that  
could result in personal injury.  
The Agilent Powerbus Load does not connect to ac mains. Connect the ground terminal of the load to the ground  
terminal of the external dc source. Use a #14 AWG wire as a minimum.  
ATTENTION: Un circuit de terre continu est essentiel en vue du fonctionnement sécuritaire de l'appareil.  
Ne jamais mettre l'appareil en marche lorsque le conducteur de mise … la terre est d‚branch‚.  
DO NOT OPERATE IN AN EXPLOSIVE ATMOSPHERE  
Do not operate the instrument in the presence of flammable gases or fumes.  
DO NOT REMOVE THE INSTRUMENT COVER  
Operating personnel must not remove instrument covers. Component replacement and internal adjustments must be  
made only by qualified service personnel.  
Instruments that appear damaged or defective should be made inoperative and secured against unintended  
operation until they can be repaired by qualified service personnel.  
3
Download from Www.Somanuals.com. All Manuals Search And Download.  
Safety Symbols  
SAFETY SYMBOLS  
Direct current  
Caution, risk of electric shock  
Caution, hot surface  
Earth (ground) terminal  
Protective earth (ground) terminal  
(Intended for connection to external  
protective conductor.)  
Caution (Refer to accompanying documents.)  
On - power (Indicates connection to the  
ac mains.)  
On - equipment (Identifies the on condition of  
part of the equipment.)  
Off - power (Indicates disconnection  
from the ac mains.)  
Off - equipment (Identifies the off condition of  
part of the equipment.)  
Document Scope  
This document describes and specifies the “standard” version of the Agilent Multi-Cell  
Charger/Discharger System. It contains installation instructions, connection information, programming  
information, example programs, and specifications. Information about the Agilent MCCD User Interface  
is provided online. System options are described on a separate option sheet that is shipped with this  
manual. All information is this manual is subject to change. Updated editions will be identified by a new  
printing date.  
Notice  
This document contains proprietary information protected by copyright. All rights are reserved. No part  
of this document may be photocopied, reproduced, or translated into another language without the prior  
consent of Agilent Technologies. The information contained in this document is subject to change  
without notice.  
Copyright 1999, 2000, 2001 Agilent Technologies, Inc.  
4
Download from Www.Somanuals.com. All Manuals Search And Download.  
Table of Contents  
Warranty Information  
Safety Summary  
Document Scope  
2
3
4
5
Table of Contents  
1 - GENERAL INFORMATION  
Agilent MCCD System Capabilities  
Basic Functions  
9
9
10  
10  
10  
10  
12  
12  
14  
14  
16  
16  
17  
17  
18  
18  
18  
19  
20  
20  
20  
21  
21  
21  
21  
Additional Features  
Hardware Description  
Agilent E4370A MCCD Mainframe  
Agilent E4374A and E4375A 64-Channel Charger/Discharger Cards  
Agilent E4371A Powerbus Load  
External Power Source  
Multiple Agilent MCCD Configurations  
Measurement Capability  
Voltage Measurements  
Current Measurements  
Capacity Measurements  
Cell Resistance  
Probe Resistance  
Data Logging  
Protection Features  
Internal Protection Functions  
External Digital I/O Protection Functions  
If AC Power Fails  
Remote Programming Interface  
Application Programming Interface (API)  
Web Accessible Agilent MCCD User Interface  
Example of a Cell Forming Process  
2 - INSTALLATION  
Inspection  
23  
23  
23  
25  
25  
25  
25  
26  
27  
28  
28  
29  
32  
32  
32  
33  
34  
35  
36  
36  
Parts and Accessories  
Location  
Agilent E4370A MCCD Mainframe  
Agilent E4371A Powerbus Load  
Channel Connections  
Voltage Drops and Wire Resistance  
Remote Sense Connections  
Power Bus Connections  
Power Bus Wiring Information  
Power Bus Configuration Examples  
Digital Connections  
General Purpose I/O  
Special Functions  
Wiring Guidelines  
RS-232 Connections  
Auxiliary Output Connection  
Installing the API Library and Measurement Log Utility  
Visual C++ Configuration  
5
Download from Www.Somanuals.com. All Manuals Search And Download.  
3 - CONFIGURATION  
37  
37  
37  
38  
38  
39  
40  
41  
41  
44  
44  
Configuring the LAN  
1. Configure the HyperTerminal program  
2. Connect the Agilent E4370A MCCD to the COM port on the PC  
3. Fill Out the Agilent MCCD Configuration Screens  
Network Configuration  
Identification Configuration  
Miscellaneous Configuration  
Configuring the Digital I/O  
Mixed Configuration Example  
Accessing Calibration  
4 - AGILENT MCCD USER INTERFACE  
45  
45  
45  
45  
45  
46  
46  
46  
47  
Description  
PC Requirements  
Browser Settings  
Security  
Localization  
Access  
Using the Interface  
Using the Agilent MCCD Measurement Log Utility  
5 - PROGRAMMING OVERVIEW  
A Cell Forming Overview  
Cell Forming Example  
Function Call Overview  
Cell Grouping  
49  
49  
50  
53  
53  
54  
54  
55  
56  
57  
58  
58  
59  
60  
61  
61  
62  
62  
63  
63  
64  
64  
65  
Grouping Functions  
Step/Test Functions  
Sequence Control  
Output Configuration  
Instrument Protection  
Power Fail Operation  
Instrument State Storage  
Status  
Measurement Log  
Time Stamp Function  
Output Measurements  
Direct output control  
General Server functions  
Selftest  
Calibration  
Serial port  
Digital port  
Probe check  
6 - LANGUAGE DICTIONARY  
API Usage Guidelines  
API Function Summary  
API Function Definitions  
cfAbort  
67  
67  
68  
70  
70  
70  
70  
cfCal  
cfCalStandard  
6
Download from Www.Somanuals.com. All Manuals Search And Download.  
cfCalTransfer  
cfClose  
cfDeleteGroup  
71  
71  
71  
72  
72  
72  
73  
73  
73  
74  
74  
75  
75  
75  
76  
76  
76  
77  
77  
77  
78  
78  
78  
78  
79  
79  
79  
79  
79  
80  
80  
80  
80  
81  
81  
81  
81  
82  
82  
83  
83  
83  
84  
84  
84  
86  
87  
87  
87  
88  
88  
88  
89  
89  
90  
cfGetCellStatus  
cfGetCellStatusString  
cfGetCurrent  
cfGetDigitalConfig  
cfGetDigitalPort  
cfGetGroups  
cfGetInstIdentify  
cfGetInstStatus  
cfGetMeasLogInterval  
cfGetOutputConfig  
cfGetOutputProbeTest  
cfGetOutputState  
cfGetRunState  
cfGetSense  
cfGetSenseProbeTest  
cfGetSeqStep  
cfGetSeqTest  
cfGetSeqTestAnd  
cfGetSeqTime  
cfGetSerialConfig  
cfGetSerialStatus  
cfGetShutdownDelay  
cfGetShutdownMode  
cfGetStepNumber  
cfGetTrigSource  
cfGetUserIdentify  
cfGetVoltage  
cfInitiate  
cfMeasACResistance  
cfMeasCapacityAS  
cfMeasCapacityWS  
cfMeasCurrent  
cfMeasDCResistance  
cfMeasOutputProbeResistance  
cfMeasProbeContinuity  
cfMeasSenseProbeResistance  
cfMeasVoltage  
cfOpen  
cfOpenGroup  
cfProtect  
cfProtectClear  
cfReadMeasLog  
cfReadSerial  
cfReadTestLog  
cfReset  
cfResetSeq  
cfRestart  
cfSaveOutputConfig  
cfSelftest  
cfSetAutoConnect  
cfSetCurrent  
cfSetDigitalConfig  
7
Download from Www.Somanuals.com. All Manuals Search And Download.  
cfSetDigitalPort  
cfSetErrorFunction  
cfSetGroup  
92  
92  
93  
cfSetMeasLogInterval  
cfSetOutputConfig  
cfSetOutputProbeTest  
cfSetOutputState  
cfSetSense  
93  
93  
94  
94  
95  
cfSetSenseProbeTest  
cfSetSeqStep  
95  
95  
cfSetSeqTest  
97  
cfSetSeqTestAnd  
cfSetSerialConfig  
cfSetServerTimeout  
cfSetShutdownDelay  
cfSetShutdownMode  
cfSetTimeout  
cfSetTrigSource  
cfSetVoltage  
cfShutdown  
cfStateDelete  
cfStateList  
cfStateRecall  
cfStateSave  
99  
99  
99  
100  
100  
100  
100  
100  
101  
101  
102  
102  
102  
102  
103  
cfTrigger  
cfWriteSerial  
7 - C PROGRAM EXAMPLES  
105  
105  
107  
112  
Example 1  
Example 2  
Example 3  
A - SPECIFICATIONS  
115  
B - CALIBRATION  
Calibration Types  
119  
119  
119  
120  
120  
120  
122  
123  
Full Calibration  
Transfer Calibration  
Mainframe Reference Calibration  
Calibration Connections  
Accessing Calibration  
Calibration Error Messages  
C - DIMENSION DRAWINGS  
125  
127  
D - SENSE AND POWER CONNECTOR PINOUTS  
E - IN CASE OF TROUBLE  
Introduction  
135  
135  
Selftest Error Messages  
136  
INDEX  
8
137  
Download from Www.Somanuals.com. All Manuals Search And Download.  
1
General Information  
Agilent MCCD System Capabilities  
The Agilent Multi-Cell Charger/Discharger (MCCD) System has been designed to address the unique  
requirements and needs of lithium-ion cell manufacturing. The Agilent MCCD System can accurately  
charge, discharge, and measure lithium ion cells. It consists of an Agilent E4370A Multi-Cell  
Charger/Discharger mainframe with up to four Agilent E4374A or E4375A 64-Channel  
Charger/Discharger cards. When fully loaded each mainframe has 256 input/output channels.  
Mainframes and modules can be combined in different configurations to form a low cost, high  
performance cell charge/discharge station in a cell manufacturing process.  
NOTE:  
You cannot mix Agilent E4374A and E4375A 64-Channel Charger/Discharger cards in  
the same E4370A mainframe. Mainframes can only operate with identical-model cards.  
The following figure is a simplified block diagram of the Agilent MCCD System. It is followed by a brief  
description of the system’s basic as well as advanced features.  
10 Base T Ethernet to remote monitoring and control  
Powerbus  
Digital I/O to outside world  
Rail power  
source  
Powerbus  
Load  
Remote  
Local  
Multi-cell  
charger /  
discharger  
Local  
barcode  
reader  
Fixture  
control and  
local  
Local  
terminal  
Multiple cell  
tray  
start/stop  
Local  
controls  
Figure 1-1. Block Diagram of Agilent MCCD System  
9
Download from Www.Somanuals.com. All Manuals Search And Download.  
1 - General Information  
Basic Functions  
Charger – The Agilent MCCD can deliver accurately controlled current and voltage into a cell for  
proper forming. Each cell is independently paced through the cell forming sequence. This means that  
some cells can be charging and others discharging if they are at different points in the sequence.  
Discharger – The Agilent MCCD can draw accurately controlled current from a cell for both  
forming and capacity measurement.  
Measurement – The Agilent MCCD can monitor several parameters of the cell while charging,  
discharging, and resting. Measurements include voltage, current, time, internal resistance, ampere-  
hours, and watt-hours. These measurements are used to adjust the cell forming sequence for safety,  
reliability, and or proper cell forming.  
Digital I/O control – The Agilent MCCD can monitor and stimulate digital I/O connected to it. This  
simplifies wiring, allows ease of expansion, and is more reliable than a centralized control system. Its  
high-speed capability is ideal for fast fault detection and system shutdown.  
RS-232 control – The Agilent MCCD can support peripherals connected to its serial ports for adding  
printers, bar code readers, local terminals, robots and other types of local additional hardware via  
pass-through control from the host computer.  
Equipment Protection – The Agilent MCCD has extensive safety features to protect both the cells  
under formation and the hardware from equipment failure, programming errors, cell failures and  
other types of external faults.  
Additional Features  
LAN 10 base-T control using a web-server graphical user interface and an application programming  
interface (API).  
Comprehensive data storage capability and remote data collection.  
Easily removable charger/discharger cards for minimum downtime if repair is required.  
Charge/discharge sequences that can be modified in software, allowing for simple, rapid changes to  
the manufacturing process without changes to system hardware.  
Define and configure groups of contiguous blocks of cells or channels. This lets you simultaneously  
run different sequences on groups of cells.  
Continuous calibration is performed on the programming circuits during the entire charge/discharge  
sequence to eliminate errors due to temperature drift.  
Bi-directional power transfer and reuse of energy by using energy from discharging cells to provide  
energy to charging cells.  
Hardware Description  
Agilent E4370A MCCD Mainframe  
The Agilent E4370A MCCD mainframe is a full-width rack box that has 4 slots to hold either the Agilent  
E4374A or Agilent E4375A 64-Channel Charger/Discharger cards. LEDs on the front of the mainframe  
indicate system as well as card status (see Figure 1-2).  
10  
Download from Www.Somanuals.com. All Manuals Search And Download.  
General Information - 1  
E4370A  
E4374A CHARGER/DISCHARGER  
E4374A CHARGER/DISCHARGER  
E4374A CHARGER/DISCHARGER  
E4374A CHARGER/DISCHARGER  
1
3
5
7
MULTICELL CHARGER/DISCHARGER  
1
Ready  
Fault  
2
4
6
5
8
7
1
3
SYSTEM  
Power  
2
3
4
Ready  
Fault  
Ready  
Active  
2
4
6
5
8
7
FAULT  
1
3
External  
Internal  
Ready  
Fault  
2
4
6
5
8
7
1
3
LINE  
On  
Off  
Ready  
Fault  
2
4
6
8
Applies and removes ac power from the Agilent MCCD. Relays inside the unit that connect  
the power bus are disengaged when power is off, so the power bus is also disconnected from  
the unit by this switch.  
LINE  
SYSTEM  
Power  
When lit, indicates that the mainframe is powered on.  
When lit, indicates that the unit is ready for operation.  
Ready  
When off, indicates that the external power bus voltage is either too high or too low.  
When lit, indicates that data communication is present on the LAN cable.  
When flashing, indicates that LAN communication is in progress.  
Active  
FAULT (Refer to Appendix E to clear any fault conditions)  
When lit, indicates an external fault such as:  
External digital fault signal received,  
Power fail shutdown signal received,  
High power bus voltage after power on,  
Low power bus voltage after power-on.  
Overtemperature  
External  
Internal  
When lit, indicates an internal hardware fault such as:  
Selftest failure,  
Calibration error,  
Hardware error.  
1, 2, 3, 4  
Ready  
Fault  
Indicates the card is powered up and ready to be used  
When lit, indicates an internal hardware fault such as:  
Selftest failure,  
Calibration error,  
Hardware error.  
Figure 1-2. Agilent E4370A MCCD Mainframe Front Panel Controls and Indicators  
11  
Download from Www.Somanuals.com. All Manuals Search And Download.  
1 - General Information  
B
C
D
E
A
F
RS-232  
PORT A  
RS-232  
PORT B  
G
H
J
K
A
+ and - Power bus connectors  
G
H
RS-232 connectors (ports A and B)  
AC line connection (a universal AC input for line  
voltages from 87 Vac to 250 Vac, 50/60 Hz.)  
Auxiliary output connection  
(- bus bar is connected to chassis ground)  
Calibration status LEDs  
Configuration switches  
Transfer Calibration switch  
Digital I/O connectors  
B
C
D
E
F
J
K
Calibration port  
LAN connection  
Figure 1-3. Agilent E4370A MCCD Mainframe Rear Panel Connections  
Agilent E4374A and E4375A 64-Channel Charger/Discharger Cards  
The Agilent E4374A and 4375A 64-Channel Charger/Discharger cards contain the circuitry that  
independently charges and discharges each cell connected to the front of the mainframe. Up to four  
identical-model cards can be installed in each mainframe. Agilent E4374A cards charge cells at at up to  
5V and 2A. Agilent E4375A cards charge cells at up to 5V and 3A.  
Each output channel has a maximum available compliance voltage of 5.5V for Agilent E4374A cards and  
6.0V for Agilent E4375A cards. Compliance voltage is defined as the voltage required at the cell plus  
any fixture/wiring voltage drops. Having this higher compliance voltage allows the full programmable 5  
V to be applied directly to the cell with up to 0.5-volt loss in the wiring for Agilent E4374A cards and up  
to 1.0-volt loss in the wiring for Agilent E4375A cards.  
Agilent E4371A Powerbus Load  
For the discharging cycle, an Agilent E4371A Powerbus Load is required to dissipate excess power from  
discharging cells. The load operates in constant voltage mode only and sequentially switches internal  
resistors on and off to regulate the voltage on the power bus around a midpoint of 26.75 volts. The  
number of load units required depends on the number of Agilent MCCD mainframes in your system.  
Each Agilent E4371A Powerbus Load is capable of the dissipating the full power from eight Agilent  
E4374A 64-Channel Charger/Discharger cards or eight Agilent E4375A 64-Channel Charger/Discharger  
cards.  
12  
Download from Www.Somanuals.com. All Manuals Search And Download.  
General Information - 1  
The Agilent E4371A Powerbus Load has a + and a power bus connector on its rear panel. There is also  
a ground connection. To meet safety requirements, connect the ground terminal of the Agilent Powerbus  
Load to the ground terminal of the external dc source. The load receives its operating power from the  
power bus. If the dc voltage on the power bus drops below 22.8 volts, or if there is no power available on  
the power bus, the load will not operate. Note that the load is not programmable. It is set at the factory  
for the correct operating voltage and does not require calibration.  
The On/Off switch on the load simply connects or disconnects the load from the power bus. Note that the  
internal fans draw approximately 1.5 amperes of current from the power bus.  
CAUTION:  
When discharging its maximum rated power, the Agilent E4371A Powerbus Load  
becomes hot to the touch.  
E4372A  
POWERBUS LOAD  
Figure 1-4. Agilent E4371A Powerbus Load Front and Rear Panels  
13  
Download from Www.Somanuals.com. All Manuals Search And Download.  
1 - General Information  
External Power Source  
For the charging cycle, each Agilent MCCD mainframe requires an external dc power source to power  
the cells. The external power source connects to the power bus terminals on the back of the mainframe. It  
must be rated at 24 volts and be able to source 125% of the required cell charging power.  
For example, to provide the cell charging power for a 256-channel system at 5.5 volts, 2 amperes per  
channel (or 2.8 kW), the dc power source must deliver approximately 3.5 kW to each Agilent MCCD  
mainframe (24 V @ 146 A). To provide the cell charging power for a 256-channel system at 6 volts, 3  
amperes per channel (or 4.6 kW), the dc power source must deliver approximately 5.76 kW to each  
Agilent MCCD mainframe (24 V @ 240 A).  
The current rating of the power source may be reduced if the charging current is reduced accordingly. For  
example, to provide a maximum output current of 1 ampere per cell in a 256-channel system, a source  
rated at least 24 volts, 72 amperes may be used.  
Additionally, a single supply of sufficient amperage may be shared among multiple mainframes that are  
connected to a common power bus - provided that the total current can be supplied while meeting the  
voltage specification at the power bus terminals at the rear of the Agilent MCCD.  
NOTE:  
If the external dc power source has an overvoltage protection circuit, it must be set  
higher than 30 volts to avoid the possibility of shutting itself down during the discharge  
cycle.  
Multiple Agilent MCCD Configurations  
Figures 1-5 and 1-6 illustrate two configurations of Agilent E4370A MCCD systems with eight fully  
loaded mainframes.  
The power required for such systems can be as high as 46 kilowatts (when using Agilent E4375A cards).  
A single power source of sufficient total amperage may be shared among multiple mainframes connected  
to the power bus, provided the total current can be provided while meeting the nominal 24-volt dc input  
requirement at the power bus terminals on the rear of each mainframe. Multiple paralleled 24-volt dc  
sources may be used in place of the single dc source shown in the figures.  
To achieve improvements in energy efficiency, the Agilent E4370A MCCD system can re-use discharge  
energy to supplement the energy provided by an external power source when charging other cells in a  
multi-unit system. This is possible because of the bi-directional power transfer capability between  
charging and discharging cells when connected to a common power bus. To take advantage of this energy  
transfer requires that some mainframes in the system must be operating in discharge mode at the same  
time that others are operating in charging mode.  
No special control system is required for this configuration. The regulation circuits of the 24 volt dc  
power source, the Agilent E4370A MCCD mainframe, and Agilent E4371A Powerbus Load will operate  
properly without any special hardware control lines or additional software being required.  
NOTE:  
Adequate size power bus wiring is required to carry high currents. Refer to Table 2-5.  
14  
Download from Www.Somanuals.com. All Manuals Search And Download.  
General Information - 1  
Agilent E4371A  
Powerbus Load  
Agilent E4371A  
Powerbus Load  
28 kW  
Power Source  
(24 V @  
1167A)  
Agilent E4371A  
Powerbus Load  
Agilent E4371A  
Powerbus Load  
Agilent E4370A  
+4 E4374A cards  
(256 channels)  
Agilent E4370A  
+4 E4374A cards  
(256 channels)  
Agilent E4370A  
+4 E4374A cards  
(256 channels)  
Agilent E4370A  
+4 E4374A cards  
(256 channels)  
Agilent E4370A  
+4 E4374A cards  
(256 channels)  
Agilent E4370A  
+4 E4374A cards  
(256 channels)  
Agilent E4370A  
+4 E4374A cards  
(256 channels)  
Agilent E4370A  
+4 E4374A cards  
(256 channels)  
Figure 1-5. System Diagram Using Agilent E4374A Cards  
15  
Download from Www.Somanuals.com. All Manuals Search And Download.  
1 - General Information  
Agilent E4371A  
Powerbus Load  
Agilent E4371A  
Powerbus Load  
46 kW  
Power Source  
(24 V @  
1920A)  
Agilent E4371A  
Powerbus Load  
Agilent E4371A  
Powerbus Load  
Agilent E4370A  
+4 E4375A cards  
(256 channels)  
Agilent E4370A  
+4 E4375A cards  
(256 channels)  
Agilent E4370A  
+4 E4375A cards  
(256 channels)  
Agilent E4370A  
+4 E4375A cards  
(256 channels)  
Agilent E4370A  
+4 E4375A cards  
(256 channels)  
Agilent E4370A  
+4 E4375A cards  
(256 channels)  
Agilent E4370A  
+4 E4375A cards  
(256 channels)  
Agilent E4370A  
+4 E4375A cards  
(256 channels)  
Figure 1-6. System Diagram Using Agilent E4375A Cards  
Measurement Capability  
The Agilent MCCD mainframe and charger/discharger cards have a high speed scanning system that  
makes voltage and current measurements on all channels. Refer to Appendix A for technical data about  
the measurement system. The following measurements are available:  
Voltage Measurements  
The Agilent MCCD measures the voltage of each channel using a calibrated internal measurement  
circuit. In local sensing mode, the voltage measurement is made at the power connector. In remote  
sensing mode, the voltage is measured at the end of the remote sense leads. The advantage of remote  
16  
Download from Www.Somanuals.com. All Manuals Search And Download.  
General Information - 1  
sensing over local sensing is that when the remote sense leads are connected to the cell, the actual voltage  
of the cell will be measured. Any voltage drops in the load leads will not affect the measurement. Refer  
to chapter 2 under "Remote Sensing" for more information.  
NOTE:  
If your Agilent MCCD system is configured for local sensing, the measured output  
voltage may not reflect the actual voltage at the cell. This is because any voltage drops in  
the wires due to wire resistance, probe resistance, connector resistance, etc. will reduce  
the available voltage at the cell.  
Current Measurements  
The Agilent MCCD measures actual current in the output current path for each channel using a calibrated  
internal measurement circuit.  
Capacity Measurements  
Amp-hour capacity - the Agilent MCCD determines amp-hour cell capacity by making calculations  
based on continuous current measurements.  
During charge, every time the Agilent MCCD makes a measurement, it calculates the actual incremental  
amp-hours put into the cell during each measurement interval by multiplying the measured current times  
the measurement interval. It then adds this incremental amount to the accumulated amp-hour value to  
determine the total amp-hours delivered into the cell. Amp-hour capacity will be positive during charge.  
Thus, accurate amp-hour capacity measurements can be made even when charge current is not constant,  
such as during constant voltage charging.  
During discharge, every time the Agilent MCCD makes a measurement, it calculates the actual  
incremental amp-hours taken out of the cell by multiplying the measured current times the measurement  
interval. It then adds this incremental amount to the accumulated amp-hour value to determine the total  
amp-hours removed from the cell. Amp-hour capacity will be negative during discharge. Thus, accurate  
amp-hour capacity measurements can be made even when discharge current is not constant.  
Watt-hour capacity - the Agilent MCCD determines watt-hour cell capacity by making calculations  
based on continuous current and voltage measurements.  
During charge, every time the Agilent MCCD makes a measurement, it calculates the actual incremental  
watt-hours put into the cell during each measurement interval by multiplying the measured current times  
the measured voltage times the measurement interval. It then adds this incremental amount to the  
accumulated watt-hour value to determine the total watt-hours delivered into the cell. Watt-hour capacity  
will be positive during charge. Thus, accurate watt-hour capacity measurements can be made even when  
charge current and voltage is varying.  
During discharge, every time the Agilent MCCD makes a measurement, it calculates the actual  
incremental watt-hours taken from the cell during each measurement interval by multiplying the  
measured current times the measured voltage times the measurement interval. It then adds this  
incremental amount to the accumulated watt-hour value to determine the total watt-hours taken from the  
cell. Watt-hour capacity will be negative during discharge. Thus, accurate watt-hour capacity  
measurements can be made even when discharge current and voltage is varying.  
17  
Download from Www.Somanuals.com. All Manuals Search And Download.  
1 - General Information  
Cell Resistance  
In addition to continuous voltage, current, and capacity measurements, the Agilent MCCD can also  
measure ac and dc cell resistance. This measurement is available on command when a sequence is not  
running, or as its own step in the forming sequence.  
The Agilent MCCD measures the ac cell resistance by first disconnecting the charge/discharge circuits  
from all cells. An ac waveform generator in the Agilent MCCD mainframe is connected sequentially to  
each cell. The ac waveform generator momentarily passes a small excitation current through each cell  
while the measurement system measures the cell’s output voltage and current. By using a narrow band  
tuned filter and computing the magnitude and phase angle of voltage relative to current, an ac resistance  
measurement of the cell can be made. This method is very similar to the method used by LCR meters.  
Since this measurement happens sequentially for each channel, the other channels stay at rest during this  
test.  
The Agilent MCCD measures the dc cell resistance by first disconnecting the charge/discharge circuits  
from all cells. A pulse generator in the Agilent MCCD mainframe is connected sequentially to each cell.  
The pulse generator passes a short-duration pulsed current through each cell while the measurement  
system digitizes the cell voltage and current using a high accuracy, high-speed A/D converter. Using  
proprietary algorithms to calculate the change in voltage relative to the change in pulsed current, a dc (or  
pulse) resistance measurement of the cell can be made. Since this measurement happens sequentially for  
each channel, the other channels stay at rest during this test.  
Probe Resistance  
Probe resistance measurements can also be performed. The Agilent MCCD uses the remote sense to  
measure the resistance of both the power and sense probes. Probe resistance measurements can be made  
on command when a sequence is not running.  
The measured probe resistance is the total resistance in the signal path, which includes wiring resistance,  
probe resistance, and the resistance of any connectors in the signal path. For the sense probe  
measurement, the resistance measurement includes the internal scanner resistance, which is typically  
1000 ohms. The power and sense probe measurements return the actual measured value in ohms.  
In addition to the on-command probe resistance measurements, the probes are continuously checked  
while the sequence is running. See chapter 5 under “Probe Check” for more information about probe  
check verification.  
Data Logging  
During a charge/discharge sequence, the Agilent MCCD is constantly making voltage, current, and  
capacity measurements. Instead of logging each and every measurement into a data buffer, the data  
logging can be controlled so that only critical measurements are logged to the data buffer. This is called  
event-based data logging, which means that whenever an important event occurs, a data log record will  
be written into the data buffer. Buffer memory is used most efficiently when only critical measurements  
are stored.  
18  
Download from Www.Somanuals.com. All Manuals Search And Download.  
General Information - 1  
The following events can be used to trigger critical measurements:  
Change in voltage  
(V)  
If the trigger is V, a data log record will be written to the buffer when a user-  
specified voltage change is exceeded. If V is set to 100 mV, then each time the  
voltage reading changes by more than 100 mV from the last logged entry, a  
record is written to the buffer.  
Change in current  
(I)  
If the trigger is I, a data log record will be written to the buffer when a user-  
specified current change is exceeded. If I is set to 100 mA, then each time the  
current reading changes by more than 100 mA from the last logged entry, a  
record is written to the buffer.  
Change in time  
(t)  
If the trigger is t, a data log record will be written to the buffer when a user-  
specified time interval is exceeded. If t is set to 1 second, then every second a  
record is written to the buffer. t is effectively a clock-driven data log.  
The acceptable range of values for V, I and t are 0 to infinity. Setting the value to 0 or near 0 will  
cause all readings to be logged in the buffer, because every reading will exceed the V, I or t value of  
zero. This will fill up the measurement log very quickly. Setting the value to a high number or to infinity  
will cause no readings to be logged in the buffer because no reading will exceed the V, I or t value.  
The comparison test to see if any of the V, I, and t values have exceeded the values of the last logged  
entry in the buffer is done at the end of each measurement interval. Therefore, the fastest rate at which  
records can be written into the data buffer is the measurement rate of the Agilent MCCD. Any  
combination of events can be specified, so that a data log record is written into the data buffer when any  
of the events occur.  
Each record in the data buffer contains the following information: status (including CV/CC and step  
number), elapsed time, voltage, current, amp-hours, and watt-hours. The total number of readings that  
can be stored is given in the specification table. The data log is a circular queue, which lets you  
continuously log data into the data buffer. When the data buffer is full, the oldest data in the buffer will  
be overwritten by new data. To avoid data loss, the controller must read the data from the buffer before it  
is overwritten. Data can be read out of the data buffer at any time during the test sequence.  
NOTE:  
Information in the data buffer is lost when an ac power failure occurs. To prevent data  
loss in the event of a power failure, use the cfShutdown function to save the data in non-  
volatile memory. Refer to Power Fail Operation in chapter 5 for more information. To  
allow the Agilent E4370A to ride through temporary ac power interruptions, connect the  
mainframe to a 600 VA uninterruptible power supply (UPS).  
A measurement log utility is included in the software that is provided with the Agilent E4373A  
Documentation package. You can use this utility to read the data log and place the information in a file  
on your PC. See chapter 4 for information on how to use the Agilent MCCD Measurement Log Utility.  
Protection Features  
The Agilent MCCD provides extensive capability to protect both the hardware and the individual cells  
being formed from catastrophic damage. The Agilent MCCD can also communicate its protection status  
to other parts of the manufacturing system for more sophisticated forms of protection.  
19  
Download from Www.Somanuals.com. All Manuals Search And Download.  
1 - General Information  
Internal Protection Functions  
There are internal relays between the power bus and the Agilent E4374A/E4375A Charger/Discharger  
cards. These relays protect the Agilent MCCD from overvoltage and undervoltage conditions on the  
power bus. They also protect the Agilent MCCD if an external fault condition is detected. Output  
regulators include several features to protect the cell from failures in the hardware. Internal circuits  
connected in series with each channel protect the system from reverse cell polarity, cell failure, and  
regulator failure. Internal thermal sensors check for maximum heat rise to avoid failures due to excessive  
temperature excursions. A fan keeps the internal temperature at an acceptable level.  
Finally, the Agilent MCCD has an extra level of safety - a built-in hardware watchdog timer. The  
hardware watchdog timer is independent of CPU, software, or firmware activities. If, due to some  
internal firmware or software fault, the CPU in the Agilent MCCD should stop functioning for more than  
a few seconds, the hardware watchdog timer will reset the Agilent MCCD to the power-on state. In this  
state, the channels outputs are disconnected from the cells.  
NOTE:  
Overvoltage and overcurrent tests can be included as part of a test sequence to  
implement overvoltage and overcurrent protection (see chapter 5).  
External Digital I/O Protection Functions  
The Digital I/O subsystem on the Agilent MCCD can be configured to provide protection capabilities.  
These digital I/O signals operate independently, so that if there is a problem with the computer or the  
LAN connection the protection functions of the Agilent MCCD are not compromised. As explained in  
chapter 2, the 16 digital I/O signals can be individually configured to provide one of the following  
protection functions:  
This function can be used to stop the cell forming sequence if an external  
fault condition sets the input true.  
External Fault Input  
This function can be used to signal external circuitry or another Agilent  
MCCD that either an external fault condition or an internal fault condition  
has occurred.  
External Fault  
Output  
This function can be used to stop the cell forming sequence for reasons  
other than an external fault condition.  
External Interlock  
External Trigger  
This function can be used to start a cell forming sequence.  
In addition to protection capabilities, the digital I/O can also be used as general purpose I/O. When  
configured as a general purpose I/O, the input or output signals on the digital connector are directly  
controlled with API programming commands over the LAN.  
If AC Power Fails  
Should the ac line fail, the CPU in the Agilent MCCD will shut down. Any charging and discharging  
activity will stop, and the current sequence, test data, and programmed settings will be lost.  
Note:  
20  
A 600 VA uninterruptible power supply (UPS) can be used to provide ac power to the  
Agilent E4370A MCCD mainframe to prevent any data loss during a power failure.  
Download from Www.Somanuals.com. All Manuals Search And Download.  
General Information - 1  
When power fails, the power bus is also disconnected from the Agilent MCCD because of the bias  
powered relays inside the Agilent MCCD. Thus, should a power failure occur which causes the Agilent  
MCCD to lose ac power, in order to provide for safety, these internal relays would be disengaged and any  
further charging or discharging would stop, even if the power bus were still powered and active.  
Also, should a power failure occur which does not effect the Agilent MCCD but which causes the power  
bus to drop in voltage, this will be detected by the Agilent MCCD as a power bus undervoltage condition  
and the relays will open, thus preventing any further charging or discharging of connected cells.  
Remote Programming Interface  
The remote programming interface to the Agilent MCCD is through a LAN-based TCP/IP  
communication protocol. The connection to the LAN is through a standard 8-pin 10Base-T connector on  
the rear panel, which must first be configured according to the directions in chapter 3. The LAN  
communication protocol is implemented in two ways:  
Application Programming Interface (API)  
The application programming interface runs under Windows 95 or Windows NT 4.0 using supplied C-  
language function calls. These function calls are documented in chapters 5 and 6, and provide the most  
comprehensive method of controlling the Agilent MCCD. The API interface is the preferred method of  
control when the Agilent MCCD is connected to a remote computer as part of an automated  
manufacturing process.  
Web Accessible Agilent MCCD User Interface  
The Agilent MCCD has a built-in web server with a graphical user interface that is accessed through  
standard web browsers such as Netscape Navigator version 3.03 and up or Microsoft Internet Explorer  
version 3.02 and up. This Agilent MCCD User Interface allows monitoring of individual cell state,  
measuring cell voltages and currents while the test is running, and also complete monitoring and control  
of test status. The Agilent MCCD User Interface is the preferred method of control when evaluating the  
test system, prototyping a process, or debugging a program.  
Example of a Cell Forming Process  
The Agilent E4370A MCCD is designed to be the integral part of a complete cell forming process as  
shown in Figure 1-7. As shown in the figure, many of the previously mentioned protection and external  
signal capabilities of the Agilent E4370A MCCD are implemented using the digital I/O connections. The  
serial ports on the back of the Agilent MCCD are used to control local peripherals directly from the host  
computer. The remote programming interface to the Agilent MCCD lets you seamlessly integrate all of  
these capabilities into the cell forming process.  
The following cell forming example describes how an Agilent E4370A MCCD may be used to run a  
semi-automated process where the only human actions required are: entering data with a barcode  
scanner, loading and unloading a test fixture, and manually starting the cell forming process. Chapters 5  
and 6 describe all of the function calls that are available to implement a cell forming process.  
21  
Download from Www.Somanuals.com. All Manuals Search And Download.  
1 - General Information  
LAN  
Powerbus  
Dig I/O for fire/smoke detector  
Dig I/O for fixture  
open/close  
Control PC  
Fixture  
H
Dig I/O for  
buttons and  
indicators  
MCCD  
Ready  
Test  
Start  
Power + Sense lines  
Bar Code Scanner  
Tray of cells  
Serial  
communications  
Figure 1-7. Typical Cell Forming Station  
The control PC sends a signal via the LAN to the digital I/O to turn on the Ready light on the test  
fixture. This tells the operator that the system is ready for another tray of cells. The control PC also  
begins polling for serial data on the RS-232 buffer of the Agilent MCCD.  
The operator scans the bar code on the tray of cells sitting on the conveyor belt. The operator then  
loads the tray into the test fixture and closes the fixture.  
After detecting that data is available on the RS-232 buffer, the control PC reads the bar code data.  
Based on the data, it downloads the correct forming sequence into the Agilent MCCD. It also  
downloads setup information such as which channel outputs to enable, probe check settings, trigger  
source, etc.  
The control PC then polls the digital I/O lines for the Start button.  
When the operator presses Start, the control PC detects it and polls the digital I/O lines to make sure  
the fixture is closed. It sends a signal to turn off the Ready light and turn on the Test light, indicating  
to the operator that the cell forming sequence has started.  
The control PC then sends a trigger to the Agilent MCCD to start the forming sequence. It also starts  
polling the instrument status for the completion of the test sequence.  
The cell forming sequence runs. The test sequence automatically applies a stimulus to the cells,  
monitors cell parameters to determine if a cell passes or fails, and stores the test results. During the  
test sequence, the Agilent MCCD monitors the dedicated digital I/O lines that are connected to the  
fire and smoke detectors. This allows rapid response in case of a problem.  
When the instrument status in the Agilent MCCD shows that the sequence is complete, the control  
PC sends commands to the Agilent MCCD to measure the internal resistance of all cells and then  
upload all measurement data.  
Finally, the control PC sends a signal to turn off the Test light and light the Ready light. The  
operator knows that it is now safe to remove the tray from the fixture and start another batch.  
Chapter 7 contains several programming examples written in C. The purpose of these examples is to  
show you how to implement the various functions of the Agilent MCCD so that you can develop your  
own application programs. Program #2 matches the example described here.  
22  
Download from Www.Somanuals.com. All Manuals Search And Download.  
2
Installation  
Inspection  
When you receive your equipment, inspect it for any obvious damage that may have occurred during  
shipment. If there is damage, notify the shipping carrier and the nearest Agilent Sales and Support Office  
immediately. The list of Agilent Technologies Sales and Support Offices is at the back of this guide.  
Warranty information is printed in the front of this guide.  
Until you have checked out the Agilent MCCD, save the shipping carton and packing materials in case  
the unit has to be returned. If you return the Agilent MCCD for service, attach a tag identifying the model  
number, serial number, and the owner. Also include a brief description of the problem.  
Parts and Accessories  
Table 2-1 lists items that are included with your Agilent MCCD System.  
Table 2-2 lists accessory items that are not included with the Agilent MCCD System, but must be  
purchased separately. Except for the User’s Guide, all of these items are required to make connections  
from the Agilent MCCD to either the computer, test fixture, or external devices that will be controlled by  
the Agilent MCCD.  
You can either order these items by ordering the appropriate kit, or order them directly from the  
manufacturer. Table 2-3 lists the addresses of the manufacturers of the connector parts.  
Table 2-1. Supplied Items  
Item  
Power Cord (1)  
Part Number  
Description  
Contact your  
A power cord appropriate for your location.  
Agilent Sales and  
Support office  
Table 2-2. Accessories  
Item  
Manufacturer’s  
Part Number  
Description  
Digital connectors (2)  
Phoenix  
MSTB-2.5/10-STF  
10-pin terminal plugs that connect to the digital  
connectors on the back of the unit.  
Calibration connector (1)  
Auxiliary bias connector (1) MSTB-2.5/4-ST  
Phoenix  
4-pin terminal plugs that connect to the  
calibration and auxiliary connectors on the back  
of the unit.  
23  
Download from Www.Somanuals.com. All Manuals Search And Download.  
2 - Installation  
Table 2-2. Accessories (continued)  
Item  
Manufacturer’s Part  
Number  
Description  
Documentation Package  
Serial cable  
Agilent E4373A  
Agilent 34398A  
AMP 205210-2  
Contains user documentation, software  
drivers, and utility programs .  
RS-232 null-modem cable for port A or B.  
(see figure 2-4 for schematic)  
37-pin  
D-sub connector  
Mating connector for front panel channel  
connectors. Eight connectors are required  
for each 64-channel card.  
(Connector pins on 64-channel cards are  
rated at 5 A maximum.)  
Connector hood for 37-  
pin connector  
AMP 749916-2  
AMP 66506-9  
AMP 58448-2  
AMP 66570-2  
Eight connector hoods are required for each  
64-channel card.  
Crimp style contacts for  
37-pin connector  
Crimp contact for 37 pin connector  
16 contacts are required for each connector.  
(Pins only accept wires sized 20-24 AWG.)  
Crimp tool for crimp  
style contacts  
Hand crimp tool  
Solder style contacts for  
37-pin connector  
Crimp contact for 37 pin connector  
16 contacts are required for each connector.  
No tooling is required.  
(Pins only accept wires sized 18 AWG.)  
Front Panel Filler Panel  
Rack mount Flange Kit  
Agilent p/n 5002-1505  
Agilent p/n 5062-3979  
Agilent p/n 5062-3985  
One blank filler panel is required for every  
empty slot in Agilent MCCD mainframes.  
Includes 2 flanges, fasteners, and mounting  
screws  
Rack mount Flange Kit  
with Handles  
Includes 2 handles, 2 flanges, fasteners, and  
mounting screws  
Table 2-3. Manufacturer's Addresses  
Company  
Address  
Contact  
Phoenix Contact  
P.O. Box 4100  
Phone:717-944-1300  
Harrisburg, PA 17111-0100  
Fax: 717-944-1625  
http://www.phoenixcontact.com/index.html  
AMP  
Harrisburg, PA 17111  
http://www.amp.com/  
Agilent Technologies  
See list at back of this manual http://www.agilent.com/  
24  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Installation - 2  
Location  
Agilent E4370A MCCD Mainframe  
The outline diagrams in Appendix C give the dimensions of your Agilent MCCD mainframe. The  
mainframe may be installed free-standing, but must be located with sufficient space at the sides and back  
of the unit for adequate air circulation. You can rack mount the mainframe in standard 600 mm (23.8 in.)  
width system cabinets. This provides sufficient clearance for airflow. Support rails are also required  
when rack mounting the mainframe. These are usually ordered along with the cabinet.  
A fan cools the Agilent MCCD mainframe by drawing air in on the left side of the unit and discharging it  
through the back and side. Minimum clearance is 9 cm (3.5 inches) along the sides. Minimum clearance  
behind the mainframe is 23 cm (9 inches). Do not block the fan exhaust at the rear or the side.  
NOTE:  
To ensure proper cooling of the Agilent MCCD mainframe, there should be no open slots  
in the front of the mainframe. If an Agilent 64-Channel Charger/Discharger Card is  
either not installed or has been removed from a slot, a blank filler panel must be installed  
in the opening. Refer to Table 2-2.  
Agilent E4371A Powerbus Load  
CAUTION:  
To ensure adequate airflow to cool the Agilent Powerbus Load requires you to leave 0.6  
meters (2 feet) of open space in front of the load and directly behind the load. If you are  
rack-mounting the load, leave the rack door off.  
When discharging its maximum rated power, the Agilent E4371A Powerbus Load  
becomes hot to the touch.  
The outline diagrams in Appendix C give the dimensions of your Agilent Powerbus Load. The unit may  
be installed free-standing, but must be located with sufficient space at the front and back of the unit for  
adequate air circulation. Fans cool the unit by drawing air in on front and discharging it through the back.  
Maximum airflow is 10 cubic meters per minute (350 cubic feet per minute).  
You can rack mount the Agilent E4371A Powerbus Load in standard 600 mm (23.8 in.) width system  
cabinets, provided that you remove the rear door. This provides sufficient clearance for airflow. Rack  
mount kits are described in Table 2-2. Support rails are required when rack mounting the unit. To meet  
safety requirements, connect the ground terminal of the Agilent Powerbus load to the ground terminal of  
the external dc source.  
Channel Connections  
Each Agilent E4370A MCCD mainframe can control up to 256 individual charge/discharge cells when  
four Agilent 64-Channel Charger/Discharger cards are installed. Each charger/discharger card contains  
64 channels. Note that in the programming sections of this manual, channels are also referred to as  
outputs. When fully loaded, the 256 charge/discharge channels are configured as follows:  
25  
Download from Www.Somanuals.com. All Manuals Search And Download.  
2 - Installation  
Table 2-4. Channel Configuration  
Connector Number  
Card  
Number  
1
1
2
3
4
5
6
7
8
1 - 8  
9 - 16  
73 - 80  
17 - 24  
81 - 88  
25 - 32  
89 - 96  
33 - 40  
41 - 48  
49 - 56  
57 - 64  
2
3
4
65 - 72  
97 - 104 105 - 112 113 - 120 121 - 128  
129 - 136 137 - 144 145 - 152 153 - 160 161 - 168 169 - 176 177 - 184 185 - 192  
193 - 200 201 - 208 209 - 216 217 - 224 225- 232 233 - 240 241 - 248 249 - 256  
Power connections on each Agilent 64-Channel Charger/Discharger Card are through eight 37 pin D-  
subminiature connectors. These connectors allow for shielding and strain relief. Corresponding sense  
connections are also available on the connectors. Refer to Table 2-2 for information about ordering the  
mating connectors. As indicated in the table, mating connectors accept wire sizes from AWG 24 up to  
AWG 18, depending on the type of connector that you are using. You must wire up the mating connector  
to make your wire connections. Install the mating connector on the front of the charger/discharger card  
when complete. Refer to Appendix D for detailed pinout assignments of the front panel connectors.  
If specific channels are not being used, you can configure them to be inactive. Inactive channels are  
open-circuited. Note that there are two ways to configure the channel outputs, each having different  
effects when the unit is powered on.  
If you configure the channel outputs using the cfSetOutputConfig() function (see chapter 6), the  
settings are NOT saved in non-volatile memory. Each time you power up the unit, you must  
reprogram the settings.  
If you configure the channel outputs using the Sequence setup page in the Agilent MCCD User  
interface (see chapter 4), the settings ARE saved in non-volatile memory. The unit will wake up with  
those settings when it is powered up.  
NOTE:  
If the mainframe has empty card slots, the channels that are normally reserved for those  
card slots will be treated as inactive channels.  
Voltage Drops and Wire Resistance  
Agilent E4374A Charger/Discharger Cards have a maximum of 5.5V and 2A available at the power  
connector of each channel. Agilent E4375A Charger/Discharger Cards have a maximum of 6V and 3A  
available at the power connector of each channel.  
This means that at the rated output of 5V, the Agilent E4374A cards will tolerate up to a 0.5 volt drop,  
and the Agilent E4375A cards will tolerate up to a 1.0 volt drop in the load leads due to wire resistance,  
probe resistance, connector resistance, etc. Higher voltage drops will reduce the available voltage at the  
cell. Proper wiring design including using larger gauge wires and low-resistance fixture contacts can  
minimize voltage losses in the wiring and maximize the available voltage for charging the cells.  
The length of the leads from the power connector to the cells is determined by how much voltage drop  
your system can tolerate. The voltage drop is directly determined by the wire, connector, and probe  
resistance (see table 2-5). Refer to Remote Sense Connections for more information.  
To optimize performance and minimize the possibility of output instability and output noise, please  
observe the following guidelines:  
26  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Installation - 2  
It is good engineering practice to either twist or shield the sense and power wires.  
Twist the power wires together and keep them as short as possible.  
Twist the sense wires together but do not twist them together with the power wires.  
If possible, shield the sense wires. Connect the shield to the case.  
Keep the total cable length as short as possible.  
Use low resistance fixture contacts.  
Remote Sense Connections  
The sense connections provide remote sense capability at the fixture. Sense connections on each card are  
through the same connectors that house the power connections.  
Remote sensing allows the output voltages to be sensed at the cell, thus compensating for any losses in  
the wiring. On the Agilent E4374A cards, the compliance voltage (the voltage that the Agilent MCCD  
can provide in excess of the programmable rating) can be up to 5.5 volts to compensate for any voltage  
drop caused by resistance in the wiring between the channel output and the cell connections. On the  
Agilent E4375A cards, the compliance voltage can be up to 6.0 volts.  
The following table gives the resistance values of various wire sizes so that you can calculate the voltage  
drops for various wire lengths and diameters. Larger and shorter wires result in lower voltage drops. The  
table also gives an example of the maximum allowable wire lengths that can be used when taking the  
compliance voltage capability of the charger/discharger cards into consideration. The voltage drop used  
in the example is based on a minimum of 4.1 volts available to charge a typical lithium ion cell.  
Table 2-5. Resistance of Stranded Copper Conductors  
Resistance (at 20 deg. C)  
Maximum length in meters  
(total length of + and - leads)  
to limit voltage drop to:  
AWG No.  
mm2  
/m  
/ft  
1.4 V @ 2A  
1.9 V @ 3A  
18  
20  
22  
24  
0.825  
0.519  
0.324  
0.205  
0.022  
0.034  
0.055  
0.087  
0.0066  
0.0105  
0.0169  
0.0267  
31  
20  
12  
8
28  
18  
11  
7
As an example, assume that you are using AWG #24 wire for your power connections and your charging  
voltage is 4.1 volts at 2 amperes. Using this diameter wire and assuming a maximum current of 2  
amperes, the maximum distance from the power connector to the cell is limited to about 4 meters. This is  
because with a total wire length of 8 meters for both the + and power leads, the maximum voltage drop  
in the wiring is 1.4 volts (2A X 0.7). With a charging voltage of 4.1 volts required at the cell, this is the  
maximum voltage drop that an Agilent E4374A card can tolerate. Note that the Agilent E4375A card can  
tolerate up to a 1.9 volt drop in the load wiring.  
NOTE:  
This example does not account for any additional lead path resistance that may be  
present such as fixture contact resistance, or fixture relays. If additional resistance is  
present, lead length must be reduced yet further.  
27  
Download from Www.Somanuals.com. All Manuals Search And Download.  
2 - Installation  
Power Bus Connections  
CAUTION:  
Observe polarity when making the power bus connections to both the Agilent MCCD  
mainframe and the Agilent Powerbus Load. Reversed polarity connections will result in  
damage to both the Agilent MCCD mainframe and the Agilent Powerbus load. The  
negative () bus bar on the Agilent MCCD mainframe is connected to chassis  
ground.  
Connections to the power bus are made via + and bus bars on the back of the Agilent E4370A MCCD  
mainframe and Agilent E4371A Powerbus Load units. These bus bars let you interconnect multiple  
mainframes, external power sources, and other loads. Bus bars have mounting holes that accept 7 mm  
diameter bolts.  
NOTE:  
Fasten a suitable terminal lug to each power bus cable. Do not connect bare wires  
directly to the bus bars. Stranded cables with more and smaller diameter wires are easier  
to work with than cables with fewer and large diameter wires.  
When making your power connections you can use discrete terminated wires, bus bars, or combinations  
of both. For proper operation all power bus configurations should have minimum loop area for low  
magnetic radiation and should be kept away from CRTs. The following guidelines may be helpful in  
deciding whether to use wires or bus bars.  
Discrete terminated wires:  
Are the better solution for connecting individual units to each other in small systems and to bus bars  
in large systems.  
Have minimal alignment, insulation or routing problems.  
Are preferred for small cell charging systems.  
Bus bars:  
Are the better solution for high current carrying requirements.  
Can be custom designed or purchased; can use standard high current building parts.  
Use nuts and bolts or self tapped holes for connections.  
Require careful surface preparation and cleaning at connection points.  
WARNING  
ENERGY HAZARD. If high current power bus connections touch, severe arcing  
may occur - resulting in burns, ignition, or welding of parts. Do not attempt to  
make any connections to the power bus when the power bus is live.  
Power Bus Wiring Information  
The following table provides information about the resistance and ampacity of several standard wire  
sizes that may be suitable for power bus connections. This information is important because the  
resistance of the power bus wiring will cause a voltage drop in the power bus wires. If the voltage drop is  
large enough, it may prevent the Agilent E4370A MCCD mainframe from operating correctly in charging  
mode, or the Agilent E4371A Powerbus Load from operating correctly in discharging mode.  
28  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Installation - 2  
Table 2-6. Ampacity and Resistance of Stranded Copper Conductors  
AWG No.  
Area  
Ampacity  
Resistance  
in /meter  
Resistance  
in /feet  
Notes  
in mm2  
10  
8
6
4
2
1/0  
2/0  
3/0  
4/0  
5.26  
8.36  
13.3  
21.1  
33.6  
53.5  
67.4  
85.0  
107  
40  
60  
80  
105  
140  
195  
225  
260  
300  
0.00327  
0.00206  
0.00129  
0.00081  
0.00051  
0.00032  
0.00025  
0.00020  
0.00016  
0.00099  
0.00062  
0.00039  
0.00025  
0.000156  
0.000098  
0.000078  
0.000062  
0.000049  
1. Wire ampacities are based on  
30° C ambient temperature with  
conductor rated at 60° C.  
2. Resistance is nominal at 20° C  
wire temperature.  
Power Bus Configuration Examples  
Figures 2-1 and 2-2 illustrate two typical power bus configurations consisting of two Agilent E4370A  
MCCD mainframes connected to one Agilent E4371A Powerbus Load and two external dc power  
supplies. As shown in the figures, current requirements may vary widely based on the way the equipment  
is connected to the power bus.  
+
-
charging = 146A  
+
_
Charging values based on:  
Power/channel = 11W  
Efficiency = 80%  
Discharging values based on:  
Power/channel = 9W  
Efficiency = 80%  
Power So  
(24 V @ 146 A)  
urce  
Power bus voltage = 24V  
Power bus voltage = 26.5V  
charging = 146A  
+
_
maximum  
charging  
current = 292A  
Power So  
(24 V @ 146 A)  
urce  
+
Power So  
urce  
(24 V @ 146 A)  
_
+
Agilent E4370A  
+4 E4374A cards  
discharging = 140A  
+
_
(256 channels)  
_
Agilent E4371A  
Powerbus Load  
+
_
maximum  
discharging  
current = 140A  
Power Sou  
rce  
(24 V @ 146 A)  
+
_
146A  
+
charging = 146A  
discharging = 70A  
Agilent E4370A  
+
_
Terminal  
Block  
+4 E4374A cards  
Agilent E4370A  
+4 E4374A cards  
(256 channels)  
(256 channels)  
_
+
Agilent E4371A  
Powerbus Load  
charging = 146A  
discharging = 70A  
_
Flexible Wires  
+
_
Agilent E4370A  
+4 E4374A cards  
(256 channels)  
Rigid Bars  
Flexible Wires  
BUS BAR CONFIGURATION  
STAR CONFIGURATION  
Figure 2-1. Typical Power Bus Configuration for Agilent E4374A cards  
29  
Download from Www.Somanuals.com. All Manuals Search And Download.  
2 - Installation  
+
-
charging = 160A  
charging = 160A  
charging = 160A  
+
_
Charging values based on:  
Power/channel = 18W  
Efficiency = 80%  
Discharging values based on:  
Power/channel = 13.5W  
Efficiency = 75%  
Power So  
(24 V @ 160 A)  
urce  
Power bus voltage = 24V  
Power bus voltage = 26.5V  
+
_
Power Sourc  
(24 V @ 160 A)  
e
+
Power Sourc  
e
+
_
(24 V @ 160 A)  
_
maximum  
charging  
current = 480A  
Power S  
(24 V @ 160 A)  
ource  
+
_
Power Sour  
(24 V @ 160 A)  
ce  
+
Agilent E4370A  
+4 E4375A cards  
discharging = 196A  
+
_
(256 channels)  
_
Agilent E4371A  
Powerbus Load  
+
_
maximum  
discharging  
current = 196A  
Power Sour  
ce  
+
_
160A  
(24 V @ 160 A)  
+
charging = 240A  
discharging = 98A  
Agilent E4370A  
+4 E4375A cards  
+
_
Terminal  
Block  
Agilent E4370A  
+4 E4375A cards  
(256 channels)  
(256 channels)  
_
+
Agilent E4371A  
Powerbus Load  
charging = 240A  
discharging = 98A  
_
Flexible Wires  
+
_
Agilent E4370A  
+4 E4375A cards  
(256 channels)  
Rigid Bars  
Flexible Wires  
BUS BAR CONFIGURATION  
STAR CONFIGURATION  
Figure 2-2. Typical Power Bus Configuration for Agilent E4375A cards  
The star configuration on the left is designed so that each section of the power bus carries no more  
current than the rating of the equipment that it is connected to. This configuration lets you use longer  
lead lengths because the voltage drop in each lead is directly related to the amount of current flowing in  
the lead. However, this configuration requires you to run separate leads from each Agilent MCCD  
mainframe to the load as well as the power supply, thus increasing the total amount of wiring required.  
The bus bar configuration on the right is designed to minimize the amount of wiring between the  
equipment. However this requires larger diameter wires or bus bars. This is because the leads from the  
power supplies as well as the leads to the load are required to carry the full charging and discharging  
current for two Agilent E4370A MCCD mainframes. Larger currents result in larger voltage drops in the  
wiring, which may prove unacceptable with long lead lengths.  
Charging Mode Guidelines:  
Power bus wires must be capable of handing the full charging current requirements of all Agilent  
E4370A MCCD units connected to the power bus. In the example that follows, the calculations are for  
worst case current requirements. Calculate the input current requirement of one fully loaded Agilent  
E4370A MCCD as follows:  
30  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Installation - 2  
1. Multiply the power used by one cell times the number of cells in the Agilent MCCD. Divide the  
result by the efficiency of the unit to determine the total input power required for that mainframe.  
The efficiency of the unit in charging mode is assumed to be 80%, which is a worst-case value as far  
as calculating the total power required by the mainframe.  
#_of_cells × power_per_cell  
= Max_power_in  
0.8  
2. Divide the input power requirements of the Agilent MCCD by the minimum voltage required at the  
input terminals of the Agilent MCCD (22.8 volts). The result will be the maximum charging current  
required by the Agilent MCCD. (Double this current if you are simultaneously charging two Agilent  
MCCD mainframes as illustrated in Figures 2-1 and 2-2.)  
Max_ power_in  
= Max_powerbus_current  
Power_source_voltage  
3. Determine the voltage drop that the maximum current will produce in the power bus leads using the  
resistance values in Table 2-6.  
4. Add this voltage drop to the minimum voltage required at the input terminals of the Agilent MCCD  
to determine the output voltage setting of the dc power supply.  
5. The voltage at the input terminals of the Agilent MCCD during charging mode must be between 25.2  
and 22.8 volts. If the sum of the voltage drops in both the + and power bus leads causes the voltage  
at the mainframe power terminals to drop below 22.8 volts, the Agilent E4370A MCCD will shut  
down due to an undervoltage condition. Use a larger size wire to reduce the voltage drop.  
Discharging Mode Guidelines:  
Power bus wires must also capable of handing the full discharging current requirements of all Agilent  
E4370A MCCD units connected to the power bus. In the example that follows, the calculations are also  
for worst case current requirements. Calculate the output current of one fully loaded Agilent E4370A  
MCCD as follows:  
1. Multiply the power generated by one cell times the number of cells in the Agilent MCCD. Multiply  
the result by the efficiency of the unit to determine the total output power produced by that  
mainframe. The efficiency of the unit in discharging mode is approximately 80% with Agilent  
E4374A cards and 75% with Agilent E4375A cards. This percentage represents the highest  
efficiency possible for calculating the total power that is generated by the mainframe in discharge  
mode.  
= Max_power_out  
(#_of_cells × power_per_cell) × Efficiency  
2. Divide the power generated by the Agilent MCCD by the input voltage of the Agilent Powerbus  
Load. At an input voltage of 26.5 volts, the result will be the maximum discharging current that will  
be absorbed by the Agilent Powerbus Load. (Double this current if you are simultaneously  
discharging two Agilent MCCD mainframes as illustrated in Figure 2-5.)  
Max_ power_out  
= Max_powerbus_current  
26.5  
3. Determine the voltage drop that the maximum current will produce in the power bus leads using the  
resistance values in Table 2-6.  
4. The sum of the voltage drops in both the + and power bus leads cannot exceed 1.5V. If the  
voltage drop exceeds 1.5 volts in discharging mode, the Agilent MCCD will shut down due to an  
overvoltage condition at the mainframe terminals. Use a larger size wire to reduce the voltage drop.  
31  
Download from Www.Somanuals.com. All Manuals Search And Download.  
2 - Installation  
Digital Connections  
Each Agilent E4370A MCCD mainframe has a 16-bit digital I/O port. Digital I/O configuration can be  
done with the Agilent MCCD Configuration Screens as described in chapter 3 or with the Agilent MCCD  
User Interface as described in chapter 4. All pins do not have to be configured the same. Some can be  
used as isolated outputs while others are single ended I/O. The functions can also be mixed, some pins  
can be general purpose I/O while others have a specific purpose. The polarity of a bit can also be  
configured as either high true or low true. The following list documents the types of digital I/O  
configurations:  
General Purpose I/O  
General purpose I/O programs the digital I/O as a passthrough function that allow input or output signals  
on the digital connector to be directly controlled with API programming commands. These signals have  
no effect on the cell forming sequence.  
Digital  
Output  
When configured as outputs, each line is driven by an internal open collector  
transistor. Output lines are capable of driving either TTL compatible inputs, or high  
power loads such as solenoids, indicator lights, and relays. These are 24 V/ 300mA  
compatible open-collector outputs.  
Digital Input  
Digital In/Out  
When configured as inputs, each line can be driven by an external source. All lines are  
TTL compatible inputs, with built in pull-ups to 5 V to facilitate contact and switch  
closure style inputs.  
When configured as in/out, each line can be used as both an input and an output.  
Programming the line high allows an external device to drive the line. Programming  
the line low drives the line low. Reading the line returns the actual state of the line.  
Isolated  
Output  
When outputs are configured for optically isolated mode, they are open-collector  
outputs capable of sinking 1.6mA at 0.4V, and can be used up to 24V. Adjacent pin  
pairs starting with pin 0 are the plus and minus output of an optical isolator. This  
allows for up to 8 isolated outputs, on adjacent pin pairs 0-1, 2-3, 4-5 etc. Because  
these are dedicated pairs, pins 1 and 2 cannot be combined as an isolated output.  
Special Functions  
External  
Fault Input  
When true, this signal stops the cell forming sequence due to an external fault  
condition. It also sets the external fault output signal true. This signal can be connected  
to a sensor such as a fire detector. It can also be connected to the external fault output  
of another Agilent MCCD so that it can respond to a fault in another mainframe.  
External  
Fault Output  
This signal is asserted true when an external fault occurs. It can be connected to  
external equipment such as a fire alarm. It can also be connected to the external fault  
input of another mainframe so that a fault in one mainframe can shut down other  
mainframes. A cfProtectClear command clears this signal.  
External  
Interlock  
When true, this signal stops the cell forming sequence, but because the stop was not  
due to a fault condition, it does not set the external fault output signal true. This level-  
sensitive signal can be connected to an external stop or pause switch to allow an  
operator or mechanical device to stop a cell forming sequence. When the signal is  
removed, the sequence continues.  
32  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Installation - 2  
External  
Trigger  
This external trigger input is used to start the cell forming sequence.  
Power Fail  
Depending on how the system is configured, when true, this input signal will cause the  
Agilent MCCD to perform a shutdown, at which time it saves its state for a later restart.  
A power fail output signal is also available to indicate when the shutdown state has  
been saved.  
Wiring Guidelines  
Connection for the 16 digital I/O signals are through two 10-pin Phoenix/Weidmuller style connectors.  
The connectors have screw terminals for making wire connections and are detachable. Digital I/O lines 0  
through 7 are on connector 1; digital I/O lines 8 through 15 are on connector 2. There are two common  
terminals on each connector for ground or the return connection.  
The following figure illustrates the internal circuits of the digital I/O connector. When used as a digital  
input (A), the external circuit connected to the digital input pin can be TTL, AS, CMOS, HC, or a simple  
switch that connects the digital input to the common terminal. When used as a digital output (B) the  
external circuit connected to the output pin can also be TTL, AS, CMOS, HC or a warning light,  
provided the light has an external bias supply.  
When used as isolated pairs (C), each pin pair can be connected to external circuits with the following  
restrictions: Only adjacent pairs can be used together. Only the even pin of each pair can be programmed  
to set the logic level as low true or high true. When Low True is programmed, the output is true when the  
pins are shorted. When High True is programmed, the output is true when the pins are open.  
+5V  
+5V  
DIG I/O  
Connector  
DIG I/O  
Connector  
4.7K  
4.7K  
Even Pin  
Dig In signal  
Odd or Even Pin  
A. Digital Input  
+5V  
Isolated  
Common  
Dig Out signal  
4.7K  
+5V  
Adjacent  
Odd Pin  
4.7K  
C. Isolated Output  
Odd or Even Pin  
Common  
Dig Out signal  
B. Digital Output  
Figure 2-3. Equivalent Digital I/O Circuits  
33  
Download from Www.Somanuals.com. All Manuals Search And Download.  
2 - Installation  
The following figure illustrates some typical DIO hardware connections.  
+ 16.5 V maximum  
connect to pins  
0 through 7  
TTL, AS, CMOS, HC  
Coil current  
0.25A maximum  
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
. . . . . . . . . .  
Connect common to  
connect to pins  
2, 4, 6, 8  
7
6
5
4
3
2
1
0
connect to pins  
1, 3, 5, 7  
connect to pins  
0 through 7  
7
6
5
4
3
2
1
0
Connect common to  
A) Relay Driver Example Circuit  
B) Digital Interface Example Circuit  
Figure 2-4. Typical Hardware Connections  
RS-232 Connections  
The Agilent MCCD has two RS-232 ports for connection to local peripherals. Under normal operation  
both ports are available for general purpose communications and are configurable over the LAN. For  
initial configuration and calibration, the RS-232 ports are used as follows:  
RS-232 port B is connected to a terminal and used to access the Agilent  
MCCD Configuration Screens. This sets up the initial configuration.  
Initial  
Configuration  
RS-232 port B is connected to a terminal and used to access the Agilent  
MCCD Configuration Screens through which the calibration process is  
executed. RS-232 port A is used to connect a dedicated voltmeter for  
calibration.  
Calibration  
Both ports should be configured with the same baud rate as the computer. Both ports support full  
hardware flow and software flow control with XON and XOFF support, and with RTS / CTS available  
for hardware control.  
34  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Installation - 2  
1
2
3
4
5
Pin  
1
Input/Output  
Description  
no connection  
2
3
4
Input  
Output  
Receive Data (RxD)  
Transmit Data (TxD)  
not used  
5
6
Common  
Signal ground  
not used  
6 7 8 9  
DB-9 male connector  
7
8
9
Output  
Input  
Request to Send (RTS)  
Clear to Send (CTS)  
no connection  
Figure 2-5. RS-232 A and B Connectors  
The following diagram describes the cable connections between the Agilent MCCD RS-232 ports and  
any local peripherals such as a PC or barcode scanner. Refer to table 2-2 for cable kit information.  
MCCD  
NULL-MODEM CABLE  
PC  
(or serial device)  
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
DCD  
RXD  
TXD  
DTR  
GND  
DSR  
RTS  
CTS  
RI  
DCD  
RXD  
TXD  
DTR  
GND  
DSR  
RTS  
CTS  
RI  
DB9 MALE  
DB9 FEMALE  
DB9 FEMALE DB9 MALE  
Figure 2-6. Null-modem Cable Connections  
Auxiliary Output Connection  
An undedicated isolated auxiliary output is provided to power various actuators and circuits local to the  
test fixture. It can also be used as the pull-up source for any digital I/O connections that require an  
external pull-up source. The auxiliary output is available through a 4-pin Phoenix/Weidmuller style  
connector on the rear panel. The connector has screw terminals for making wire connections and is  
detachable.  
As explained in chapter 3, the Agilent MCCD Configuration Screens let you set this output to between 5  
volts and 24 volts in 0.1-volt increments. 10 Watts of total output power is available. The auxiliary  
output is isolated by up to 42 volts with respect to chassis common (earth ground).  
35  
Download from Www.Somanuals.com. All Manuals Search And Download.  
2 - Installation  
Installing the API Library and Measurement Log Utility  
Software for the Agilent MCCD consists of the API library and a measurement utility. This software is  
provided with the Agilent E4373A Documentation package. You need to install this software to use the  
supplied C-language function calls to control the Agilent MCCD as part of a automated manufacturing  
process.  
A setup program is provided on the disk to install the client API files and measurement utility on your  
PC. The setup program will create a new directory and a new windows program group. To install the  
software  
1. Place Disk #1 in the A: drive of your computer and run A:SETUP.EXE.  
2. Follow the directions on the screen to install the software. The default installation selections will  
install all files in the C:\hpmccd directory on your computer. It will also create an Agilent MCCD  
Client API and Measurement Log Utility program folder. You can change both of these default  
selections.  
Refer to the README.TXT file installed in the \hpmccd directory for any updates. The following files  
are also included in the \hpmccd directory:  
mccdcfg.exe  
Lets you update the Agilent MCCD firmware from a Windows 95 or  
Windows NT client PC.  
mccdlog.exe  
Lets you transfer data from the Agilent MCCD’s data log memory to a  
Windows 95 or Windows NT client PC.  
mccd.dll  
mccd.lib  
mccd.h  
Required files to develop a C programming client application.  
Two example programs written in C are also installed on your PC in C:\hpmccd\c\samples.  
Refer to chapter 4 for information on how to use the Agilent MCCD Measurement Log Utility.  
Visual C++ Configuration  
To build an application using the Agilent MCCD API library, you must configure the Visual C++  
development environment as follows:  
1. Copy the mccd.dll, mccd.lib, and mccd.h files to the working project directory. (This can also be  
done when installing the library as previously described.)  
2. In Visual C++ (4.x), you must add the mccd.lib library. To do this, in the Build menu, select Settings,  
then Object Modules, and then append the mccd.lib file.  
3. Applications must include the mccd.h header file at the beginning of every file that contains calls to  
this library. To do this in your source files, #include “mccd.h”.  
36  
Download from Www.Somanuals.com. All Manuals Search And Download.  
3
Configuration  
Configuring the LAN  
The connection to the LAN is through a standard 8-pin 10Base-T connector on the rear panel, which  
must first be configured according to the directions in this section. Configuring the unit for LAN  
communications consist of three steps:  
1. Configure the HyperTerminal program on your PC to communicate with the Agilent E4370A  
MCCD. The HyperTerminal program is provided on Windows 95 and Windows NT. Other ASCII  
terminals or terminal emulation programs will also work, provided that you configure the settings  
the same as for the HyperTerminal program.  
2. Connect your PC to the RS-232 Port B connector on the back of the Agilent E4370A MCCD using a  
null-modem serial cable as described in Table 2-2 and Figure 2-5.  
3. Fill out the screens that appear on the Agilent MCCD Configuration Screens.  
NOTE:  
This procedure can also be used to calibrate the Agilent MCCD, configure the Digital  
I/O if it is not enabled over the LAN, and set the language options.  
1. Configure the HyperTerminal program  
Access and configure the HyperTerminal program on your PC as follows:  
For Windows NT: Press the Start button and select :  
Programs> Accessories> Hyperterminal> HyperTerminal  
Press the Start button and select :  
For Windows 95:  
Programs> Accessories> Hyperterminal  
Next, double-click on the Hpertrm.exe icon in the HyperTerminal program group.  
If you are running HyperTerminal for the first time, fill in the location  
information. Because you are not using a modem, you do not need to enter a  
phone number.  
Type in a name and select an icon if desired.  
Then click OK.  
In the Connection  
Descriptions box:  
In the Connect To  
Go to the Connect using field and select either COM 1 or COM 2. This specifies  
box (Windows NT) a COM connector on the back of your computer. You will need to connect the  
RS-232 Port B on the back of the Agilent E4370A MCCD to the Com port that  
you select in this field. Then Click OK.  
or Phone Number  
box (Windows 95):  
37  
Download from Www.Somanuals.com. All Manuals Search And Download.  
3 - Configuration  
select the following port settings:  
In the COM  
Bits per second  
Data bits  
9600  
8
Properties box:  
Parity  
Stop Bits  
None  
1
Flow control  
None  
Then click OK.  
Select the Properties command  
In the File menu  
In the Properties  
box:  
Select the Settings tab. Under Emulation, make sure that Auto detect is selected.  
Click the ASCII Setup button and make the following selections:  
Send line ends with line feeds  
Echo Typed Characters locally  
Line delay  
Not checked  
Checked  
0
0
Character delay  
Append line feeds to incoming cone ends Not checked  
Force incoming data to 7-bit ASCII  
Wrap lines that exceed terminal width  
Click OK to exit ASCII Setup.  
Not checked  
Not checked  
Click OK to exit Properties  
2. Connect the Agilent E4370A MCCD to the COM port on the PC  
Connect the ac line cord to the LINE connector on the rear of the unit Agilent MCCD. This is a universal  
ac input that supports any line voltage from 87 Vac to 250 Vac, 50/60 Hz.  
Turn on the Agilent MCCD.  
If you have not already done so, connect the Agilent E4370A MCCD to the COM port on the PC.  
Connect the RS-232 cable from Port B on the back of the Agilent E4370A MCCD to the COM port on  
your computer that was specified using the HyperTerminal program.  
Flip the Port B switch (#4) on the back of the Agilent E4370A down (from Normal to Configure).  
Normal  
Note: Switches 1 through 3 must remain in  
the up position.  
Configure  
1
2
3
4
NOTE:  
The Agilent MCCD configuration program is active any time switch #4 is down. If you  
do not see the Agilent MCCD Configuration Screens on your PC, press the Enter key.  
3. Fill Out the Agilent MCCD Configuration Screens  
The following Agilent MCCD Configuration Screens should appear in the HyperTerminal window.  
38  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Configuration - 3  
MCCD Configuration Screens  
1) Network Configuration  
2) Identification Configurations  
3) Digital I/O Configuration  
4) Perform Calibration  
5) Miscellaneous Configuration  
Type a number and press Enter  
For now, you will only be accessing the Network Configuration and the Identification Configuration  
screens.  
Network Configuration  
NOTE:  
The settings that you enter in this screen are determined by your network administrator.  
In the Initial Screen, select 1 to configure your network. Select 1, 2, 3, or 4 to enter the IP address,  
Subnet Mask, Default gateway, or password.  
Network Configuration  
IP Address  
000.000.000.000  
000.000.000.000  
000.000.000.000  
Subnet Mask  
Default Gateway  
Network Password  
1) To change IP Address  
2) To change Subnet Mask  
3) To change Default Gateway  
4) To change Password  
Type a number and press Enter or ctrl-G to return to initial screen  
IP Address sets the IP address of the Agilent E4370A MCCD. It is in dotted decimal format.  
The Subnet mask is the subnetwork that the Agilent E4370A MCCD is connected to. If it is set to 0 it is  
assumed that subnetting is not performed on this network.  
The Default Gateway is the IP address of the gateway for the Agilent E4370A MCCD. This allows  
communication with a computer on a LAN other than the one to which the unit is connected.  
39  
Download from Www.Somanuals.com. All Manuals Search And Download.  
3 - Configuration  
The Agilent MCCD is shipped from the factory without a password being set. A network Password can  
be assigned to the Agilent E4370A MCCD to prevent unauthorized users from controlling the unit over  
the network. This is the same password that must be used when programming the Agilent MCCD using  
the API functions.  
Identification Configuration  
In the Initial Screen, select 2 to configure the identification of your Agilent MCCD. The information in  
this screen is for identification only. It is especially helpful when there are multiple Agilent MCCDs on  
the LAN. Fill in the Identification Configuration screen as follows:  
Select 1, 2, or 3, to enter the unit name, location or other unit identification.  
Identification Configuration  
Unit Name  
Unit Location  
Other ID  
MyName  
Third on left  
Identification000.000  
1) To change Unit Name  
2) To change Unit Location  
3) To change Other ID  
Type a number and press Enter or ctrl-G to return to initial screen  
Unit Name is the network name assigned to the Agilent MCCD. The name must begin with a letter and  
end with either a letter or a number. Other characters in the name are limited to letters, numbers, periods,  
or hyphens.  
Unit Location identifies the physical location of the Agilent MCCD. Only printable ASCII characters are  
allowed.  
Other ID is any additional information that is required to identify this Agilent MCCD. Only printable  
ASCII characters are allowed. This could be used for the asset number, department name, production  
line, or other type of identification.  
40  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Configuration - 3  
Miscellaneous Configuration  
In the Initial Screen, select 5 to configure the language used in the Agilent MCCD User Interface. You  
can choose between English and Japanese.  
This screen also lets you program the auxiliary bias output on the back of the Agilent MCCD mainframe.  
The bias voltage can be programmed from 5 volts to 24 volts in 0.1 volt increments.  
Miscellaneous Configuration  
Web Page Language is presently ENGLISH  
1) To Change Web Page language to English  
2) To Change Web page language to Japanese  
AUX Bias Supply voltage is 10.0000  
3) Set Aux Bias Supply voltage  
Type a number and press Enter or ctrl-G to return to initial screen  
Configuring the Digital I/O  
Configuring the Digital I/O using Hyperterminal is provided as a convenience. You can also configure  
the Digital I/O using the Agilent MCCD User Interface or the API function calls over the LAN. Further  
information about the function of the Digital I/O lines is provided in chapter 6 under cfSetDigitalConfig.  
To configure the Digital I/O using the HyperTerminal program on your PC, flip the Port B switch (#4) on  
the back of the Agilent E4370A down (from Normal to Configure) and run the HyperTerminal program  
as described in the beginning of this chapter. When the Agilent MCCD Configuration Screens appear,  
select 3 to configure the Digital I/O port of your Agilent MCCD mainframe.  
Select 1 or 2 to either enable or disable Digital I/O configuration over the LAN. If you enable Digital I/O  
configuration, you will be able to configure it in the future using the web accessible Agilent MCCD User  
Interface or API rather than always having to run the Agilent MCCD Configuration Screens.  
NOTE:  
One reason that you may want to disable Digital I/O access over the LAN is to prevent  
accidental reprogramming of any digital I/O functions if they are being used to monitor  
or implement safety functions in your cell forming procedure.  
41  
Download from Www.Somanuals.com. All Manuals Search And Download.  
3 - Configuration  
Digital I/O Configuration  
Digital I/O Configuration over the LAN is  
ENABLED  
1) To ENABLE Digital I/O Configuration over the LAN  
2) To DISABLE Digital I/O Configuration over the LAN  
3)  
To configure Digital I/O  
Type a number and press Enter or ctrl-G to return to initial screen  
To continue configuring the Digital I/O, press 3. The pin numbers of the Digital I/O connector appear on  
the screen. Refer to Figure 2-2 for the physical locations of the pins. Note that the two pins on each end  
of the connector are the Common connection for any pins that are configured as grounded outputs.  
Digital I/O Configuration  
Pin,  
0
Function  
General Purpose I/O,  
General Purpose I/O,  
General Purpose I/O,  
General Purpose I/O,  
General Purpose I/O,  
General Purpose I/O,  
General Purpose I/O,  
General Purpose I/O,  
General Purpose I/O,  
General Purpose I/O,  
General Purpose I/O,  
General Purpose I/O,  
General Purpose I/O,  
General Purpose I/O,  
General Purpose I/O,  
General Purpose I/O,  
Grounded, High True  
Grounded, High True  
Grounded, High True  
Grounded, High True  
Grounded, High True  
Grounded, High True  
Grounded, High True  
Grounded, High True  
Grounded, High True  
Grounded, High True  
Grounded, High True  
Grounded, High True  
Grounded, High True  
Grounded, High True  
Grounded, High True  
Grounded, High True  
1
2
3
4
5
6
7
8
9
10  
11  
12  
13  
14  
15  
Type a pin number and press Enter or ctrl-G to return to initial screen  
To configure a pin, select a pin number and press Enter. The following choices appear on the screen for  
each pin that you select. Selections made in this screen will be shown in the previous screen.  
42  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Configuration - 3  
Pin  
0
Digital I/O Configuration  
1) Change to External Fault Input  
2) Change to External Fault Output  
3) Change to External Interlock  
4) Change to General Purpose I/O  
5) Change to General Purpose Input  
6) Change to General Purpose Output  
7) Change to External Trigger  
8) Change to External Fault Output  
9) Change to General Purpose Output  
10) Change to Power Fail Input  
11) Change to Power Fail Output  
12) Change to Power Fail Output  
13) Change to Output and not Fault In  
14) Change to Output and not Fault In  
Grounded  
Grounded  
Grounded  
Grounded  
Grounded  
Grounded  
Grounded  
Isolated  
Isolated  
Grounded  
Grounded  
Isolated  
Grounded  
Isolated  
Type a number and press Enter or ctrl-G to return to initial screen  
All pins do not have to be configured in the same way. Some can be used as isolated outputs while others  
are single-ended I/O. Functions can also be mixed, with some pins being general purpose Digital I/O  
while others have a specific purpose. Chapter 2 under “Digital Connections” provides further information  
about the purpose and application of the digital I/O signals. Any pin can be configured for selections 1  
through 7. The common ground pin is the return for these selections.  
Selections 10 and 11 are the power fail signals. One is the input, to signal that a power failure has  
occurred; the other is the output, to indicate when the shutdown state has been saved. Pin 13 is a special  
purpose signal discussed under cfSetDigitalConfig in chapter 5.  
Selections 8, 9, 12, and 14 are the isolated output selections, which require a dedicated pair. Dedicated  
pairs are located on adjacent pins (0-1, 2-3, 4-5, etc.), up to a maximum of eight pairs. For example to use  
the pair pin 0-1 as an isolated output, configure pin 0 to be the isolated output and do not configure pin 1.  
Pin 1 is the minus connector of the output. Writing to or reading pin 1 has no effect. Isolated outputs  
cannot be used as inputs.  
After you press Enter, select whether the pin will be configured as either High True or Low True.  
Pin  
0
Digital I/O Configuration  
1) Change to High True  
2) Change to Low true  
Type a number and press Enter or ctrl-G to return to initial screen  
43  
Download from Www.Somanuals.com. All Manuals Search And Download.  
3 - Configuration  
Mixed Configuration Example  
The following example illustrates a mixed digital I/O configuration. In this example,  
Pins 0, 2, 4, and 6 are configured for External Fault Output Isolated High True (selection 11).  
Pins 1, 3, 5 and 7 the corresponding second pins of each isolated pair.  
Pins 8 through 10 are configured as General purpose I/O, high true (selection 7), referenced to the  
common connector.  
Pins 11 and 12 are configured as External Fault inputs, Low True (selection 2), referenced to the  
common connector.  
Pins 14 and 15 are configured as External Fault outputs, High True (selection 3), referenced to the  
common connector.  
Digital I/O Configuration  
Pin,  
0
Function  
Polarity  
External Fault Output,  
second pin of isolated pair  
External Fault Output,  
second pin of isolated pair  
General Purpose Output,  
second pin of isolated pair  
General Purpose Output,  
second pin of isolated pair  
General Purpose I/O,  
General Purpose I/O,  
General Purpose I/O,  
General Purpose I/O,  
External Fault Input  
External Fault Input  
External Fault Output  
External Fault Output  
Isolated, High True  
1
2
Isolated, Low True  
Isolated, High True  
Isolated, Low True  
3
4
5
6
7
8
Grounded, High True  
Grounded, High True  
Grounded, High True  
Grounded, High True  
Grounded, Low True  
Grounded, Low True  
Grounded, High True  
Grounded, High True  
9
10  
11  
12  
13  
14  
15  
Type a pin number and press Enter or ctrl-G to return to initial screen  
Accessing Calibration  
Using the Agilent MCCD Configuration Screens to calibrate the Agilent MCCD is provided as a  
convenience. You can also run calibration using the Agilent MCCD User Interface or the API function  
calls over the LAN. For further information about how to use the Agilent MCCD Configuration Screens  
for calibration, refer to Appendix B.  
44  
Download from Www.Somanuals.com. All Manuals Search And Download.  
4
Agilent MCCD User Interface  
Description  
The Agilent MCCD User Interface lets you interactively monitor and control the Agilent MCCD System.  
This interface is accessed using a standard web browser on a PC located anywhere on the LAN. No  
special software other than the web browser needs to be installed on the PC to use this interface.  
PC Requirements  
The PC must have one of the following web browsers installed:  
Netscape Navigator 3.03 or greater  
Microsoft Internet Explorer 3.02 or greater  
Browser Settings  
The following browser settings are recommended when using the Agilent MCCD User Interface:  
Graphics card set to display 256 colors.  
Video resolution of 800 X 600 pixels or better.  
When using Netscape Navigator, go to View/Network Preferences/Language and enable Javascript.  
When using Microsoft Internet Explorer, go to View/Options/Security and enable Run ActiveX  
scripts.  
NOTE:  
If you use the standard web browser buttons (Back, Forward, or Home) to navigate  
through the Agilent MCCD User Interface, you may experience unexpected results.  
Security  
The server inside the Agilent MCCD implements the basic password authentication scheme that is  
supported by the Web browsers. The Agilent MCCD User Interface is shipped without password  
protection. You can set a password to restrict access to the Agilent MCCD using the Agilent MCCD  
Configuration Screens. This is done during the installation as discussed in chapter 3. The password that  
you set in the Agilent MCCD Configuration Screens is the same password that is used by the Agilent  
MCCD User Interface and must also be used when programming the Agilent MCCD using the API  
function calls.  
45  
Download from Www.Somanuals.com. All Manuals Search And Download.  
4 - User Interface  
Localization  
The user interface pages are provided in English and Japanese. You can specify the default language  
during installation of the Agilent MCCD. (You can also change the language from the System page once  
the Agilent MCCD User Interface is running.)  
Access  
The user interface is accessed by starting a web browser on a LAN-connected PC and specifying the  
following URL:  
http://<address>/  
where <address> is the IP address or name of the particular Agilent MCCD unit being monitored.  
Using the Interface  
The Agilent MCCD User Interface provides a basic level of system monitoring and control. It allows the  
monitoring of individual cell states, measuring cell voltage and currents while the test is running, and the  
monitoring and control of a complete test sequence.  
The Agilent MCCD User Interface lets you control a cell-forming station independently of a computer  
test program. The cell forming sequence that you program using the Agilent MCCD User Interface is  
identical to the sequence that you construct using the API functions in a program. You can also download  
an existing sequence from a PC and then use the Agilent MCCD User Interface to view or modify it.  
You can also use the Agilent MCCD User Interface as a learning tool to familiarize yourself with the  
various features of the Agilent MCCD.  
Finally, the Agilent MCCD User Interface contains a Diagnostics Page that lets you directly and  
immediately program the individual channel outputs. This is only meant for debugging purposes. Agilent  
Technologies does not recommend using direct output control to run your cell forming sequence.  
CAUTION  
Direct output control should not be used for charging cells. There is no protection  
against overcharging when using direct output control. Use this mode only for  
diagnostic and debugging purposes.  
More information on using the Agilent MCCD User Interface can be found in the online help that can be  
accessed from the interface. Click on the Help button.  
46  
Download from Www.Somanuals.com. All Manuals Search And Download.  
User Interface - 4  
Using the Agilent MCCD Measurement Log Utility  
If you are using the Agilent MCCD User Interface to create and run a cell forming sequence, you may  
want to transfer the data from the data log memory to your PC for analysis and storage at the completion  
of the cell forming sequence. Use the Agilent MCCD Measurement Utility to transfer the data from the  
data log memory to a file on your client PC.  
NOTE:  
The data log memory will be cleared when you perform an Initiate function, when you  
exit the Agilent MCCD User Interface, or when power is removed from the unit.  
Transfer the data to your PC if you want to keep it.  
To run the Agilent MCCD Measurement Log Utility, click on  
Start> Programs> Agilent MCCD Client API and Measurement Log Utility> Measurement Log  
The following window will appear on your computer screen:  
Use the measurement utility as follows:  
1. Enter the MCCD name or IP Address of the unit that you are accessing in the first field.  
2. If the unit has been password-protected, enter the password in the password field.  
3. Select one of the following data logging formats:  
47  
Download from Www.Somanuals.com. All Manuals Search And Download.  
4 - User Interface  
Raw log  
Transfers all of the logged data in the order that it was logged.  
Sorted by cell  
Transfers all of the logged data sorted by cell. Data is organized from first  
cell to last cell.  
Individual  
files per cell  
Transfers all of the logged data and creates a separate data file for each cell.  
4. When you select Raw log or Sorted by cell, you must enter a filename in which to store the data.  
Select the Browse button to chose a directory in which to put the file. The default directory is  
C:\hpmccd\bin  
5. When you select Individual files per cell, the utility automatically creates up to 256 data files (one  
for each active cell. Filenames are c001.txt through c256.txt. All files will be placed in the  
C:\hpmccd\bin\data directory.  
6. Click Transfer to start the data transfer. The status field provides status information about the  
transfer.  
7. Click Exit to exit the utility.  
Data files that are created by the measurement log utility contain the following information:  
cell-number  
step-number  
time  
1 through 256  
1 through n; the total number of steps in the sequence  
Time in seconds since the forming sequence was triggered  
A value that indicates the status of the cell  
status  
Value  
Status  
1
2
4
constant voltage mode  
constant current charge mode  
constant current discharge mode  
entry-type  
One of the following: “Charge”, “Discharge”, “Rest”, “ACR”, “DCR”  
Cell voltage in volts (only for Charge, Discharge, and Rest steps)  
Cell current in amperes (only for Charge, Discharge, and Rest steps)  
volt-reading  
curr-reading  
amp-hours  
Cumulative ampere-hours from the beginning of the step-number (only for  
Charge, Discharge, and Rest steps)  
watt-hours  
resistance  
Cumulative watt-hours from the beginning of the step-number (only for  
Charge, Discharge, and Rest steps)  
ac or dc resistance measurement in ohms (only for ACR and DCR steps)  
48  
Download from Www.Somanuals.com. All Manuals Search And Download.  
5
Programming Overview  
A Cell Forming Overview  
The cell forming process of the Agilent E4370A MCCD consists of a series of steps or actions that are  
performed on a group of cells until the process is complete. This cell forming process is here referred to  
as a sequence, the essence of which consists of three steps: charging the cell, resting the cell, and  
discharging the cell. These steps may be repeated a number of times and in any order within the  
sequence, depending on your process. The transition from one step to the next is controlled by tests  
within the step that specify measurement criteria that must be satisfied. You can specify at what time  
during the test that the measurement will be made and what action to take if the measurement criteria is  
met. Two additional steps, ac resistance and dc resistance, are available that are used to measure the ac or  
dc resistance of a cell. These measurements cannot be made while the cell is charging or discharging.  
Steps define the voltage and current stimulus that is supplied to the cell and the length of time that a  
stimulus is applied. Tests within the step measure the cell, define measurement limits, compare the  
measurement to the limits, and specify an action to take based on the outcome of the comparison. Refer  
to the cfSetSeqTest function in chapter 6 for a list of all of the tests that can be performed in a given step.  
Note that the ac resistance and dc resistance tests can only be performed within their respective ac  
resistance and dc resistance steps.  
Cells may be tested before or after a specified time in the step or they may be tested once at a specific  
time. Cells may also be tested at the beginning of a step, before a stimulus is applied, to ensure that it is  
safe to charge or discharge the cell.  
Depending on the outcome of a test, a cell can either bypass the remaining tests and go to the next step in  
the sequence, or get flagged as failed and removed from the sequence. This is illustrated in figure 5-1.  
When a cell is removed from the sequence, the output to that cell is turned off and no further tests are  
performed on it.  
NOTE:  
There are no sequence restrictions on individual cells. What this means is that a cell can  
be at any point in a cell forming sequence independent of any other cell. Cells can  
charge, discharge, or rest at the ratings specified for the specific step that they are in. AC  
and DC resistance measurements are also performed on individual cells whenever they  
enter an ACR or DCR step. Outputs to the cells can also be turned on or off individually.  
49  
Download from Www.Somanuals.com. All Manuals Search And Download.  
5 - Programming Overview  
Start STEP  
Continue in step  
Test outcome?  
TRUE  
FALSE  
FAIL  
Test action?  
NEXT  
Remove cell from  
sequence  
Go to NEXT step  
Figure 5-1. Test Outcome Flowchart  
Cell Forming Example  
The following table documents a sequence consisting of four steps. Figure 5-2 illustrates how three of the  
cells behave as the sequence is running. Each step in the sequence is performed on all cells  
simultaneously. Sequence steps and actions are as follows. Refer to Chapter 7 for the C programming  
code for this example. The examples given here will work with both Agilent E4374A and E4375A cards.  
Function  
Step Step Action/ Voltage  
Test Type  
Current  
Time  
Test Outcome  
Set Seq Step  
Set Seq Test  
1
1
Charge at  
4.2 V  
3.8 V  
0.295 A  
For 20 min.  
Before 5 min. Fail (cell removed  
from sequence)  
Voltage ≥  
Set Seq Test  
1
0.02 A  
After 5 min.  
Next (cell goes to  
step 2, rest)  
Current ≤  
Set Seq Step  
Set Seq Step  
Set Seq Test  
2
3
3
Rest  
For 10 min.  
For 15 min.  
Discharge at 3.0 V  
0.295 A  
3.0 V  
3.0 V  
3.0 V  
Before 5 min. Fail (cell removed  
from sequence)  
Voltage ≤  
Voltage ≤  
Voltage ≥  
Rest  
Set Seq Test  
Set Seq Test  
Set Seq Step  
3
3
4
After 5 min.  
At 15 min.  
For 5 min.  
Next (cell goes to  
step 4, rest)  
Fail (cell removed  
from sequence)  
50  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Programming Overview - 5  
Step 1  
In Step 1, all cells are set to charge at a constant current of 0.295 amperes until the voltage reaches 4.2  
volts. It continues charging at the 4.2 volt limit, however the charging current now starts decreasing from  
its 0.295 ampere limit setting. The cell continues charging until the cell current falls to 0.02 amperes.  
When this occurs, the cell goes to the next step, the resting state. This is shown occurring for cell 1 and  
cell 2 in Figure 5-2. Because the current test was never true for cell 3, it remained in the charging step  
for the maximum charging time of 20 minutes.  
A cell fails the test if it reaches the 3.8 volt setting in less than 5 minutes. This indicates that the cell is  
charging too rapidly.  
Step 2  
In Step 2, all cells rest for at least 10 minutes with no stimulus applied to their outputs. The resting step  
can thus be used to move a cell into a resting state if you do not want the present stimulus settings to be  
applied to it after it has satisfied the test criteria, or if you do not want it to proceed to the next step  
before any of the other cells have completed the present step.  
Step 3  
In step 3, all cells are set to discharge at a constant current of 0.295 amperes until the voltage falls to 3  
volts. This voltage is referred to as the end of discharge voltage or EODV. If the voltage drops to 3 volts  
after five minutes has elapsed, the cell goes to the resting state. This is shown for cells 1 and 2 in Figure  
5-2. The maximum time limit for the discharge step is 15 minutes, however the step is completed sooner  
than that for cells 1 and 2.  
A cell fails the test if its voltage drops to 3 volts before 5 minutes has elapsed. This is shown for cell 3 in  
Figure 5-2, which indicates that the cell is discharging too rapidly. A cell also fails the test if the voltage  
does not fall below 3 volts after 15 minutes. This indicates that the cell is discharging too slowly, due to a  
possible problem with the test fixture or the wiring.  
Step 4  
Step 4 is a five minute rest step, which is only included in this example as a buffer between the previous  
discharge step and any other step that may follow in the sequence. Because cells can be independently  
paced, you do not have to use rest steps in this manner.  
NOTE:  
Sequence steps and tests are volatile and disappear when the ac power is turned off.  
Also, cfReset resets all volatile settings to their power-on state, which deletes all steps  
and tests.  
51  
Download from Www.Somanuals.com. All Manuals Search And Download.  
5 - Programming Overview  
CURRENT  
(amps)  
VOLTAGE  
(volts)  
D
N
E
T
O
L
G
A
E
C
T
T
E
V
S
S
E
O
U
R
T
(4)  
(3)  
CELL 1  
(+ 0.5)  
(2)  
(1)  
(0)  
(- 0.5)  
(0)  
TIME  
(5)  
Charge  
(10)  
(15)  
(15)  
(15)  
(25)  
(30)  
(20)  
(35)  
(40)  
(40)  
(40)  
(minutes)  
Rest  
Discharge  
Rest  
VOLTAGE  
(volts)  
CURRENT  
(amps)  
(4)  
(3)  
CELL 2  
(2)  
(1)  
(+ 0.5)  
(0)  
(0)  
(- 0.5)  
TIME  
(5)  
(10)  
Charge  
(25)  
(30)  
Discharge  
(20)  
(35)  
(minutes)  
Rest  
Rest  
VOLTAGE  
(volts)  
CURRENT  
(amps)  
(4)  
(3)  
CELL 3  
(2)  
(1)  
(+ 0.5)  
= FAIL  
(0)  
(- 0.5)  
(0)  
TIME  
(minutes)  
(5)  
(10)  
(25)  
(30)  
Dis-  
charge  
(20)  
(35)  
Charge  
Rest  
Figure 5-2. Simple Cell Forming Example  
52  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Programming Overview - 5  
Function Call Overview  
The driver function calls that control the cell forming process of the Agilent E4370A MCCD are  
classified into the following broad categories:  
Cell Grouping functions - configure groups of cells for independent sequence control.  
Step/Test functions - set up and control individual steps in a cell forming sequence.  
Sequence Control functions - control the run states of the instrument  
Protection functions - set up the protection states of the instrument.  
Data storage functions - control the measurement logging that occurs during a sequence.  
Direct Control functions - program the cells when a sequence is not running.  
Server functions - set and read communication parameters.  
Digital I/O functions - configure and control the external digital control signals.  
Serial Port functions - configure and control the two serial I/O ports.  
The Function Definitions section in chapter 6 lists all cell forming (cf) functions in alphabetical order.  
Cell Grouping  
The Agilent E4370A MCCD has the capability to group contiguous blocks of cells or channels. Each  
group of defined cells can be controlled independently of any other group of defined cells. This means  
that different cell forming sequences can be assigned to groups of cells connected to an Agilent E4370A  
MCCD mainframe. All assigned sequences can run simultaneously.  
Each group is defined by a starting cell number and by the total number of cells in the group. A group  
can be as small as a single cell or as large as all the cells in the mainframe. If no groups are defined,  
commands sent to the mainframe apply to all active channels in the mainframe. If one group of cells has  
been defined, then any remaining cells in the mainframe must also be assigned into groups in order to be  
controlled.  
To create a group, use the command:  
int cfSetGroup(CF_HANDLE server, char *name, int start, int size);  
The name argument serves to identify the group. Once the group has been created, a handle must be  
obtained for subsequent control with API functions. This function can also be used to modify an existing  
group. When an existing group name is used, it overwrites that group's definition with the new data.  
To obtained a group handle, use the function:  
int cfOpenGroup(CF_HANDLE server, char *name, CF_HANDLE  
*group_handle);  
To delete an existing group, use the function:  
cfDeleteGroup.  
To query all defined groups, use the function:  
int cfGetGroups(CF_HANDLE server, char  
names[CF_MAX_GROUPS][CF_MAX_GROUP_NAME_LEN], int start[CF_MAX_GROUPS],  
int size[CF_MAX_GROUPS]);  
NOTE:  
Groups are volatile and disappear when the ac power is turned off. Also, cfReset resets  
all volatile settings to their power-on state, which deletes all groups.  
If you get an OUT OF MEMORY message when defining your groups, you have  
exceeded the measurement log memory capacity. Refer to "Measurement Log" later in  
this chapter for more information.  
53  
Download from Www.Somanuals.com. All Manuals Search And Download.  
5 - Programming Overview  
Grouping Functions  
The group handle returned by cfOpenGroup can be used with any of the functions in the list below.  
These functions control or query a specific group. If a function is not in this list, it cannot be used with a  
group handle obtained from cfOpenGroup.  
cfAbort  
fGetCurrent  
cfGetMeasLogInterval  
cfGetOutputProbeTest  
cfGetOutputState  
cfGetSeqStep  
cfGetSeqTest  
cfGetSeqTestAnd  
cfResetSeq  
cfGetSenseProbeTest  
cfGetSeqTime  
cfGetTrigSource  
cfGetVoltage  
cfInitiate  
cfReadMeasLog  
cfSetSenseProbeTest  
cfSetSeqStep  
cfSetSeqTest  
cfSetSeqTestAnd  
cfSetTrigSource  
cfSetVoltage  
cfStateRecall  
cfStateSave  
cfSetCurrent  
cfSetMeasLogInterval  
cfSetOutputProbeTest  
cfSetOutputState  
cfTrigger  
cfGetRunState  
Once one or more groups have been defined with cfSetGroup, the functions in the above list can only be  
used with a group handle obtained from cfOpenGroup. An error will be returned if one of these functions  
is called using the handle obtained from cfOpen. If there are no groups defined, then the handle returned  
from cfOpen can be used to control all the cells.  
Step/Test Functions  
A charge-discharge sequence is a user-defined sequence of steps that the instrument or group will follow  
automatically. Each step applies either a charge, discharge, or no stimulus for a specified period of time.  
Other parameters determine what the voltage and current are set to, what number the step is in the  
sequence, and the length of time for the step. Steps are also used to measure ac resistance and dc  
resistance.  
To set and query the step parameters use:  
cfSetSeqStep();  
cfGetSeqStep();  
To query what step is presently being executed and how long the cell has been in that step while the  
sequence is running, use:  
cfGetStepNumber();  
To program step 1 to charge at 0.295 amps, with a voltage limit of 4.2 volts for 30 minutes, and step 2 to  
discharge at 0.5 amps with a voltage limit of 2.0 volts for 15 minutes, use:  
cfSetSeqStep(server, 1, CF_CHARGE, 4.2, 0.295, 30.0 *  
SECONDS_PER_MINUTE, 0.0);  
cfSetSeqStep(server, 2, CF_DISCHARGE, 2.0, 0.5, 15.0 *  
SECONDS_PER_MINUTE, 0.0);  
Tests can be defined for each step to verify that the cells are performing properly and to control the  
transition to the next step based on the cell performance criteria. Each test references a step number, a  
measurement type (voltage, current, or ac resistance greater or less than a limit), a measurement limit, a  
time test type and limit, and the action to take when the test is true.  
To define a test use:  
cfSetSeqTest();  
To read back the tests that have been defined use:  
cfGetSeqTest();  
54  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Programming Overview - 5  
To program one test to cause a cell to fail if the voltage does not exceed 4 volts within 30 minutes, and  
another test to cause a test to fail if the voltage reaches 4 volts in under 5 minutes use:  
cfSetSeqTest(server, 1, CF_VOLT_LE, 4, CF_TEST_AT, 30 *  
SECONDS_PER_MINUTE, CF_FAIL);  
cfSetSeqTest(server, 1, CF_VOLT_GE, 4, CF_TEST_BEFORE, 5 *  
SECONDS_PER_MINUTE, CF_FAIL);  
The time test type and time limit determines when a measurement is performed. CF_TEST_BEFORE  
specifies that the measurement is performed continuously from the start of the step until the time limit.  
CF_TEST_AFTER specifies that the measurement is performed continuously from the time limit until  
the step is finished. CF_TEST_AT specifies that the measurement is performed once at the time limit.  
If a test is true, NEXT causes the output to go to the next step, bypassing any remaining tests. FAIL  
causes that specific output to be open circuited, removed from the sequence, and tagged as having failed.  
If a measurement test is false, nothing happens.  
Sequence Control  
The diagram below shows the various run states of the instrument or group. It wakes up at power-on in  
the CF_NOT_READY state, and stays in this state until selftest and initialization is completed and the dc  
power supply on the power bus is turned on. This may take a few seconds. In the CF_NOT_READY  
state, the outputs cannot be programmed on. The instrument is also in this state during calibration.  
Power-on  
Calibration  
Selftest  
Powerbus not ready  
CF NOT READY  
Calibration done  
Selftest passed  
Powerbus ready  
Abort  
CF_IDLE  
Initiated  
CF ERASING  
Erase done  
CF_INITIATED  
Trigger occurred  
CF_FORMING  
Forming complete  
Figure 5-3. Instrument Run State  
55  
Download from Www.Somanuals.com. All Manuals Search And Download.  
5 - Programming Overview  
After selftest is completed and there is dc voltage on the power bus, the instrument moves to the  
CF_IDLE state. In this state the instrument is waiting and ready to start a cell forming sequence. The  
instrument returns to the CF_IDLE state when a cell-forming sequence completes. Note that an Abort  
function also places the instrument in the CF_IDLE state. A cell forming sequence can only be defined or  
recalled from non-volatile memory when the Agilent MCCD is in the CF_IDLE state.  
To begin running a sequence, the initiate function must be called. This causes the instrument to check the  
sequence, and if it is executable, it begins erasing the memory that is used for the measurement log and  
moves to the CF_ERASING state. The memory may take from 5 to 50 seconds to erase, after which the  
instrument moves to the CF_INITIATED state. From here the instrument will start executing the  
sequence when a trigger is received. The trigger source can be either the LAN or the digital I/O port.  
When the sequence completes, the instrument returns to the CF_IDLE state, and the results can be read  
from the instrument. Note, because the initiate function clears the measurement log, it must be read  
before initiating the sequence again.  
To query which state the instrument is in use:  
cfGetRunState();  
To check a sequence and move to the CF_INITIATED state use:  
cfInitiate();  
To start a sequence use:  
cfTrigger(); or generate a trigger using a configured Digital I/O line  
Set and query the trigger source use:  
cfSetTrigSource();  
cfGetTrigSource();  
To query the time since the trigger occurred use:  
cfGetSeqTime();  
To abort a sequence and return to the CF_IDLE state use:  
cfAbort();  
Output Configuration  
If specific outputs are not being used, you can program them to be inactive. Outputs that are configured  
as inactive will remain in an off state and will not be included in the sequencing or status functions. They  
will not be tested during selftest and will not get calibrated during instrument calibration. Measuring  
inactive outputs will return the special value, CF_NOT_A_NUMBER..  
To set and query the output configuration use:  
cfSetOutputConfig();  
cfGetOutputConfig();  
NOTE:  
Active/inactive outputs settings that are programmed using cfSetOutputConfig() are  
NOT saved in non-volatile memory. Each time the unit is powered up, you must  
reprogram the output settings. However, the output settings that are programmed using  
the Agilent MCCD User Interface ARE saved in non-volatile memory. The unit will  
wake up with those settings when it powered up.  
56  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Programming Overview - 5  
Instrument Protection  
The following diagram shows the various protection states of the instrument.  
cfProtect()  
cfShutdown()  
CF_POWER_FAIL_IN  
CF_EXT_FAULT_IN  
CF_EXT_INTERLOCK  
Failed selftest  
CF_HIGH_RAIL_STAT  
Internal hardware failure  
CF_LOW_RAIL_STAT  
CF_OVERTEMPERATURE  
CF_PROTECTED  
CF_HW_FAILED  
CF_INTERLOCKED  
Cycle ac power  
cfProtectClear()  
CF_EXT_INTERLOCK  
PREVIOUS STATE  
PREVIOUS STATE  
CF_NOT_READY  
Figure 5-4. Instrument Protect States  
After selftest is completed, and there is dc voltage on the power bus the instrument normally moves to  
the CF_IDLE state. However, if a power-on selftest failed, it will instead go to the CF_HW_FAILED  
state and remain there until the ac line power is cycled or cfSelftest() passes. In the CF_HW_FAILED  
state, the outputs cannot be programmed on, but LAN communications function normally.  
You can also put the instrument into a protected state in which all outputs go to open circuit. This can be  
done with the program command cfProtect() or by asserting a false to true edge on a digital input that  
was configured as CF_EXT_FAULT_IN. The instrument will also go to this state if it detects an internal  
overtemperature condition or if the power bus voltage gets too high or too low. When the instrument goes  
to the CF_PROTECTED state is remembers the state that it came from, and it will return to its previous  
state when the cfProtectClear() command is sent. If any faults exist when the cfProtectClear function is  
called, the instrument will remain in CF_PROTECTED. If the instrument is in the CF_FORMING state  
when it is sent to CF_PROTECTED, the forming process and system timers are suspended in a manner  
that allows forming to be resumed from where it was interrupted.  
Another protected state which is similar to CF_PROTECTED is CF_INTERLOCKED. The instrument  
goes to this state whenever the external CF_EXT_INTERLOCK input is true, and it returns to its  
previous state when CF_EXT_INTERLOCK goes false.  
To query which state the instrument is in, use:  
cfGetRunState();  
To force the instrument into the CF_PROTECTED state, use:  
cfProtect();  
To exit the CF_PROTECTED state, use:  
cfProtectClear();  
NOTE:  
If the cfAbort() command is given while the instrument is in the CF_PROTECTED state,  
cfProtectClear() will send the instrument to CF_IDLE, regardless of its previous state.  
57  
Download from Www.Somanuals.com. All Manuals Search And Download.  
5 - Programming Overview  
Power Fail Operation  
The Agilent E4370A MCCD can operate in one of two power-fail shutdown modes. The mode is set by  
the cfSetShutdownMode() command. When the mode is set to CF_AUTO, a true signal on the  
CF_POWER_FAIL_IN digital input will cause the Agilent MCCD to perform a shutdown, at which time  
it saves its state in nonvolatile memory. When the mode is set to CF_MANUAL, an automatic shutdown  
is not performed (API commands such as cfShutdown must be used to do it manually). The  
CF_POWER_FAIL_IN digital input signal is only acted on if cfShutdownMode = AUTO.  
It takes the Agilent MCCD firmware about 20 milliseconds to recognize the state of the digital  
CF_POWER_FAIL_IN signal. Additionally, a programmable delay set by the cfSetShutdownDelay()  
command determines how long the CF_POWER_FAIL_IN signal must be true before an automatic  
shutdown occurs. If the CF_POWER_FAIL_IN signal is true longer than the delay time set by  
cfShutdownDelay, the Agilent MCCD will shut down. If the CF_POWER_FAIL signal goes false before  
the expiration of the cfShutdownDelay time, no shut down occurs.  
The purpose of this delay is so that the Agilent MCCD doesn't shut down every time the power fails for  
more than 20 ms. For example, if the Agilent MCCD is connected to a UPS that can keep it running for 5  
minutes, set cfShutdownDelay time for 4 minutes. This way, the power must be out for 4 minutes before  
the Agilent MCCD shuts down. Since 4 minutes is less than the 5 minute UPS holdup time, there is no  
danger that power loss will occur. If the power returns (as indicated by CF_POWER_FAIL_IN = false)  
before the 4 minute delay expires, no shutdown occurs and the system has successfully handled a short ac  
power loss.  
Use the following functions to program and control a powerfail shutdown:  
cfSetShutdownMode();  
cfSetShutdownDelay();  
cfSetServerTimeout();  
cfSetAutoConnect();  
cfShutdown();  
The following functions also have capabilities that apply to a powerfail shutdown:  
cfSetDigitalConfig();  
cfGetInstStatus();  
cfSaveOutputConfig  
To restart the instrument by recalling a saved shutdown state use:  
cfRestart();  
Instrument State Storage  
The instrument can store several instrument states. The entire state of the instrument, including the  
defined sequence steps and tests, is stored in non-volatile memory under a user defined name.  
Use the following functions to control instrument states:  
cfStateSave();  
cfStateRecall();  
cfStateList();  
cfStateDelete();  
To reset the instrument to its power-on state:  
cfReset();  
58  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Programming Overview - 5  
The power-on and cfReset instrument settings are:  
Output State = OFF  
Output Voltage = 0 volts  
Output Current = 0 amperes  
Groups = None Defined  
Sequence Step = None Defined  
Sequence Test = None Defined  
Measurement Interval = All steps  
V = Infinity  
I = Infinity  
t = Infinity  
Trigger Source = LAN  
Digital Port = 0  
Probe Test Resistance = Infinity  
Sense Probe Test = Off  
Shutdown Mode = MANUAL  
Shutdown Delay = 60 seconds  
Server Timeout = 60 seconds  
Note that power-on and cfReset() clear all test settings.  
Status  
The instrument has a status register that reports various instrument conditions. To read the status register  
use cfGetInstStatus(). Each condition that is reported is represented by a bit in the register. These  
conditions are described in the following table.  
CF_EXT_FAULT_IN_STAT  
An input that is configured as CF_EXT_FAULT_IN was asserted.  
CF_EXT_INTERLOCK_STAT  
An input that is configured as a CF_EXT_INTERLOCK is true  
CF_SERIALB_SWITCH_STAT  
Serial port B is set as the configuration port by a hardware switch  
CF_LOW_RAIL_STAT  
The rail voltage was or is presently too low.  
CF_HIGH_RAIL_STAT  
The rail voltage was or is presently too high.  
CF_OVERTEMPERATURE_STAT  
The internal temperature was or is presently too high.  
CF_CALIBRATING_STAT  
The instrument is calibrating  
CF_POWER_ON_STAT  
The instrument has not finished its power-on initialization  
CF_POWER_FAIL_STAT  
An input that is configured as a CF_POWER_FAIL_IN is true  
CF_RAIL_NOT_READY_STAT  
The rail has not yet been turned on  
CF_RESTART_STAT  
A shutdown state has been saved  
CF_SELFTEST_STAT  
A selftest is in progress  
CF_SELFTEST_ERROR_STAT  
A selftest error has occurred  
CF_SHUTDOWN_STAT  
A power fail shutdown has occurred  
CF_CAL_ERROR_STAT  
A calibration error has occurred  
To return the current state of a cell in the sequence (Pass, Fail, or in progress), use:  
cfGetCellStatus();  
59  
Download from Www.Somanuals.com. All Manuals Search And Download.  
5 - Programming Overview  
Measurement Log  
The Agilent E4370A MCCD logs measurement data at the beginning, end, and can be programmed to log  
measurement data throughout each sequence step. Voltage and current for each output are continuously  
monitored and whenever either changes by a user-specified threshold or a when a specified time period  
has elapsed, a log entry is made for that output. The criteria for the voltage or current change that causes  
a log entry is programmable and can be different for each step in a sequence. The time-period parameter  
can be set to intervals ranging from one second up to 596 hours. Programming the special value of  
CF_INFINITY effectively turns off logging for a particular parameter. Refer to cfSetMeasLogInterval()  
in chapter 6 for more information.  
Data saved in the Measurement log includes: the output number that this entry applies to, the step  
number that was being executed when the entry was made, the time measured from the beginning of the  
sequence, the sum of the status bits, the voltage and current measurements, and the accumulated watt-  
and amp-hours since the beginning of the step. For ac resistance and dc resistance steps, only the  
resistance measurement is entered into the log.  
Data from tagged sequence step types is also entered into the measurement log. Tagged measurements  
include ac resistance, dc resistance, open circuit voltage, cumulative ampere hours, and cumulative watt  
hours. Special filters are provided for selectively reading only the tagged entries from the measurement  
log. Refer to cfSetSequenceStep() and cfReadMeasLog() in chapter 6 for more information about tagged  
measurements.  
The measurement log is a circular queue large enough to hold 349,504 entries. Portions of the total  
available measurement log memory are allocated to groups based on the number of cells in each group.  
Every group uses a minimum of 21844 memory locations, which is enough memory for up to 16 cells. If  
there are more than 16 cells in a group, additional cells use up memory locations in multiples of 4 cells.  
Each group of 4 cells use an additional 5461 memory locations. If just one additional cell is appended to  
a group, the full amount of 5461 memory locations are allocated. The sum of the memory usage of all  
groups must be less than 349,504, otherwise an OUT OF MEMORY message will be generated. Refer to  
the following chart for the memory requirements of some sample cell groups. Refer to the "Cell  
Grouping" section at the beginning of this chapter for more information about groups.  
Cells in  
group:  
Memory Cells in  
Memory Cells in  
Memory Cells in  
used: group:  
Memory  
used:  
used:  
group:  
used:  
group:  
Up to 16  
17 to 20  
21 to 24  
25 to 28  
29 to 32  
33 to 36  
37 to 40  
41 to 44  
45 to 48  
49 to 52  
53 to 56  
57 to 60  
61 to 64  
21844  
27305  
32766  
38227  
43688  
49149  
54610  
60071  
65532  
70993  
76454  
81915  
87376  
65 to 68  
69 to 72  
73 to 75  
76 to 80  
81 to 84  
85 to 88  
89 to 92  
93 to 96  
97 to 100 136525  
100 to 104 141986  
105 to 108 147447  
109 to 112 152908  
113 to 116 158369  
117 to 120 163830  
121 to 124 169291  
125 to 128 174752  
92837  
98298  
129 to 132 180213  
133 to 136 185674  
137 to 140 191135  
141 to 144 196596  
145 to 148 202057  
149 to 152 207518  
153 to 156 212979  
157 to 160 218440  
161 to 164 223901  
165 to 168 229362  
169 to 172 234823  
173 to 176 240284  
177 to 180 245745  
181 to 184 251206  
185 to 188 256667  
189 to 192 262128  
193 to 196 267589  
197 to 200 273050  
201 to 204 278511  
205 to 208 283972  
209 to 212 289433  
213 to 216 294894  
217 to 220 300355  
221 to 224 305816  
225 to 228 311277  
229 to 232 316738  
233 to 236 322199  
237 to 240 327660  
241 to 244 333121  
245 to 248 338582  
249 to 252 344043  
253 to 256 349504  
103759  
109220  
114681  
120142  
125603  
131064  
60  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Programming Overview - 5  
The measurement log contents are cleared when a sequence is initiated.  
NOTE:  
Set and query the Measurement logging voltage and current interval criteria with:  
cfSetMeasLogInterval();  
cfGetMeasLogInterval();  
To read the Measurement log, use:  
cfReadMeasLog();  
To reset the read pointer to either the beginning of the log or immediately ahead of the write pointer, use:  
cfReset();  
To clear the Measurement log, use:  
cfInitiate();  
Time Stamp Function  
The measurement log only records the time in seconds from the start of a cell forming sequence. To  
determine the time when the forming sequence actually starts, use the cfGetSeqTime() function in  
conjunction with the clock on your controller.  
The cfGetSeqTime() function returns the time that has elapsed (in seconds) since a sequence was started  
or triggered. After your program has determined that a sequence is running, it can call this function and  
compute the sequence start time using the following algorithm:  
StartTime = CurrentTime cfGetSeqTime()  
Output Measurements  
The instrument is capable of taking measurements at its output terminals on command. The following  
measurement may be made on a single output, or on all outputs.  
For voltage measurements, use  
cfMeasVoltage();  
For current measurements, use  
cfMeasCurrent();  
The following resistance measurements may take several seconds to complete. You may need to  
temporarily adjust the cfSetTimeout() function to account for the increased execution time. If the  
measurement could not be completed for some reason, the special value CF_NOT_A_NUMBER  
(9.91E37) is returned.  
For ac resistance measurements, use  
cfMeasACResistance();  
For dc resistance measurements use  
cfMeasDCResistance();  
For output probe resistance measurements, use  
csMeasOutputProbeResistance();  
For sense probe resistance measurements, use  
csMeasSenseProbeResistance();  
61  
Download from Www.Somanuals.com. All Manuals Search And Download.  
5 - Programming Overview  
The output voltage is regulated and measured at the power output terminals unless the remote sense  
function is used. The Agilent MCCD can be configured to regulate and measure the voltage at either the  
power terminals or the sense terminals.  
To set and query where the voltage is sensed, use:  
cfSetSense();  
cfGetSense();  
Direct output control  
CAUTION  
Direct output control should not be used for charging cells. There is no protection  
against overcharging or using probe check when using direct output control. Use  
this mode only for diagnostic and debugging purposes.  
The Agilent MCCD outputs can be directly controlled for diagnostic purposes without defining a  
sequence of steps and tests. Direct output control commands can only be used while the Agilent MCCD  
is in the CF_IDLE state. The voltage, current, and output state settings are set on all the outputs  
simultaneously. Whenever the Agilent MCCD system leaves the CF_IDLE state, these settings are reset  
to their power-on values.  
For voltage control use:  
cfSetVoltage();  
cfGetVoltage();  
For current control use:  
cfSetCurrent();  
cfGetCurrent();  
For the output on/off state use:  
cfSetOutputState();  
cfGetOutputState();  
General Server functions  
There are several general functions related to the instrument. Before an instrument can be controlled, the  
LAN connection must be made. A password is required to open this connection. The password is set with  
in the Agilent MCCD Configuration Screens (see chapter 3).  
To open or close a LAN connection to an instrument use:  
cfOpen();  
cfClose();  
To set the maximum time to wait for the instrument to respond use:  
cfSetTimeout();  
To read the instrument identification string from the instrument use:  
cfInstIdentify();  
To read the identification string that was entered through the Agilent MCCD Configuration Screens use:  
cfUserIdentify();  
To define an optional function to be called by any other instrument function when it returns an error use:  
cfSetErrorFunction();  
62  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Programming Overview - 5  
Selftest  
The Agilent E4370A MCCD has a built in selftest capability, which is performed at power-on. This  
limited selftest verifies proper operation of the memory functions, serial communications functions,  
analog-to-digital converter functions, and the voltage programming of each output regulator. The selftest  
also checks for the presence of an external dc source on the power bus. The test applies no power to the  
cells and is performed whether or not cells are connected to the Agilent MCCD.  
A more complete selftest can be done by executing the following command:  
cfSelftest();  
In addition to performing most of the power-on tests, cfSelftest() also tests the current measurement  
functions as well as the constant current charge and discharge functions of every output regulator.  
CAUTION:  
cfSelftest() causes voltage to be applied to the outputs. Make sure that no cells are  
connected when executing cfSelftest().  
Since selftest can take many seconds to complete, the cfSelftest() function does not wait for selftest to  
complete. It returns immediately after starting selftest. During selftest, the CF_SELFTEST_STAT bit is  
true in the status word returned by cfGetInstStatus(). When selftest is finished, CF_SELFTEST_STAT  
goes false, and a test failure is indicated by the status bit CF_SELFTEST_ERROR_STAT. This means  
that you can poll the instrument status while selftest is running to determine if selftest is complete.  
If there are any selftest errors indicated by the CF_SELFTEST_ERROR_STAT bit, then the details of  
those errors can be obtained from the test log. The test log is read using  
cfReadTestLog();  
The test log retains the selftest error information until another selftest or a calibration command is given.  
Calibration  
Calibration of the Agilent MCCD can be performed only when the Agilent MCCD is in the CF_IDLE  
state (see Figure 5-3). Complete information on calibration is provided in Appendix B. Briefly,  
calibration is a two-step procedure. First the internal references are calibrated using an external DMM,  
and then the internal references are used to transfer calibration to each channel. You must always  
perform the second step when you install a new or a repaired charger/discharger card in the mainframe.  
To calibrate the internal mainframe references you must connect a voltmeter to serial port A as described  
in appendix B. To begin mainframe reference calibration, use:  
cfCalStandard();  
To transfer the standard references to each channel, all external connections to the cell outputs and sense  
terminals must be open. The function to begin transfer calibration is:  
cfCalTransfer();  
The combination of cfCalStandard() and cfCalTransfer() can be performed with the single command:  
cfCal();  
CAUTION:  
Make sure that no cells are connected when executing cfCalTransfer() or cfCal().  
63  
Download from Www.Somanuals.com. All Manuals Search And Download.  
5 - Programming Overview  
Since calibration can take up to 15 minutes for an Agilent MCCD with 256 channels, calibration  
functions do not wait for calibration to complete. They return immediately after starting calibration.  
During calibration, the CF_CALIBRATING_STAT bit is true in the status word returned by  
cfGetInstStatus(). When calibration is finished, the CF_CALIBRATING_STAT bit goes false, and a  
calibration error is indicated by the status bit CF_CAL_ERROR_STAT. This means that you can poll the  
instrument status while calibration is running to determine if calibration is complete.  
If there are any calibration errors indicated by the CF_CAL_ERROR_STAT bit, then the details of those  
errors can be obtained from the test log. To read the test log, use  
cfReadTestLog();  
The test log retains the calibration error information until another calibration or a selftest command is  
given.  
Serial port  
The instrument has two serial ports, which can be used as pass-through ports from the LAN. These ports  
can be used for local peripherals under control of the application program. In pass-through mode, the  
functions that are used to read or write a string to either port have no direct effect on the instrument.  
There is also a function to set the configuration of the serial ports.  
The functions used to access the ports are:  
cfReadSerial();  
cfWriteSerial();  
To set and query the serial port configuration use:  
cfSetSerialConfig();  
cfGetSerialConfig();  
To return the serial port status use:  
cfGetSerialStatus();  
Serial port B is also used as a configuration port. This is selected with a hardware switch on the  
instrument, as described in chapter 3. Also, during calibration, serial port A reconfigured as a dedicated  
communications port for an external voltmeter.  
Digital port  
There is a 16 bit digital I/O port on the instrument. It can be used as general purpose I/O, or bits can be  
configured to have specific purposes. Each pin can be a chassis referenced input or output, or pairs of  
pins can be defined as one isolated output. See cfSetDigitalConfig() in chapter 6 for more information.  
In addition to using the API functions, digital I/O configuration can be set using the Agilent MCCD  
Configuration Screens or the Agilent MCCD User Interface. See chapters 2 and 4 for more information.  
To set or query the configuration use:  
cfSetDigitalConfig();  
cfGetDigitalConfig();  
To read and write the lines directly use:  
cfSetDigitalPort();  
cfGetDigitalPort();  
64  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Programming Overview - 5  
Probe check  
Probe check includes three separate functions: a continuity check, a power probe resistance check, and a  
sense probe resistance check. All probe check functions require a cell to be connected to the channel  
outputs.  
The continuity check is a low-current stimulus test that should be performed prior to the power probe  
test, or the sense probe test. Its primary function is to identify misaligned or bad probes. If the probes  
pass this initial test, you can safely begin a test sequence and apply power to the cells. To perform the  
probe continuity test use:  
cfMeasProbeContinuity();  
Probe resistance checks are internal procedures that use the plus and minus output terminals in  
conjunction with the remote sense capability of the product to check that the resistance of both the power  
and sense probes are within the allowable limits. When enabled, these checks occur continuously while a  
sequence is running.  
For the power probe resistance check, a user defined resistance limit must be specified. The power probe  
resistance includes the probe, fixture wiring, and connection resistance. If the defined resistance limit is  
ever exceeded on an individual channel, that channel fails and is removed from the forming sequence. To  
specify the resistance limit and enable power probe checking, use:  
cfSetOutputProbeTest();  
For the sense probe resistance check, an internal measurement is made and compared against the  
maximum allowable resistance that can be tolerated within the readback accuracy of the remote voltage  
sense circuits. The maximum allowable resistance includes the probe, fixture wiring, connection  
resistance, and an internal scanner resistance, which is typically 1000 ohms. If the maximum allowable  
resistance is ever exceeded on an individual channel, that channel fails and is removed from the forming  
sequence. To enable sense probe checking, use:  
cfSetSenseProbeTest();  
To measure the actual power probe resistance and sense probe resistance, use the following commands:  
cfMeasOutputProbeResistance();  
cfMeasSenseProbeResistance();  
65  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Download from Www.Somanuals.com. All Manuals Search And Download.  
6
Language Dictionary  
API Usage Guidelines  
This Application Programming Interface lets you create an application program on a PC to control the  
operation of one or more Agilent MCCD units over a LAN. The API consists of a dynamic link library  
(DLL) that provides a set of driver functions that are called by the application program to access Agilent  
MCCD features. This section gives the syntax and parameters for all the API cell forming (cf) functions  
used by the Agilent MCCD.  
Operating System and Language Support  
The client API library supports Windows 95 and Windows NT. It requires the TCP/IP services that are  
part of these operating systems to be installed and configured. This API supports only 32-bit applications.  
Test programs must be written in Microsoft Visual C/C++.  
Blocking Functions  
All functions in this API are blocking; they do not return until the function operation is complete. Since  
most functions communicate over the network, they may take a relatively long time to complete. If the  
calling application has other tasks to perform while the network request is in progress, it should create a  
thread to service the network connection.  
Buffer Management  
When an application calls a function, it must allocate any required buffers to pass data to the function.  
When the function returns, the caller is responsible for de-allocating the buffers.  
Sequential Function Calls  
All API functions support multithreaded operation. If two threads each make a function call to different  
Agilent MCCDs, the function calls will be processed concurrently. However, if two threads make a  
function call to the same Agilent MCCD, the calls are serialized. The function called by the second  
thread will block until the call made by the first thread completes.  
Error Reporting  
All functions return CF_OK if successful or a non-zero code if an error occurred. If desired, an error  
handler function may be registered with the API to allow central error processing. This function will be  
called whenever an error occurs in any API function.  
Number of Server Connections  
An Agilent MCCD server lets you connect up to three clients. All three clients have equal capability and  
all can monitor and control the Agilent MCCD using the API programming functions described in  
chapter 6. The Web-based Agilent MCCD User Interface uses a separate connection that does not count  
as one of the three client connections.  
67  
Download from Www.Somanuals.com. All Manuals Search And Download.  
6 - Language Dictionary  
Password Protection  
An application program must provide a password to open a connection to a server. As shipped from the  
factory, the Agilent MCCD is not password protected. You may set an Agilent MCCD server password  
during the installation procedure using the Agilent MCCD Configuration Screens.  
API Function Summary  
cfAbort  
aborts a forming sequence  
cfCal  
begins a full calibration (mainframe and card)  
begins a standard calibration (mainframe)  
begins a transfer calibration (card)  
cfCalStandard  
cfCalTransfer  
cfClose  
closes a server connection  
cfDeleteGroup  
deletes a group from the Agilent MCCD  
cfGetCellStatus  
cfGetCellStatusString  
cfGetCurrent  
returns the status of an individual cell  
returns detailed information for a failed cell  
returns the current setting programmed by cfSetCurrent  
Returns information about all defined groups  
returns the setting of an individual digital I/O port  
reads a data word from the digital I/O port  
returns a description of the instrument  
cfGetGroups  
cfGetDigitalConfig  
cfGetDigitalPort  
cfGetInstIdentify  
cfGetInstStatus  
cfGetMeasLogInterval  
cfGetOutputConfig  
cfGetOutputProbeTest  
cfGetOutputState  
cfGetRunState  
cfGetSense  
returns the instrument status  
returns the criteria that determines when data is logged  
returns the configuration of an output  
returns the output probe resistance limit  
returns the output state of the Agilent MCCD  
returns the present instrument run state  
returns the setting of the remote or local sense  
returns the settings of the sense probe test  
returns the parameters for a sequence step number  
returns the parameters of one of the sequence tests  
returns the parameters of multiple tests combined with the AND function  
returns the elapsed time since the sequence was triggered  
returns the communication parameters of a serial port  
returns the status of a serial port  
cfGetSenseProbeTest  
cfGetSeqStep  
cfGetSeqTest  
cfGetSeqTestAnd  
cfGetSeqTime  
cfGetSerialConfig  
cfGetSerialStatus  
cfGetStepNumber  
cfGetShutdownDelay  
cfGetShutdownMode  
cfGetTrigSource  
cfGetUserIdentify  
cfGetVoltage  
returns a cell’s present sequence step and the time since the step started  
returns the delay value set by cfSetShutdownDelay  
returns the shut down mode setting  
returns the selected trigger source  
returns the Name, Location, and Description information  
returns the voltage setting programmed by cfSetVoltage  
initiates a forming sequence  
cfInitiate  
cfMeasACResistance  
cfMeasCapacityAS  
cfMeasCapacityWS  
cfMeasCurrent  
measures the ac resistance of a cell or all cells  
measures accumulated ampere-hour capacity of a cell in its present step  
measures accumulated watt-hour capacity of a cell in its present step  
measures the current of a cell or all cells  
68  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Language Dictionary - 6  
cfMeasDCResistance  
cfMeasOutputProbeResistance  
cfMeasProbeContinuity  
cfMeasSenseProbeResistance  
cfMeasVoltage  
cfOpen  
measures the dc resistance of a cell or all cells  
measures the output probe resistance of a cell or all cells  
checks the sense and output probe connections of a cell or all cells  
measures the resistance looking into the sense probes of a cell or all cells  
measures the voltage of a cell or all cells  
opens a connection to the Agilent MCCD  
cfOpenGroup  
associates a server handle with a defined group  
forces the Agilent MCCD into a protected state  
clears the protected state of the Agilent MCCD  
returns measurements acquired during a forming sequence  
returns error messages from the test log  
cfProtect  
cfProtectClear  
cfReadMeasLog  
cfReadTestLog  
cfReadSerial  
reads data from one of the serial ports  
cfReset  
sets programmable functions to their power-on state  
aborts and clears a previously defined sequence  
recalls a previously saved restart state  
cfResetSeq  
cfRestart  
cfSaveOutputConfig  
cfSelftest  
saves the output configuration in non-volatile memory  
begins an instrument selftest  
cfSetAutoConnect  
cfSetCurrent  
turns the automatic reconnect feature of the mccd.dll file on or off  
sets the output current  
cfSetDigitalConfig  
cdSetDigitalPort  
cfSetErrorFunction  
cfSetGroup  
sets the operation of an individual digital I/O port  
writes a data word to the digital I/O port  
defines an error function  
defines a group of cells  
cfSetMeasLogInterval  
cfSetOutputConfig  
cfSetOutputProbeTest  
cfSetOutputState  
cfSetSense  
defines the criteria for generating a measurement log entry  
configures the output cells as active or inactive  
sets the resistance limit of the output probe  
sets the instrument’s output state off, charge, or discharge  
sets the voltage sense to remote or local  
cfSetSenseProbeTest  
cfSetSeqStep  
sets the automatic testing of the sense probe resistance  
defines an output sequence step  
cfSetSeqTest  
defines the tests performed during a sequence step  
defines multiple tests combined with the logical AND function  
sets the communication parameters of a serial port  
sets the connection inactivity timeout period  
sets the shutdown delay period  
cfSetSeqTestAnd  
cfSetSerialConfig  
cfSetServerTimeout  
cfSetShutdownDelay  
cfSetShutdownMode  
cfSetTimeout  
sets the shutdown mode to auto or manual  
sets the time the client waits for a response from the server  
sets the trigger source to LAN or external  
sets the output voltage  
cfSetTrigSource  
cfSetVoltage  
cfShutdown  
causes the Agilent MCCD to go to a safe state prior to shutting down  
deletes a previously created instrument state  
returns a list of instrument state names  
cfStateDelete  
cfStateList  
cfStateRecall  
loads a previously created instrument state  
saves the present instrument settings in non-volatile memory  
sends a trigger over the LAN  
cfStateSave  
cfTrigger  
cfWriteSerial  
writes data words to the serial port  
69  
Download from Www.Somanuals.com. All Manuals Search And Download.  
6 - Language Dictionary  
API Function Definitions  
cfAbort  
Syntax  
int cfAbort(CF_HANDLE server);  
Description  
Aborts a forming sequence, which sets the run state to CF_IDLE. In the idle state the output  
conditions of each cell are defined by the functions cfSetVoltage, cfSetCurrent, and  
cfSetOutputState. The server argument can be either a handle to a group obtained by  
cfOpenGroup, or a handle to all cells in the instrument if no groups are defined.  
cfCal  
CAUTION:  
Make sure that no cells are connected when executing cfCal.  
Syntax  
int cfCal(CF_HANDLE server);  
Description  
Begins a full calibration sequence. This function calibrates the Agilent MCCD's internal  
references and then transfers the calibration of the references to each channel. Thus, cfCal  
performs the same work as the cfCalStandard and cfCalTransfer functions.  
Calibration requires that one of the supported voltmeters be connected to Serial Port A. There  
cannot be any loads or cells connected to the channel outputs, and the voltmeter input must be  
connected to the calibration output.  
Since full calibration can take up to 15 minutes, calibration functions do not wait for calibration  
to complete. They return immediately after starting calibration. To monitor the progress and  
results of calibration, use cfGetInstStatus. While calibration is in progress, the  
CF_CALIBRATING_STAT bit is true. If any errors occur during calibration, the  
CF_CAL_ERROR_STAT bit is true. Details of the errors can be obtained using cfReadTestLog.  
cfCalStandard  
Syntax  
int cfCalStandard(CF_HANDLE server);  
Description  
Begins calibration of the instrument's internal references. This requires that one of the supported  
voltmeters be connected to Serial Port A.  
Calibration functions do not wait for calibration to complete. They return immediately after  
starting calibration. To monitor the progress and results of calibration, use cfGetInstStatus.  
While calibration is in progress, the CF_CALIBRATING_STAT bit is true. If any errors occur  
during calibration, the CF_CAL_ERROR_STAT bit is true. Details of the errors can be obtained  
using cfReadTestLog.  
70  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Language Dictionary - 6  
cfCalTransfer  
CAUTION:  
Make sure that no cells are connected when executing cfCalTransfer.  
Syntax  
int cfCalTransfer(CF_HANDLE server);  
Description  
Begins a transfer calibration sequence. This function uses the instrument's internal references to  
calibrate the measurement and output circuits of each channel. There should not be any loads or  
cells connected to the outputs when this command is given.  
Since transfer calibration can take up to 15 minutes, calibration functions do not wait for  
calibration to complete. They return immediately after starting calibration. To monitor the  
progress and results of calibration, use cfGetInstStatus. While calibration is in progress, the  
CF_CALIBRATING_STAT bit is true. If any errors occur during calibration, the  
CF_CAL_ERROR_STAT bit is true. Details of the errors can be obtained using cfReadTestLog.  
cfClose  
Syntax  
int cfClose(CF_HANDLE server);  
Description  
Closes a server connection. An Agilent MCCD server can only accommodate a limited number  
of open client connections. Closing a connection makes it available to other clients. Closing a  
connection does not affect the output functions of the server, and all other instrument functions  
continue to operate undisturbed by cfOpen and cfClose commands.  
cfDeleteGroup  
Syntax  
int cfDeleteGroup(CF_HANDLE server);  
Description  
Deletes a group from the Agilent MCCD. Server is a handle that was previously obtained by a  
call to cfOpenGroup().  
71  
Download from Www.Somanuals.com. All Manuals Search And Download.  
6 - Language Dictionary  
cfGetCellStatus  
Syntax  
int cfGetCellStatus(CF_HANDLE server, int cell, CF_CELL_STATUS *status);  
Description  
Returns a value in the variable pointed to by status which indicates the current status of a cell in  
the forming process. The possible return values are:  
CF_UNTESTED  
The cell has not started a sequence since ac power was last turned on.  
CF_PASSED  
CF_SEQUENCE_FAILED  
CF_OUT_PROBE_FAILED  
The cell completed the last forming sequence and passed all tests.  
The cell failed a test during the last forming sequence.  
The cell failed an output probe resistance test during forming.  
CF_SENSE_PROBE_FAILED The cell failed a sense probe resistance test during forming  
CF_INACTIVE  
CF_SEQUENCING  
CF_ABORTED  
The cell has been set inactive by cfSetOutputConfig.  
The cell is in the process of forming.  
The last forming sequence was aborted  
The cell argument can be an individual cell number from 1 to 256, or the constant  
CF_ALL_CELLS to read the status condition of all cells. If CF_ALL_CELLS is given, the status  
argument should point to an array of 256 enums that will receive the return values.  
cfGetCellStatusString  
Syntax  
int cfGetCellStatusString(CF_HANDLE server, int cell, char *status);  
Description  
Returns an ASCII string with details of any cell whose status is CF_SEQUENCE_FAILED. The  
cell argument must be an individual cell number from 1 to 256. The constant  
CF_MAX_CELL_STATUS_LEN defines the maximum length of the returned status string  
cfGetCurrent  
Syntax  
int cfGetCurrent(CF_HANDLE server, float *current);  
Description  
Returns the idle state current setting set by cfSetCurrent. The idle state current is the value that  
the cell current limit will be set to when the forming sequence is in the idle state and the output  
state is enabled. The server argument can be either a handle to a group obtained by  
cfOpenGroup, or a handle to all cells in the instrument if no groups are defined.  
72  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Language Dictionary - 6  
cfGetDigitalConfig  
Syntax  
int cfGetDigitalConfig(CF_HANDLE server, int bitnum, CF_EXT_SIGNAL  
*signal, CF_POLARITY *polarity, CF_REFERENCE *reference);  
Description  
This function returns the function and logic sense mapping any of the 16 pins of the digital I/O  
port. See the function cfSetDigitalConfig for a detailed description of digital I/O port  
configuration. The following signals are defined:  
CF_EXT_FAULT_IN  
CF_EXT_FAULT_OUT  
CF_EXT_INTERLOCK  
CF_EXT_TRIGGER  
CF_DIG_IN  
CF_DIG_OUT  
CF_DIG_IN_OUT  
CF_POWER_FAIL_IN  
CF_POWER_FAIL_OUT  
External Fault Input  
External Fault Output  
External Interlock  
External Trigger  
General purpose input  
General purpose output  
General purpose input/output  
Power fail input  
Power fail output  
CF_DIG_OUT_AND_NOT_FAULT_IN Digital output and not fault input  
See Also  
cfSetDigitalPort, cfGetDigitalConfig  
cfGetDigitalPort  
Syntax  
int cfGetDigitalPort(CF_HANDLE server, int *data);  
Description  
Reads a data word from the digital I/O port. See the function cfSetDigitalConfig for a detailed  
description of the digital I/O port.  
See Also  
cfSetDigitalPort, cfGetDigitalConfig  
cfGetGroups  
Syntax  
int cfGetGroups(CF_HANDLE server, char  
names[CF_MAX_GROUPS][CF_MAX_GROUP_NAME_LEN], int start[CF_MAX_GROUPS],  
int size[CF_MAX_GROUPS]);  
Description  
Returns information about all defined groups. The arguments names, start, and size are arrays of  
size CF_MAX_GROUPS which hold the return information of defined group names, their start  
cell numbers and sizes. If there are less than CF_MAX_GROUPS defined, the entry in the size  
array after the last valid group entry contains the value of 0.  
73  
Download from Www.Somanuals.com. All Manuals Search And Download.  
6 - Language Dictionary  
Example  
void query_groups(CF_SERVER server)  
{
char names[CF_MAX_GROUPS][CF_MAX_GROUP_NAME_LEN];  
int starts[CF_MAX_GROUPS];  
int sizes[CF_MAX_GROUPS];  
cfGetGroups(server, names, starts, sizes);  
}
cfGetInstIdentify  
Syntax  
int cfGetInstIdentify(CF_HANDLE server, char *idstring);  
Description  
This command returns a description of the instrument. The string begins with the model number,  
then the product name, followed by the firmware version number, followed by instrument option  
descriptions or abbreviations. The idstring is a maximum of CF_MAX_ID_LEN characters in  
length and is returned as a null-terminated C string.  
cfGetInstStatus  
Syntax  
int cfGetInstStatus(CF_HANDLE server, int *status);  
Description  
Returns the instrument status. Individual bits within the status word are defined to indicate  
various status conditions. The following constants can be used to test different status conditions:  
CF_EXT_FAULT_IN_STAT  
CF_EXT_INTERLOCK_STAT  
CF_SERIALB_SWITCH_STAT  
CF_LOW_RAIL_STAT  
An input configured to the CF_EXT_FAULT_IN function was  
asserted since the last time cfProtectClear was called.  
An input which was configured to the CF_EXT_INTERLOCK  
function is true.  
True when serial port B is set as the configuration terminal port  
by a hardware switch.  
The rail voltage got too low since the last time cfProtectClear  
was called.  
CF_HIGH_RAIL_STAT  
The rail voltage got too high since the last time cfProtectClear  
was called.  
CF_OVERTEMPERATURE_STAT The internal temperature got too high since the last time  
cfProtectClear was called.  
CF_CALIBRATING_STAT  
CF_POWER_ON_STAT  
CF_POWER_FAIL_STAT  
CF_RAIL_NOT_READY_STAT  
CF_RESTART_STAT  
The instrument is calibrating.  
The instrument has not finished its power-on initialization.  
True whenever the CF_POWER_FAIL_IN signal is true.  
There is no dc voltage on the power bus.  
True whenever there is a saved shutdown state that can be  
restarted with cfRestart().  
CF_SELFTEST_STAT  
True when a selftest is in progress.  
CF_SELFTEST_ERROR_STAT  
CF_SHUTDOWN_STAT  
True when a selftest error has occurred.  
True when either an automatic power fail shutdown occurred or  
cfShutdown() was called since the last time cfProtectClear() was  
called.  
CF_CAL_ERROR_STAT  
True when a calibration error has occurred.  
74  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Language Dictionary - 6  
cfGetMeasLogInterval  
Syntax  
int cfGetMeasLogInterval(CF_HANDLE server, int step_number, float  
*volt_interval, float *curr_interval, float *time_interval);  
Description  
Returns voltage, current, and time change criteria that are used to determine when data is logged.  
The server argument can be either a handle to a group obtained by cfOpenGroup, or a handle to  
all cells in the instrument if no groups are defined. The step number argument can be an  
individual step, or the constant CF_ALL_STEPS to get the change criteria for all steps. If  
CF_ALL_STEPS is given, the volt_interval, curr_interval, and time_interval arguments should  
point to arrays of floats of size CF_MAX_STEPS that will receive the return values.  
cfGetOutputConfig  
Syntax  
int cfGetOutputConfig(CF_HANDLE server, int cell, CF_OUTPUT_CONFIG  
*config);  
Description  
Returns the configuration of an output. An output configuration can be CF_SET_ACTIVE or  
CF_SET_INACTIVE. The cell argument can be an individual cell number from 1 to 256, or the  
constant CF_ALL_CELLS to get the output configuration for all cells. If CF_ALL_CELLS is  
given, the config argument should point to an array of 256 CF_OUTPUT_CONFIGs that will  
receive the return values.  
A cell which is set to CF_SET_INACTIVE ignores most output and forming commands.  
Measurements for these cells always return the special value CF_NOT_A_NUMBER.  
cfGetOutputProbeTest  
Syntax  
int cfGetOutputProbeTest(CF_HANDLE server, float *resistance);  
Description  
Returns the resistance limit that is used when the output probes are tested during a forming  
sequence. If the probe resistance is higher than the resistance limit, the cell is marked as a failure.  
The server argument can be either a handle to a group obtained by cfOpenGroup, or a handle to  
all cells in the instrument if no groups are defined.  
75  
Download from Www.Somanuals.com. All Manuals Search And Download.  
6 - Language Dictionary  
cfGetOutputState  
Syntax  
int cfGetOutputState(CF_HANDLE server, CF_OUTPUT_STATE *state);  
Description  
Returns the output state of the Agilent MCCD when the run state is CF_IDLE. The server  
argument can be either a handle to a group obtained by cfOpenGroup, or a handle to all cells in  
the instrument if no groups are defined. The possible return values are:  
CF_OUTPUT_OFF  
The output state of the Agilent MCCD is off.  
CF_OUTPUT_CHARGE  
The output of the Agilent MCCD is in the charging state.  
CF_OUTPUT_DISCHARGE The output of the Agilent MCCD is in the discharging state.  
In the OFF state, the channel outputs are open-circuited and supply no current. In the charge and  
discharge states, channel outputs are controlled by cfSetVoltage and cfSetCurrent.  
See Also  
cfSetOutputState, cfSetVoltage, cfSetCurrent  
cfGetRunState  
Syntax  
int cfGetRunState(CF_HANDLE server, CF_RUN_STATE *state);  
Description  
Returns the current instrument run state (CF_IDLE, CF_ERASING, CF_INITIATED,  
CF_FORMING, CF_PROTECTED, CF_NOT_READY, CF_INTERLOCKED, or  
CF_HW_FAILED). The server argument can be either a handle to a group obtained by  
cfOpenGroup, or a handle to all cells in the instrument if no groups are defined.  
cfGetSense  
Syntax  
int cfGetSense(CF_HANDLE server, CF_SENSE *sense);  
Description  
Returns the remote or local sense settings. The value returned is either CF_SENSE_REMOTE or  
CF_SENSE_LOCAL. Remote and local sense selection is controlled by cfSetSense.  
See Also  
cfSetSense  
76  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Language Dictionary - 6  
cfGetSenseProbeTest  
Syntax  
int cfGetSenseProbeTest(CF_HANDLE server, CF_BOOLEAN *on_off);  
Description  
Returns the setting of the sense probe test. The setting is either ON or OFF. The server argument  
can be either a handle to a group obtained by cfOpenGroup, or a handle to all cells in the  
instrument if no groups are defined. When this test is enabled, the instrument periodically  
measures the resistance of the sense probes and checks for a value that is low enough to allow  
accurate voltage measurements. If the probe resistance is too high and the testing is enabled, the  
forming sequence will be terminated for that cell.  
See Also  
cfSetSenseProbeTest  
cfGetSeqStep  
Syntax  
int cfGetSeqStep(CF_HANDLE server, int step_number, CF_SEQ_OUT  
*out_type, float *voltage, float *current, float *time, float  
*reserved);  
Description  
Returns parameters for the given sequence step_number. The server argument can be either a  
handle to a group obtained by cfOpenGroup, or a handle to all cells in the instrument if no  
groups are defined. If the step_number is a step that has not been defined, the value returned in  
*out_type is CF_STEP_UNDEFINED.  
cfGetSeqTest  
Syntax  
int cfGetSeqTest(CF_HANDLE server, CF_READP *read_pos, int *step_number,  
CF_SEQ_TEST *meas_test_type, float *limit, CF_TIME_TEST *time_test_type,  
float *time, CF_SEQ_ACTION *action);  
Description  
Returns the parameters of one of the sequence tests. The server argument can be either a handle  
to a group obtained by cfOpenGroup, or a handle to all cells in the instrument if no groups are  
defined.  
Sequence tests for the same step are stored within the instrument in ascending order on the time  
parameter. This is the order in which they are returned by successive calls to cfGetSeqTest. The  
value pointed to by the read_pos argument controls which test is read. Read_pos points to the  
special value CF_READ_FIRST to read the first test in the step. After the last test is read,  
subsequent calls to cfGetSeqTest will return the special value CF_READ_EOF in the value  
pointed to by read_pos.  
77  
Download from Www.Somanuals.com. All Manuals Search And Download.  
6 - Language Dictionary  
cfGetSeqTestAnd  
Syntax  
int cfGetSeqTestAnd(CF_HANDLE server, CF_READP *read_pos, int  
*step_number, CF_SEQ_TEST *meas_test_type, float *limit, CF_TIME_TEST  
*time_test_type, float *time, CF_SEQ_ACTION *action, int *count);  
Description  
Returns the parameters of the sequence tests defined by the functions cfSetSeqTest or  
cfSetSeqTestAnd. The server argument can be either a handle to a group obtained by  
cfOpenGroup, or a handle to all cells in the instrument if no groups are defined. Operation is  
similar to cfSetSeqTest. The number of measurement tests and limits is returned in *count. The  
arguments meas_test_type and limit must point to arrays of size CF_MAX_AND_TESTS.  
cfGetSeqTime  
Syntax  
int cfGetSeqTime(CF_HANDLE server, float *time);  
Description  
Returns the time that has elapsed in seconds since the sequence was triggered. The server  
argument can be either a handle to a group obtained by cfOpenGroup, or a handle to all cells in  
the instrument if no groups are defined.  
cfGetSerialConfig  
Syntax  
int cfGetConfig(CF_HANDLE server, int portnum, int *baudrate,  
CF_SERIAL_PARITY *parity, int *wordsize, CF_SERIAL_FLOW *flow_ctrl);  
Description  
Returns the communication parameters of one of the serial ports.  
port  
CF_PORTA or CF_PORTB  
baudrate  
parity  
wordsize  
flow_ctrl  
1200, 2400, 4800, 9600, or 19200  
CF_PARITY_EVEN, CF_PARITY_ODD, or CF_PARITY_NONE  
7 or 8  
CF_FLOW_RTS_CTS, CF_FLOW_XON_XOFF, or CF_FLOW_NONE  
cfGetSerialStatus  
Syntax  
int cfGetSerialStatus(CF_HANDLE server, int portnum, int *status);  
Description  
Returns the status of one of the serial ports. Definitions for these bits are  
CF_SERIAL_MAV  
message available  
CF_SERIAL_PE  
parity error  
CF_SERIAL_FE  
framing error  
CF_SERIAL_OE  
CF_SERIAL_INBUF_OE  
CF_SERIAL_OUTBUF_OE  
UART overrun error  
input buffer overrun error  
output buffer overrun error  
Reading the serial status clears the error bits. The MAV bit is cleared when there are no  
characters in the port's FIFO to be read.  
78  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Language Dictionary - 6  
cfGetShutdownDelay  
Syntax  
int cfGetShutdownDelay(CF_HANDLE server, float *delay);  
Description  
Returns the delay value that is set by cfSetShutdownDelay().  
cfGetShutdownMode  
Syntax  
int cfGetShutdownMode(CF_HANDLE server, int *mode);  
Description  
Returns the shutdown mode, CF_AUTO or CF_MANUAL.  
cfGetStepNumber  
Syntax  
int cfGetStepNumber(CF_HANDLE server, int cell, int *step_number, float  
*time);  
Description  
Returns a cell's current forming sequence step number and the time that the cell has been in the  
current step in seconds. The cell argument can be an individual cell number from 1 to 256, or the  
constant CF_ALL_CELLS to request data for all cells. If CF_ALL_CELLS is given, the  
step_number argument should point to an array of 256 integers and the time argument should  
point to an array of 256 floats that will receive the return values. The value returned in  
step_number will be either a positive integer step number, or CF_NOT_FORMING.  
cfGetTrigSource  
Syntax  
int cfGetTrigSource(CF_HANDLE server, CF_TRIG_SOURCE *source);  
Description  
Returns the selected trigger source. This can be CF_LAN or CF_EXTERNAL. The server  
argument can be either a handle to a group obtained by cfOpenGroup, or a handle to all cells in  
the instrument if no groups are defined.  
cfGetUserIdentify  
Syntax  
int cfGetUserIdentify(CF_HANDLE server, char *idstring);  
Description  
Returns the Name, Location, and Description text fields that were set using the Agilent MCCD  
Configuration Screens. The fields are separated by newlines and terminated with an ASCII null  
character. The idstring is a maximum of CF_MAX_USER_ID_LEN characters in length.  
79  
Download from Www.Somanuals.com. All Manuals Search And Download.  
6 - Language Dictionary  
cfGetVoltage  
Syntax  
int cfGetVoltage(CF_HANDLE server, float *voltage);  
Description  
Returns the idle state voltage setting set by cfSetVoltage. The idle state voltage is the value that  
the cell voltage will be set to when the forming sequence is in the idle state and the output state is  
enabled. The server argument can be either a handle to a group obtained by cfOpenGroup, or a  
handle to all cells in the instrument if no groups are defined.  
cfInitiate  
Syntax  
int cfInitiate(CF_HANDLE server);  
Description  
Initiates a cell forming sequence. A cell forming sequence does not start until it has been initiated  
and then triggered. The server argument can be either a handle to a group obtained by  
cfOpenGroup, or a handle to all cells in the instrument if no groups are defined. cfInitiate returns  
an error if the trigger state is not in Idle or if the sequence is invalid.  
See Also  
cfTrigger, cfSetTriggerSource, cfAbort  
cfMeasACResistance  
Syntax  
int cfMeasACResistance(CF_HANDLE server, int cell, float *reading);  
Description  
NOTE: Because this command may take several seconds to complete, you may need to temporarily  
adjust the cfSetTimeout function to account for the increased execution time.  
Returns the measured ac resistance for a particular cell or for all cells. The cell argument can be  
an individual cell number from 1 to 256, or the constant CF_ALL_CELLS to request readings for  
all cells. If CF_ALL_CELLS is given, the reading argument should point to an array of 256  
floats that will receive the return values.  
If the ac resistance measurement cannot be made, either because the output for a cell is in the  
OFF state, the voltage sense is set to Local, or if there is insufficient current flowing to make the  
measurement, the special value CF_NOT_A_NUMBER (9.91E37) is returned.  
cfMeasCapacityAS  
Syntax  
int cfMeasCapacityAS(CF_HANDLE server, int cell, float *reading);  
Description  
Returns the accumulated capacity in ampere-seconds of a cell in its present step. The capacity is  
reset to zero at the start of each step. If the cell is not in the forming state, the special value  
CF_NOT_A_NUMBER is returned. The cell argument can be an individual cell number from 1 to  
256, or the constant CF_ALL_CELLS to request readings for all cells. If CF_ALL_CELLS is given,  
the reading argument should point to an array of 256 floats that will receive the return values.  
80  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Language Dictionary - 6  
cfMeasCapacityWS  
Syntax  
int cfMeasCapacityWS(CF_HANDLE server, int cell, float *reading);  
Description  
Returns the accumulated capacity in watt-seconds of a cell in its present step. The capacity is  
reset to zero at the start of each step. If the cell is not in the forming state, the special value  
CF_NOT_A_NUMBER is returned. The cell argument can be an individual cell number from 1 to  
256, or the constant CF_ALL_CELLS to request readings for all cells. If CF_ALL_CELLS is given,  
the reading argument should point to an array of 256 floats that will receive the return values.  
cfMeasCurrent  
Syntax  
int cfMeasCurrent(CF_HANDLE server, int cell, float *reading);  
Description  
Returns the measured current for a particular cell or for all cells. The cell argument can be an  
individual cell number from 1 to 256, or the constant CF_ALL_CELLS to request readings for all  
cells. If CF_ALL_CELLS is given, the reading argument should point to an array of 256 floats that  
will receive the return values.  
cfMeasDCResistance  
Syntax  
int cfMeasDCResistance(CF_HANDLE server, int cell, float *reading);  
Description  
NOTE:  
Because this command may take several seconds to complete, you may need to temporarily  
adjust the cfSetTimeout function to account for the increased execution time.  
Returns the measured DC resistance for a particular cell or for all cells. The cell argument can be  
an individual cell number from 1 to 256, or the constant CF_ALL_CELLS to request readings for  
all cells. If CF_ALL_CELLS is given, the reading argument should point to an array of 256 floats  
that will receive the return values.  
If the DC Resistance measurement cannot be made, either because the output for a cell is in the  
OFF state, the voltage sense is set to Local, or if there is insufficient current flowing to make the  
measurement, the special value CF_NOT_A_NUMBER (9.91E37) is returned.  
cfMeasOutputProbeResistance  
Syntax  
int cfMeasOutputProbeResistance(CF_HANDLE server, int cell, float  
*resistance);  
Description  
NOTE:  
Because this command may take several seconds to complete, you may need to temporarily  
adjust the cfSetTimeout function to account for the increased execution time.  
Measures and returns the output probe contact resistance for a particular cell or for all cells. Data  
is in ohms. The cell argument can be an individual cell number from 1 to 256, or the constant  
CF_ALL_CELLS to request readings for all cells. If CF_ALL_CELLS is given, the resistance  
argument should point to an array of size CF_MAX_CELLS that will receive the return values.  
81  
Download from Www.Somanuals.com. All Manuals Search And Download.  
6 - Language Dictionary  
To make an effective probe resistance measurement, there should be some significant current  
through the probe contacts to the cells. The cfSetVoltage, cfSetCurrent, and cfSetOutputState  
commands can be used to set up the proper conditions for this measurement. If the probe  
resistance measurement cannot be made, either because the output for a cell is in the OFF state,  
the voltage sense is set to Local, or if there is insufficient current flowing to make the  
measurement, the special value CF_NOT_A_NUMBER (9.91E37) is returned.  
cfMeasProbeContinuity  
Syntax  
int cfMeasProbeContinuity(CF_HANDLE server, int cell, CF_CONTINUITY  
*result);  
Description  
NOTE:  
Because this command may take several seconds to complete, you may need to temporarily  
adjust the cfSetTimeout function to account for the increased execution time.  
This command checks the sense and output probe connections for a particular cell or for all cells.  
The cell argument can be an individual cell number from 1 to 256, or the constant  
CF_ALL_CELLS to request readings for all cells. If CF_ALL_CELLS is given, the result  
argument should point to an array of size CF_MAX_CELLS that will receive the return values.  
The value returned in result will be one of the following constant definitions:  
CF_PROBES_OK  
CF_SENSE_PROBE_OPEN  
CF_OUTPUT_PROBE_OPEN  
CF_PROBES_OPEN  
CF_CANNOT_TEST (either the unit is set to local sensing or a cell is inactive)  
The Agilent MCCD must be configured for remote voltage sense and the probes must be  
connected to a battery cell to do probe continuity testing. No tests are performed if local voltage  
sense has been programmed.  
cfMeasSenseProbeResistance  
Syntax  
int cfMeasSenseProbeResistance(CF_HANDLE server, int cell, float  
*resistance);  
Description  
NOTE:  
Because this command may take several seconds to complete, you may need to temporarily  
adjust the cfSetTimeout function to account for the increased execution time.  
Measures and returns the resistance looking back into the sense probes for a particular cell or for  
all cells. Data is returned ohms. The cell argument can be an individual cell number from 1 to  
256, or the constant CF_ALL_CELLS to request readings for all cells. If CF_ALL_CELLS is  
given, the resistance argument should point to an array of size CF_MAX_CELLS that will  
receive the return values.  
To make an effective probe resistance measurement, there should be a cell connected at the  
output. The instrument cannot distinguish between resistance in the sense connections and output  
resistance of the cell.  
82  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Language Dictionary - 6  
cfMeasVoltage  
Syntax  
int cfMeasVoltage(CF_HANDLE server, int cell, float *reading);  
Description  
Returns the measured cell voltage in volts for a particular cell or for all cells. Voltage is  
measured at the selected sense terminals for each cell. The cell argument can be an individual  
cell number from 1 to 256, or the constant CF_ALL_CELLS to request readings for all cells. If  
CF_ALL_CELLS is given, the reading argument should point to an array of size  
CF_MAX_CELLS that will receive the return values.  
cfOpen  
Syntax  
int cfOpen(char *server_name, CF_HANDLE *server, char *password);  
Description  
Before using any of the cell forming (cf) functions, you must establish a connection with the  
desired cell forming server. This function creates a connection and returns a handle to be used by  
all other cf functions. Access to cfOpen is protected by an alpha-numeric password, which is  
verified before the connection is permitted to be made. The password can be changed using a  
serial terminal connected to Serial Port B. The maximum length of the password is 32 characters.  
The server_name argument can either be an IP address or the server name.  
Example  
#include <stdio.h>  
#include <mccd.h>  
main()  
{
CF_HANDLE server;  
if (cfOpen("15.14.248.100", &server, "mypassword"))  
printf("Cannot connect to MCCD server\n");  
}
cfOpenGroup  
Syntax  
int cfOpenGroup(CF_HANDLE server, char *name, CF_HANDLE *group_handle);  
Description  
Associates a CF_HANDLE with a defined group for subsequent control. The group handle  
returned can be used to direct API commands to the specified group.  
When an API program is finished using a group handle, it should close the handle by calling  
cfClose and passing the group handle value. There are only a limited number of group handles  
available, and an API program can use them all up if it does not free group handles that are no  
longer needed.  
When the server handle (a handle obtained by a call to cfOpen) is closed, all group handles  
associated with that server handle are automatically closed. In that case it is not necessary to  
close the group handles explicitly.  
83  
Download from Www.Somanuals.com. All Manuals Search And Download.  
6 - Language Dictionary  
Example  
#define MY_GROUP "1.5Ahour"  
/*  
* Define group named "1.5Ahour" containing 64 cells  
* starting at cell 129.  
* Define a sequence step for the group, then free the group handle.  
*/  
void group_example(CF_HANDLE server)  
{
CF_HANDLE group_handle;  
cfSetGroup(server, MY_GROUP, 129, 64);  
cfOpenGroup(server, MY_GROUP, &group_handle);  
cfSetSeqStep(group_handle, 1, CF_CHARGE, 5.0, 1.0, 100.0, 0.0);  
cfClose(&group_handle);  
}
cfProtect  
Syntax  
int cfProtect(CF_HANDLE server);  
Description  
Forces the instrument into the CF_PROTECTED state. The cell outputs are disabled, and all  
activities associated with cell forming are suspended.  
cfProtectClear  
Syntax  
int cfProtectClear(CF_HANDLE server);  
Description  
Whenever a protection condition occurs, the Agilent MCCD server goes into a  
CF_PROTECTED state where outputs are disabled and sequences are paused. cfProtectClear  
will return the Agilent MCCD server to its previous state (state prior to protection event) if there  
are no longer any existing protect conditions. If any protect conditions are still true,  
cfProtectClear will leave the state of the Agilent MCCD server in CF_PROTECTED.  
cfProtectClear also clears all bits in the word returned by cfGetInstStatus that have false  
conditions. Any condition bits that are true (1) remain true in the event words.  
cfReadMeasLog  
Syntax  
int cfReadMeasLog(CF_HANDLE server, CF_READP *read_pos, int cell,  
int step, int bufsize, char *buffer, int *retcount);  
Description  
This function returns entries from the measurement log. The server argument can be either a  
handle to a group obtained by cfOpenGroup, or a handle to all cells in the instrument if no  
groups are defined.  
84  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Language Dictionary - 6  
The measurement log contains measurements acquired during the forming sequence. For the  
sequence step types CF_CHARGE, CF_DISCHARGE, or CF_REST, a log entry is made at the  
beginning and end of a step. Additional log entries are made whenever the voltage, current, or  
time meet the criteria specified by the function cfSetMeasLogInterval. For all other sequence  
step types, only one entry is made containing a specific measurement.  
The value pointed to by the read_pos argument controls which portion of the log is read. If this  
value is the special value CF_READ_FIRST, data is returned starting at the beginning of the log.  
Subsequent calls to cfReadMeasLog use the location pointed to by read_pos to keep track of the  
read position. If the value pointed to by read_pos is the special value CF_READ_LAST, the last  
entry for the specified cell is returned. If this special read_pos value is combined with the cell  
argument of CF_ALL_CELLS then the last 256 entries in the log are returned if bufsize is large  
enough to accept them. If bufsize is not large enough, the last entries that fit in bufsize are  
returned.  
The cell and step arguments act as filters that allow limiting the returned log entries to a specific  
cell or specific step numbers. The cell argument can be an individual cell number from 1 to 256,  
or the constant CF_ALL_CELLS to read log entries for all cells. The step argument can be an  
individual step number, or the constant CF_ALL_STEPS to read log entries for all steps.  
Additional step arguments return tagged measurements. The following table summarizes the step  
arguments:  
<step number>  
returns entries for that step number  
CF_ALL_STEPS  
returns entries for all steps  
CF_STEP_TRANSITIONS  
CF_TAGGED_ACR  
CF_TAGGED_DCR  
CF_TAGGED_OCV  
CF_TAGGED_CUM_AH  
CF_TAGGED_CUM_WH  
returns summary entries of each step  
returns tagged ac resistance entries  
returns tagged dc resistance entries  
returns tagged open circuit voltage entries  
returns tagged cumulative ampere-hour entries  
returns tagged cumulative watt-hour entries  
If the step argument is the special value CF_STEP_TRANSITIONS, the function returns a very  
abbreviated number of entries from each step. This can be used to obtain a quick summary of a  
sequence. For steps of type CF_CHARGE, CF_DISCHARGE, or CF_REST, it returns an entry  
at the beginning of the step and the last entry in the step. For all other sequence step types, it  
returns a single entry.  
The number of characters read into the buffer is returned in retcount. cfReadMeasLog will not  
return a partial measure log entry, so the number of characters read will typically be slightly less  
than the buffer size. When the retcount value is 0, the end of the measure log has been reached.  
Reading the entire measurement log can be time consuming if the forming sequence is long and  
the logging intervals are set for frequent entries. There is an optimum buffer size that should be  
used if maximizing the reading speed is important. The macro CF_MEAS_LOG_BUFSIZE is  
provided in the header file mccd.h for this purpose, and can be used as shown in Example 1 in  
chapter 7.  
Measurement log entries are sequences of ASCII formatted values separated by ASCII tab ('\t')  
characters. Each log entry is terminated by a newline ('\n') character. The format of a  
measurement log entry depends upon the step type of the corresponding sequence step. All log  
entries are the same format in the first 4 values, but the meaning of subsequent values depend on  
the step type.  
85  
Download from Www.Somanuals.com. All Manuals Search And Download.  
6 - Language Dictionary  
For sequence steps of type CF_CHARGE, CF_DISCHARGE, or CF_REST, the format is:  
cell-number step-number time status entry-type volt-reading  
curr-reading amp-hours watt-hours <newline>.  
For all other sequence step types, the format is:  
cell-number step-number time status entry-type value <newline>  
cell-number  
step-number  
time  
1 through 256  
1 through n, the number defined by cfSetSeqStep  
Time in seconds since the forming sequence was triggered  
A value that indicates the status of the cell  
status  
Constant  
Value  
Description  
CF_CV  
CF_CC_POS  
CF_CC_NEG  
1
2
4
constant voltage mode  
constant current charge mode  
constant current discharge mode  
entry-type  
One of the following character strings: Charge, Discharge, Rest, ACR, DCR,  
TaggedACR, TaggedDCR Tagged OCV, TaggedCumAH, TaggedCumWH,  
ResetCumAH, ResetCumWH.  
volt-reading  
curr-reading  
amp-hours  
watt-hours  
value  
Cell voltage measurement in volts  
Cell current measurement in amperes  
The cumulative ampere-hours measured from the beginning of this step-number.  
The cumulative watt-hours measured from the beginning of this step-number.  
The measurement or value related to the step type (either Tagged ACR, TaggedDCR,  
TaggedOCV, TaggedCumWH, TaggedCumAH).  
The measure log remains in the instrument's memory until a new forming sequence is started  
with the cfInitiate function.  
cfReadSerial  
Syntax  
int cfReadSerial (CF_HANDLE server, CF_SERIAL_PORT port, int bufsize,  
char *buffer, int *retcount);  
Description  
Reads data from one of the serial ports. The port argument can be CF_PORTA or CF_PORTB. A  
maximum of bufsize characters will be returned in buffer. The number of characters in the buffer  
is returned in retcount. If there are fewer than bufsize characters available to be read, the function  
returns only these characters and does not wait for the buffer to fill. The instrument stores  
characters from the serial ports in a FIFO buffer until they are read by the controller. The  
function cfSerialStatus can be used to test for serial error conditions.  
See Also  
cfGetSerialStatus  
86  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Language Dictionary - 6  
cfReadTestLog  
Syntax  
int cfReadTestLog(CF_HANDLE server, CF_READP *read_pos, int bufsize,  
char *buffer, int *retcount);  
Description  
Returns up to bufsize characters from the test log. The test log contains entries which describe  
any errors that occur during calibration or selftest. The number of characters read into the buffer  
is returned in retcount. The value pointed to by the read_pos argument controls which portion of  
the log is read. If this value is the special value CF_READ_FIRST, data is returned starting at the  
beginning of the log. Subsequent calls to cfReadSelftestLog use the location pointed to by  
read_pos to keep track of the read position. When the retcount argument is 0, the end of the log  
has been reached.  
The format of the test log is  
error-number, error message <newline>  
The test log remains readable in the instrument until either the line power is turned off or another  
cfSelftest, cfCal, cfCalStandard, or cfCalTransfer command is given.  
cfReset  
Syntax  
int cfReset(CF_HANDLE server);  
Description  
Sets most programmable functions to their power-on states. This command clears any previously  
defined sequence steps and sequence tests and aborts any sequence that may be in progress. All  
cell outputs are set to the off state.  
cfReset does not affect settings of the following: cfGetSerialConfig, cfReadSerial,  
cfGetSerialStatus, or digital configuration. It does not clear any logs or data queues.  
cfResetSeq  
Syntax  
int cfResetSeq(CF_HANDLE server);  
Description  
Clears any previously defined sequence steps and sequence tests and aborts any sequence that  
may be in progress. The server argument can be either a handle to a group obtained by  
cfOpenGroup, or a handle to all cells in the instrument if no groups are defined.  
87  
Download from Www.Somanuals.com. All Manuals Search And Download.  
6 - Language Dictionary  
cfRestart  
Syntax  
int cfRestart(CF_HANDLE server);  
Description  
This command causes the Agilent MCCD to recall a previously saved restart state. The Agilent  
MCCD must be in the CF_IDLE state to perform a restart. The existence of a restart state can be  
queried by testing the CF_RESTART bit of the status returned from cfGetInstStatus.  
cfSaveOutputConfig  
Syntax  
int cfSaveOutputConfig(CF_HANDLE server);  
Description  
This command causes the output configuration setting of each channel to be saved in non-volatile  
memory. These settings are set by cfSetOutputConfig.  
cfSelftest  
CAUTION:  
Selftest causes voltage to be applied to the outputs. Make sure that no cells are  
connected when executing cfSelftest.  
Syntax  
int cfSelftest(CF_HANDLE server, int *reserved);  
Description  
This command starts an instrument selftest. This selftest is more thorough than the selftest that is  
performed automatically at power-on. The cell supply outputs should be disconnected from any  
cells or other loads before the cfSelftest function is called.  
This function returns an integer value in the location pointed to by the reserved argument. The  
returned value should be ignored, but you must supply a pointer to an integer which will hold the  
return value.  
Since a selftest can take many seconds to complete, the cfSelftest function does not wait for  
selftest to complete but returns immediately after starting selftest. During the selftest, the  
CF_SELFTEST_STAT bit is true in the status word returned by cfGetInstStatus. When selftest is  
finished, the CF_SELFTEST_STAT bit goes false. If any errors occur during selftest, the  
CF_SELFTEST_ERROR_STAT bit is true. Details of the errors can be obtained using  
cfReadTestLog. The test log retains this error information until another selftest or calibration  
command is given.  
See Also  
cfReadTestLog, cf GetInstStatus  
88  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Language Dictionary - 6  
cfSetAutoConnect  
Syntax  
int cfSetAutoConnect(CF_HANDLE server, CF_BOOLEAN on_off);  
Description  
This command turns the automatic reconnect feature of the mccd.dll file located on the client  
computer on or off. The Agilent MCCD mainframe server will close a connection if there is no  
activity for a period longer than the time set by cfSetServerTimeout. If the automatic reconnect  
feature is set to CF_ON, the client mccd.dll will automatically try to reconnect to an Agilent  
MCCD mainframe server whose connection has been lost whenever an API function call is made.  
If the automatic reconnect feature is set to CF_OFF, API functions will return an error if the  
server connection has been lost. In this case client programs should make sure that they  
communicate with the server at intervals smaller than the time set by cfSetServerTimeout, or the  
server will close the connection due to inactivity.  
At the time the mccd.dll is first loaded, the auto connect feature is set to CF_ON.  
cfSetCurrent  
CAUTION  
Direct output control should not be used for charging cells. There is no protection  
against overcharging when using direct output control. Use this mode only for  
diagnostic and debugging purposes.  
Syntax  
int cfSetCurrent(CF_HANDLE server, float current);  
Description  
Sets the output current in the IDLE state for diagnostic or debugging purposes. The server  
argument can be either a handle to a group obtained by cfOpenGroup, or a handle to all cells in  
the instrument if no groups are defined.  
Agilent MCCD outputs can be directly controlled for diagnostic and debugging purposes without  
defining a sequence of steps and tests. Direct output control commands can only be used in the  
CF_IDLE state. Voltage, current, and output state settings are set on all outputs simultaneously.  
Whenever the unit leaves the CF_IDLE state, settings are reset to their power-on values.  
The power-on setting for cfSetCurrent is 0 amperes.  
See Also  
cfGetCurrent, cfSetVoltage, cfSetOutputState  
89  
Download from Www.Somanuals.com. All Manuals Search And Download.  
6 - Language Dictionary  
cfSetDigitalConfig  
Syntax  
int cfSetDigitalConfig(CF_HANDLE server, int bitnum, CF_EXT_SIGNAL  
signal, CF_POLARITY polarity, CF_REFERENCE reference);  
Description  
NOTE:  
The Agilent MCCD Configuration screens (see chapter 3) control the availability of  
cfSetDigitalConfig. If this menu item is set to lock out programmable access,  
cfSetDigitalConfig will return the error CF_ACCESS_DENIED  
Sets the operation of any of the 16 pins of the digital I/O port. Digital I/O bits can be configured  
as independent chassis-referenced bits that can be used as inputs or outputs, or as isolated output  
pairs. When configured as isolated output pairs, each even numbered bit and the odd numbered  
bit that immediately follows it form a pair. For example, Bit 0 and bit 1 form a pair, bit 2 and bit  
3 form a pair, etc., up to a maximum of 8 pairs.  
The bitnum argument specifies the bit to be programmed and is a number between 0 and 15. 0  
represents the least significant bit in the digital word that is set and read by cfSetDigitalPort and  
cfGetDigitalPort. The reference argument sets the configuration of a bit to either  
CF_GROUNDED or CF_ISOLATED. Values set by cfSetDigitalConfig are stored in non-  
volatile memory and are not affected by the power off or by cfReset.  
CF_GROUNDED Operation  
In CF_GROUNDED operation, the bit designated by the bitnum argument is configured as an  
independent, single-ended chassis-referenced bit that can be used as an input, output, or both  
input and output. Each bit must be configured separately in CF_GROUNDED operation.  
The polarity of a bit is set using the polarity argument. If the polarity is CF_HIGH_TRUE and  
the bit is configured as an output, then a 1 sent to the bit set by cfSetDigitalPort will be output as  
a high level at the connector. Likewise, if the bit is configured as an input, a high level at the  
connector will be returned as a 1 by cfGetDigitalPort. If the polarity is set to CF_LOW_TRUE,  
then the opposite polarity will be used for both output and input. The following table summarizes  
the choices for the signal argument in CF_GROUNDED operation:  
CF_EXT_FAULT_IN  
External Fault input  
CF_EXT_FAULT_OUT  
CF_EXT_INTERLOCK  
CF_EXT_TRIGGER  
CF_DIG_IN  
External Fault output (has the same logical value as External Fault input)  
External Interlock input  
External Trigger input  
General purpose input  
CF_DIG_OUT  
General purpose output  
CF_DIG_INOUT  
General purpose input/output  
CF_POWER_FAIL_IN  
CF_POWER_FAIL_OUT  
External Power Fail input  
External Power Fail output. Goes true when a power-fail shutdown  
state is saved. Goes false at power-on, cfInitiate(), or cfRestart().  
CF_DIG_OUT_AND_NOT_ Combines a CF_DIG_OUT function with enabling logic from  
FAULT_IN  
CF_EXT_FAULT_IN. When an External Fault Input is true, the  
OUTPUT_AND_NOT_FAULT_IN pin is held false.  
90  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Language Dictionary - 6  
When an output signal is programmed, the pin is driven by an open collector transistor. Writing a  
word to the port using cfSetDigitalPort will turn the transistor on or off based on the word and  
the polarity of the bit. Reading the port using cfGetDigitalPort returns the last value written to  
the bit.  
When an input signal is programmed, the state of the input can be read using cfGetDigitalPort.  
Writing to the port has no affect on the bit.  
When CF_DIG_INOUT is programmed, the bit can be used as both an input and an output.  
Writing a word that causes the output to go high turns the output transistor off and allows an  
external device to drive the port high or low. Writing a word that causes the output to go low  
turns the transistor on and drives the port bit low. Reading the port returns the actual state of the  
port, not the programmed value.  
NOTE:  
If an even bit that was previously configured as CF_ISOLATED is set to  
CF_GROUNDED, the attributes of its adjacent paired bit (the odd bit) default to  
CF_GROUNDED, CF_DIG_INOUT, and CF_LOW_TRUE, unless otherwise  
programmed.  
CF_ISOLATED Operation  
When the reference argument is set to CF_ISOLATED, each even numbered bit and the odd  
numbered bit that immediately follows it form a pair. The pins on the output connector that  
correspond to each bit-pair are the plus and minus outputs of an optical isolator. The bit  
argument can be either the even or odd numbered bit of a pair when cfSetDigitalConfig is called.  
However, only the even numbered bit of the pair is used to set the logic level of the output with  
cfSetDigitalPort. cfSetDigitalPort ignores the odd numbered bits of any pair that is configured as  
CF_ISOLATED.  
Any bit-pair whose reference is set to CF_ISOLATED can be used as a general purpose output  
by setting the signal argument to CF_DIG_OUT. The pair can also be used as an isolated fault  
output by setting the signal argument to CF_EXT_FAULT_OUT. The following table  
summarizes the signal choices for CF_ISOLATED operation:  
CF_EXT_FAULT_OUT  
CF_DIG_OUT  
External Fault output (has the same logical value as External Fault input)  
General purpose output  
CF_POWER_FAIL_OUT  
External Power Fail output.  
CF_DIG_OUT_AND_NOT_ Combines a CF_DIG_OUT function with enabling logic from  
FAULT_IN CF_EXT_FAULT_IN.  
The polarity of an CF_ISOLATED pair is set using the polarity argument. If the polarity is  
CF_HIGH_TRUE, then a 1 sent to the pair's even numbered bit by cfSetDigitalPort will be  
output as a high level at the connector. If the polarity is CF_LOW_TRUE, then a 1 sent to the  
pair's even numbered bit will be output as a low level at the connector.  
Any pair that is set to CF_ISOLATED cannot be used as a digital input. The data returned by  
cfGetDigitalPort for a CF_ISOLATED pair consists of the programmed value in the even  
numbered bit and a 0 in the odd numbered bit.  
See Also  
cfSetDigitalPort, cfGetDigitalConfig  
91  
Download from Www.Somanuals.com. All Manuals Search And Download.  
6 - Language Dictionary  
cfSetDigitalPort  
Syntax  
int cfSetDigitalPort(CF_HANDLE server, int data);  
Description  
Write data to the digital I/O port. Data must be sent as the equivalent of a 16-bit binary word. For  
example, sending a value of 0 sets all bits low. Sending a value of 65,535 sets all bits high. Use  
the following values to set individual digital I/O bits:  
bit #  
value  
bit #  
value  
16  
32  
64  
128  
bit #  
8
9
10  
11  
value  
256  
512  
1024  
2048  
bit #  
12  
13  
14  
15  
value  
4096  
8192  
16,384  
32,768  
0
1
2
3
1
2
4
8
4
5
6
7
Combine the above values to program multiple bits. For example, to set bits 3, 7, 10, and 11,  
send 3208 (8 + 128 + 1024 + 2048).  
The power-on setting for cfSetDigitalPort is 0 (all bits low).  
See Also  
cfGetDigitalPort, cfGetDigitalConfig  
cfSetErrorFunction  
Syntax  
int cfSetErrorFunction(void(*ErrorFn)(CF_HANDLE server, char *name, int  
errorcode));  
Description  
Defines an error function that will be called by other instrument functions when they detect a  
non-zero return value. The argument ErrorFn is a pointer to a function returning void with 3  
arguments. The application program can use this mechanism to be notified whenever a error  
value is returned from any of the Agilent MCCD library functions.  
A null pointer can be passed as the ErrorFn argument function, in which case the error callback  
mechanism is turned off.  
If a library function that does not have a server handle argument returns an error; the error  
function will be called with the server parameter value of CF_NULL_SERVER.  
Example  
void report_mccd_error(CF_HANDLE server, char *name, int error)  
{
printf("MCCD server returned error %d from API function %s\n",  
error, name);  
}
main()  
{
/* Initialization code not shown here. */  
cfSetErrorFunction(report_mccd_error);  
}
92  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Language Dictionary - 6  
cfSetGroup  
Syntax  
int cfSetGroup(CF_HANDLE server, char *name, int start, int size);  
Description  
Defines a group of cells by specifying a starting cell number and the total number of cells in the  
group. Name is a null terminated character string that serves to identify the group. Once the  
group has been created, a handle can be obtained using cfOpenGroup for subsequent control with  
API functions. The number of characters in name must be less than CF_MAX_GROUP_NAME_LEN.  
If the group name is longer than CF_MAX_GROUP_NAME_LEN - 1 characters, or if the name is a  
null string, an error is returned. The size argument must be greater than 0 or an error is returned.  
Groups are volatile and disappear when the ac power is turned off.  
cfSetMeasLogInterval  
Syntax  
int cfSetMeasLogInterval(CF_HANDLE server, int step_number, float  
volt_interval, float curr_interval, float time_interval);  
Description  
Sets the voltage, current, and time change criteria for causing a new measure log entry to be  
written. The server argument can be either a handle to a group obtained by cfOpenGroup, or a  
handle to all cells in the instrument if no groups are defined. The step_number argument can  
either be an individual step number or the constant CF_ALL_STEPS to set the criteria for all  
steps to the same values. Whenever a forming sequence is running (instrument state is  
CF_FORMING) a measurement log entry will be made if any of the following are true:  
The measured cell voltage has changed by volt_interval volts since the last logged entry.  
The measured cell current has changed by curr_interval amps since the last logged entry.  
Time_interval seconds have elapsed since the last logged entry.  
Setting any of these values to the special value of CF_INFINITY will effectively turn off logging  
based on that particular parameter.  
The power-on setting for cfSetMeasLogInterval is CF_ALL_STEPS. The voltage, current, and  
time interval values are set to CF_INFINITY.  
cfSetOutputConfig  
Syntax  
int cfSetOutputConfig(CF_HANDLE server, int first_cell, int last_cell,  
CF_OUTPUT_CONFIG config);  
Description  
Set the configuration of an output to either CF_SET_ACTIVE or CF_SET_INACTIVE. All cells  
included in the range from first_cell to last_cell are set to the requested configuration. A cell that  
is set to CF_SET_INACTIVE ignores all output and forming commands. Measurements for these  
cells always return the special value CF_NOT_A_NUMBER.  
NOTE:  
This command only affects outputs that are in the Idle state. An error is generated and  
the command is ignored if any cells within the specified range are not in the Idle state.  
93  
Download from Www.Somanuals.com. All Manuals Search And Download.  
6 - Language Dictionary  
cfSetOutputProbeTest  
NOTE:  
The Agilent MCCD must be configured for remote voltage sensing to perform output  
probe testing. No output probe tests are performed if local voltage sensing is configured.  
Syntax  
int cfSetOutputProbeTest(CF_HANDLE server, float resistance);  
Description  
Sets the resistance limit which is used when the output probes are tested during a forming  
sequence. The server argument can be either a handle to a group obtained by cfOpenGroup, or a  
handle to all cells in the instrument if no groups are defined. The resistance of the output probes  
is measured periodically during forming as long as the voltage difference between the power and  
sense probes is greater than 50mV. If the probe resistance is higher than the value set, the cell is  
marked as a failure. Automatic checking of output probe resistance is disabled by sending the  
resistance value of CF_INFINITY.  
The power-on setting for cfSetOutputProbeTest is CF_INFINITY.  
cfSetOutputState  
CAUTION  
Direct output control should not be used for charging cells. There is no protection  
against overcharging when using direct output control. Use this mode only for  
diagnostic and debugging purposes.  
Syntax  
int cfSetOutputState(CF_HANDLE server, CF_OUTPUT_STATE state);  
Description  
Set the output state for diagnostic or debugging purposes. The server argument can be either a  
handle to a group obtained by cfOpenGroup, or a handle to all cells in the instrument if no  
groups are defined.  
A state value of CF_OUTPUT_OFF sets the output state of the cell to OFF.  
CF_OUTPUT_CHARGE sets the output so that is can supply charge.  
CF_OUTPUT_DISCHARGE sets the output so that it can discharge (sink current) In the off  
state, the channel outputs are open-circuited and supply no current. In both the charge and  
discharge states, the channel outputs are controlled by cfSetVoltage and cfSetCurrent.  
Agilent MCCD outputs can be directly controlled for diagnostic and debugging purposes without  
defining a sequence of steps and tests. Direct output control commands can only be used in the  
CF_IDLE state. Voltage, current, and output state settings are set on all outputs simultaneously.  
Whenever the unit leaves the CF_IDLE state, settings are reset to their power-on values.  
The power-on setting for cfSetOutputState is CF_OUTPUT_OFF.  
See Also  
cfGetOutputState, cfSetVoltage, cfSetCurrent  
94  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Language Dictionary - 6  
cfSetSense  
Syntax  
int cfSetSense(CF_HANDLE server, CF_SENSE sense);  
Description  
Sets voltage sense to remote or local sense. The sense argument is either CF_SENSE_REMOTE  
or CF_SENSE_LOCAL. The sense setting is stored in non-volatile memory and is retained when  
the ac power is off.  
See Also  
cfGetSense  
cfSetSenseProbeTest  
NOTE:  
The Agilent MCCD must be configured for remote voltage sensing to perform output  
probe testing. No output probe tests are performed if local voltage sensing is configured.  
Syntax  
int cfSetSenseProbeTest(CF_HANDLE server, CF_BOOLEAN on_off);  
Description  
Enables or disables the automatic testing of the remote sense probe resistance. The server  
argument can be either a handle to a group obtained by cfOpenGroup, or a handle to all cells in  
the instrument if no groups are defined.  
When this test is enabled, the instrument periodically measures the resistance of the sense probes  
during a sequence, and checks for a value that is low enough to allow accurate voltage  
measurements. If the probe resistance is too high and the testing is enabled, the forming sequence  
will be terminated for that cell.  
The instrument cannot distinguish between resistance in the sense probes and output resistance in  
the cell. It will not attempt to check sense probe resistance if the output voltage and current are  
not adequate to make the resistance measurement.  
The power-on setting for cfSenseProbeTest is Off.  
cfSetSeqStep  
Syntax  
int cfSetSeqStep(CF_HANDLE server, int step_number, CF_SEQ_OUT out_type,  
float voltage, float current, float time, float reserved);  
Description  
Defines output sequence steps in terms of output regulation type, voltage limit, current limit,  
time, and an argument reserved for use with future enhancements (program the unused parameter  
to zero). The server argument can be either a handle to a group obtained by cfOpenGroup, or a  
handle to all cells in the instrument if no groups are defined. The output regulation types are:  
95  
Download from Www.Somanuals.com. All Manuals Search And Download.  
6 - Language Dictionary  
CF_CHARGE  
CF_DISCHARGE  
CF_REST  
Constant voltage/constant current charge  
Constant voltage/constant current discharge  
Rest (output in high impedance state)  
CF_ACR  
AC resistance measurement  
CF_DCR  
DC resistance measurement  
CF_TAG_ACR  
Makes an ac resistance measurement which is identified in  
the measure log as a TaggedACR entry type.  
Makes an dc resistance measurement which is identified in  
the measure log as a TaggedDCR entry type.  
Makes an open circuit voltage measurement which is  
identified in the measure log as a TaggedOCV entry type.  
Writes the cumulative ampere hours to the measure log as a  
TaggedCumAH entry type.  
CF_TAG_DCR  
CF_TAG_OCV  
CF_TAG_CUM_AH  
CF_TAG_CUM_WH  
CF_RESET_CUM_AH  
Writes the cumulative watt hours to the measure log as a  
TaggedCumAH entry type.  
Resets the cumulative ampere hours measurement to zero.  
CF_RESET_CUM_WH Resets the cumulative watt hours measurement to zero.  
There are two classes of step types. Charge, discharge, and rest step types define periods of time  
with specific stimulus to the cells. For these step types, the maximum duration of the step is  
given by the time argument in seconds. Transitions to the next state before the time period has  
elapsed can be affected by actions defined by the function cfSetSeqTest.  
Other step types are used to control measurements and generate entries into the measure log. For  
these step types, the time argument is ignored, and the duration of the step is only the time  
required to perform the action associated with the step. For example, ACR and DCR  
measurements can be made at specific steps in the sequence. These can be either tagged or  
untagged measurements. Tagged measurements can be retrieved from the measurement log using  
a query filter which returns only these entries. Untagged measurements can also be read from the  
log, but the these measurements cannot be queried selectively and will be returned along with all  
other entries when the entire log is read.  
The Agilent MCCD also measures cell capacities in both ampere hours and watt hours. These  
capacities are reset to zero at the beginning of each sequence step, and they are reported as part  
of the standard measurements in each measure log entry. The Agilent MCCD also has the ability  
to accumulate capacity over several sequence steps. Special step types are provided to reset these  
cumulative capacities and to send them to the measure log at specific steps in the sequence.  
These are tagged measurements, which are retrieved using a query filter.  
There is little capability to edit sequence steps. If a step_number is sent that is already defined,  
the new step_number settings replace the previous settings. There is no way to insert a new step  
between two previously defined steps, or to delete a single step. cfResetSeq deletes all sequence  
steps and tests, and should be sent prior to defining a new set of sequence steps and tests. If a  
forming sequence is in progress when cfSetSeqStep is given, an error is returned.  
Steps are volatile and disappear when the ac power is turned off.  
See Also  
cfReset, cfSetSeqTest, cfGetSeqStep  
96  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Language Dictionary - 6  
cfSetSeqTest  
Syntax  
int cfSetSeqTest(CF_HANDLE server, int step_number, CF_SEQ_TEST  
meas_test_type, float limit, CF_TIME_TEST time_test_type, float time,  
CF_SEQ_ACTION action);  
Description  
Define tests performed during sequence steps. These tests allow a cell to advance to the next step  
when a measured value is achieved, or to fail a cell and remove it from further stimulus if a  
failure limit is exceeded. The server argument can be either a handle to a group obtained by  
cfOpenGroup, or a handle to all cells in the instrument if no groups are defined.  
step_number references the corresponding number from cfSetSeqStep.  
meas_test_type is one of:  
CF_VOLT_GE  
CF_VOLT_LE  
CF_CURR_GE  
CF_CURR_LE  
CF_ACR_GE  
CF_ACR_LE  
CF_DCR_GE  
CF_DCR_LE  
CF_POWER_GE  
The cell voltage that is greater than or equal to the programmed limit  
The cell voltage that is less than or equal to the programmed limit  
The cell current that is greater than or equal to the programmed limit  
The cell current that is less than or equal to the programmed limit  
The cell ac resistance that is greater than or equal to the programmed limit  
The cell ac resistance that is less than or equal to the programmed limit  
The cell dc resistance that is greater than or equal to the programmed limit  
The cell dc resistance that is less than or equal to the programmed limit  
The absolute value of cell power in Watts (cell voltage x cell current) that is  
greater than or equal to the programmed limit.  
CF_POWER_LE  
CF_AMPH_GE  
The absolute value of cell power in Watts (cell voltage x cell current) that is  
less than or equal to the programmed limit.  
The absolute value of cell capacity in Ampere-hours that is greater than or  
equal to the programmed limit .  
CF_AMPH_LE  
The absolute value of cell capacity in Ampere-hours that is less than or equal to  
the programmed limit.  
CF_WATTH_GE  
CF_WATTH_LE  
CF_POS_DVDT_GE  
CF_POS_DVDT_LE  
The absolute value of cell capacity in Watt-hours that is greater than or equal to  
the programmed limit.  
The absolute value of cell capacity in Watt-hours that is less than or equal to the  
programmed limit.  
The change in voltage during the standard measurement interval that is positive  
and greater than or equal to the programmed limit.  
The change in voltage during the standard measurement interval that is positive  
and less than or equal to the programmed limit.  
CF_NEG_DVDT_GE The change in voltage during the standard measurement interval that is  
negative, and the magnitude of the change is greater than or equal to the  
programmed limit.  
CF_NEG_DVDT_LE The change in voltage during the standard measurement interval that is  
negative, and the magnitude of the change is less than or equal to the  
programmed limit.  
CF_POS_DIDT_GE  
CF_POS_DIDT_LE  
CF_NEG_DIDT_GE  
The change in the magnitude of current during the standard measurement  
interval that is positive and greater than or equal to the programmed limit.  
The change in the magnitude of current during the standard measurement  
interval that is positive and less than or equal to the programmed limit.  
The change in the magnitude of current during the standard measurement  
interval that is negative, and the magnitude of the change is greater than or  
equal to the programmed limit.  
97  
Download from Www.Somanuals.com. All Manuals Search And Download.  
6 - Language Dictionary  
CF_NEG_DIDT_LE  
The change in the magnitude of current during the standard measurement  
interval that is negative, and the magnitude of the change is less than or equal to  
the programmed limit.  
CF_DVMAX_GE  
CF_DVMAX_LE  
CF_DVMIN_GE  
CF_DVMIN_LE  
CF_DIMAX_GE  
The magnitude of the difference between the voltage and the maximum voltage  
observed during the step that is greater than or equal to the programmed limit.  
The magnitude of the difference between the voltage and the maximum voltage  
observed during the step that is less than or equal to the programmed limit.  
The magnitude of the difference between the voltage and the minimum voltage  
observed during the step that is greater than or equal to the programmed limit.  
The magnitude of the difference between the voltage and the minimum voltage  
observed during the step that is less than or equal to the programmed limit.  
The magnitude of the difference between the absolute value of current and the  
maximum absolute value of current observed during the step that is greater than  
or equal to the programmed limit.  
CF_DIMAX_LE  
CF_DIMIN_GE  
CF_DIMIN_LE  
The magnitude of the difference between the absolute value of current and the  
maximum absolute value of current observed during the step that is less than or  
equal to the programmed limit.  
The magnitude of the difference between the absolute value of current and the  
minimum absolute value of current observed during the step that is greater than  
or equal to the programmed limit.  
The magnitude of the difference between the absolute value of current and the  
minimum absolute value of current observed during the step that is less than or  
equal to the programmed limit.  
time_test_type is one of:  
CF_TEST_BEFORE  
Action is taken if the measurement test is true before the time  
argument  
CF_TEST_AT  
CF_TEST_AFTER  
Action is taken if the measurement test is true at the time argument  
Action is taken if the measurement test is true after the time  
argument  
CF_TEST_BEFORE_STIMULUS Action is taken if the measurement test is true before the stimulus  
is applied for this step. The outputs are in a reset condition during  
this test. The time argument is ignored for this time_test_type.  
time is in seconds relative to the beginning of the present step number  
action is the action taken when the meas_test_type and time_test_type are both satisfied. The  
action choices are:  
CF_NEXT  
Advance as soon as possible to the next step, short circuiting all remaining tests  
in the present step.  
CF_FAIL  
Mark the cell as a failure and disconnect it. No further tests or steps are applied  
to the cell.  
NOTE:  
CF_ACR_LE and CF_ACR_GE can only be used with CF_ACR steps.  
CF_DCR_LE and CF_DCR_GE can only be used with CF_DCR. steps.  
Other meas_test_types cannot be used with CF_ACR or CF_DCR steps.  
You cannot delete a single test. cfResetSeq deletes all sequence steps and tests, and should be  
sent prior to defining a new set of sequence steps and tests. If a forming sequence is in progress  
when cfSetSeqTest is given, an error is returned.  
Tests are volatile and disappear when the ac power is turned off.  
98  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Language Dictionary - 6  
cfSetSeqTestAnd  
Syntax  
int cfSetSeqTestAnd(CF_HANDLE server, int step_number, CF_SEQ_TEST  
*meas_test_type, float *limit, CF_TIME_TEST time_test_type, float time,  
CF_SEQ_ACTION action, int count);  
Description  
This command is similar to cfSetSeqTest, but it allows multiple tests that are combined with a  
logical AND during a sequence. The action is not taken unless all measurement tests are true.  
The server argument can be either a handle to a group obtained by cfOpenGroup, or a handle to  
all cells in the instrument if no groups are defined. The count argument defines how many tests  
are contained in the meas_tests_type and limit array arguments.  
The maximum number of tests that can be passed in the meas_tests_type[] and limit[] arrays is  
defined by the macro CF_MAX_AND_TESTS.  
Example  
/* This example defines a test that will advance to the next step when  
* the voltage is less than 3.1 V and the current is less than 0.5A  
*/  
CF_SEQ_TEST meas_test[CF_MAX_AND_TESTS];  
float limit[CF_MAX_AND_TESTS];  
meas_test[0] = CF_VOLT_LE;  
limit[0] = 3.1;  
meas_test[1] = CF_CURR_LE;  
limit[1] = 0.5;  
cfSetSeqTestAnd(server, 1, meas_test, limit CF_TEST_AFTER, 0.0,  
CF_NEXT, 2);  
cfSetSerialConfig  
Syntax  
int cfSetSerialConfig(CF_HANDLE server, CF_SERIAL_PORT port, int  
baudrate, CF_SERIAL_PARITY parity, int wordsize, CF_SERIAL_FLOW  
flow_ctrl);  
Description  
Sets the communication parameters of one of the serial ports.  
port  
CF_PORTA or CF_PORTB  
baudrate  
parity  
wordsize  
flow_ctrl  
1200, 2400, 4800, 9600, or 19200  
CF_PARITY_EVEN, CF_PARITY_ODD, or CF_PARITY_NONE  
7 or 8  
CF_FLOW_RTS_CTS, CF_FLOW_XON_XOFF, or CF_FLOW_NONE  
cfSetServerTimeout  
Syntax  
int cfSetServerTimeout(CF_HANDLE server, float timeout);  
Description  
This command sets the connection inactivity time-out period. The Agilent MCCD server will  
close a connection if there is no activity on it for a period longer than this time-out value.  
The power-on setting for cfSetServerTimeout is 60 seconds.  
99  
Download from Www.Somanuals.com. All Manuals Search And Download.  
6 - Language Dictionary  
cfSetShutdownDelay  
Syntax  
int cfSetShutdownDelay(CF_HANDLE server, float delay);  
Description  
Sets the delay between the assertion of a true signal at a CF_POWER_FAIL_IN input and the  
start of an Agilent MCCD shutdown when the shutdown mode has been set to CF_AUTO. If the  
shutdown mode has been set to CF_MANUAL, the delay has no effect.  
The power-on setting for cfSetShutdownDelay is 60 seconds.  
cfSetShutdownMode  
Syntax  
int cfSetShutdownMode(CF_HANDLE server, int mode);  
Description  
Sets the shutdown mode to CF_AUTO or CF_MANUAL. When set to CF_AUTO, a true signal  
on the CF_POWER_FAIL_IN input causes the Agilent MCCD to execute a shutdown after the  
shutdown delay has elapsed if a valid restart state does not already exist. When set to  
CF_MANUAL, the Agilent MCCD does not execute a shutdown in response to a true  
CF_POWER_FAIL_IN input; however, it still reports the input state in the  
CF_POWER_FAIL_STAT bit of instrument status.  
The Agilent MCCD will not automatically save a restart state if a previously saved state still  
exists. Restart states are deleted on cfInitiate and cfRestart. The existence of a restart state can be  
queried by testing the CF_RESTART bit of the status returned from cfGetInstStatus.  
The power-on setting for cfSetShutdownMode is CF_MANUAL.  
cfSetTimeout  
Syntax  
int cfSetTimeout(float timeout);  
Description  
Sets the maximum time in seconds that the client will wait for a response from an Agilent MCCD  
server. The default timeout value if not explicitly set is 30 seconds.  
cfSetTrigSource  
Syntax  
int cfSetTrigSource(CF_HANDLE server, CF_TRIG_SOURCE source);  
Description  
Sets the sequence trigger source to CF_LAN or CF_EXTERNAL. When set to CF_LAN, a  
forming sequence in can be triggered using cfTrigger. When set to CF_EXTERNAL, a forming  
sequence is triggered by a true signal on the digital input which is mapped into External Trigger.  
The server argument can be either a handle to a group obtained by cfOpenGroup, or a handle to  
all cells in the instrument if no groups are defined.  
The power-on setting for cfSetTrigSource is CF_LAN.  
100  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Language Dictionary - 6  
cfSetVoltage  
CAUTION  
Direct output control should not be used for charging cells. There is no protection  
against overcharging when using direct output control. Use this mode only for  
diagnostic and debugging purposes.  
Syntax  
int cfSetVoltage(CF_HANDLE server, float voltage);  
Description  
Sets the output voltage for diagnostic or debugging purposes. The server argument can be either  
a handle to a group obtained by cfOpenGroup, or a handle to all cells in the instrument if no  
groups are defined.  
Agilent MCCD outputs can be directly controlled for diagnostic and debugging purposes without  
defining a sequence of steps and tests. Direct output control commands can only be used in the  
CF_IDLE state. Voltage, current, and output state settings are set on all outputs simultaneously.  
Whenever the unit leaves the CF_IDLE state, settings are reset to their power-on values.  
The power-on setting for cfSetVoltage is 0 volts.  
cfShutdown  
Syntax  
int cfShutdown(CF_HANDLE server);  
Description  
This command causes the Agilent MCCD to:  
Go to the CF_PROTECTED state (causes CF_SHUTDOWN_STAT to become true in the  
status returned by cfGetInstStatus).  
Save its current state in non-volatile memory for later use with cfRestart.  
Assert a CF_POWER_FAIL_OUT digital out signal.  
Information in the saved state includes all sequence steps and tests. If a sequence is running  
(CF_FORMING state), it includes the current state of each cell in the forming sequence,  
including its current step number, time in step, capacity, and pass/fail status. The measurement  
log is also saved. If the Agilent MCCD is in CF_IDLE, the pass/fail results of the previous  
sequence and its measure log are saved.  
cfStateDelete  
Syntax  
int cfStateDelete(CF_HANDLE server, char *state);  
Description  
Deletes a named instrument state previously created with cfStateSave.  
101  
Download from Www.Somanuals.com. All Manuals Search And Download.  
6 - Language Dictionary  
cfStateList  
Syntax  
int cfStateList(CF_HANDLE server, char *buffer);  
Description  
Returns a comma-separated and null terminated list of instrument state names that are stored on  
the server. The buffer must be large enough to hold a list of the names of the maximum number  
of states that can be saved in a Cell Forming Server. The constant  
CF_MAX_STATE_LIST_LEN can be used to allocate space for the buffer.  
Example  
char list_buffer[CF_MAX_STATE_LIST_LEN];  
/* Read and print the list of instrument state names. */  
cfStateList(server, list_buffer);  
printf("%s\n", list_buffer);  
cfStateRecall  
Syntax  
int cfStateRecall(CF_HANDLE server, char *state);  
Description  
Loads a named instrument state previously created with cfStateSave. The server argument can be  
either a handle to a group obtained by cfOpenGroup, or a handle to all cells in the instrument if  
no groups are defined. All programmable functions of the instrument are set to the values stored  
in the state. This command also aborts any forming sequence that is in progress, setting the  
forming state to CF_IDLE.  
cfStateSave  
Syntax  
int cfStateSave(CF_HANDLE server, char *state);  
Description  
Saves the current instrument settings in a non-volatile state with the name given by the state  
parameter. The server argument can be either a handle to a group obtained by cfOpenGroup, or a  
handle to all cells in the instrument if no groups are defined. If a state already exists with the  
given name, the old state is over-written. State names are limited to  
CF_MAX_STATE_NAME_LEN characters in length.  
cfTrigger  
Syntax  
int cfTrigger(CF_HANDLE server);  
Description  
Sends a trigger from the CF_LAN trigger source. The server argument can be either a handle to a  
group obtained by cfOpenGroup, or a handle to all cells in the instrument if no groups are  
defined.  
102  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Language Dictionary - 6  
cfWriteSerial  
Syntax  
int cfWriteSerial(CF_HANDLE server, CF_SERIAL_PORT port, char  
*port_data, int count);  
Description  
Writes count data words to the serial port.  
See Also  
cfSerialStatus, cfReadSerial, cfSerialConfig  
103  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Download from Www.Somanuals.com. All Manuals Search And Download.  
7
C Program Examples  
Example 1  
This following C program shows you how to implement the example discussed in the beginning of  
chapter 5 using the API cell forming (cf) functions. The cell forming functions are included with the  
driver software supplied with the Agilent E4373A documentation package.  
#include <stdio.h>  
#include <mccd.h>  
#define SECONDS_PER_MINUTE 60.0f  
void setup(CF_HANDLE server);  
main()  
{
CF_HANDLE server;  
int err_ret;  
char buf[CF_MEAS_LOG_BUFSIZE];  
int retcount;  
FILE *fp;  
CF_READP read_pos;  
CF_RUN_STATE presentState;  
/* Open the server connection */  
if (cfOpen("15.14.248.100", &server, "mypassword")) {  
printf("Cannot connect to Agilent MCCD\n");  
exit(1);  
}
/* Reset the server to power-on defaults */  
cfReset(server);  
/* Set the trigger source to LAN */  
cfSetTrigSource(server, CF_LAN);  
/* Program the charge/discharge sequence */  
setup(server);  
/* Initiate sequence and check for sequence consistency */  
if (err_ret = cfInitiate(server)) {  
printf("Initiate error, code %d\n", err_ret);  
exit(err_ret);  
}
/* Wait for runstate CF_INITIATED. */  
do {  
Sleep(1000);  
cfGetRunState(server, &presentState);  
105  
Download from Www.Somanuals.com. All Manuals Search And Download.  
7 - C Program Examples  
} while(presentState != CF_INITIATED);  
/* Start the sequence */  
cfTrigger(server);  
/* Wait for the sequence to end */  
do {  
cfGetRunState(server, &presentState);  
/* sleep or do something else */  
} while(presentState == CF_FORMING);  
/* Read entire measurement log and write it to a disk file */  
fp = fopen("logfile", "w");  
for (read_pos = CF_READ_FIRST; ; ) {  
cfReadMeasLog(server, &read_pos, CF_ALL_CELLS, CF_ALL_STEPS,  
CF_MEAS_LOG_BUFSIZE, buf, &retcount);  
if (retcount)  
fputs(buf, fp);  
else  
break;  
}
fclose(fp);  
/* Close the server connection */  
cfClose(server);  
return(0);  
}
/* Program the charge/discharge sequence */  
void setup(CF_HANDLE server)  
{
/* Step 1 and tests. */  
cfSetSeqStep(server, 1, CF_CHARGE, 4.2, 0.295,  
20 * SECONDS_PER_MINUTE, 0.0);  
cfSetSeqTest(server, 1, CF_VOLT_GE, 3.8, CF_TEST_BEFORE,  
5 * SECONDS_PER_MINUTE, CF_FAIL);  
cfSetSeqTest(server, 1, CF_CURR_LE, 0.02, CF_TEST_AFTER,  
5 * SECONDS_PER_MINUTE, CF_NEXT);  
/* Step 2 is a rest step. */  
cfSetSeqStep(server, 2, CF_REST, 0.0, 0.0);  
10 * SECONDS_PER_MINUTE, 0.0);  
/* Step 3 and tests. */  
cfSetSeqStep(server, 3, CF_DISCHARGE, 3, 0.295,  
15 * SECONDS_PER_MINUTE, 0.0);  
cfSetSeqTest(server, 3, CF_VOLT_LE, 3, CF_TEST_BEFORE,  
5 * SECONDS_PER_MINUTE, CF_FAIL);  
cfSetSeqTest(server, 3, CF_VOLT_LE, 3, CF_TEST_AFTER,  
5 * SECONDS_PER_MINUTE, CF_NEXT);  
cfSetSeqTest(server, 3, CF_VOLT_GE, 3, CF_TEST_AT,  
15 * SECONDS_PER_MINUTE, CF_FAIL);  
/* Step 4 is a rest step. */  
cfSetSeqStep(server, 4, CF_REST, 0.0, 0.0);  
5 * SECONDS_PER_MINUTE, 0.0);  
}
106  
Download from Www.Somanuals.com. All Manuals Search And Download.  
C Program Examples - 7  
Example 2  
This following C program shows you how to implement the example discussed at the end of chapter 1  
using the API cell forming functions. Note that this example only includes a brief cell forming sequence  
and does not include error checking after each function call. It primarily describes how you can  
incorporate the various high-level features of the Agilent MCCD such as the digital I/O and the serial  
ports in a cell forming sequence.  
Serial port A is programmed to operate in passthrough mode, so that information from a barcode reader  
that is connected to port A is directly sent to the PC.  
To match the example at the end of chapter 1, the digital ports are programmed as follows:  
Pins 0, 1, and 2 are programmed as low-true general purpose digital inputs. To use the digital inputs  
connect a switch from the digital port to ground. Pin 0 is connected to the fixture switch. Pin 1 is  
connected to the Start button. Pin 2 is connected to a smoke detector switch. With the switches open, an  
internal +5Vpullup resistor sets these inputs high or FALSE. With the switches closed, the digital inputs  
are connected to common or low TRUE.  
Pins 8 and 9 are programmed as low true general purpose outputs. To use the digital outputs connect a  
light from the digital port to a +24V source such as the auxiliary output. Pin 8 is connected to the Ready  
light. Pin 9 is connected to the Test light. When programmed to 0 (FALSE), the digital port is an open  
circuit and the light is off. When programmed to 1 (TRUE), the digital port is connected to common and  
the light turns on.  
/* sample1.c */  
#include <windows.h>  
#include <stdio.h>  
#include <stdlib.h>  
#include <string.h>  
#include <io.h>  
#include "mccd.h"  
/* Default server address and password */  
#define DEFAULT_SERVER "15.14.250.125"  
#define DEFAULT_PASSWORD "mypassword"  
/* Digital port bit definitions */  
#define DIG_FIXTURE_READY0x0001  
#define DIG_START_BUTTON 0x0002  
#define DIG_SMOKE_DETECT 0x0004  
#define DIG_READY_LIGHT  
#define DIG_TEST_LIGHT  
0x0100  
0x0200  
#define CLIENT_TIMEOUT 60.0f  
#define MAX_BARCODE 256  
#define LOG_FILE "MCCDLOG.TXT"  
#define MEAS_BUF_SIZE 1024  
/* Local function prototypes */  
void APIError(CF_HANDLE hServer, char *szName, int nError);  
char *RunStateToString(CF_RUN_STATE state);  
107  
Download from Www.Somanuals.com. All Manuals Search And Download.  
7 - C Program Examples  
/***********************************************************************  
Main function  
***********************************************************************/  
void main(int argc, char *argv[])  
{
char *szServerAddr = DEFAULT_SERVER;  
char *szPassword = DEFAULT_PASSWORD;  
CF_HANDLE hServer;  
int nResult;  
int nDigitalPort;  
char szBarCodeMsg[MAX_BARCODE];  
int nBarCodeCount;  
int nRunState;  
CF_READP readPos;  
FILE *hFile;  
char szMeasBuffer[MEAS_BUF_SIZE];  
int nMeasBufCount;  
float fCellResistance[CF_MAX_CELLS];  
/* Open a connection to an MCCD. */  
nResult = cfOpen(szServerAddr, &hServer, szPassword);  
if (nResult != CF_OK)  
{
printf("Could not connect to MCCD: %s\n", szServerAddr);  
APIError(hServer, "cfOpen", nResult);  
}
printf("Connected to MCCD: %s\n", szServerAddr);  
/*  
* Setup the client API DLL.  
*/  
/* Install a central error handler function. */  
cfSetErrorFunction(APIError);  
/* Set the client timeout period. */  
cfSetTimeout(CLIENT_TIMEOUT);  
/*  
* Setup the MCCD server.  
*/  
/* Reset the server to power-on defaults. */  
cfReset(hServer);  
/* Set voltage sense to remote. */  
cfSetSense(hServer, CF_SENSE_REMOTE);  
/* Set trigger source to LAN. */  
cfSetTrigSource(hServer, CF_LAN);  
/* Set measurement log intervals for all sequence steps. */  
cfSetMeasLogInterval(hServer, CF_ALL_STEPS, 0.1f, 0.1f, CF_INFINITY);  
/* Set serial port A configuration to use with bar code reader. */  
cfSetSerialConfig(hServer, CF_PORTA, 9600,  
CF_PARITY_NONE,  
8, CF_FLOW_NONE);  
/* Enable probe tip checking. */  
cfSetSenseProbeTest(hServer, CF_ON);  
108  
Download from Www.Somanuals.com. All Manuals Search And Download.  
C Program Examples - 7  
/* Configure resistance limit for output probe test. */  
cfSetOutputProbeTest(hServer, 0.1f);  
/* Mark outputs 65 - 256 as unused by this fixture. */  
cfSetOutputConfig(hServer, 1, 14, CF_SET_ACTIVE);  
cfSetOutputConfig(hServer, 15, 256, CF_SET_INACTIVE);  
/*  
* Turn on the fixture ready light to tell the operator that the  
* system is ready for a new tray of cells.  
*/  
cfGetDigitalPort(hServer, &nDigitalPort);  
nDigitalPort |= DIG_READY_LIGHT;  
cfSetDigitalPort(hServer, nDigitalPort);  
/*  
* Poll serial port A for data from the bar code reader.  
*/  
while (1)  
{
cfReadSerial(hServer, CF_PORTA, MAX_BARCODE,  
szBarCodeMsg, &nBarCodeCount);  
/* Check the data for a token that indicates end of data.  
* When token is found, break out of loop. (not shown)  
*/  
break;  
/* Sleep for 1 second to suspend this process, but allow  
* other processes to continue to run.  
*/  
Sleep(1000);  
}
/*  
* Process the barcode message to determine what forming sequence  
* should be downloaded to the fixture. (not shown in this example)  
*/  
/* Download the forming sequence. */  
cfSetSeqStep(hServer, 1, CF_CHARGE, 4.0f, 1.0f, 300.0f, 0.0f);  
cfSetSeqStep(hServer, 2, CF_REST, 0.0f, 0.0f, 60.0f, 0.0f);  
cfSetSeqStep(hServer, 3, CF_DISCHARGE, 0.5f, 2.0f, 120.0f, 0.0f);  
cfSetSeqTest(hServer, 1, CF_VOLT_LE, 0.5f, CF_TEST_AFTER, 120.0f,  
CF_FAIL);  
cfSetSeqTest(hServer, 1, CF_VOLT_GE, 4.0f, CF_TEST_AFTER, 0.0f, CF_NEXT);  
cfSetSeqTest(hServer, 3, CF_VOLT_LE, 1.0f, CF_TEST_AFTER, 0.0f, CF_NEXT);  
/* Poll the fixture; wait until it is closed. */  
while (1)  
{
cfGetDigitalPort(hServer, &nDigitalPort);  
if (nDigitalPort & DIG_FIXTURE_READY)  
break;  
/* Sleep for 1 second. */  
Sleep(1000);  
}
/*  
* Poll digital port for START button pressed.  
* Since lines are not latched, must press button > 1 second.  
*/  
while (1)  
109  
Download from Www.Somanuals.com. All Manuals Search And Download.  
7 - C Program Examples  
{
cfGetDigitalPort(hServer, &nDigitalPort);  
if (nDigitalPort & DIG_START_BUTTON)  
break;  
/* Sleep for 1 second. */  
Sleep(1000);  
}
/*  
* Turn off the READY light and turn on the TEST light  
* to indicate to the operator that cell forming has started.  
*/  
cfGetDigitalPort(hServer, &nDigitalPort);  
nDigitalPort &= ~DIG_READY_LIGHT;  
nDigitalPort |= DIG_TEST_LIGHT;  
cfSetDigitalPort(hServer, nDigitalPort);  
/* Initiate the sequence. */  
cfInitiate(hServer);  
/*  
* Wait for sequencer to transition to initiated state.  
* This may take up to 1 minute while data logs are erased.  
*/  
while (1)  
{
cfGetRunState(hServer, &nRunState);  
if (nRunState == CF_INITIATED)  
break;  
Sleep(1000);  
}
/* Trigger the sequence. */  
cfTrigger(hServer);  
printf("Forming sequence started.\n");  
/*  
* The sequence is now running.  
* Display the sequencer state until it finishes.  
*/  
while (1)  
{
Sleep(5000);  
cfGetRunState(hServer, &nRunState);  
printf("Runstate = %s\r", RunStateToString(nRunState));  
if (nRunState == CF_IDLE)  
break;  
}
/* The sequence is finished. */  
/* Read the entire measurement log to a file. */  
if((hFile = fopen(LOG_FILE, "w")) != NULL)  
{
readPos = CF_READ_FIRST;  
while (1)  
{
cfReadMeasLog(hServer, &readPos, CF_ALL_CELLS, CF_ALL_STEPS,  
MEAS_BUF_SIZE, szMeasBuffer, &nMeasBufCount);  
if (nMeasBufCount == 0)  
break;  
fwrite(szMeasBuffer, sizeof(char), nMeasBufCount, hFile);  
}
fclose(hFile);  
}
110  
Download from Www.Somanuals.com. All Manuals Search And Download.  
C Program Examples - 7  
/* Measure the internal resistance of all cells. */  
cfMeasACResistance(hServer, CF_ALL_CELLS, fCellResistance);  
/*  
* Turn off the TEST light and turn on the READY light  
* to indicate that it the tray can be removed from the fixture.  
*/  
cfGetDigitalPort(hServer, &nDigitalPort);  
nDigitalPort &= ~DIG_TEST_LIGHT;  
nDigitalPort |= DIG_READY_LIGHT;  
cfSetDigitalPort(hServer, nDigitalPort);  
printf("Forming sequence complete.\n");  
/* Close the server connection. */  
cfClose(hServer);  
exit(0);  
}
/***********************************************************************  
API error handler.  
***********************************************************************/  
void APIError(CF_HANDLE hServer, char *szName, int nError)  
{
printf("\nServer = %d Function = %s Error = %d\n",  
hServer, szName, nError);  
cfClose(hServer);  
exit(1);  
}
/***********************************************************************  
Convert sequence run state to a description string.  
***********************************************************************/  
char *RunStateToString(CF_RUN_STATE state)  
{
switch (state) {  
case CF_NOT_READY:  
return "CF_NOT_READY ";  
case CF_IDLE:  
return "CF_IDLE  
case CF_ERASING:  
";  
return "CF_ERASING  
case CF_INITIATED:  
";  
return "CF_INITIATED ";  
case CF_FORMING:  
return "CF_FORMING  
";  
case CF_INTERLOCKED:  
return "CF_INTERLOCKED";  
case CF_PROTECTED:  
return "CF_PROTECTED ";  
case CF_HW_FAILED:  
return "CF_HW_FAILED ";  
}
return("Unknown state");  
}
111  
Download from Www.Somanuals.com. All Manuals Search And Download.  
7 - C Program Examples  
Example 3  
You can control up to 16 Agilent MCCDs from one PC and still achieve good system responsiveness,  
depending on the application program structure.  
This following C program example uses a multi-threaded program in which each thread can  
independently control one Agilent MCCD but can share data with a user interface thread. This provides  
the advantage of a central system view of all of the Agilent MCCDs, with the simplicity of each thread  
controlling only one Agilent MCCD. With this type of program, you must be careful to use  
synchronization objects to access any shared data. Overall, using a multi-threaded program is simpler  
than writing a single-threaded program to control multiple Agilent MCCDs.  
#include <windows.h>  
#include <stdio.h>  
#include <time.h>  
#include "mccd.h"  
#define MEAS_BUF_SIZE CF_MEAS_LOG_BUFSIZE  
#define LINE_SIZE 80  
#define PASSWORD "mufasa"  
// Structure for thread information  
typedef struct {  
char *szAddr;  
char *szLogFile;  
HANDLE hStart;  
} THREAD_INFO;  
THREAD_INFO ThreadInfo[] = {  
{"15.14.250.130", "mccdlog0.txt", NULL},  
{"15.14.250.124", "mccdlog1.txt", NULL},  
};  
// Local function prototypes  
void GetTimeStamp(char *szTimeStamp);  
void ErrorHandler(CF_HANDLE server, char *function, int errorcode);  
DWORD WINAPI ReadThread(LPVOID lpvThreadParm);  
/*****************************************************************************  
Main function  
*****************************************************************************/  
void main (int argc, char *argv[])  
{
DWORD dwThreadId;  
HANDLE hReadThread0, hReadThread1;  
// Create events to signal threads to start reading.  
ThreadInfo[0].hStart = CreateEvent(NULL, FALSE, FALSE, NULL);  
ThreadInfo[1].hStart = CreateEvent(NULL, FALSE, FALSE, NULL);  
// Create threads to read log from MCCDs.  
hReadThread0 = CreateThread(NULL, 0, ReadThread, (LPVOID)0, 0,  
&dwThreadId);  
hReadThread1 = CreateThread(NULL, 0, ReadThread, (LPVOID)1, 0,  
&dwThreadId);  
112  
Download from Www.Somanuals.com. All Manuals Search And Download.  
C Program Examples - 7  
// Signal threads to start reading logs.  
SetEvent(ThreadInfo[0].hStart);  
SetEvent(ThreadInfo[1].hStart);  
// Wait for threads to terminate.  
WaitForSingleObject(hReadThread0, INFINITE);  
WaitForSingleObject(hReadThread1, INFINITE);  
printf("Press any key to exit\n");  
getchar();  
}
/*****************************************************************************  
Thread to read log from MCCD.  
*****************************************************************************/  
DWORD WINAPI ReadThread(LPVOID lpvThreadParm)  
{
int nThread = (int)lpvThreadParm;  
CF_READP readPos;  
FILE *hFile;  
char szMeasBuffer[MEAS_BUF_SIZE];  
char szTimeStamp[LINE_SIZE];  
int nMeasBufCount;  
CF_HANDLE hServer;  
// Wait for a signal to start reading the data logs.  
WaitForSingleObject(ThreadInfo[nThread].hStart, INFINITE);  
// Open a connection to MCCD.  
printf("Thread %d trying MCCD: %s\n", nThread,  
ThreadInfo[nThread].szAddr);  
if (cfOpen(ThreadInfo[nThread].szAddr, &hServer, PASSWORD) != CF_OK) {  
printf("Thread %d could not connect to MCCD: %s\n",  
nThread, ThreadInfo[nThread].szAddr);  
return 1;  
}
printf("Thread %d connected to MCCD: %s\n", nThread,  
ThreadInfo[nThread].szAddr);  
// Read the measurement log to a file.  
if((hFile = fopen(ThreadInfo[nThread].szLogFile, "w")) != NULL) {  
GetTimeStamp(szTimeStamp);  
fwrite(szTimeStamp, sizeof(char), strlen(szTimeStamp), hFile);  
readPos = CF_READ_FIRST;  
while (1) {  
cfReadMeasLog(hServer, &readPos, CF_ALL_CELLS, CF_ALL_STEPS,  
MEAS_BUF_SIZE, szMeasBuffer, &nMeasBufCount);  
if (nMeasBufCount == 0)  
break;  
fwrite(szMeasBuffer, sizeof(char), nMeasBufCount, hFile);  
}
GetTimeStamp(szTimeStamp);  
fwrite(szTimeStamp, sizeof(char), strlen(szTimeStamp), hFile);  
fclose(hFile);  
}
return 0;  
}
113  
Download from Www.Somanuals.com. All Manuals Search And Download.  
7 - C Program Examples  
/*****************************************************************************  
Return a timestamp string.  
*****************************************************************************/  
void GetTimeStamp(char *szTimeStamp)  
{
char buf[128];  
_strdate(szTimeStamp);  
strcat(szTimeStamp, " ");  
_strtime(buf);  
strcat(szTimeStamp, buf);  
strcat(szTimeStamp, "\r\n");  
}
/*****************************************************************************  
Error handler function.  
*****************************************************************************/  
void ErrorHandler(CF_HANDLE server, char *name, int error)  
{
printf("ErrorHandler: Server = %d Function = %s Error = %d\n",  
server, name, error);  
}
114  
Download from Www.Somanuals.com. All Manuals Search And Download.  
A
Specifications  
Hardware Specifications  
Specifications in Table A-1 are warranted. Specifications apply over an ambient temperature range of 0°  
C to 40° C. When charging, specifications apply for charging voltages from 0.5 V to maximum, and  
charge currents from minimum to maximum. When discharging, specifications apply for discharging  
voltages from 1.5 V to maximum and discharging currents from minimum to maximum. Accuracy  
specifications apply over the entire range of ac line and power bus conditions (line regulation), and  
charging/discharging levels (load regulation). Specifications are subject to change without notice.  
Table A-1. Agilent E4370A/E4374A/E4375A MCCD Specifications  
Parameter  
Condition  
E4374A Value  
E4375A Value  
Maximum Programmable  
Output Voltage:  
charging, measured at cell  
5 V  
5 V  
Maximum Compliance Voltage:  
(cell voltage + fixture/wiring  
voltage drops)  
charging, measured at  
MCCD connector  
5.5 V  
6.0 V  
Maximum Programmable  
Output Current:  
Maximum Output Current:1  
charging or discharging,  
per channel  
charging or discharging,  
constant voltage  
2 A  
3 A  
0 A  
0 A  
Maximum Output Leakage  
Current:  
disabled, per channel, with an  
external voltage of -5V to +5 V  
25 µA  
25 µA  
Maximum Power:  
charging, per channel  
discharging, per channel  
11 W  
9 W  
18 W  
13.5 W  
Maximum Input Voltage:  
Voltage Programming Accuracy:  
discharging  
measured at sense connector  
input with remote sensing  
4.5 V  
1 mV  
4.5 V  
1 mV  
Voltage Readback Accuracy:  
measured at sense connector  
input with remote sensing  
1 mV  
1 mV  
Current Programming  
Accuracy:  
% of reading + offset 1A  
> 1A to 2A  
(0.05% + 1mA)  
(0.10% + 1mA)  
N/A  
(0.05% + 1.5mA)  
(0.10% + 1.5mA)  
(0.15% + 1.5mA)  
> 2A  
Current Readback Accuracy:  
% of reading + offset 1A  
> 1A to 2A  
(0.05% + 1mA)  
(0.10% + 1mA)  
N/A  
(0.05% + 1.5mA)  
(0.10% + 1.5mA)  
(0.15% + 1.5mA)  
> 2A  
ac Resistance Measurement  
Accuracy:  
% of reading + offset  
(1% + 1m)  
(1% + 1m)  
dc Resistance Measurement  
Accuracy:  
% of reading + offset  
(1% + 1m)  
(1% + 1m)  
1There is a minimum programmable current limit when operating in constant current (CC) mode. In CC mode, the output cannot  
be set to run below the minimum programmable constant current limit specified in Table A-2. In constant voltage (CV)mode,  
charging or discharging, the MCCD will regulate current down to 0A.  
115  
Download from Www.Somanuals.com. All Manuals Search And Download.  
A - Specifications  
Tables A-2 through A-4 list the supplemental characteristics of the Agilent MCCD System.  
Requirements for the external power bus source are also listed. Characteristics are not warranted but are  
descriptions of typical performance determined either by design or by type testing.  
Table A-2. Agilent E4370A/E4374A/E4375A MCCD Characteristics  
Parameter  
Condition  
Value  
E4374A  
E4375A  
% of reading + offset 2 A:  
(0.1% +1mAh/h)  
N/A  
(0.10% +1.5mAh/h)  
(0.15% +1.5mAh/h)  
(0.10% +7.5mWh/h)  
(0.15% +7.5mWh/h)  
3 mA  
Ah Capacity Measurement Accuracy  
Wh Capacity Measurement Accuracy  
> 2 A:  
% of reading + offset 2 A:  
(0.1% +5mWh/h)  
N/A  
> 2 A:  
constant current mode  
constant voltage mode  
2 mA  
Maximum Deviation of Measured Current  
from Programmed Output Current  
Maximum Deviation of Measured Voltage  
from Programmed Output Voltage  
2 mV  
maximum measurable:  
max. time/cell to measure:  
time for 256 cells:  
1 Ω  
ac Resistance Measurement  
1 s  
~ 5 min.  
maximum measurable:  
max. time/cell to measure:  
time for 256 cells:  
1 Ω  
1 s  
~ 5 min.  
dc Resistance Measurement  
rms  
peak-to-peak  
30 mV  
100 mV  
Voltage Output Noise  
(at MCCD connector; bandwidth = 20Hz - 20MHz)  
rms  
peak-to-peak  
1 mA  
10 mA  
Current Output Noise  
(at MCCD connector; bandwidth = 20Hz - 20MHz)  
with current <50 mA  
with current >50 mA  
15 mA for up to 500 ms  
5 % for up to 5 ms  
Maximum Current Overshoot/Undershoot  
(from first applied programmed current level)  
25 mV  
0.1 s  
Maximum Voltage Overshoot/Undershoot  
Maximum Current Risetime  
charging and discharging  
25 mA  
Minimum Programming Current  
Measurement Interval  
for data logging  
for sequence tests  
for probe check/channel  
1 s  
1 s  
1 s  
maximum  
minimum  
resolution  
596 hours  
7 s  
Step Time  
1 s  
349,504  
596 hours  
100  
Maximum Readings in Data Buffer  
Maximum Sequence Length  
Maximum Number of Steps in Sequence  
Maximum Number of Defined Groups  
ac Input Line Requirements  
per mainframe  
8
input voltage range  
input frequency range  
maximum input power  
95 Vac - 250 Vac  
47 Hz - 63 Hz  
300 W  
max. current @ 100/120Vac  
max. current @ 220/240Vac  
4 A  
2 A  
Maximum Sense Probe Resistance1  
Auxiliary bias output power  
Auxiliary bias output voltage  
1 kΩ  
10 W  
max. @ 5 to 24V/0.42 to 2A  
max. @ 0 to 0.42A  
min. @ 0 to 2 A  
24 V  
5 V  
max. @ 5 V output  
min. @ 24 V output  
2 A  
0.42 A  
Auxiliary bias output current  
1To measure output probe resistance accurately there must be 50 mV between the +/power leads and the +/sense leads. To  
measure sense probe resistance accurately, there must be 100 mV of cell voltage.  
116  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Specifications - A  
Table A-2. Agilent E4370A/E4374A/E4375A MCCD Characteristics (continued)  
Parameter  
Auxiliary bias output voltage accuracy  
Auxiliary bias output noise  
Condition  
% of setting at any voltage and current  
Value  
7 %  
peak to peak at any voltage and current  
100 mV  
Non-isolated Digital I/O Characteristics  
max. low-level output voltage  
min. high-level output voltage  
0.4 V @ 20 mA sink  
1 V @ 300 mA sink  
3.5 V @ 0 mA source  
2.6V @ -200 µA source  
250 µA @ Voh = 24 V  
2.1 V  
max. high-level output current  
min. high-level input voltage  
max. low-level input voltage  
max. high-level input current  
0.5 V  
0.8 mA @ Vih min.  
Isolated Digital I/O Characteristics  
Maximum Airflow  
max. low-level output voltage  
max. high-level output current  
0.6 V  
100 µA  
7.1  
250  
cubic meters per minute  
cubic feet per minute  
Maximum Exhaust Air Temperature Rise  
Dimensions  
from inlet air to exhaust air  
8 deg C  
Height  
Width  
Depth  
221.5 mm  
425.5 mm  
540.5 mm  
Weight  
for 1 mainframe with 4 cards  
22 kg  
Table A-3. Agilent E4371A Powerbus Load Characteristics  
Use this information when integrating the Agilent E4371A Powerbus Load into your system.  
Parameter  
Condition  
Value  
5,400 W  
26.5 - 27 Vdc  
200 A  
Recommended Maximum Power Dissipation  
Normal Input Voltage  
Recommended Maximum Input Current  
Maximum Wiring Voltage Drop between  
Agilent MCCD and Agilent Powerbus Load  
at maximum current  
1.5 V  
Maximum Exhaust Air Temperature Rise  
Maximum Airflow  
from inlet air to exhaust air  
40 deg C  
cubic meters per minute  
cubic feet per minute  
10  
350  
Dimensions  
Weight  
Height  
Width  
Depth  
221.5 mm  
425.5 mm  
540.5 mm  
22.7 kg  
Table A-4. Requirements for External Power Bus Source  
Parameter  
Condition  
E4374A  
E4375A  
Maximum Output Current  
for one Agilent MCCD mainframe  
155 A  
255 A  
with 256 channels charging @ 5.5V,2A/channel @ 6V,3A/channel  
Maximum Output Power  
for one Agilent MCCD mainframe  
3,520 W  
5,760 W  
with 256 channels charging  
@11W/channel  
@18W/channel  
Nominal Output Voltage  
Output Voltage Range  
24 Vdc  
22.8 - 25.2 Vdc  
Voltage Output Noise  
(measured at output;  
bandwidth = 20Hz - 20MHz)  
rms  
peak-to-peak  
30 mV  
100 mV  
117  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Download from Www.Somanuals.com. All Manuals Search And Download.  
B
Calibration  
Calibration Types  
There are three types of calibration available for the Agilent MCCD System.  
Full calibration, which calibrates the Agilent E4370A MCCD mainframe and all installed Agilent  
E4374A/E4375A Charger/Discharger cards.  
Transfer calibration, which calibrates only the Agilent E4374A/E4375A Charger/Discharger cards  
that are installed in the mainframe.  
Mainframe reference calibration, which calibrates only the Agilent E4370A MCCD mainframe.  
Full calibration actually consists of mainframe reference calibration, which uses an external voltmeter to  
calibrate the internal reference voltages in the Agilent E4370A MCCD mainframe, followed by a transfer  
calibration, which uses the calibrated internal reference in the mainframe to calibrate all of the channels  
on the Agilent E4374A/E4375A Charger/Discharger cards. The entire process takes about fifteen minutes  
for 256 channels.  
CAUTION:  
Make sure that no cells are connected when performing a Full Calibration or a Transfer  
calibration.  
Calibration Interval:  
Full calibration of each Agilent MCCD System should be performed at 12 month intervals.  
Transfer calibration must be performed whenever you install a new or a repaired charger/discharger card  
in the mainframe.  
Full Calibration  
Calibration is accomplished by connecting a DMM to the rear calibration terminals of the power  
mainframe. A 24 V, 4 A dc source must be connected to the power bus. The internal references are then  
calibrated using a built-in program. This program will directly control the system voltmeter connected to  
the Port A RS-232 interface, and supports Agilent 3458A command sets. The calibrated reference  
voltages are then used to calibrate all charger/discharger cards through internal multiplexing circuitry  
using the transfer calibration process. You can execute a full calibration whenever the Agilent MCCD is  
in CF_IDLE state. See table B-1 for the equipment list.  
119  
Download from Www.Somanuals.com. All Manuals Search And Download.  
A - Specifications  
Transfer Calibration  
NOTE:  
Transfer calibration does not require an external voltmeter. It can be performed  
independently of the full calibration or the mainframe reference calibration. However,  
transfer calibration requires a 24 V, 4 A dc source to be connected to the power bus.  
During transfer calibration, each individual channel is sequentially connected to the internal reference  
and gain and offset corrections are calculated and stored in non-volatile memory. You can execute a  
transfer calibration only when the Agilent MCCD is in CF_IDLE state. Press the rear panel transfer  
calibration switch. This is useful if you have replaced a card in the mainframe after it has been serviced.  
See table B-1 for the equipment list.  
Mainframe Reference Calibration  
Mainframe reference calibration (also referred to as standard calibration) calibrates the internal  
references in the Agilent MCCD mainframe. It requires an external voltmeter to be connected to Serial  
Port A of the Agilent MCCD. Refer to Figure B-1 for equipment connections. Mainframe reference  
calibration can be performed without having any charger/discharger cards installed in the mainframe.  
Table B-1. Calibration Equipment Required  
Equipment  
Full Calibration  
Mainframe  
Reference  
Calibration  
Transfer  
Calibration  
Agilent 3458A DMM  
X
X
X
X
X1  
X
24 V power bus or 24 V, 4 A dc source  
X
National Instruments GP-IB to RS-232  
Converter 2  
GPIB and RS-232 cable  
X
X
X
X
Wires to connect Agilent 3458A DMM to  
Agilent MCCD (AWG 16 recommended)  
Wires to connect 24 V dc supply to Agilent  
MCCD (AWG 16 recommended)  
A 24 Vdc supply is not required if there are NO cards installed in the mainframe.  
X
X
1
2
To order the GPIB-232CV-A GP-IB-to-RS-232 converter, you need to know the part number for the country in  
which you will be using the device. Contact your local National Instruments office or access the Web at  
www.nationalinstruments.com for the appropriate part number and ordering information.  
Calibration Connections  
Figure B-1 illustrated the calibration connections. Set the switches on the National Instruments GP-IB/  
RS-232 Converter box as shown in the figure. Make sure the Agilent 3458A GPIB address is set to 22. If  
you cannot connect the Agilent MCCD to the 24 V power bus, you can substitute a dc source rated at 24  
V, 4 A.  
NOTE:  
Always turn on the voltmeter before you turn on the RS232 converter.  
120  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Specifications - A  
RS-232  
PORT A  
L
NOR/ CA  
T
CAL POR  
4 3 2 1  
+24 V RAIL SUPPLY  
(4 A min. Current)  
GPIB Address = 22  
CONFIG = Cr  
MODE = C  
Baudrate = 9600  
Data Format = Odd, Checking disabled,  
8 bits/char  
1 stop bit,  
Handshake = XON/XOFF disabled  
Sense  
Input  
3458A  
Multimeter  
MENU  
NUME  
RIC/USER  
H I  
LO  
FUNCTION/RANGE  
Power  
On  
Off  
I
Figure B-1. Calibration Connections  
121  
Download from Www.Somanuals.com. All Manuals Search And Download.  
A - Specifications  
Accessing Calibration  
Calibration control is accessible by one of three methods:  
the Agilent MCCD Configuration Screens,  
API calls over the LAN,  
the Web-based Agilent MCCD User Interface.  
This section describes the first method in detail.  
Note:  
Transfer calibration can also be run by pressing the Cal button on the rear panel.  
Agilent MCCD Configuration Screens  
You can calibrate the Agilent MCCD using the Agilent MCCD Configuration Screens on your PC.  
Chapter 2 describes how to run this program.  
To calibrate the Agilent MCCD using the Agilent MCCD Configuration Screens, flip the Port B switch  
(#4) on the back of the Agilent E4370A down (from Normal to Configure) and run the HyperTerminal  
program. When the Agilent MCCD Configuration Screens appear, select 4 to calibrate the Agilent  
E4370A MCCD mainframe and the Agilent E4374A/E4375A Charger/Discharger card.  
Select 1 to perform a full calibration. Select 2 to perform a transfer calibration. Select 3 to perform a  
mainframe calibration, which calibrates only the mainframe reference voltage.  
During full calibration and mainframe-reference calibration, a DMM  
and Powerbus power supply must be connected to the MCCD. For the DMM,  
connect to serial Port A with settings: 9600 baud, NO Parity, 8 bits.  
Connect the DMM’s inputs as follows: Input Hi to Cal Port 3, Input Lo  
to Cal Port 2, and Current to Cal port 1.  
During transfer calibration the Powerbus power supply must be  
connected to the MCCD. Inactive outputs will not be calibrated.  
Disconnected sense and load leads before calibrating.  
1) Execute full calibration  
(takes approx 5 seconds per active channel.)  
2) Execute transfer calibration  
(Takes approx 5 seconds per active channel.)  
3) Execute Mainframe-reference calibration  
(takes approx 30 seconds.)  
4) Set DMM model (HP3458 currently active)  
Type a number and press Enter or ctrl-G to return to initial screen  
122  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Specifications - A  
Rear panel transfer calibration switch  
This push button switch is accessible through a recessed hole on the rear panel. When pressed, it initiates  
a transfer calibration sequence inside the Agilent MCCD. This is useful if you have replaced an Agilent  
E4374A/E4375A Charger/Discharger card inside the mainframe. Note that the transfer calibration re-  
calibrates all of the cards inside the mainframe. Indicator lights next to the transfer calibration switch  
indicate the calibration status.  
API Calls over the LAN  
The following API calls let you access the calibration functions:  
begins a full calibration (mainframe and card)  
begins a standard calibration (mainframe)  
begins a transfer calibration (card)  
cfCal  
cfCalStandard  
cfCalTransfer  
Refer to chapter 6 for more information about these API function calls.  
Web-based Graphical User Interface  
Refer to the on-line help provided with the Agilent MCCD User Interface for calibration information.  
Calibration Error Messages  
The two LEDs on the rear panel indicate the status of calibration and report calibration errors. More  
extensive text-based error reporting is available through the Agilent MCCD User Interface and the API  
functions.  
CAL IN PROGESS  
When flashing, it indicates that a calibration is in progress. Turns off when  
calibration is complete.  
CAL FAILED  
When lit, indicates that calibration has failed. Use this indicator in  
combination with the text based error reporting to isolate a failure as either  
on a card or on the mainframe.  
To read the text based calibration error messages, use the cfReadSelftestLog() API function. If you are  
using the Agilent MCCD User Interface, you can read the error messages by accessing the System page,  
selecting Calibration and Selftest, and then clicking on Calibration Log. Write down the calibration error  
message and contact your Agilent Technologies Service Engineer.  
123  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Download from Www.Somanuals.com. All Manuals Search And Download.  
C
Dimension Drawings  
Figure C-1 shows a simplified outline diagram of the Agilent E4370A MCCD mainframe. Figure C-2  
shows a simplified outline diagram of the Agilent E4371A Powerbus Load.  
The dimension drawings included in the back of this documentation binder provide additional  
information.  
E
XHAUST AIR  
IR  
EXHAUST A  
68.0mm  
TOP VIEW  
35.7mm  
AIR FLOW  
540.5mm  
425.5 mm  
SIDE VIEW  
FRONT VIEW  
E4370A  
MULTICELL CHARGER/DISCHARGER  
E4374A CHARGER/DISCHARGER  
1
3
5
7
1
Ready  
Fault  
2
4
6
5
8
7
E4374A CHARGER/DISCHARGER  
E4374A CHARGER/DISCHARGER  
E4374A CHARGER/DISCHARGER  
1
3
SYSTEM  
Power  
2
3
4
Ready  
Fault  
Ready  
Active  
2
4
6
5
8
7
221.5mm  
FAULT  
1
3
External  
Internal  
Ready  
Fault  
2
1
4
3
6
5
8
7
LINE  
On  
Off  
Ready  
Fault  
2
4
6
8
Figure C-1. Agilent MCCD Simplified Outline Diagram  
125  
Download from Www.Somanuals.com. All Manuals Search And Download.  
C - Dimension Drawings  
HOT EXHAUST AIR  
68.0mm  
TOP VIEW  
28.0mm  
540.5mm  
AIR FLOW  
425.5 mm  
SIDE VIEW  
FRONT VIEW  
E4371A  
POWERBUS LOAD  
221.5mm  
LINE  
On  
Off  
Figure C-2. Agilent Powerbus Load Simplified Outline Diagram  
126  
Download from Www.Somanuals.com. All Manuals Search And Download.  
D
Sense and Power Connector Pinouts  
The figures and tables in this appendix document the sense and power pinout assignments on the front of  
the Agilent E4370A MCCD mainframe (refer to Figure 1-2). These figures are based on a fully-loaded,  
256-channel mainframe configured as follows:  
Card  
Connector Number  
Number  
1
2
3
4
5
6
7
8
1 - 8  
9 - 16  
73 - 80  
17 - 24  
81 - 88  
25 - 32  
89 - 96  
33 - 40  
41 - 48  
49 - 56  
57 - 64  
1
2
3
4
65 - 72  
97 - 104 105 - 112 113 - 120 121 - 128  
129 - 136 137 - 144 145 - 152 153 - 160 161 - 168 169 - 176 177 - 184 185 - 192  
193 - 200 201 - 208 209 - 216 217 - 224 225- 232 233 - 240 241 - 248 249 - 256  
127  
Download from Www.Somanuals.com. All Manuals Search And Download.  
D - Sense and Power Connector Pinouts  
SENSE  
33 34 35 36 37 38 39 40  
SENSE  
POWER  
POWER  
1
+
2
+
3
+
4
5
6
7
8
+
1
+
2
3
4
5
6
7
8
33 34 35 36 37 38 39 40  
1
5
+
+
+
+
1
20  
19  
+
+
+
+
+
+
1
20  
19  
37  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
37  
SENSE  
POWER  
SENSE  
POWER  
9
+
10 11 12 13 14 15 16  
9
+
10 11 12 13 14 15 16  
41 42 43 44 45 46 47 48  
41 42 43 44 45 46 47 48  
1
20  
1
20  
+
+
+
+
19  
37  
+
+
+
+
+
+
19  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
37  
2
3
6
7
SENSE  
17 18 19 20 21 22 23 24  
SENSE  
49 50 51 52 53 54 55 56  
POWER  
17 18 19 20 21 22 23 24  
POWER  
49 50 51 52 53 54 55 56  
19  
+
+
+
+
+
+
+
+
+
1
20  
19  
+
+
+
+
+
+
+
+
+
1
20  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
37  
37  
SENSE  
25 26 27 28 29 30 31 32  
POWER  
25 26 27 28 29 30 31 32  
SENSE  
57 58 59 60 61 62 63 64  
POWER  
57 58 59 60 61 62 63 64  
1
20  
1
20  
19  
+
+
+
+
+
+
+
+
+
19  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
37  
37  
4
8
5
Note: Unlabeled pins are the minus connections of each pair.  
Figure D-1. Card 1 Sense and Power Connector Cell Assignments  
SENSE  
97 98 99 100 101 102 103 104  
SENSE  
65 66 67 68 69 70 71 72  
POWER  
65 66 67 68 69 70 71 72  
POWER  
97 98 99 100 101 102 103 104  
1
19  
+
+
+
+
+
+
+
+
+
1
20  
19  
+
+
+
+
+
+
+
+
+
1
20  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
37  
37  
SENSE  
73 74 75 76 77 78 79 80  
POWER  
73 74 75 76 77 78 79 80  
SENSE  
105 106 107 108 109 110 111 112  
POWER  
105 106 107 108 109 110 111 112  
1
20  
1
20  
+
+
+
+
19  
+
+
+
+
+
+
+
19  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
37  
37  
2
3
6
7
SENSE  
81 82 83 84 85 86 87 88  
SENSE  
113 114 115 116 117 118 119 120  
POWER  
81 82 83 84 85 86 87 88  
POWER  
113 114 115 116 117 118 119 120  
19  
+
+
+
+
+
+
+
+
+
1
20  
19  
+
+
+
+
+
+
+
+
+
1
20  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
37  
37  
SENSE  
89 90 91 92 93 94 95 96  
POWER  
89 90 91 92 93 94 95 96  
SENSE  
121 122 123 124 125 126 127 128  
POWER  
121 122 123 124 125 126 127 128  
1
20  
1
20  
19  
+
+
+
+
+
+
+
+
+
19  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
37  
37  
4
8
Note: Unlabeled pins are the minus connections of each pair.  
Figure D-2. Card 2 Sense and Power Connector Cell Assignments  
128  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Sense and Power Connector Pinouts - D  
SENSE  
129 130 131 132 133 134 135 136  
SENSE  
161 162 163 164 165 166 167 168  
POWER  
129 130 131 132 133 134 135 136  
POWER  
161 162 163 164 165 166 167 168  
1
5
19  
+
+
+
+
+
+
+
+
+
1
20  
19  
+
+
+
+
+
+
+
+
+
1
20  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
37  
37  
SENSE  
137 138 139 140 141 142 143 144  
POWER  
137 138 139 140 141 142 143 144  
SENSE  
169 170 171 172 173 174 175 176  
POWER  
169 170 171 172 173 174 175 176  
1
20  
1
20  
+
+
+
+
19  
+
+
+
+
+
+
+
19  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
37  
37  
2
3
6
7
SENSE  
145 146 147 148 149 150 151 152  
SENSE  
177 178 179 180 181 182 183 184  
POWER  
145 146 147 148 149 150 151 152  
POWER  
177 178 179 180 181 182 183 184  
19  
+
+
+
+
+
+
+
+
+
1
20  
19  
+
+
+
+
+
+
+
+
+
1
20  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
37  
37  
SENSE  
153 154 155 156 157 158 159 160  
POWER  
153 154 155 156 157 158 159 160  
SENSE  
185 186 187 188 189 190 191 192  
POWER  
185 186 187 188 189 190 191 192  
1
20  
1
20  
19  
+
+
+
+
+
+
+
+
+
19  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
37  
37  
4
8
5
Note: Unlabeled pins are the minus connections of each pair.  
Figure D-3. Card 3 Sense and Power Connector Cell Assignments  
SENSE  
193 194 195 196 197 198 199 200  
SENSE  
225 226 227 228 229 230 231 232  
POWER  
193 194 195196 197 198 199 200  
POWER  
225 226 227 228 229 230 231 232  
1
19  
+
+
+
+
+
+
+
+
+
1
20  
19  
+
+
+
+
+
+
+
+
+
1
20  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
37  
37  
SENSE  
201 202 203 204 205 206 207 208  
POWER  
201 202 203 204 205 206 207 208  
SENSE  
233 234 235 236 237 238 239 240  
POWER  
233 234 235 236 237 238 239 240  
1
20  
1
20  
19  
+
+
+
+
+
+
+
+
+
19  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
37  
37  
2
3
6
7
SENSE  
209 210 211 212 213 214 215 216  
SENSE  
241 242 243 244 245 246 247 248  
POWER  
209 210 211 212 213 214 215 216  
POWER  
241 242 243 244 245 246 247 248  
19  
+
+
+
+
+
+
+
+
+
1
20  
19  
+
+
+
+
+
+
+
+
+
1
20  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
37  
37  
SENSE  
217 218 219 220 221 222 223 224  
POWER  
217 218 219 220 221 222 223 224  
SENSE  
249 250 251 252 253 254 255 256  
POWER  
249 250 251 252 253 254 255 256  
1
20  
1
20  
19  
+
+
+
+
+
+
+
+
+
19  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
37  
37  
4
8
Note: Unlabeled pins are the minus connections of each pair.  
Figure D-4. Card 4 Sense and Power Connector Cell Assignments  
129  
Download from Www.Somanuals.com. All Manuals Search And Download.  
D - Sense and Power Connector Pinouts  
Table D-1. Card 1 Sense and Power Pinout Assignments  
Sense Pins  
Cell Number  
Connector 1  
Power Pins  
Sense Pins  
Cell Number  
Connector 5  
Power Pins  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 1  
cell 2  
cell 3  
cell 4  
cell 5  
cell 6  
cell 7  
cell 8  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 33  
cell 34  
cell 35  
cell 36  
cell 37  
cell 38  
cell 39  
cell 40  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
Connector 2  
Connector 6  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 9  
cell 10  
cell 11  
cell 12  
cell 13  
cell 14  
cell 15  
cell 16  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 41  
cell 42  
cell 43  
cell 44  
cell 45  
cell 46  
cell 47  
cell 48  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
Connector 3  
Connector 7  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 17  
cell 18  
cell 19  
cell 20  
cell 21  
cell 22  
cell 23  
cell 24  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 49  
cell 50  
cell 51  
cell 52  
cell 53  
cell 54  
cell 55  
cell 56  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
Connector 4  
Connector 8  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 25  
cell 26  
cell 27  
cell 28  
cell 29  
cell 30  
cell 31  
cell 32  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 57  
cell 58  
cell 59  
cell 60  
cell 61  
cell 62  
cell 63  
cell 64  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
Note: Connector pins 9 - 11, 28 and 29 are not used.  
130  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Sense and Power Connector Pinouts - D  
Table D-2. Card 2 Sense and Power Pinout Assignments  
Sense Pins  
Cell Number  
Connector 1  
Power Pins  
Sense Pins  
Cell Number  
Connector 5  
Power Pins  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 65  
cell 66  
cell 67  
cell 68  
cell 69  
cell 70  
cell 71  
cell 72  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 97  
cell 98  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
cell 99  
cell 100  
cell 101  
cell 102  
cell 103  
cell 104  
Connector 2  
Connector 6  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 73  
cell 74  
cell 75  
cell 76  
cell 77  
cell 78  
cell 79  
cell 80  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 105  
cell 106  
cell 107  
cell 108  
cell 109  
cell 110  
cell 111  
cell 112  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
Connector 3  
Connector 7  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 81  
cell 82  
cell 83  
cell 84  
cell 85  
cell 86  
cell 87  
cell 88  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 113  
cell 114  
cell 115  
cell 116  
cell 117  
cell 118  
cell 119  
cell 120  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
Connector 4  
Connector 8  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 89  
cell 90  
cell 91  
cell 92  
cell 93  
cell 94  
cell 95  
cell 96  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 121  
cell 122  
cell 123  
cell 124  
cell 125  
cell 126  
cell 127  
cell 128  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
Note: Connector pins 9 - 11, 28 and 29 are not used.  
131  
Download from Www.Somanuals.com. All Manuals Search And Download.  
D - Sense and Power Connector Pinouts  
Table D-3. Card 3 Sense and Power Pinout Assignments  
Sense Pins  
Cell Number  
Connector 1  
Power Pins  
Sense Pins  
Cell Number  
Connector 5  
Power Pins  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 129  
cell 130  
cell 131  
cell 132  
cell 133  
cell 134  
cell 135  
cell 136  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 161  
cell 162  
cell 163  
cell 164  
cell 165  
cell 166  
cell 167  
cell 168  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
Connector 2  
Connector 6  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 137  
cell 138  
cell 139  
cell 140  
cell 141  
cell 142  
cell 143  
cell 144  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 169  
cell 170  
cell 171  
cell 172  
cell 173  
cell 174  
cell 175  
cell 176  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
Connector 3  
Connector 7  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 145  
cell 146  
cell 147  
cell 148  
cell 149  
cell 150  
cell 151  
cell 152  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 177  
cell 178  
cell 179  
cell 180  
cell 181  
cell 182  
cell 183  
cell 184  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
Connector 4  
Connector 8  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 153  
cell 154  
cell 155  
cell 156  
cell 157  
cell 158  
cell 159  
cell 160  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 185  
cell 186  
cell 187  
cell 188  
cell 189  
cell 190  
cell 191  
cell 192  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
Note: Connector pins 9 - 11, 28 and 29 are not used.  
132  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Sense and Power Connector Pinouts - D  
Table D-4. Card 4 Sense and Power Pinout Assignments  
Sense Pins  
Cell Number  
Connector 1  
Power Pins  
Sense Pins  
Cell Number  
Connector 5  
Power Pins  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 193  
cell 194  
cell 195  
cell 196  
cell 197  
cell 198  
cell 199  
cell 200  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 225  
cell 226  
cell 227  
cell 228  
cell 229  
cell 230  
cell 231  
cell 232  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
Connector 2  
Connector 6  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 201  
cell 202  
cell 203  
cell 204  
cell 205  
cell 206  
cell 207  
cell 208  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 233  
cell 234  
cell 235  
cell 236  
cell 237  
cell 238  
cell 239  
cell 240  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
Connector 3  
Connector 7  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 209  
cell 210  
cell 211  
cell 212  
cell 213  
cell 214  
cell 215  
cell 216  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 241  
cell 242  
cell 243  
cell 244  
cell 245  
cell 246  
cell 247  
cell 248  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
Connector 4  
Connector 8  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 217  
cell 218  
cell 219  
cell 220  
cell 221  
cell 222  
cell 223  
cell 224  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
+19, –37  
+18, –36  
+17, –35  
+16, –34  
+15, –33  
+14, –32  
+13, –31  
+12, –30  
cell 249  
cell 250  
cell 251  
cell 252  
cell 253  
cell 254  
cell 255  
cell 256  
+8, –27  
+7, –26  
+6, –25  
+5, –24  
+4, –23  
+3, –22  
+2, –21  
+1, –20  
Note: Connector pins 9 - 11, 28 and 29 are not used.  
133  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Download from Www.Somanuals.com. All Manuals Search And Download.  
E
In Case of Trouble  
Introduction  
The Agilent E4370A MCCD System has a built-in self test capability which is performed at power-on.  
Additionally a more complete self test can be done by executing the cfSelftest; function or running self  
test from the Agilent MCCD User Interface. This selftest capability provides an effective diagnostic tools  
to isolate problems for rapid repair. Refer to chapter 5 under Selftest for more information.  
CAUTION:  
Make sure that no cells are connected when running a user-initiated self test to avoid  
potentially hazardous voltages from appearing across any cells during the testing process.  
Fault LEDs (see Figure 1-2)  
If any of the Fault LEDs on the front of an Agilent E4370A MCCD System are on, it indicates that there  
is a fault associated either with the mainframe or a charge/discharger card. Before replacing the card or  
mainframe, follow the procedures outlined in the following table.  
Table E-1. Fault Indicators  
Agilent E4370A FAULT  
Indicates an external fault such as  
External digital fault signal,  
External  
External power fail shutdown signal,  
High power bus voltage after power on,  
Low power bus voltage after power-on.  
Overtemperature.  
To clear the light, first remove the condition that caused the fault. Then either cycle power to  
the unit, send a Protect Clear API programming command, or press Protect Clear on the  
Agilent MCCD User Interface to clear the fault register.  
Indicates an internal hardware fault such as  
Selftest failure.  
Internal  
Calibration error.  
Hardware error.  
If the Internal LED is lit without any fault LEDs on the Agilent E4374A/E4375A  
Charger/Discharger cards being lit, it indicates that the Agilent E4370A MCCD mainframe  
is probably defective. Return the unit for service.  
If a fault LED is lit on a charger/discharger card, refer to the following section "Agilent  
E4374A/E4375A Fault".  
If you replace a defective card and the Internal LED is still lit on the mainframe, the  
mainframe is probably defective. Return the unit for service.  
135  
Download from Www.Somanuals.com. All Manuals Search And Download.  
E - In Case of Trouble  
Agilent E4374A/E4375A Fault  
Indicates an internal hardware fault such as  
1, 2, 3, 4  
Selftest failure.  
Calibration error.  
Hardware error.  
To read the text-based error message, use the cfReadSelftestLog() API function. If you are  
using the Agilent MCCD User Interface, you can read the error messages by accessing the  
System page, selecting Calibration and Selftest, and then clicking on Selftest Log. Write  
down the error message and contact your Agilent Service Engineer. If the card is defective,  
loosen its thumbscrews and remove the defective card. Then return the card for service.  
Selftest Error Messages  
In addition to the front panel LEDs described in Table E-1, more extensive text-based error reporting is  
available through the Agilent MCCD User Interface and the API functions.  
To read the text based selftest error messages, use the cfReadSelftestLog() API function. If you are using  
the Agilent MCCD User Interface, you can read the error messages by accessing the System page,  
selecting Calibration and Selftest, and then clicking on Selftest Log. Write down the selftest error  
message and contact your Agilent Service Engineer.  
136  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Index  
cfGetCellStatus, 72  
cfGetCellStatusString, 72  
cfGetCurrent, 72  
—A—  
cfGetDigitalConfig, 73  
cfGetDigitalPort, 73  
cfGetGroups, 73  
cfGetInstIdentify, 74  
cfGetInstStatus, 74  
cfGetMeasLogInterval, 75  
cfGetOutputConfig, 75  
cfGetOutputProbeTest, 75  
cfGetOutputState, 76  
cfGetRunState, 76  
abort, 70  
airflow  
mainframe, 25  
powerbus load, 25  
amp-hour capacity measurement, 17  
API, 21  
API functions  
guidelines, 67  
summary, 68  
API library  
cfGetSense, 76  
installation, 36  
cfGetSenseProbeTest, 77  
cfGetSeqStep, 77  
cfGetSeqTest, 77  
cfGetSeqTestMult, 78  
cfGetSeqTime, 78  
application programming interface, 21  
autoconnect, 89  
auxiliary output  
connections, 35  
ratings, 35  
cfGetSerialConfig, 78  
cfGetSerialStatus, 78  
cfGetShutdownDelay, 79  
cfGetShutdownMode, 79  
cfGetStepNumber, 79  
cfGetTrig Source, 79  
cfGetUserIdentfy, 79  
cfGetVoltage, 80  
—B—  
basic functions, 10  
block diagram, 9  
blocking functions, 67  
—C—  
cfInitiate, 80  
cfMeasACResistance, 80  
cfMeasCapacityAS, 80  
cfMeasCapacityWS, 81  
cfMeasCurrent, 81  
cfMeasDCResistance, 81  
cfMeasOutputProbeResistance, 81  
cfMeasProbeContinuity, 82  
cfMeasSenseProbeResistance, 82  
cfMeasVoltage, 83  
cfOpen, 83  
cfOpenGroup, 83  
cfProtect, 84  
cfProtectClear, 84  
cfReadMeasLog, 84  
cfReadSerial, 86  
cfReadTestLog, 87  
cfReset, 87  
cfResetSeq, 87  
cfRestart, 88  
cfSaveOutputConfig, 88  
cfSelftest, 88  
cfSetAutoconnect, 89  
cfSetCurrent, 89  
cfSetDigitalConfig, 90  
cfSetDigitalPort, 92  
cfSetErrorFunction, 92  
cfSetGroup, 93  
C program  
expanded example, 107  
multi-threaded example, 112  
sequence example, 105  
cables, 24  
calibration, 44, 70  
calibration switch, 123  
configuration screen, 122  
connections, 120  
equipment, 120  
error mesages, 123  
full, 119  
interval, 119  
LEDs, 123  
mainframe, 119  
standard, 63, 70  
transfer, 63, 71, 119  
cell forming example, 21, 49, 50  
cell forming overview, 49  
cell grouping, 54  
cell resistance, 18  
cell status, 59, 86  
cfAbort, 70  
cfCal, 70  
cfCal Standard, 70  
cfCalTransfer, 71  
cfClose, 71  
cfSetMeasLogInterval, 93  
cfSetOutputConfig, 93  
cfDeleteGroup, 71  
137  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Index  
cfSetOutputProbeTest, 94  
cfSetOutputState, 94  
cfSetSense, 95  
grounded, 90  
isolated, 91  
polarity, 91  
cfSetSenseProbeTest, 95  
cfSetSeqStep, 95  
cfSetSeqTest, 97  
cfSetSeqTestMult, 99  
cfSetSerialConfig, 99  
cfSetServerTimeout, 99  
cfSetShutdownDelay, 100  
cfSetShutdownMode, 100  
cfSetTimeout, 100  
cfSetTrigSource, 100  
cfSetVoltage, 101  
cfShutdown, 101  
cfStateDelete, 101  
cfStateList, 102  
digital port, 64  
dimensions  
mainframe, 25, 125  
powerbus load, 25, 126  
direct output control, 62  
discharging mode  
guidelines, 31  
document scope, 4  
documentation, 24  
—E—  
energy re-use, 16  
environmental conditions, 3  
erasing, 56  
error reporting, 67  
example program, 105, 107, 112  
ext fault, 57  
external fault input, 32  
external fault output, 32  
external interlock, 32  
external power source, 14  
external trigger, 32  
cfStateRecall, 102  
cfStateSave, 102  
cfTrigger, 102  
cfWriteSerial, 103  
channel  
inactive, 26  
channel connections, 25  
characteristics, 115  
external source, 117  
powerbus load, 117  
charging mode  
—F—  
guidelines, 30  
close connection, 71  
com port connection, 38  
configuration screen, 38  
calibration, 122  
fail, 49  
fault indicators, 135  
forming, 56  
front panel  
digital I/O, 41  
mainframe, 10  
power connector wiring, 27  
sense connector wiring, 27  
function  
identification, 40  
miscellaneous, 41  
network, 39  
configuring  
output, 56  
connections, 25  
cell grouping, 53  
overview, 53  
remote sensing, 27  
connector, 24  
manufacturers, 24  
connector, kits, 24  
connectors, 23  
—G—  
general purpose I/O, 32  
get  
cell status, 72  
cell status string, 72  
current, 72  
current measurement, 17, 61  
digital configuration, 73  
digital port word, 73  
group, 73  
instrument identification, 74  
instrument status, 74  
measurement log interval, 75  
output configuration, 75  
output probe test limit, 75  
output state, 76  
—D—  
damage, 23  
data logging, 18  
delete  
group, 71  
digital connections, 32  
electrical characteristics, 33  
wiring, 33  
digital I/O  
run state, 76  
sense probe test setting, 77  
sense setting, 76  
configuration, 42  
mixed, 44  
polarity, 43  
sequence step parameters, 77  
digital operation  
138  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Index  
sequence step time, 78  
sequence test parameters, 77, 78  
serial port configuration, 78  
serial port status, 78  
step number, 79  
trigger source, 79  
user identification, 79  
voltage, 80  
—N—  
—O—  
next, 49  
non-volatile memory, 56  
not ready, 56, 57  
null modem cable, 34  
grouping  
functions, 54  
memory requirements, 60  
open  
group, 83  
open connection, 83  
Out of Memory, 53, 60  
output configuration, 56  
output sensing, 62  
output state, 62  
—H—  
high rail, 57  
HW failed, 57  
HyperTerminal configuration, 37  
overtemperature, 57  
—I—  
—P—  
identification, 62  
idle, 56  
initiate, 80  
password, 67  
password protection, 45  
pinouts  
initiated, 56  
inspection, 23  
interlocked, 57  
power connector, 127  
sense connector, 127  
Port B switch setting, 38  
power bus  
connections, 28  
example, 29  
—L—  
wiring, 28  
power connector  
pinouts, 127  
LAN connection, 37, 62  
load voltage drops, 26  
location  
wiring, 27  
mainframe, 25  
power cord, 23  
power fail, 32, 58  
input, 58  
powerbus load, 25  
low rail, 57  
signal, 58  
—M—  
Powerbus load, 12  
power-on, 58  
selftest, 63  
state, 87  
probe check  
MCCD configuration, 38  
MCCD measurement log, 47  
MCCD user interface, 45  
using, 46  
continuity, 65  
power, 65  
measure  
ac resistance, 80  
sense, 65, 67  
probe measurement, 61  
probe resistance, 18  
protected, 57  
protection  
ampere-second capacity, 80  
current, 81  
dc resistance, 81  
output probe resistance, 81  
probe continuity, 82  
sense probe resistance, 82  
voltage, 83  
ac line failure, 20  
clear, 84  
enable, 84  
external, 20  
internal, 20  
watt-second capacity, 81  
measurement log, 47, 60  
data files, 48  
measurement log utility  
installation, 36  
states, 57  
multiple mainframes, 14  
—R—  
read  
measurement log, 60, 84  
139  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Index  
serial port data, 86  
test log data, 87  
rear panel  
mainframe, 12  
remote sensing, 27  
repacking, 23  
trigger source, 100  
voltage, 62, 101  
set sequence step, 50, 54  
set sequence test, 50, 54  
shutdown, 101  
delay, 79, 100  
reset, 58, 87  
mode, 79, 100  
reset sequence, 87  
resistance measurement, 61  
restart, 88  
software utility installation, 36  
specifications, 115  
state  
RS-232  
delete, 101  
connections, 34  
interface, 34  
run states, 55  
list instrument states, 102  
recall instrument states, 102  
save instrument states, 102  
state storage, 58  
status, 59  
step, 49  
—S—  
system capabilities, 9  
safety summary, 3  
safety symbols, 4  
save  
—T—  
output configuration, 88  
saving output configuration, 56  
selftest, 63, 88, 135  
error messages, 136  
semi-automated example, 22  
sense connector  
test, 49  
test log, 63  
test outcome, 50  
time stamp, 61  
timeout setting, 62  
trigger, 32  
pinouts, 127  
wiring, 27  
sequence control, 55  
serial port  
trigger sequence, 102  
triggering critical measurements, 18  
configuration, 64  
status, 64  
—V—  
server  
Visual C++ configuration, 36  
voltage measurement, 16, 61  
timeout, 99  
server connections, 67  
set  
—W—  
current, 62, 89  
digital configuration, 90  
digital port word, 92  
error function, 92  
warranty, 2  
watt-hour capacity, 17  
web accessible interface, 21  
web browser  
group, 93  
measurement log interval, 93  
output configuration, 93  
output probe resistance limit, 94  
output sense probe, 95  
output sequence step parameters, 95  
output state, 62, 94  
output voltage sensing, 95  
sequence test parameters, 97, 99  
serial port communication parameters, 99  
timeout, 100  
access, 46  
password, 45  
settings, 45  
web interface, 45  
using, 46  
wire resistance, 26, 27, 29  
example, 27  
wire sizing, 30, 31  
write serial port words, 103  
140  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Agilent Sales and Support Office  
For more information about Agilent Technologies test and measurement products, applications, services,  
and for a current sales office listing, visit our web site: http://www.agilent.com/find/tmdir  
You can also contact one of the following centers and ask for a test and measurement sales  
representative.  
United States:  
Latin America:  
Agilent Technologies  
Test and Measurement Call Center  
P.O. Box 4026  
Englewood, CO 80155-4026  
(tel) 1 800 452 4844  
Agilent Technologies  
Latin American Region Headquarters  
5200 Blue Lagoon Drive, Suite #950  
Miami, Florida 33126  
U.S.A.  
(tel) (305) 267 4245  
(fax) (305) 267 4286  
Canada:  
Australia/New Zealand:  
Agilent Technologies Australia Pty Ltd  
347 Burwood Highway  
Forest Hill, Victoria 3131  
(tel) 1-800 629 485 (Australia)  
(fax) (61 3) 9272 0749  
Agilent Technologies Canada Inc.  
5150 Spectrum Way  
Mississauga, Ontario  
L4W 5G1  
(tel) 1 877 894 4414  
(tel) 0 800 738 378 (New Zealand)  
(fax) (64 4) 802 6881  
Europe:  
Asia Pacific:  
Agilent Technologies  
Test & Measurement European Marketing Organisation  
P.O. Box 999  
1180 AZ Amstelveen  
The Netherlands  
Agilent Technologies  
24/F, Cityplaza One, 1111 King's Road,  
Taikoo Shing, Hong Kong  
tel: (852)-3197-7777  
fax: (852)-2506-9284  
(tel) (31 20) 547 9999  
Japan:  
Agilent Technologies Japan Ltd.  
Measurement Assistance Center  
9-1, Takakura-Cho, Hachioji-Shi,  
Tokyo 192-8510, Japan  
(tel) (81) 426 56 7832  
(fax) (81) 426 56 7840  
Technical data is subject to change.  
141  
Download from Www.Somanuals.com. All Manuals Search And Download.  

Acer Computer Monitor M190E5 L0A User Manual
ADTRAN Switch HDSL HTU C DDM+ User Manual
Advantech Network Card PCA 6359 User Manual
Airlink101 Network Card AWLH4030 User Manual
AKG Acoustics Microphone CK33 User Manual
Altinex Server MT100 102 User Manual
Alvin Mobility Aid DC724 User Manual
American Dish Service Dishwasher 5 AG S User Manual
American Standard Indoor Furnishings 034782 XXX0A User Manual
Apple Network Cables World Travel Adapter User Manual