Agilent Technologies E4371A Lawn Mower User Manual


 
Programming Overview - 5
53
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 of the 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. A maximum number of eight
groups can be defined for each mainframe of 256 channels. 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.
The 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.