Product Description

Introduction

Welcome to the Gamry Instruments, Inc. PHE200 Physical Electrochemistry package. This package is meant for researchers who are performing studies in the area of electrochemistry. Included in the package are techniques for performing linear sweep and cyclic voltammetry experiments, as well as chronopotentiometry, chronoamperometry, chronocoulometry, and controlled potential coulometry. Gamry Resonator software also performs these techniques while simultaneously acquiring data from an eQCM 10M.


Current and Voltage Definitions

A current value of +1.2 mA can mean different things to workers in different areas of electrochemistry. To an analytical electrochemist it represents 1.2 mA of cathodic current. To a corrosion scientist it represents 1.2 mA of anodic current. In the PHE200's standard techniques we follow the corrosion or European electrochemist convention for current. Positive currents are anodic, arising from an oxidation at the electrode under test. This convention is the same as the current convention used in other Gamry application software packages such as the DC105, and EIS300.

Within the Gamry Echem Analyst(TM) Software, the convention used to display current data can be changed using the Tools/Options/Units/Research Current Convention setting. Currents will be displayed using the convention set here, independent of the convention used to record the data. This option applies to experiments included in the PHE200 and PV220.

Potentials can also be a source of confusion. Throughout Gamry's software the equilibrium potential assumed by the electrode in the absence of electrical connections to the electrode is called the Open Circuit Potential, Eoc.

In the PHE200, all potentials are specified or reported as the potential of the working electrode with respect to either the reference electrode or this open circuit potential. The former is always labeled as "vs Eref" and the later is labeled as "vs Eoc". The equations used to convert from one form of potential to the other are:

E vs Eoc = ( E vs Eref) - Eoc

E vs Eref = ( E vs Eoc) + Eoc

Regardless off whether potentials are versus Eref or versus Eoc, one sign convention is used. The more positive a potential, the more anodic it is.


References

The following are references are useful for learning more about the techniques that are available in the PHE200.

Cyclic Voltammetry

Electrochemical Methods: Fundamental and Applications, Allen J. Bard and Larry R. Faulkner, John Wiley & Sons, New York (2000) pp. 226ff. ISBN 0-471-04372-9.

R. S. Nicholson and I Shain, Anal. Chem., 36, 706 (1964), and Anal. Chem., 37, 178 (1965).

R. S. Nicholson, Anal. Chem., 37, 1351 (1965).

Chronocoulometry

Electrochemical Methods: Fundamental and Applications, Allen J. Bard and Larry R. Faulkner, John Wiley & Sons, New York (2000) pp. 210ff. ISBN 0-471-04372-9.

Chronopotentiometry

Electrochemical Methods: Fundamental and Applications, Allen J. Bard and Larry R. Faulkner, John Wiley & Sons, New York (2000) pp. 305ff. ISBN 0-471-04372-9.


Purpose

Chronoamperometry is used to study the kinetics of chemical reactions, diffusion processes, and adsorptions. In this technique, a potential step is applied to the electrode and the resulting current vs. time is observed. The PHE200 Chronoamperometry experiment supports both single and double potential step experiments as shown by the figure below.

Applied Voltage in Chronamperometry

In general, before beginning the experiment the electrode is held at a potential at which no faradaic process occurs, then the potential is stepped to a value at which a redox reaction occurs. Zero time is defined as the time at which the potential step is initiated. For reactions that are under diffusion control, the current will decay with a t1/2 decay as shown in the figure below, and obeys the Cottrell equation:

Where n is the number of electrons in the redox process, F is the Faraday constant, A is electrode area, Do is the diffusion coefficient of the redox species, Co is the bulk concentration of the redox species, and t is time. The Chronoamperometry experiment can be used to accurately determine any one of the variables in the Cottrell equation (electrode area, diffusion coefficient, or sample concentration) as long as the other two variables are known and the contributions from adsorbed material is negligible.

Measured Current vs. Time in Chronoamperometry

In some cases double potential step chronoamperometry experiments are used to determine the reversibility of a reaction by comparing the results from the two potential steps.


Chronoamperometry Setup Parameters

Click on each of the setup parameters for a description of its use and function.


Chronoamperometry Experimental Sequence

  1. A Runner window is created by the Framework and the "Chronoamperometry.EXP" script is run in this window.
  2. The script creates the Setup dialog box, which becomes the active window and accepts changes in the experimental parameters. This Setup box remembers the experimental settings from the last time this script was run. To restore the parameters to the values defined in the script, select the Default button. If the Advanced Pstat Setup is toggled to the on position a second Setup dialog box contain hardware configuration details will become the active window allowing the user to modify the hardware configuration used during the experiment.
  3. The script next obtains the use of the potentiostat specified during Setup and opens the data file using the Output File name. If the potentiostat is in use or the file cannot be opened, the script returns you to the Setup dialog box.
  4. The file header information is written to the data file.

    This information is written to the file prior to data acquisition. If the experiment is aborted, the output file contains only this information.

    This header information includes:
    1. Tags identifying possible analyses
    2. The current time and date
    3. A list of the Setup parameters and hardware configuration
  5. If Initial Delay is on, then the cell is turned off and the specimen's Eoc is measured for the time specified as the Initial Delay time or until the potential stabilizes to a value less than the stability setting. A plot of potential versus time is always displayed. The last measured potential is recorded as Eoc. If Initial Delay is off, this step is skipped and Eoc is assumed to be 0.0 V vs. Ref.
  6. The script conditions the electrode if Conditioning was specified in the Setup. Conditioning is done by applying a fixed potential for a defined time with the stirrer turned on. A plot of current versus time is displayed during the Conditioning. No data is saved during this step.
  7. The electrode and the solution are allowed to equilibrate for a defined time. The cell is turned on during this step and the Pre-step Voltage is applied and the stirrer is off. No data is saved during this step.
  8. Finally the actual data acquisition process starts. The potential of the sample is held at the Pre-step Voltage for the Pre-step delay. This information is stored with the data file and is intended to show that the user has selected a voltage where no appreciable current occurs. The potential is then stepped to Step 1 Voltage and held at that value for Step 1 time. The potential is then stepped to Step 2 Voltage and held at that value for Step 2 time. If Step 2 time is zero then the second step will be skipped.

    Current and voltage readings at fixed time intervals (Sample Period) are taken during the steps in Chronoamperometry.

    If Autoranging was selected in Setup at each point the current range is automatically switched to the optimal range for the measured cell current. If Positive Feedback IR Compensation has been selected all data is continuously corrected for IR drop. If Current Interrupt IR Compensation has been selected, each potential is corrected for the measured IR drop of the preceding point.

    Plots of I and E vs. time are displayed during the steps.
  9. The data is written to the output file and the script cleans up and halts.

    Once the scan is over, the cell is turned off. The acquired data is written to the output file. The script then waits for you to select Skip. Once you do so, the script closes everything that's open, including the Runner window.


Purpose

Chronocoulometry is used to study the kinetics of chemical reactions, diffusion processes, and adsorptions. In this technique, a potential step is applied to the electrode and the resulting cumulative charge vs. time is observed. This technique is very similar to Chronoamperometry, except that the integrated charge is recorded in Chronocoulometry instead of raw current. In the PHE200, this integration is performed digitally, allowing the user to control the time per integration by changing the point timing. Chronocoulometry offers the following advantages over Chronoamperometry (Bard and Faulkner):

  1. The signal increases over time instead of decreasing.
  2. The act of integration minimizes noise, resulting in a smooth response curve.
  3. Contributions from double layer charging and absorbed species are easily observed.

In the PHE200 software, a double potential step Chronocoulometry experiment is supported. An example of the applied voltage is shown below.

For reactions that are under diffusion control, the cumulative charge will grow with a t1/2 dependence for the first potential step, and decrease with a similar shape on the second potential step shown in the figure below.

This behavior follows the integrated form of the Cottrell equation:

Where n is the number of electrons in the redox process, F is the Faraday constant, A is electrode area, Do is the diffusion coefficient of the oxidized species being reduced, Co is the bulk concentration of the oxidized species being reduced, t is time, Qdl is the capacitive charge, and nFAG is a faradaic component from absorbed species. Chronocoulometry can therefore be used to determine electrode area, diffusion coefficients, or sample concentration as long as two of the three variables are known.


Setup Parameters

Chronocoulometry Setup Parameters

Click on each of the setup parameters for a description of its use and function.


Chronocoulometry Experimental Sequence

  1. A Runner window is created by the Framework and the "Chronocoulometry.EXP" script is run in this window.
  2. The script creates the Setup dialog box, which becomes the active window and accepts changes in the experimental parameters. This Setup box remembers the experimental settings from the last time this script was run. To restore the parameters to the values defined in the script, select the Default button. If the Advanced Pstat Setup is toggled to the on position a second Setup dialog box contain hardware configuration details will become the active window allowing the user to modify the hardware configuration used during the experiment.
  3. The script next obtains the use of the potentiostat specified during Setup and opens the data file using the Output File name. If the potentiostat is in use or the file cannot be opened, the script returns you to the Setup dialog box.
  4. The file header information is written to the data file.

    This information is written to the file prior to data acquisition. If the experiment is aborted, the output file contains only this information.

    This header information includes:
    1. Tags identifying possible analyses
    2. The current time and date
    3. A list of the Setup parameters and hardware configuration
  5. If Initial Delay is on, then the cell is turned off and the specimen's Eoc is measured for the time specified as the Initial Delay time or until the potential stabilizes to a value less than the stability setting. A plot of potential versus time is always displayed. The last measured potential is recorded as Eoc. If Initial Delay is off, this step is skipped and Eoc is assumed to be 0.0 V vs. Ref.
  6. The script conditions the electrode if Conditioning was specified in the Setup. Conditioning is done by applying a fixed potential for a defined time with the stirrer turned on. A plot of current versus time is displayed during the Conditioning. No data is saved during this step.
  7. The electrode and the solution are allowed to equilibrate for a defined time. The cell is turned on during this step and the Pre-step Voltage is applied and the stirrer is off. No data is saved during this step.
  8. Finally the data acquisition process starts. The potential of the sample is held at the Pre-step Voltage for the Pre-step delay. This information is stored with the data file and is intended to show that the user has selected a voltage where no appreciable current occurs. The potential is then stepped to Step 1 Voltage and held at that value for Step 1 time. The potential is then stepped to Step 2 Voltage and held at that value for Step 2 time. If Step 2 time is zero then the second step will be skipped.

    Charge and current readings at fixed time intervals (Sample Period) are taken during the steps in Chronocoulometry.

    If Autoranging was selected in Setup at each point the current range is automatically switched to the optimal range for the measured cell current. If Positive Feedback IR Compensation has been selected all data is continuously corrected for IR drop. If Current Interrupt IR Compensation has been selected, each potential is corrected for the measured IR drop of the preceding point.

    Plots of Q and I vs. time are displayed during the steps.
  9. The data is written to the output file and the script cleans up and halts.

    Once the scan is over, the cell is turned off. The acquired data is written to the output file. The script then waits for you to select Skip. Once you do so, the script closes everything that's open, including the Runner window.


Purpose

Chronopotentiometry is used to study mechanism and kinetics of chemical reactions. In this technique, the instrument operates in galvanostatic mode to control current and measure voltage. The applied current can consist of either a single or double step. It is generally performed in a quiet (unstirred) solution.

This technique can be used to investigate the mechanism of a redox process. For systems where only one redox species is present an S-shape response is expected. The potential of the electrode will change from open circuit potential to an approximately constant value until the concentration of the redox species at the electrode is depleted. Once this species is depleted at the electrode surface the potential will rapidly shift to a potential capable of sustaining the applied current. This sudden shift is called the "transition time" (tau in the equations, below). If only one redox species is present, the potential will shift to a value that will cause either the supporting electrolyte or solvent to be reduced/oxidized.

If the redox process is reversible, the potential response during the plateau of the sigmoidal curve is controlled by the concentration of the oxidized and reduced forms of the redox couple at the electrode surface. The Nernst equation can therefore be used to evaluate the formal potential (Eo')for the reduction process as long as the diffusion coefficients of the oxidized (DO) and reduced (DR) form of the redox couple are known (Bard and Faulkner).

The chronopotentiometry technique can also be used as a general purpose galvanostatic technique for applications such as plating, or measuring battery charge/discharge curves.


Chronopotentiometry Setup Parameters

Click on each of the setup parameters for a description of its use and function.


Chronopotentiometry Experimental Sequence

  1. A Runner window is created by the Framework and the "Chronopotentiometry.EXP" script is run in this window.
  2. The script creates the Setup dialog box, which becomes the active window and accepts changes in the experimental parameters. This Setup box remembers the experimental settings from the last time this script was run. To restore the parameters to the values defined in the script, select the Default button. If the Advanced Pstat Setup is toggled to the on position a second Setup dialog box contain hardware configuration details will become the active window allowing the user to modify the hardware configuration used during the experiment.
  3. The script next obtains the use of the potentiostat specified during Setup and opens the data file using the Output File name. If the potentiostat is in use or the file cannot be opened, the script returns you to the Setup dialog box.
  4. The file header information is written to the data file.

    This information is written to the file prior to data acquisition. If the experiment is aborted, the output file contains only this information.

    This header information includes:
    1. Tags identifying possible analyses
    2. The current time and date
    3. A list of the Setup parameters and hardware configuration
  5. The script conditions the electrode if Conditioning was specified in the Setup. Conditioning is done by applying a fixed potential for a defined time. A plot of current versus time is displayed during the Conditioning.
  6. Finally the actual current steps are applied. The current is held at the Pre-step Current for the Pre-step delay. This information is stored with the data file. The current is then stepped to Step 1 Current and held at that value for Step 1 time. The current is then stepped to Step 2 Current and held at that value for Step 2 time. If Step 2 time is zero then the second step will be skipped.

    Voltage and current readings at fixed time intervals (Sample Period) are taken during the steps in Chronopotentiometry. Note that if at any time the measure voltage exceeds the Limit Voltage the current step will be terminated and the experiment will proceed to the next segment of the applied signal.

    Plots of E and I vs. time are displayed during the steps.
  7. The data is written to the output file and the script cleans up and halts.

    Once the scan is over, the cell is turned off. The acquired data is written to the output file. The script then waits for you to select Skip. Once you do so, the script closes everything that's open, including the Runner window.


Purpose

Controlled Potential Coulometry can be used as an absolute (standards-less) analytical technique to determine many metals or compounds. By completely electrolyzing the analyte of interest and noting the total charge consumed, the quantity of the analyte is easily determined.

Controlled Potential Coulometry can also be used to determine the overall number of electrons in a faradaic reaction. Unlike voltammetric techniques where the electrode area and diffusion coefficient of the redox species must be known, Controlled Potential Coulometry can determine the overall number of electrons in the redox process without prior knowledge of the electrode area or diffusion coefficient.

In this technique the potential of the electrode is held constant for a long time, minutes to hours, and the resulting integrated charge is recorded. All of the electrochemically active species which is being electrolyzed will react, resulting in a 100% efficiency. The total charge passed in this technique will obey Faraday's law, Q= nFNo, where Q is the total charge passed, n is the overall number of electrons consumed in the experiment, F is Faraday's constant (9.64853x104 C/equiv), and No is the total moles of redox species present.


Setup Parameters

Controlled Potential Coulometry Setup Parameters

Click on each of the setup parameters for a description of its use and function.


Controlled Potential Coulometry Experimental Sequence

  1. A Runner window is created by the Framework and the "Controlled Potential Coulometry.EXP" script is run in this window.
  2. The script creates the Setup dialog box, which becomes the active window and accepts changes in the experimental parameters. This Setup box remembers the experimental settings from the last time this script was run. To restore the parameters to the values defined in the script, select the Default button. If the Advanced Pstat Setup is toggled to the on position a second Setup dialog box contain hardware configuration details will become the active window allowing the user to modify the hardware configuration used during the experiment.
  3. The script next obtains the use of the potentiostat specified during Setup and opens the data file using the Output File name. If the potentiostat is in use or the file cannot be opened, the script returns you to the Setup dialog box.
  4. The file header information is written to the data file.

    This information is written to the file prior to data acquisition. If the experiment is aborted, the output file contains only this information.

    This header information includes:
    1. Tags identifying possible analyses
    2. The current time and date
    3. A list of the Setup parameters and hardware configuration
  5. If Initial Delay is on, then the cell is turned off and the specimen's Eoc is measured for the time specified as the Initial Delay time or until the potential stabilizes to a value less than the stability setting. A plot of potential versus time is always displayed. The last measured potential is recorded as Eoc. If Initial Delay is off, this step is skipped and Eoc is assumed to be 0.0 V vs. Ref.
  6. The script conditions the electrode if Conditioning was specified in the Setup. Conditioning is done by applying a fixed potential for a defined time. A plot of current versus time is displayed during the Conditioning.
  7. Finally the actual potential steps occur. The potential of the sample is held at the Pre-step Voltage for the Pre-step delay. This information is stored with the data file and is intended to show that the user has selected a voltage where no appreciable current occurs.

    Charge and current readings at fixed time intervals (Sample Period) are taken during the steps in Controlled Potential Coulometry.

    If Autoranging was selected in Setup at each point the current range is automatically switched to the optimal range for the measured cell current. If Positive Feedback IR Compensation has been selected all data is continuously corrected for IR drop. If Current Interrupt IR Compensation has been selected, each potential is corrected for the measured IR drop of the preceding point.

    Plots of Q and log I vs. time are displayed during the steps.
  8. The data is written to the output file and the script cleans up and halts.

    Once the scan is over, the cell is turned off. The acquired data is written to the output file. The script then waits for you to select Skip. Once you do so, the script closes everything that's open, including the Runner window.


Purpose

Cyclic Voltammetry is used to study the mechanism, kinetics, and thermodynamics of chemical reactions. Both heterogeneous reactions occurring at the electrode surface, and homogeneous reactions in solution can be studied.

In the classical Cyclic Voltammetry triangle waveform, the potential is swept from an Initial E, to vertex E, and back to Final E, where Final E equals Initial E. An example of this applied waveform is shown below. Repeating this waveform for N times will perform N cycles of Cyclic Voltammetry.

Voltage Profile of Classic Single Vertex Cyclic Voltammetry

In the PHE200 we use the more generic double vertex triangular waveform shown below. This applied waveform allows the user to set a second vertex potential (Scan Limit 2 in the software) which could be more positive than the initial potential. Setting ScanLimit2 and Final E to equal the Initial E can perform the classically defined triangle waveform for cyclic voltammetry.

Voltage Profile of Double Vertex Cyclic Voltammetry Waveform Used in PHE200 software.

Lets look at a simple example of a Cyclic Voltammetry experiment, using the classically defined triangular waveform. For the case of a simple one-electron transfer reaction, the resulting current vs. voltage plot will give the familiar "duck shape" waveform shown below. In these cases, the reversible potential for the electron transfer can be evaluated from the half-wave potential for the redox process.

Electron transfer kinetics can also be studied by varying the scan rate of the applied potential and observing the increase in DEp (Nicholson). An overall review of potential sweep voltammetry methods is covered in Chapter 6 Bard and Faulkner.

Cyclic Voltammogram from Simple One-Electron Transfer Reaction

In cases where the chemistry of the system is more complicated, cyclic voltammetry can be used to determine the mechanisms and kinetics involved. In their work in the 1960's, Nicholson and Shain published a series of articles that discussed the use of cyclic voltammetry to study chemical systems which included chemical reactions either proceeding or following the electron transfer seen in the cyclic voltammogram (Nicholson and Shain). The user is encouraged to review these works for a better understanding of the versatility of the cyclic voltammetry experiment.


Cyclic Voltammetry Setup Parameters

Click on each of the setup parameters for a description of its use and function.


Cyclic Voltammetry Experimental Sequence

  1. A Runner window is created by the Framework and the "Cyclic Voltammetry.EXP" script is run in this window.
  2. The script creates the Setup dialog box which becomes the active window and accepts changes in the experimental parameters. This Setup box remembers the experimental settings from the last time this script was run. To restore the parameters to the values defined in the script, select the Default button. If the Advanced Pstat Setup is toggled to the on position a second Setup dialog box contain hardware configuration details will become the active window allowing the user to modify the hardware configuration used during the experiment.
  3. The script next obtains the use of the potentiostat specified during Setup and opens the data file using the Output File name. If the potentiostat is in use or the file cannot be opened, the script returns you to the Setup dialog box.
  4. The file header information is written to the data file.

    This information is written to the file prior to data acquisition. If the experiment is aborted, the output file contains only this information.

    This header information includes:
    1. Tags identifying possible analyses
    2. The current time and date
    3. A list of the Setup parameters and hardware configuration
  5. If Initial Delay is on, then the cell is turned off and the specimen's Eoc is measured for the time specified as the Initial Delay time or until the potential stabilizes to a value less than the stability setting. A plot of potential versus time is always displayed. The last measured potential is recorded as Eoc. If Initial Delay is off, this step is skipped and Eoc is assumed to be 0.0 V vs. Ref.
  6. The script conditions the electrode if Conditioning was specified in the Setup. Conditioning is done by applying a fixed potential for a defined time. A plot of current versus time is displayed during Conditioning.
  7. Finally an actual scan occurs. The potential of the sample is set to Initial E and is held at that value for the Equil. Time. The potential is then swept from the Initial E to Scan Limit 1, then to Scan limit 2 and then to Final E. If Scan limit 2 equals Final E then the scan stops at that value. Current readings at fixed voltage intervals are taken during the sweep. The voltage interval between steps is defined as the Resolution in the Setup dialog box.

    If the number of Cycles exceeds one, the potential will repeat the sweep for n cycles.

    The sweep is actually a staircase ramp. The sample is potentiostatted at the Initial E, a delay of one sample period occurs (sample period = 1/Scan Rate * Resolution), and a reading of the current is taken. The potential is then stepped by a few mV as defined by Resolution, a delay of one Sample Period occurs, and the next current reading is taken. Stepping the potential, delaying and acquiring data points continues until the potential equals the Final E.

    If Autoranging was selected in Setup at each point the current range is automatically switched to the optimal range for the measured cell current. If Positive Feedback IR Compensation has been selected all data is continuously corrected for IR drop. If Current Interrupt IR Compensation has been selected, each potential is corrected for the measured IR drop of the preceding point.

    A plot of I vs. E is displayed during the scan.
  8. The data is written to the output file and the script cleans up and halts.

    Once the scan is over, the cell is turned off. The acquired data is written to the output file. The script then waits for you to select Skip. Once you do so, the script closes everything that's open, including the Runner window.


Purpose

Linear Sweep Voltammetry is a simpler subset of Cyclic Voltammetry, consisting of a single unidirectional voltage sweep. In general, researchers will use Linear Sweep Voltammetry instead of Cyclic Voltammetry when there is no useful information on the return scan of the Cyclic Voltammogram, such as in the case where the electron transfer is followed by a very fast irreversible reaction.

User are encouraged to review the literature cited in the Cyclic Voltammetry section of the PHE200 help for references on linear sweep potential methods.


Linear Scan Setup Parameters

Linear Sweep Voltammetry Setup Parameters

Click on each of the setup parameters for a description of its use and function.


Linear Sweep Voltammetry Experimental Sequence

  1. A Runner window is created by the Framework and the "Linear Sweep Voltammetry.EXP" script is run in this window.
  2. The script creates the Setup dialog box which becomes the active window and accepts changes in the experimental parameters. This Setup box remembers the experimental settings from the last time this script was run. To restore the parameters to the values defined in the script, select the Default button. If the Advanced Pstat Setup is toggled to the on position a second Setup dialog box contain hardware configuration details will become the active window allowing the user to modify the hardware configuration used during the experiment.
  3. The script next obtains the use of the potentiostat specified during Setup and opens the data file using the Output File name. If the potentiostat is in use or the file cannot be opened, the script returns you to the Setup dialog box.
  4. The file header information is written to the data file.

    This information is written to the file prior to data acquisition. If the experiment is aborted, the output file contains only this information.

    This header information includes:
    1. Tags identifying possible analyses
    2. The current time and date
    3. A list of the Setup parameters and hardware configuration
  5. If Initial Delay is on, then the cell is turned off and the specimen's Eoc is measured for the time specified as the Initial Delay time or until the potential stabilizes to a value less than the stability setting. A plot of potential versus time is always displayed. The last measured potential is recorded as Eoc. If Initial Delay is off, this step is skipped and Eoc is assumed to be 0.0 V vs. Ref.
  6. The script conditions the electrode if Conditioning was specified in the Setup. Conditioning is done by applying a fixed potential for a defined time. A plot of current versus time is displayed during the Conditioning.
  7. Finally the actual scan occurs. The potential of the sample is stepped to Initial E and is held at that value for the Equil. Time. Then the potential is swept from the Initial E to Final E. Current readings at fixed voltage intervals are taken during the sweep, this voltage interval is defined as the Resolution in the setup.

    The sweep is actually a staircase ramp. The sample is potentiostated at the Initial E, a delay of one sample period occurs (sample period = 1/Scan Rate * Resolution), and a reading of the current is taken. The potential is then stepped by a few mV as defined by Resolution, a delay of one Sample Period occurs, and the next current reading is taken. Stepping the potential, delaying and acquiring data points continues until the potential equals the Final E.

    If Autoranging was selected in Setup at each point the current range is automatically switched to the optimal range for the measured cell current. If Positive Feedback IR Compensation has been selected all data is continuously corrected for IR drop. If Current Interrupt IR Compensation has been selected, each potential is corrected for the measured IR drop of the preceding point.

    A plot of I vs. E is displayed during the scan.
  8. The data is written to the output file and the script cleans up and halts.

    Once the scan is over, the cell is turned off. The acquired data is written to the output file. The script then waits for you to select Skip. Once you do so, the script closes everything that's open, including the Runner window.


Purpose

Electrochemical test cells always have a solution resistance controlled by the cell's geometry and the composition of the cell's electrolyte. Current flow through this solution resistance can cause significant errors in the cell's measured potential.

A three-electrode potentiostat compensates some of the cell's solution resistance through placement of the cell's reference electrode. Because reference electrodes are not infinitely small and they cannot be placed infinitely close to the working electrode, this compensation is always incomplete. The portion of the total solution resistance that is left uncompensated is called Ru (uncompensated resistance).

Positive feedback iR compensation can be used to correct for the effects of Ru - if the Ru value is known. In essence, positive feedback iR compensation circuitry, at a desired potential Ed, applies a potential Ed + iRu (where i is the measured cell current). With this voltage applied between the working and reference electrodes, the electrochemical interface at the working electrode has a potential of Ed.

Unlike some other iR compensation methods, ideally current feedback iR compensation is fast, it is quiet, it dynamically corrects for the iRu error as the cell current changes, and the actual voltage applied to the electrode interface is the same as the potentiostat's input voltage.

However, there are at least two problems with positive feedback iR compensation:

  1. The value of Ru must be determined or calculated before the method can be applied.
  2. Excessive compensation can cause instability and oscillation in the potentiostat's electronics.

The PHE200 includes a script that uses Electrochemical Impedance Spectroscopy (EIS) to make a determination of Ru. The script name is "GetRu.EXP". It is called from the Framework menu by selecting, Experiment, Utilities, Get Ru.

When the "GetRu.EXP" script runs, the PHE200 user selects a potential, and the EIS determination is made at that potential. The user should carefully select this potential. In general, the potential used for Ru determination should be free from electrochemical reactions.

For example, the figure below shows the Cyclic Voltamogram of Ferrocyanide on a Platinum electrode in 0.1 M KCl. Notice the reduction peak beginning at +0.3 V vs. SCE. Above this voltage, no Faradiac current is seen. We would recommend that the Ru determination in this system is made at 0.5 V vs. SCE.

In EIS, a small sinusoidal voltage is applied to the cell. The resulting current should be a sinusoid at the same frequency, but different amplitude and phase. If the cell impedance at the applied voltage and frequency is primarily resistive, the phase angle between the voltage and current should be nominally zero. Phase angles significantly more positive than zero indicate onset of potentiostat speed limitations or inductive behavior in the cell. Phase angles significantly below zero are characteristic of capacitive, kinetic, or diffusional control of the cell impedance.

Ideally, Ru should be measured at the highest frequency at which the phase angle of the cell impedance is zero degrees. At this frequency, Ru is the "real" portion of the cell impedance.

Note that many systems have a quite low Ru value, indicating that iR compensation is not required. The system shown in the figure above had a measured Ru of about 8 Ohms. A typical CV current in this system was 10 µA. At this current, the error in the applied voltage in the absence of iR compensation is 80 µV. In general, iR errors that are less than 1 mV should be ignored, as in this case.

The range and resolution of the positive feedback iR circuit is limited. Assume for the moment that positive feedback iR compensation is needed for a cyclic voltammetry (CV) experiment. CV is normally done using a fixed current measurement range. There is an equivalent current measurement resistance associated with each range. This resistance, known as Rm, can be calculated as 3V/Current Range. For example, on the 300 mA range, Rm is 10 kW. The maximum iR correction on any range is the value of Rm, and the resolution of the setting is 0.025% Rm. On the 300 mA range, Ru can be set between 2.5 W and 10 kW, with a resolution of 2.5 W.

In general, the PHE200 user should avoid entering the full measured Ru value into tests that use positive feedback iR compensation. A potentiostat is likely to oscillate when fully iR compensated. We recommend that 75 to 95% of the measured Ru value be applied as compensation. In our example system, with an 8 W Ru, the positive feedback value, if entered at all, would therefore be entered as a value between 6 W (at 80% compensation) or 7.6 W (at 95% compensation).


Setup Parameters

Ru Estimation Setup Parameters

Click on each of the setup parameters for a description of its use and function.


Ru Estimation Experimental Sequence

  1. A Runner window is created by the Framework and the "Get Ru.Exp" script is run in this window.
  2. The script creates the Setup dialog box, which becomes the active window and accepts changes in the experimental parameters. This Setup box remembers the experimental settings from the last time this script was run. To restore the parameters to the values defined in the script, select the Default button. If the Advanced Pstat Setup is toggled to the on position a second Setup dialog box contain hardware configuration details will become the active window allowing the user to modify the hardware configuration used during the experiment.
  3. The script next obtains the use of the potentiostat specified during Setup. No data file is created in this script, the user should record the final Ru manually.
  4. The following sequence of events occurs to measure the Ru of the cell:
    1. The selected voltage is applied to the cell.
    2. A controlled potential EIS measurement is made at a 7 mV rms applied amplitude and a 100 kHz frequency.
    3. The phase angle and real portion of the impedance are recorded.
    4. The frequency is successively decreased to 500, 200, 10, 5, 2, 1, 0.5 kHz. An EIS measurement is made at each frequency.
    5. If the phase angle is less than ±7.5° at the frequency in use, the "real" impedance is reported on the computer screen as the Ru estimate.
    6. If the phase angle is more than 7.5° the phase angle between the last two EIS measurements is compared.
    7. If the phase angle diverges from zero at lower frequency, the real impedance at the higher frequency is reported as Ru and the user is warned that the Ru determination may be in error.
  5. Once an Ru value has been estimated the cell is turned off. The measured Ru value is displayed in a dialogue box. The script then waits for you to select Skip. Once you do so, the script closes everything that's open, including the Runner window.


PHE200 Analysis Overview

The PHE200 uses the Gamry Echem Analyst to display, analyze, and print acquired data files. The Gamry Echem Analyst also allows the user to use experiment specific analysis commands, such as normalize current by scan rate in Cyclic Voltammetry experiments, by selecting those analysis commands from experiment specific pull down menus.

The Gamry Echem Analyst uses Visual Basic for Applications (VBA) as a scripting language to control the graphing and manipulation of the experimental data. Gamry's standard VBA analysis scripts are accessible by the user, so that they can be modified to include special analysis routines that are customized to your laboratories needs. Please refer to the Gamry Echem Analyst section of Help for information on customizing analysis scripts.


Automatic Baseline

The Automatic Baseline command allows you to draw baselines (similar to those in the figure to the right) for both forward and reverse peaks.

To use this command, first use the Peak Find command to locate the peaks and to measure their heights to a zero baseline. Next, click Automatic Baseline, select the peak for which you wish the baseline determined, and click OK. The linear portion of the curve just before the peak will be used to draw the baseline. That baseline will be automatically associated with the peak. The peak height will automatically be recalculated using the new baseline.

This command is present for Cyclic Voltammetry and Linear Scan experiments.


Peak Baselines

The Peak Baselines command is used to bring up a dialog box which allows you to specify what lines are used for baselines on what peaks.

In the figure depicted below, there is one peak which is currently being drawn to the zero-line. There is also a line which has been drawn, and is the desired baseline for the peak.

Sample peak with a baseline of zero.

To select the line (Line 1) as the baseline for the peak, select the Peak Baselines command. This will bring up the Baselines dialog box which contains a list of all the peaks, as well as a list of all the lines on the graph. This dialog is depicted in the figure below.

Sample Baselines Dialog box.

Notice that Peak 1 is selected in the left (Peak) listbox and None is selected in the right (Baseline) listbox. To make Line 1 the baseline for Peak 1, simply click on the Line 1 in the Baseline listbox. If there is more than 1 line, you can select any line as the baseline. If there is more than 1 peak, you must select the peak for which you wish to set the baseline.

The Update Lists button will update the list of Peaks and Baselines, in the event you have added a baseline or peak while this dialog box has remained open.

When you are satisfied with your selections, select the Close button. The graph will be updated to reflect the new baseline for the peak as shown below.

Sample peak with a new baseline (Line 1).


Clear Peaks

The Clear Peaks command will clear all the peaks associated with the chart. Any peaks that are marked will be removed as well. Any pages associated with peak information will be removed.


Cottrell Equation

The Calculate Cottrell Equation command is used in current vs. tau-1/2 plots to determine the values of the parameters in the Cottrell equation for Chronoamperometry experiments. In order to use this command a linear fit should have been performed on the current vs. tau-1/2 plot.

The steps to use this command are as follows:

  1. Select the Second Chart tab to show the current vs. tau-1/2 plot.

  2. Use the Linear Fit command to define a region of the plot.

  3. Select the Calculate Cottrell Equation command from the document menu. The Specify Linear Region to Fit dialog will be displayed.

  4. Click on the Line of interest and select OK.
  5. The Cottrell Equation dialog will be displayed. The user should enter three of the four parameters of the Cottrell equation. The slope of the line, and the user entered parameters, will be used to determine the value for the one unknown using the relationship that the slope = (nFAD1/2C)/p1/2.


Delta Ep

The Delta Ep command is used to determine the potential difference between two peaks. In order to use this command, two or more peaks should have been found using the Peak Find command.

The steps to use this command are as follows:

  1. Use the Peak Find command to locate two or more peaks.
  2. Display the peaks by using the Mark Peaks tool on the toolbar. This will cause the peaks to be marked as shown below. Notice that there is a subscript number, which tells the number of the peak. In this case, a 1 and a 2. These numbers will allow you to know which peak is which in the Delta Ep dialog.

  3. Select the Delta Ep command from the document menu. The Delta Ep dialog will be displayed.

  4. Click on a peak in the First Peak listbox, and a different peak in the Second Peak listbox. The potential difference between the two peaks will be displayed in the Result section of the dialog box.

    The Update Peak Lists button will allow you to refresh the peaks in the listboxes, should you decide to leave this dialog box open while you perform another Peak Find.


Quick Integrate

The Quick Integrate command is used to integrate the current to achieve a total charge value. This command requires that an X Region be selected. The command will operate on all visible traces, and the results will be placed on a new Quick Integrate page, assuming one does not already exist. In the case where this page already exists, the new information will overwrite the old information.

The steps to use this command are as follows:

  1. Select an X region using the Select X Region tool [image]. To select a region using this tool, left click in the main chart body at one bounding edge of the region. Holding the mouse button down, drag the mouse to the second bounding edge, and release the left button. You will then have a highlighted region on your chart.

  2. Once the region is selected, you may select the Quick Integrate command from the document menu. As soon as you select this command, the computer will begin to calculate the charge for the different sections of the curve. There can be up to three sections in a cyclic voltammetry curve. These sections are defined by the vertices of the applied voltage signal. In the case where you have a Vinit, a VLimit 1, and a VLimit2, you would have a 2 section curve. In the case where you have a Vinit, a VLimit1, a VLimit2, and a Vfinal, you would have a 3 section curve. The integrated current is listed by section.

    Note that the results are presented both on their own page, and in the QuickView area at the bottom of the chart. You can hide the QuickView window by right clicking on the handle of the toolbar, and un-checking QuickView.


Integrated Cottrell Equation

The Calculate Integrated Cottrell Equation command is used in charge vs. tau1/2 plots to determine the values of the parameters in the Integrated Cottrell equation for Chronocoulometry experiments. In order to use this command a linear fit should have been performed on the current vs. tau1/2 plot.

The steps to use this command are as follows:

  1. Select the Second Chart tab to show the charge vs. tau1/2 plot.

  2. Use the Linear Fit command to define a region of the plot.

  3. Select the Calculate Integrated Cottrell Equation command from the document menu. The Specify Linear Region to Fit dialog will be displayed.

  4. Click on the Line of interest and select OK.
  5. The Integrated Cottrell Equation dialog will be displayed. The user should enter three of the four parameters of the Integrated Cottrell equation. The slope of the line, and the user entered parameters, will be used to determine the value for the one unknown using the relationship that the slope = (2nFAD1/2C)/p1/2.


Min/Max

The Min/Max command is used to find the minimum and maximum values of the data plotted on the Y-Axis. This command requires that an X Region be selected. If you do not select a region, the search will be performed over the entire range of the data set. The command will operate on all visible traces, and the results will be placed on a new Min/Max page, assuming one does not already exist. In the case where this page already exists, the new information will overwrite the old information.

The steps to use this command are as follows:

  1. Select an X region using the Select X Region tool [image]. To select a region using this tool, left click in the main chart body at one bounding edge of the region. Holding the mouse button down, drag the mouse to the second bounding edge, and release the left button. You will then have a highlighted region on your chart.

  2. Once the region is selected, you may select the Min/Max command from the document menu. As soon as you select this command, the computer will begin to locate the minimum and maximum values for each visible trace.

    Note that the results are presented both on their own page, and in the QuickView area at the bottom of the chart. You can hide the QuickView window by clicking the X on the side-bar of the QuickView.


Normalize By Area

To normalize your current-voltage data to the area of your sample, click the Options/Units for Current/Current Density selection of the Script-specific menu.

To remove area normalization, click Options/Units for Current/Current selection of the Script-specific menu.


Normalize By Scan Rate

Normalize By Scan Rate or Normalize by the Square Root of the Scan Rate

The Normalize By Scan Rate and Normalize by Square Root of the Scan Rate commands are used to remove the effect of scan rate in cases where different scan rates have been used. This command takes the acquired current and divides it by the scan rate or the square root of the scan rate.

For peaks that are due to a species that is free to diffuse in the solution you should select Normalize by the Square Root of the Scan Rate. For species that are confined to the surface of the electrode (adsorbed species or a metal plated on the surface of the electrode) select Normalize by Scan Rate.

The steps to use this command are as follows:

  1. Make the trace you wish to Normalize the Active trace. This can be done by right clicking on the trace and pressing Activate Trace.

  2. Select the Normalize By Scan Rate (or Normalize by the Square Root of the Scan Rate) command from the document menu. At this point, the data will be processed, and a modified trace, assuming one does not already exist, will be added to the chart. This modified trace will have a [NSR] ( or [NSSR] if the Square Root of Scan Rate has been selected) appended to its legend text, to let you know that it has been normalized.


Peak Find

The Peak Find command is used to have the computer search a region of data for a localized peak or valley. The algorithm looks for a change in the slope of the specified region, which indicates a peak or a valley. The algorithm then searches in this area for the maximum or minimum value which it then takes as its peak. This algorithm is written in VBA and may be viewed or modified by the advanced user as necessary.

The steps to use this command are as follows:

  1. Make the trace on which to search for peaks the Active Trace. This can be done by right clicking on the trace and pressing Activate Trace.
  2. Select a region on this trace using the Select Portion of Curve tool [image]. To use this tool, left click with the mouse close to one bounding point of the region. Next, left click again near the second bounding point of the region. The region will become highlighted. If you select an improper region, no peaks may be found. To re-select a region, simply toggle the Select Portion of Curve tool, and try again.

  3. Once a region is selected, press the Peak Find command on the document menu. The algorithm will now begin to search for peaks in the selected region. If no peaks are found, you will see a message box stating no peaks have been found. Try selecting another region.
  4. If peaks are found, a new page will be added to the document, with a grid containing the peak information. If peaks had been found previously, the peak information will simply append the existing peak information on the peak page. The peak information will also be displayed in the QuickView window at the bottom of the graph. You can hide the QuickView window by clicking the X on the side-bar of the QuickView.

  5. You can now display the peak on the chart if you wish by using the Mark Peaks tool [image]. Selecting this tool will display the peak location, and the distance from the peak to the baseline. The baseline is either zero, or the Line object which is selected to be the baseline for the peak. The Peak Baselines command allows you to specify which line goes with which peak.

  6. Additional peaks can be found by repeating steps 1 through 4. To clear peaks you can use the Clear Peaks command.


Subtract Background From File

The Subtract Background From File command allows for one data file to be subtracted from another. This technique is usually used to subtract out information that pertains to the supporting electrolyte rather than the reaction of interest.

The algorithm used by this technique interpolates between data points so that the background file does not have to have the same exact data density as the original data. The background file should however, have a data range that is equal to, or larger than the original data from which it is to be subtracted.

In most cases, an exact background should be run which will create a one to one match-up of points.

The steps to use this command are as follows:

  1. Make a trace for the original data file the Active Trace. This can be done by right clicking on the trace and pressing Activate Trace. For this command, the Active trace is simply used to determine the active data file.

    Normally there is only one data file. However, in the case where files have been overlaid, a file must be specified for this command. If no file were specified, the system would not know from which file to subtract the background.

  2. Select the Subtract Background From File command from the document menu.
  3. Specify the name of the data file to subtract from the original data and press Open.
  4. The background subtraction algorithm will now perform the subtraction. In the case where there is a single curve in the original data file, and a single curve in the background file, the algorithm simply subtracts the two.

    In the case of cyclic voltammetry multiple curves may exist in one file. The algorithm uses the first curve in the background file as the background. It then loops through all of the curves in the file from which the Active trace belongs, subtracting this background from each.
  5. Once the subtraction(s) have been performed, a modified trace will be added, or changed if one already exists, to reflect the data which has had a background subtracted from it. The [BKS] identifier is added to the Legend text for traces which have had a background subtracted.


Subtract Constant Background

The Subtract Constant Background command allows the accumulated charge in a Controlled Potential Coulometry experiment to be corrected for a constant background current. If you wish to subtract a constant current from other experiments, such as Cyclic Voltammetry, use the Common Tools/Add Constant I function.

The steps to use this command are as follows:

  1. Make a trace for the original data file the Active Trace. This can be done by right clicking on the trace and pressing Activate Trace. For this command, the Active trace is simply used to determine the active data file.

    Normally there is only one data file. However, in the case where files have been overlaid, a trace must be specified for this command. If no trace were specified, the system would not know from which trace to subtract the background.
  2. Select the Subtract Constant Background option from the Coulometry menu. Enter the current to be subtracted.
  3. Once the subtraction has been performed, a modified trace will be added, or changed if one already exists, to reflect the data which has had a background subtracted from it. The net Charge versus Time and log (i) versus Time traces for the subtracted data will be shown. The [BKS] identifier is added to the Legend text for traces which have had a background subtracted.


Add E Constant

The Add E Constant command is used to offset the active trace by a user specified voltage. The steps to follow to use this command are as follows:

  1. Make the trace you wish to offset the Active trace. This can be done by right clicking on the trace and pressing Activate Trace.
  2. Select the Add E Constant command from the document menu.
  3. Enter the voltage to offset the trace in the dialog, and click Ok.


Add I Constant

The Add I Constant command is used to offset the active trace by a user specified current. The steps to follow to use this command are as follows:

  1. Make the trace you wish to offset the Active trace. This can be done by right clicking on the trace and pressing Activate Trace.
  2. Select the Add I Constant command from the document menu.
  3. Enter the current to offset the trace in the dialog, and click Ok.


Linear Fit

The Linear Fit command performs a linear least squares fit on a user defined region of data and adds the resulting line as a trace on the chart. This line can then be used as a baseline for certain types of calculations, such as Peak Height. In order to use this command, a region must be specified on the Active trace.

The steps to use this command are as follows:

  1. Make the trace on which to fit a line the Active Trace. This can be done by right clicking on the trace and pressing Activate Trace.
  2. Select a region on this trace using the Select Portion of Curve tool [image]. To use this tool, left click with the mouse close to one bounding point of the region. Next, left click again near the second bounding point of the region. The region will become highlighted. To re-select a region, simply toggle the Select Portion of Curve tool, and try again.

  3. Once a region is selected, press the Linear Fit command on the document menu. The algorithm will now begin to fit a line to the selected region. Once the fit is complete, a new trace will be added to the chart.

    You can view the equation for the new line by moving the mouse cursor over the line and watching the tool-tip.

    Note that the Line 1 trace is listed as the Baseline. The Baseline is the line to/from which certain calculations are performed, such as Peak Height. When you Mark Peaks and a Baseline is present, the peak height will be shown with respect to the Baseline.


Smooth Data

The Smooth Data command is used in cases where the acquired data is less than ideal. There are some cases where exterior noise enters the cell and causes the data to have some minor oscillations. The Smooth Data command offers two different types of smoothing algorithms.

The first is a sliding window type, which takes a number of data points in a window. This window averages the data points, and then slides one spot, and again takes an average. This sliding effect is repeated until all the data has been traversed. This technique is simple, but has a downside of causing the heights of peaks to be changed.

The second type is a Savitzky-Golay smoothing filter, which is a low pass filter which helps to preserve higher moments by approximating the underlying function with a polynomial. This method takes an order, which is the order of the polynomial, as well as a width, which is the number of points to be fit by the polynomial. The defaults of 4 for the order, and 16 for the width are suitable for the majority of applications, but can easily be changed.

The steps to smooth the data are as follows:

  1. Make the trace you wish to smooth the Active trace. This can be done by right clicking on the trace and pressing Activate Trace.

  2. Select the Smooth Data command from the document menu. This will display the Smooth Data dialog.

  3. Select the smoothing filter type, and then specify the conditions for that filter. Once you are satisfied, press Ok. At this point the data will be smoothed. One side effect of smoothing the data is that it in essence replaces the original data in the document. To retrieve the original data, you must reload it from the original DTA file.


Chronoamperometry Analysis Overview

The Chronoamperometry analysis script allows the user to open a Chronoamperometry data file by selecting the data file from the File Open window. The data file will open, and a series of tabbed pages are created in a new window. These tabs will contain two graphs of the data, experimental setup information, experimental notes, and hardware settings.

The standard Chronoamperometry analysis script will show a plot of current (I) vs. time (t) on the first page. Common analyses performed on this graph include background subtraction, and peak location with the Min/Max command. The second page will display a plot of current (I) vs. tau-1/2 (t-1/2) , which can be used to evaluate the parameters of the Cottrell equation using the Calculate Cottrell Equation command. Descriptions of the analysis commands in the Chronoamperometry menu can be found in the Commands section of the PHE200 Data Analysis Help.


Chronoamperometry Analysis Pages

The standard chronoamperometry analysis contains the following pages at startup:

Chart

The Chart page is the heart of the chronoamperometry analysis. It contains the data plotted in a Time versus Charge format.

Second Chart

The Second Chart page contains a t½ plot for each of the steps in a single or double step experiment. Information from this plot is pertinent in calculations using the Cottrell equation.

Experimental Setup

The Experimental Setup page contains a list of the parameters used to acquire the data presented on the Chart page.

Experimental Notes

The Experimental Notes are the notes entered by the user prior to the data acquisition. The Notes can be edited in the analysis, and saved with the changes to an analysis data file.

Hardware Settings

The Hardware Settings Page contains all of the potentiostat settings used during the run of the experiment.

Additional Pages Which May Become Visible

Quick Integration

This page contains a grid of integration values based on different sections in visible traces based on the most recent use of the Quick Integrate command.

Min/Max

This page contains a grid of minimum and maximum values of each visible trace based on the most recent use of the Min/Max command.


Chronocoulometry Analysis Overview

The Chronocoulometry analysis script allows the user to open a Chronocoulometry data file by selecting the data file from the File Open window. The data file will open, and a series of tabbed pages are created in a new window. These tabs will contain a graph of the data, experimental setup information, experimental notes, and hardware settings.

The standard Chronocoulometry analysis script will show a plot of charge (Q) vs. time (t) on the first page. Analyses performed on this graph include background subtraction, and Min / Max finds. The second page will display a plot of charge (Q) vs. tau-1/2 (t-1/2) , which can be used to evaluate the parameters of the Cottrell equation using the Calculate Integrated Cottrell Equation command. A significant deviation from zero for the intercept of Q vs. tau-1/2 plots is an indication of adsorbed material at the electrode. Descriptions of the analysis commands in the Chronocoulometry menu can be found in the Commands section of the PHE200 Data Analysis Help.


Chronocoulometry Analysis Pages

The standard chronocoulometry analysis contains the following pages at startup:

Chart

The Chart page is the heart of the chronocoulometry analysis. It contains the data plotted in a Time versus Charge format.

Second Chart

The Second Chart page contains a t½ plot for each of the steps in a single or double step experiment. Information from this plot is pertinent in calculations using the Integrated Cottrell equation.

Experimental Setup

The Experimental Setup page contains a list of the parameters used to acquire the data presented on the Chart page.

Experimental Notes

The Experimental Notes are the notes entered by the user prior to the data acquisition. The Notes can be edited in the analysis, and saved with the changes to an analysis data file.

Hardware Settings

The Hardware Settings Page contains all of the potentiostat settings used during the run of the experiment.

Additional Pages Which May Become Visible

Min/Max

This page contains a grid of minimum and maximum values of each visible trace based on the most recent use of the Min/Max command.


Chronopotentiometry Analysis Overview

The Chronopotentiometry analysis script allows the user to open a Chronopotentiometry data file by selecting the data file from the File Open window. The data file will open, and a series of tabbed pages are created in a new window. These tabs will contain a graph of the data, experimental setup information, experimental notes, and hardware settings.

The standard Chronopotentiometry analysis script will show a plot of Voltage (E) vs. time (t) on the first page. Common analyses performed on this graph include linear fits and the reading of individual data points. Descriptions of the analysis commands in the Chronopotentiometry menu can be found in the Commands section of the PHE200 Data Analysis Help.


Chronopotentiometry Analysis Pages

The standard chronopotentiometry analysis contains the following pages at startup:

Chart

The Chart page is the heart of the chronopotentiometry analysis. It contains the data plotted in a Time versus Voltage format.

Second Chart

The Second Chart page contains a t½ plot for each of the steps in a single or double step experiment. Information from this plot is pertinent in calculations using the Cottrell equation.

Experimental Setup

The Experimental Setup page contains a list of the parameters used to acquire the data presented on the Chart page.

Experimental Notes

The Experimental Notes are the notes entered by the user prior to the data acquisition. The Notes can be edited in the analysis, and saved with the changes to an analysis data file.

Hardware Settings

The Hardware Settings Page contains all of the potentiostat settings used during the run of the experiment.

Additional Pages Which May Become Visible

Quick Integration

This page contains a grid of integration values based on different sections in visible traces based on the most recent use of the Quick Integrate command.

Min/Max

This page contains a grid of minimum and maximum values of each visible trace based on the most recent use of the Min/Max command.


Cyclic Voltammetry Analysis Overview

The Cyclic Voltammetry analysis script allows the user to open Cyclic Voltammetry data files by selecting the data file from the File Open window. The data file will open, and a series of tabbed pages are created in a new window. These tabs will contain a graph of the data, experimental setup information, experimental notes, and hardware settings.

The standard Cyclic Voltammetry analysis script shows a plot of current (I) vs. voltage (E) on the first page. Common analyses performed from this graph include background subtractions, peak find, and normalize by scan rate or squareroot of scan rate. Descriptions of the analysis commands in the Cyclic Voltammetry menu can be found by clicking on the item in the Figure to the right.


Cyclic Voltammetry Analysis Pages

The standard cyclic voltammetry analysis contains the following pages at startup:

Chart

The Chart page is the heart of the Cyclic Voltammetry analysis. It contains the data plotted in a Voltage versus Current format.

Experimental Setup

The Experimental Setup page contains a list of the parameters used to acquire the data presented on the Chart page.

Experimental Notes

The Experimental Notes are the notes entered by the user prior to the data acquisition. The Notes can be edited in the analysis, and saved with the changes to an analysis data file.

Hardware Settings

The Hardware Settings Page contains all of the potentiostat settings used during the run of the experiment.

Additional Pages Which May Become Visible

Integration

This page contains a grid of integrated regions which were defined using the Integrate command.

Quick Integration

This page contains a grid of integration values based on different sections in visible traces based on the most recent use of the Quick Integrate command.

Min/Max

This page contains a grid of minimum and maximum values of each visible trace based on the most recent use of the Min/Max command.

Peak Locations

This page contains a grid of Peak locations and magnitudes based on the most recent use of the Peak Find command.


Controlled Potential Coulometry Analysis Overview

The Controlled Potential Coulometry analysis script allows the user to open a Controlled Potential Coulometry data file by selecting the data file from the File Open window. The data file will open, and a series of tabbed pages are created in a new window. These tabs will contain a graph of the data, experimental setup information, experimental notes, and hardware settings.

The standard Controlled Potential Coulometry analysis script will show a plot of charge (Q) vs. time (t) on the first page. A logarithmic plot of current (i) vs. time is also provided on the Y2 axis. Analyses performed on this graph include background subtraction, and Min / Max finds. Descriptions of the analysis commands in the Controlled Potential Coulometry menu can be found in the Commands section of the PHE200 Data Analysis Help.


Controlled Potential Coulometry Analysis Pages

The standard Controlled Potential Coulometry analysis contains the following pages at startup:

Chart

The Chart page is the heart of the Controlled Potential Coulometry analysis. It contains the data plotted in a Charge versus Time format. A plot of log (i) versus Time is displayed on the Y2 (right) axis.

Experimental Setup

The Experimental Setup page contains a list of the parameters used to acquire the data presented on the Chart page.

Experimental Notes

The Experimental Notes are the notes entered by the user prior to the data acquisition. The Notes can be edited in the analysis, and saved with the changes to an analysis data file.

Hardware Settings

The Hardware Settings Page contains all of the potentiostat settings used during the run of the experiment.

Additional Pages Which May Become Visible

Min/Max

This page contains a grid of minimum and maximum values of each visible trace based on the most recent use of the Min/Max command.


Linear Sweep Voltammetry Analysis Overview

The Linear Sweep Voltammetry analysis script allows the user to open Linear Sweep Voltammetry data files by selecting the data file from the File Open window. The data file will open, and a series of tabbed pages are created in a new window. These tabs will contain a graph of the data, experimental setup information, experimental notes, and hardware settings.

The standard Linear Sweep Voltammetry analysis script shows a plot of current I vs. voltage (E) on the first page. Common analyses performed from this graph included background subtractions, peak find, and normalize by area or scan rate. Descriptions of the analysis commands in the Linear Sweep Voltammetry menu can be found by clicking on the item in the Figure to the right.


Linear Sweep Voltammetry Analysis Pages

The standard Linear Sweep Voltammetry analysis contains the following pages at startup:

Chart

The Chart page is the heart of the Linear Sweep Voltammetry analysis. It contains the data plotted in a Voltage versus Current format.

Experimental Setup

The Experimental Setup page contains a list of the parameters used to acquire the data presented on the Chart page.

Experimental Notes

The Experimental Notes are the notes entered by the user prior to the data acquisition. The Notes can be edited in the analysis, and saved with the changes to an analysis data file.

Hardware Settings

The Hardware Settings Page contains all of the potentiostat settings used during the run of the experiment.

Additional Pages Which May Become Visible

Integration

This page contains a grid of integrated regions which were defined using the Integrate command.

Quick Integration

This page contains a grid of integration values based on different sections in visible traces based on the most recent use of the Quick Integrate command.

Min/Max

This page contains a grid of minimum and maximum values of each visible trace based on the most recent use of the Min/Max command.

Peak Locations

This page contains a grid of Peak locations and magnitudes based on the most recent use of the Peak Find command.


Library Routines: PHE200

The PHE200 uses functions and classes that are specifically designed for Research Electrochemistry measurements. These include double step signals for Chrono techniques, as well as curves for Chrono techniques and Cyclic Voltammetry.

The following items are described in this section.

Curve Classes

  • CHRONOA
  • CHRONOC
  • CHRONOP
  • RCV

Signal Classes

    • VDSTEP
    • IDSTEP
    • VRUPDN
    • IRUPDN


CHRONOA

Type: CLASS

Purpose: The CHRONOA class manages data acquisition for a ChronoAmperometry curve. There may be more than one data acquisition object in a script, but only one may be running (i.e. acquiring values) at any time. The typical life cycle of a ChronoA object is:

ChronoA = CHRONOA.New(Tag, Pstat) ; Create the ChronoA
ChronoA.SetPlot(Plottype) ; Determine the plot type
ChronoA.Run() ; Run the curve
ChronoA.Printl() ; Print the curve out to Output

When a ChronoA object is run, the potentiostat must be in a Potentiostatic mode.


CHRONOC

Type: CLASS

Purpose: The CHRONOC class manages data acquisition for a ChronoCoulometry curve. There may be more than one data acquisition object in a script, but only one may be running (i.e. acquiring values) at any time. The typical life cycle of a ChronoC object is:

ChronoC = CHRONOC.New(Tag, Pstat) ; Create the ChronoC
ChronoC.SetPlot(Plottype) ; Determine the plot type
ChronoC.Run() ; Run the curve
ChronoC.Printl() ; Print the curve out to Output

When a ChronoC object is run, the potentiostat must be in a Potentiostatic mode.


CHRONOP

Type: CLASS

Purpose: The CHRONOP class manages data acquisition for a ChronoPotentiometry curve. There may be more than one data acquisition object in a script, but only one may be running (i.e. acquiring values) at any time. The typical life cycle of a ChronoP object is:

ChronoP = CHRONOP.New(Tag, Pstat) ; Create the ChronoP
ChronoP.SetPlot(Plottype) ; Determine the plot type
ChronoP.Run() ; Run the curve
ChronoP.Printl() ; Print the curve out to Output

When a ChronoP object is run, the potentiostat must be in a Galvanostatic mode.


RCV

Type: CLASS

Purpose: The RCV class manages data acquisition for a Cyclic Voltammetry curve. There may be more than one data acquisition object in a script, but only one may be running (i.e. acquiring values) at any time. The typical life cycle of a Rcv object is:

Rcv = RCV.New(Tag, Pstat) ; Create the Rcv
Rcv.SetPlot(Plottype) ; Determine the plot type
Rcv.Run() ; Run the curve
Rcv.Printl() ; Print the curve out to Output

When a Rcv object is run, the potentiostat must be in a Potentiostatic mode.


VDSTEP

Type: Class

Purpose: The VDSTEP class describes a three part voltage step waveform which can be applied by a potentiostat while in the Potentiostat mode. The Vdstep object encapsulates information about the initial, second, and final voltages, the elapsed times at each voltage, and the data acquisition rate. Most of the activity associated with the Vdstep happens in the background while a ChronoA.Run() or ChronoC.Run() is being executed.

If a the Skip button is "pressed" during the initial or second phase of the run, the Vstep signal generator will advance to the next phase. If the Skip button is pressed during the final phase, the Curve.Run() will be prematurely ended.


IDSTEP

Type: Class

Purpose: The IDSTEP class describes a three part current step waveform which can be applied by a potentiostat while in the Galvanostat mode. The Idstep object encapsulates information about the initial, step 1, and final currents, the elapsed times at each current, and the data acquisition rate. Most of the activity associated with the Idstep happens in the background while a ChronoP.Run() is being executed.

The current range used for the IDSTEP signal generator is selected from the larger absolute current in the waveform. The current range is fixed throughout the scan. The program does the best it can to hit the lower current using the current range in use. Generally the smaller current is only imprecise if it differs from the first by several orders of magnitude.

If the Skip button is "pressed" during the initial or second phase of the run, the Idstep signal generator will advance to the next phase. If the Skip button is pressed during the final phase, the Curve.Run() will be prematurely ended.


VRUPDN

Type: Class

Purpose: The VRUPDN class describes a tri-voltage ramp waveform which can be applied by a potentiostat while in the Potentiostat mode. The voltage is ramped from an initial voltage to an apex 1 voltage, then to an apex 2 voltage and back again to a final voltage. Vrupdn is normally used for Cyclic Voltammetry scans. The object encapsulates information about the initial, apex and final voltages, the ramp rates, and the data acquisition rate.

VRUPDN uses a staircase waveform. Data is sampled at each level on the staircase.

If the Skip button is "pressed" during the initial, or second phase of the run, the Vrupdn signal generator will advance to the next phase. If the Skip button is pressed during the final phase, the Curve.Run() will be prematurely ended.


IRUPDN

Type: Class

Purpose: The IRUPDN class describes a tri-slope current ramp waveform which can be applied by a potentiostat while in the Galvanostat mode. The current is ramped from an initial current to an apex 1 current, to an apex 2 current, and back again to a final current. Irupdn objects are normally used for cyclic scans. The object encapsulates information about the initial, apex and final currents, the ramp rates, and the data acquisition rate.

The current range used for the Irupdn signal generator is selected from the largest absolute current limit (Initial, Final, Apex) in the waveform. The current range is fixed throughout the scan. The program does the best it can to hit lower current limits using the current range in use. Generally the smaller limits are only imprecise if they differ from the first by several orders of magnitude.

Irupdn objects use a staircase waveform. Data is sampled at each level on the staircase.

If the Skip button is "pressed" during the initial or second phase of the run, the Irupdn signal generator will advance to the next phase. If the Skip button is pressed during the final phase, the Curve.Run() will be prematurely ended.


ChronoA.Activate()

Type: INSTANCE FUNCTION

Purpose: Make the real time plot of the ChronoA object the Active plot. If the Runner window Curve List control is set to Active, the plot will be displayed. If the Runner window Curve List is set to a definite curve, the display does not change.

Usage:

ChronoA.Activate()


ChronoA.Count()

Type: INSTANCE FUNCTION

Purpose: Return the number of points actually acquired in a CHRONOA object. The number returned is not the number of points allocated.

Usage:

NumPoints = ChronoA.Count()

NumPoints

INDEX

The number of points in the CHRONOA object. Zero is returned if no data has been acquired yet.


ChronoA.DataCol()

Type: INSTANCE FUNCTION

Purpose: Create and return an object of the class DATACOL. The object contains data extracted from one column of the CHRONOA object's data array. The data, once extracted, can then be submitted to other objects for further calculation. For example, a LINFIT object performs a linear regression analysis on two DATACOL objects.

A new DATACOL object is automatically created by the call to CHRONOA.DataCol(). It is usually transient, existing only for one function call.

Usage:

DataCol = ChronoA.DataCol(ColumnCode)
DataCol | DATACOL | The new object containing the data extracted from the CHRONOA data array.
ColumnCode | INDEX | A code identifying the column to be used.
 |  | 0 = Time
 |  | 1 = Applied Voltage
 |  | 2 = Uncompensated Voltage
 |  | 3 = Measured Current
 |  | 4 = Signal sent to Control Amp
 |  | 5 = Measured Aux Channel Voltage
 |  | 6 = I/E Range used
 |  | 7 = Overloads
 |  | Or use the predefined constants:
 |  | CHRONOA_T = Time
 |  | CHRONOA_Vf = Applied Voltage
 |  | CHRONOA_Vu = Uncompensated Voltage
 |  | CHRONOA_Im = Measured Current
 |  | CHRONOA_Sig = Signal sent to Control Amp
 |  | CHRONOA_Ach = Measured Aux Channel Voltage
 |  | CHRONOC_IERange = I/E Range Used
 |  | CHRONOA_Over = Overloads


ChronoA.DataValue()

Type: INSTANCE FUNCTION

Purpose: Extract a single data item from a CHRONOA object. The data item is taken from the ith data point and the jth data column. If no data has been taken the returned value is NIL.

Usage:

DataValue = ChronoA.DataValue(PointNum,ColNumber)
Result | REAL | The returned value.
 | NIL | No data acquired yet.
PointNum | INDEX | Point number, zero based. If PointNum is out of range, a value from the last acquired point is returned.
 | NIL | Always return a value from the last acquired point.
ColNumber | INDEX | Data column, with a range of 0 to 5. The meaning of the data in each column is given in the ChronoA.DataCol()description.


CHRONOA.New()

Type: CLASS FUNCTION

Purpose: Create a ChronoA object. The data array is sized according to the signal generator used.

Usage:

ChronoA = CHRONOA.New(Tag, Pstat)
Tag | STRING | Curve tag for data output. Used to label the file
Pstat | Object | Pstat is an object with a PSTAT license
ChronoA | CHRONOA | The curve object


ChronoA.Printl()

Type: INSTANCE FUNCTION

Purpose: Print the results of a ChronoA experiment out to the Output file. The Output record will be printed in the format:

Tag <tab> "TABLE" <tab> Points

<tab> "Pt" <tab> "T" <tab> "Vf" <tab> "Im" <tab> "Vu" <tab> "Sig" <tab>"Ach" <tab> "Over"
<tab> "#" <tab> "s" <tab> "V" <tab> "A" <tab> "V" <tab> "V" <tab>"V" <tab> "bits"
<tab> Pt1 T V I V V V Flags
<tab> Pt2 T V I V V V Flags
...
<tab> PtN T V I V V V Flags

Where the symbols have the following meanings:

Tag | The curve Tag (from CHRONOA.New() or optional argument)
Points | Total number of points acquired
Pt(#) | Sequential number of a point.
T | Elapsed time from starting from ChronoA.Run
Vf | Applied Voltage vs Eref.
Im | Measured cell current.
Vu | Uncompensated Voltage
Sig | Signal sent to Control Amp
Ach | Aux Channel Voltage
Over | Overload flags

Usage:

ChronoA.Printl(Tag)

Tag

STRING

Optional. Used to print a different Tag than the one used in the call to CHRONOA.New()


ChronoA.Run()

Type: INSTANCE FUNCTION

Purpose: Run the curve. When ChronoA.Run() is executed, the acquired data is displayed in a real-time curve. There are four buttons active during ChronoA.Run() - Abort, Pause/Continue, Skip, and Point. The Abort button terminates the entire experiment. The Skip button skips to the next phase of the experiment, either past the end of this curve or to the next region of the signal generator's operation.

The active run can be halted in several ways, namely: if the signal generator is finished, if the operator hits a Skip button, or if one of the stopping criteria is met. These stopping criteria can be enabled or disabled using the ChronoA.Thresh() and ChronoA.StopAt() functions.

Usage:

Result = ChronoA.Run()
Result | INDEX | 0 = Normal finish or Skip button pushed
 |  | 1 = Stop due to Under Criterion ( I < Imax )
 |  | 2 = Stop due to Over Criterion ( I > Imin )
 |  | 3 = Stop due to stable (abs(dI/dt < limit)
 |  | 4 = Stop due to runaway (abs(dI/dt > limit)
 |  | 5 = Stop due to decreasing ( dI/dt < limit)
 |  | 6 = Stop due to increasing ( dI/dt > limit)


ChronoA.SetAxis()

Type: INSTANCE FUNCTION

Purpose: Helps to define the real time display of a CHRONOA object. Associates an axis with a data column in the object. Controls linear/log display formatting and allows labeling of the axis.

You must call ChronoA.SetAxis for each of the axes in the real time plot. For a Y and Y' versus X plot you need 3 calls to ChronoA.SetAxis().

Usage:

ChronoA.SetAxis(AxisNo, Source, Scale, MinVal, Label, Units)
AxisNo | INDEX | Use the constants below to define which axis is being configured.
 |  | X_AXIS | X axis
 |  | Y_AXIS | Y axis (Y vs X plot) or Lower Y (Y, Y' vs X)
 |  | Z_AXIS | Upper Y axis (Y, Y' vs X only)
Source | INDEX | The column number containing the data to be plotted or use the predefined constants defined in ChronoA.DataCol() .
Scale | INDEX | LIN_AXIS | The axis is linear
 |  | LOG_AXIS | The axis is log
MinVal | REAL | Minimum value used in prevention of "ugly" plot scaling. MinVal is used differently depending on Scale setting. On a linear axis, this is the minimum resolution of the plot. The range of values shown on the axis cannot be smaller than MinVal. This prevents excessively fine scaling when plotting data where all the values are identical or very similar. On a log axis, this value is substituted for 0's in the data. This prevents infinite log values.
Label | STRING | The label used for the axis. Short names (one or two character labels are preferred).
Units | STRING | The units used for the axis. Short names (one or two character labels are preferred).


ChronoA.SetDecimation()

Type: INSTANCE FUNCTION

Purpose: Used to allow for a log-time display during the Chrono experiment. There are settings which can specify the number of non-decimated points prior to and after the actual step.

Usage:

ChronoA.SetDecimation(Decimation, PreStep, PostStep)
Decimation | BOOL | Boolean indicating whether or not the data will be decimated or not.
PreStep | INDEX | The number of data points to show in an undecimated format prior to the step.
PostStep | INDEX | The number of data points to show in an undecimated format after the step


ChronoA.SetPlot()

Type: INSTANCE FUNCTION

Purpose: Format the real time display using the SetPlotView and Set Axis functions.

Usage:

ChronoA.SetPlot(View, MinI, MinV, MinT)
View | INDEX | 0 = V vs I
 |  | 1 = Log V vs I
 |  | 2 = I vs T, E vs T
 |  | Or use the predefined constants:
 |  | CHRONOA_LINIV
 |  | CHRONOA_LOGIV
 |  | CHRONOA_ITVT
MinI | REAL | Minimum current value to display (optional)
MinV | REAL | Minimum voltage value to display (optional)
MinT | REAL | Minimum time value to display (optional)


ChronoA.SetPlotView()

Type: INSTANCE FUNCTION

Purpose: Set the number of graphs displayed in the real time display.

Usage:

ChronoA.SetPlotView(Format)
Format | INDEX | 0 = No Graph Displayed
 |  | 1 = Single Graph Displayed
 |  | 2 = Two Graphs displayed
 |  | Or use the predefined constants:
 |  | VIEW_NONE
 |  | VIEW_SINGLE
 |  | VIEW_DOUBLE


ChronoA.SetTitle()

Type: INSTANCE FUNCTION

Purpose: Set the current title of the curve.

Usage:

ChronoA.SetTitle(Title)

Title

STRING

A string representing the new title that the curve should use.


ChronoA.Sprint()

Type: INSTANCE FUNCTION

Purpose: Print the status of the ChronoA to a string. The object's tag and last acquired data point will be printed in the format:

Tag,PointNumber

Usage:

Result = ChronoA.Sprint()

Result

STRING

Resulting tag & point number (0 based).


ChronoA.SprintPoint()

Type: INSTANCE FUNCTION

Purpose: Used in output of data from a CHRONOA object. A data point from the object is printed to an ASCII string. This string can in turn be printed to the active output file.

The format of the data string is:

PointNumber <tab> T <tab> Vf <tab> Vu <tab> Im <tab> Sig <tab> Ach <tab> Over

You can use this function along with the Printl() function to output point i to the output file as follows:

Printl("\t",ChronoA.SprintPoint(i))

USAGE:

Result = ChronoA.SprintPoint(PointNumber)
Result | STRING | The output string
PointNumber | INDEX | The point to be printed. PointNumber is 0 based. If the requested point has not been taken, a parameter error will be issued.
T | REAL | Elapsed time from starting from ChronoA.Run
Vf | REAL | Applied E vs Eref.
Im | REAL | Measured cell current.
Vu | REAL | Uncompensated Voltage
Sig | REAL | Signal sent to Control Amp
Ach | REAL | Aux Channel Voltage
Over | STRING | Hexadecimal number representing overload status


ChronoA.StopAt()

Type: INSTANCE FUNCTION

Purpose: Enable or disable the ChronoA termination limits. There are 2 limiting conditions on which a curve may prematurely terminate:

1. | Under | I < Limit
2. | Over | I > Limit

The Over criterion is used to limit a positive current swing. The Under criterion limits a negative current swing.

These conditions may be individually enabled and disabled.

Usage:

ChronoA.StopAt(Under, Over)
Under | REAL | Enable the Under test and set value
 | NIL | Disable the Under test
Over | REAL | Enable the Over test and set value
 | NIL | Disable the Over test


ChronoA.StopAtDelay()

Type: INSTANCE FUNCTION

Purpose: Used to avoid premature stopping of a curve because of noise creating a false reading for a StopAt test. Requires StopAt criterion be met for a number of data points (N) before the curve stops. The parameter N can be individually set for each StopAt test.

For absolute tests, such as I > Limit, the criterion must be met for N points consecutively before the criterion will be accepted. One point missing the criterion limit resets the N point counter.

Usage:

ChronoA.StopAtDelay(Under, Over)
Under | INDEX | Delay for this number of points
 | NIL | Only one point required
Over | INDEX | Delay for this number of points
 | NIL | Only one point required


ChronoA.Thresh()

Type: INSTANCE FUNCTION

Purpose: Setup threshold conditions which must be met before ChronoA.StopAt() tests will be performed. Once any of the threshold tests is met, the StopAt criteria are evaluated for the rest of the scan. There are six threshold tests that you can perform:

1. | IMin | I < I_MinThresh
2. | IMax | I > I_MaxThresh
3. | EMin | E < E_MinThresh
4. | EMax | E > E_MaxThresh
5. | Tmin | T < T_MinThresh
6. | Tmax | T > T_MinThresh

Threshold tests allow you to tune the StopAt tests more carefully. For example, you can avoid a premature experiment termination due to an initial transient.

In general you will only enable one of the threshold tests. The others will be turned off by a NIL argument in the function call.

Note that any threshold test starts all StopAt tests. Also once StopAt testing is enabled, it is never disabled, even if the Threshold test that enabled it is not longer valid.

Usage:

ChronoA.Thresh(IMin, IMax, EMin, EMax, TMin, TMax)
IMin | REAL | Enable StopAt if I < IMin
 | NIL | Disable this test
IMax | REAL | Enable StopAt if I > IMax
 | NIL | Disable this test
EMin | REAL | Enable StopAt if E < EMin
 | NIL | Disable this test
EMax | REAL | Enable StopAt if E > EMax
 | NIL | Disable this test
TMin | REAL | Enable StopAt if T < TMin
 | NIL | Disable this test
TMax | REAL | Enable StopAt if T > TMax
 | NIL | Disable this test


ChronoA.Title()

Type: INSTANCE FUNCTION

Purpose: Return the current title of the curve.

Usage:

Title = ChronoA.Title()

Title

STRING

The current title of the curve.


ChronoC.Activate()

Type: INSTANCE FUNCTION

Purpose: Make the real time plot of the ChronoC object the Active plot. If the Runner window Curve List control is set to Active, the plot will be displayed. If the Runner window Curve List is set to a definite curve, the display does not change.

Usage:

ChronoC.Activate()


ChronoC.Count()

Type: INSTANCE FUNCTION

Purpose: Return the number of points actually acquired in a CHRONOC object. The number returned is not the number of points allocated.

Usage:

NumPoints = ChronoC.Count()

NumPoints

INDEX

The number of points in the CHRONOC object. Zero is returned if no data has been acquired yet.


ChronoC.DataCol()

Type: INSTANCE FUNCTION

Purpose: Create and return an object of the class DATACOL. The object contains data extracted from one column of the CHRONOC object's data array. The data, once extracted, can then be submitted to other objects for further calculation. For example, a LINFIT object performs a linear regression analysis on two DATACOL objects.

A new DATACOL object is automatically created by the call to CHRONOC.DataCol(). It is usually transient, existing only for one function call.

Usage:

DataCol = ChronoC.DataCol(ColumnCode)
DataCol | DATACOL | The new object containing the data extracted from the CHRONOC data array.
ColumnCode | INDEX | A code identifying the column to be used.
 |  | 0 = Time
 |  | 1 = Accumulated Charge
 |  | 2 = Applied Voltage
 |  | 3 = Uncompensated Voltage
 |  | 4 = Measured Current
 |  | 5 = Signal sent to Control Amp
 |  | 6 = Measured Aux Channel Voltage
 |  | 7 = I/E Range used
 |  | 8 = Overloads
 |  | Or use the predefined constants:
 |  | CHRONOC_T = Time
 |  | CHRONOC_Q = Accumulated Charge
 |  | CHRONOC_Vf = Applied Voltage
 |  | CHRONOC_Vu = Uncompensated Voltage
 |  | CHRONOC_Im = Measured Current
 |  | CHRONOC_Sig = Signal sent to Control Amp
 |  | CHRONOC_Ach = Measured Aux Channel Voltage
 |  | CHRONOC_IERange = I/E Range Used
 |  | CHRONOC_Over = Overloads


ChronoC.DataValue()

Type: INSTANCE FUNCTION

Purpose: Extract a single data item from a CHRONOC object. The data item is taken from the ith data point and the jth data column. If no data has been taken the returned value is NIL.

Usage:

DataValue = ChronoC.DataValue(PointNum,ColNumber)
Result | REAL | The returned value.
 | NIL | No data acquired yet.
PointNum | INDEX | Point number, zero based. If PointNum is out of range, a value from the last acquired point is returned.
 | NIL | Always return a value from the last acquired point.
ColNumber | INDEX | Data column, with a range of 0 to 6. The meaning of the data in each column is given in the ChronoC.DataCol()description.


CHRONOC.New()

Type: CLASS FUNCTION

Purpose: Create a ChronoC object. The data array is sized according to the signal generator used.

Usage:

ChronoC = CHRONOC.New(Tag, Pstat)
Tag | STRING | Curve tag for data output. Used to label the file
Pstat | Object | Pstat is an object with a PSTAT license
ChronoC | CHRONOC | The curve object


ChronoC.Printl()

Type: INSTANCE FUNCTION

Purpose: Print the results of a ChronoC experiment out to the Output file. The Output record will be printed in the format:

Tag <tab> "TABLE" <tab> Points

<tab> "Pt" <tab> "T" <tab> "Q" <tab> "Vf" <tab> "Im" <tab> "Vu" <tab> "Sig" <tab>"Ach" <tab> "Over"
<tab> "#" <tab> "s" <tab> "C" <tab> "V" <tab> "A" <tab> "V" <tab> "V" <tab>"V" <tab> "bits"
<tab> Pt1 T Q V I V V V Flags
<tab> Pt2 T Q V I V V V Flags
...
<tab> PtN T Q V I V V V Flags

Where the symbols have the following meanings:

Tag | The curve Tag (from CHRONOC.New() or optional argument)
Points | Total number of points acquired
Pt(#) | Sequential number of a point.
T | Elapsed time from starting from ChronoC.Run
Q | Accumulated Charge
Vf | Applied Voltage vs Eref.
Im | Measured cell current.
Vu | Uncompensated Voltage
Sig | Signal sent to Control Amp
Ach | Aux Channel Voltage
Over | Overload flags

Usage:

ChronoC.Printl(Tag)

Tag

STRING

Optional. Used to print a different Tag than the one used in the call to CHRONOC.New()


ChronoC.Run()

Type: INSTANCE FUNCTION

Purpose: Run the curve. When ChronoC.Run() is executed, the acquired data is displayed in a real-time curve. There are four buttons active during ChronoC.Run() - Abort, Pause/Continue, Skip, and Point. The Abort button terminates the entire experiment. The Skip button skips to the next phase of the experiment, either past the end of this curve or to the next region of the signal generator's operation.

The active run can be halted in several ways, namely: if the signal generator is finished, if the operator hits a Skip button, or if one of the stopping criteria is met. These stopping criteria can be enabled or disabled using the ChronoC.Thresh() and ChronoC.StopAt() functions.

Usage:

Result = ChronoC.Run()
Result | INDEX | 0 = Normal finish or Skip button pushed
 |  | 1 = Stop due to Under Criterion ( Q < Qmin )
 |  | 2 = Stop due to Over Criterion ( Q > Qmax)
 |  | 3 = Stop due to stable (abs(dQ/dt < limit)
 |  | 4 = Stop due to runaway (abs(dQ/dt > limit)
 |  | 5 = Stop due to decreasing ( dQ/dt < limit)
 |  | 6 = Stop due to increasing ( dQ/dt > limit)


ChronoC.SetAxis()

Type: INSTANCE FUNCTION

Purpose: Helps to define the real time display of a CHRONOC object. Associates an axis with a data column in the object. Controls linear/log display formatting and allows labeling of the axis.

You must call ChronoC.SetAxis for each of the axes in the real time plot. For a Y and Y' versus X plot you need 3 calls to ChronoC.SetAxis().

Usage:

ChronoC.SetAxis(AxisNo, Source, Scale, MinVal, Label, Units)
AxisNo | INDEX | Use the constants below to define which axis is being configured.
 |  | X_AXIS | X axis
 |  | Y_AXIS | Y axis (Y vs X plot) or Lower Y (Y, Y' vs X)
 |  | Z_AXIS | Upper Y axis (Y, Y' vs X only)
Source | INDEX | The column number containing the data to be plotted or use the predefined constants defined in ChronoC.DataCol() .
Scale | INDEX | LIN_AXIS | The axis is linear
 |  | LOG_AXIS | The axis is log
MinVal | REAL | Minimum value used in prevention of "ugly" plot scaling. MinVal is used differently depending on Scale setting. On a linear axis, this is the minimum resolution of the plot. The range of values shown on the axis cannot be smaller than MinVal. This prevents excessively fine scaling when plotting data where all the values are identical or very similar. On a log axis, this value is substituted for 0's in the data. This prevents infinite log values.
Label | STRING | The label used for the axis. Short names (one or two character labels are preferred).
Units | STRING | The units used for the axis. Short names (one or two character labels are preferred).


ChronoC.SetDecimation()

Type: INSTANCE FUNCTION

Purpose: Used to allow for a log-time display during the Chrono experiment. There are settings which can specify the number of non-decimated points prior to and after the actual step.

Usage:

ChronoC.SetDecimation(Decimation, PreStep, PostStep)
Decimation | BOOL | Boolean indicating whether or not the data will be decimated or not.
PreStep | INDEX | The number of data points to show in an undecimated format prior to the step.
PostStep | INDEX | The number of data points to show in an undecimated format after the step


ChronoC.SetPlot()

Type: INSTANCE FUNCTION

Purpose: Format the real time display using the SetPlotView and Set Axis functions.

Usage:

ChronoC.SetPlot(View, MinI, MinV, MinT)
View | INDEX | 0 = Q vs V
 |  | 1 = Log Q vs V
 |  | 2 = Q vs T, E vs T
 |  | Or use the predefined constants:
 |  | CHRONOC_LINQV
 |  | CHRONOC_LOGQV
 |  | CHRONOC_QTVT
MinI | REAL | Minimum current value to display (optional)
MinV | REAL | Minimum voltage value to display (optional)
MinT | REAL | Minimum time value to display (optional)


ChronoC.SetPlotView()

Type: INSTANCE FUNCTION

Purpose: Set the number of graphs displayed in the real time display.

Usage:

ChronoC.SetPlotView(Format)
Format | INDEX | 0 = No Graph Displayed
 |  | 1 = Single Graph Displayed
 |  | 2 = Two Graphs displayed
 |  | Or use the predefined constants:
 |  | VIEW_NONE
 |  | VIEW_SINGLE
 |  | VIEW_DOUBLE


ChronoC.SetTitle()

Type: INSTANCE FUNCTION

Purpose: Set the current title of the curve.

Usage:

ChronoC.SetTitle(Title)

Title

STRING

A string representing the new title that the curve should use.


ChronoC.Sprint()

Type: INSTANCE FUNCTION

Purpose: Print the status of the ChronoC to a string. The object's tag and last acquired data point will be printed in the format:

Tag,PointNumber

Usage:

Result = ChronoC.Sprint()

Result

STRING

Resulting tag & point number (0 based).


ChronoC.SprintPoint()

Type: INSTANCE FUNCTION

Purpose: Used in output of data from a CHRONOC object. A data point from the object is printed to an ASCII string. This string can in turn be printed to the active output file.

The format of the data string is:

PointNumber <tab> T <tab> Q <tab> Vf <tab> Vu <tab> Im <tab> Sig <tab> Ach <tab> Over

You can use this function along with the Printl() function to output point i to the output file as follows:

Printl("\t",ChronoC.SprintPoint(i))

USAGE:

Result = ChronoC.SprintPoint(PointNumber)
Result | STRING | The output string
PointNumber | INDEX | The point to be printed. PointNumber is 0 based. If the requested point has not been taken, a parameter error will be issued.
T | REAL | Elapsed time from starting from ChronoC.Run
Q | REAL | Accumulated Current
Vf | REAL | Applied E vs Eref.
Im | REAL | Measured cell current.
Vu | REAL | Uncompensated Voltage
Sig | REAL | Signal sent to Control Amp
Ach | REAL | Aux Channel Voltage
Over | STRING | Hexadecimal number representing overload status


ChronoC.StopAt()

Type: INSTANCE FUNCTION

Purpose: Enable or disable the ChronoC termination limits. There are 2 limiting conditions on which a curve may prematurely terminate:

1. | Under | Q < Limit
2. | Over | Q > Limit

The Over criterion is used to limit a positive charge. The Under criterion limits a negative charge.

These conditions may be individually enabled and disabled.

Usage:

ChronoC.StopAt(Under, Over)
Under | REAL | Enable the Under test and set value
 | NIL | Disable the Under test
Over | REAL | Enable the Over test and set value
 | NIL | Disable the Over test


ChronoC.StopAtDelay()

Type: INSTANCE FUNCTION

Purpose: Used to avoid premature stopping of a curve because of noise creating a false reading for a StopAt test. Requires StopAt criterion be met for a number of data points (N) before the curve stops. The parameter N can be individually set for each StopAt test.

For absolute tests, such as Q > Limit, the criterion must be met for N points consecutively before the criterion will be accepted. One point missing the criterion limit resets the N point counter.

Usage:

ChronoC.StopAtDelay(Under, Over)
Under | INDEX | Delay for this number of points
 | NIL | Only one point required
Over | INDEX | Delay for this number of points
 | NIL | Only one point required


ChronoC.Thresh()

Type: INSTANCE FUNCTION

Purpose: Setup threshold conditions which must be met before ChronoC.StopAt() tests will be performed. Once any of the threshold tests is met, the StopAt criteria are evaluated for the rest of the scan. There are six threshold tests that you can perform:

1. | IMin | I < I_MinThresh
2. | IMax | I > I_MaxThresh
3. | EMin | E < E_MinThresh
4. | EMax | E > E_MaxThresh
5. | Tmin | T < T_MinThresh
6. | Tmax | T > T_MinThresh

Threshold tests allow you to tune the StopAt tests more carefully. For example, you can avoid a premature experiment termination due to an initial transient.

In general you will only enable one of the threshold tests. The others will be turned off by a NIL argument in the function call.

Note that any threshold test starts all StopAt tests. Also once StopAt testing is enabled, it is never disabled, even if the Threshold test that enabled it is not longer valid.

Usage:

ChronoC.Thresh(QMin, QMax, EMin, EMax, TMin, TMax)
QMin | REAL | Enable StopAt if Q < QMin
 | NIL | Disable this test
QMax | REAL | Enable StopAt if Q > QMax
 | NIL | Disable this test
EMin | REAL | Enable StopAt if E < EMin
 | NIL | Disable this test
EMax | REAL | Enable StopAt if E > EMax
 | NIL | Disable this test
TMin | REAL | Enable StopAt if T < TMin
 | NIL | Disable this test
TMax | REAL | Enable StopAt if T > TMax
 | NIL | Disable this test


ChronoC.Title()

Type: INSTANCE FUNCTION

Purpose: Return the current title of the curve.

Usage:

Title = ChronoC.Title()

Title

STRING

The current title of the curve.


ChronoP.Activate()

Type: INSTANCE FUNCTION

Purpose: Make the real time plot of the ChronoP object the Active plot. If the Runner window Curve List control is set to Active, the plot will be displayed. If the Runner window Curve List is set to a definite curve, the display does not change.

Usage:

ChronoP.Activate()


ChronoP.Count()

Type: INSTANCE FUNCTION

Purpose: Return the number of points actually acquired in a CHRONOP object. The number returned is not the number of points allocated.

Usage:

NumPoints = ChronoP.Count()

NumPoints

INDEX

The number of points in the CHRONOP object. Zero is returned if no data has been acquired yet.


ChronoP.DataCol()

Type: INSTANCE FUNCTION

Purpose: Create and return an object of the class DATACOL. The object contains data extracted from one column of the CHRONOP object's data array. The data, once extracted, can then be submitted to other objects for further calculation. For example, a LINFIT object performs a linear regression analysis on two DATACOL objects.

A new DATACOL object is automatically created by the call to CHRONOP.DataCol(). It is usually transient, existing only for one function call.

Usage:

DataCol = ChronoP.DataCol(ColumnCode)
DataCol | DATACOL | The new object containing the data extracted from the CHRONOP data array.
ColumnCode | INDEX | A code identifying the column to be used.
 |  | 0 = Time
 |  | 1 = Measured Voltage
 |  | 2 = Uncompensated Voltage
 |  | 3 = Measured Current
 |  | 4 = Signal sent to Control Amp
 |  | 5 = Measured Aux Channel Voltage
 |  | 6 = I/E Range used
 |  | 7 = Overloads
 |  | Or use the predefined constants:
 |  | CHRONOP_T = Time
 |  | CHRONOP_Vf = Measured Voltage
 |  | CHRONOP_Vu = Uncompensated Voltage
 |  | CHRONOP_Im = Applied Current
 |  | CHRONOP_Sig = Signal sent to Control Amp
 |  | CHRONOP_Ach = Measured Aux Channel Voltage
 |  | CHRONOC_IERange = I/E Range Used
 |  | CHRONOC_Over = Overloads


ChronoP.DataValue()

Type: INSTANCE FUNCTION

Purpose: Extract a single data item from a CHRONOP object. The data item is taken from the ith data point and the jth data column. If no data has been taken the returned value is NIL.

Usage:

DataValue = ChronoP.DataValue(PointNum,ColNumber)
Result | REAL | The returned value.
 | NIL | No data acquired yet.
PointNum | INDEX | Point number, zero based. If PointNum is out of range, a value from the last acquired point is returned.
 | NIL | Always return a value from the last acquired point.
ColNumber | INDEX | Data column, with a range of 0 to 5. The meaning of the data in each column is given in the ChronoP.DataCol()description.


CHRONOP.New()

Type: CLASS FUNCTION

Purpose: Create a ChronoP object. The data array is sized according to the signal generator used.

Usage:

ChronoP = CHRONOP.New(Tag, Pstat)
Tag | STRING | Curve tag for data output. Used to label the file
Pstat | Object | Pstat is an object with a PSTAT license
ChronoP | CHRONOP | The curve object


ChronoP.Printl()

Type: INSTANCE FUNCTION

Purpose: Print the results of a ChronoP experiment out to the Output file. The Output record will be printed in the format:

Tag <tab> "TABLE" <tab> Points

<tab> "Pt" <tab> "T" <tab> "Vf" <tab> "Im" <tab> "Vu" <tab> "Sig" <tab>"Ach" <tab> "Over"
<tab> "#" <tab> "s" <tab> "V" <tab> "A" <tab> "V" <tab> "V" <tab>"V" <tab> "bits"
<tab> Pt1 T V I V V V Flags
<tab> Pt2 T V I V V V Flags
...
<tab> PtN T V I V V V Flags

Where the symbols have the following meanings:

Tag | The curve Tag (from CHRONOP.New() or optional argument)
Points | Total number of points acquired
Pt(#) | Sequential number of a point.
T | Elapsed time from starting from ChronoP.Run
Vf | Measured Voltage
Im | Applied cell current.
Vu | Uncompensated Voltage
Sig | Signal sent to Control Amp
Ach | Aux Channel Voltage
Over | Overload flags

Usage:

ChronoP.Printl(Tag)

Tag

STRING

Optional. Used to print a different Tag than the one used in the call to CHRONOP.New()


ChronoP.Run()

Type: INSTANCE FUNCTION

Purpose: Run the curve. When ChronoP.Run() is executed, the acquired data is displayed in a real-time curve. There are four buttons active during ChronoP.Run() - Abort, Pause/Continue, Skip, and Point. The Abort button terminates the entire experiment. The Skip button skips to the next phase of the experiment, either to the end of the curve or to the next region of the signal generator's operation.

The active run can be halted in several ways 1) when the signal generator is finished, 2) if the operator hits a Skip Button, or 3) if one of the stopping criteria is met. The stopping criteria can be enabled or disabled using the ChronoP.Threshold() and ChronoP.StopAt functions.

Usage:

Result = ChronoP.Run()
Result | INDEX | 0 = Normal finish or Skip button pushed
 |  | 1 = Stop due to Under Criterion ( E < Emax )
 |  | 2 = Stop due to Over Criterion ( E > Emin )
 |  | 3 = Stop due to stable (abs(dE/dt < limit)
 |  | 4 = Stop due to runaway (abs(dE/dt > limit)
 |  | 5 = Stop due to decreasing ( dE/dt < limit)
 |  | 6 = Stop due to increasing ( dE/dt > limit)


ChronoP.SetAxis()

Type: INSTANCE FUNCTION

Purpose: Helps to define the real time display of a CHRONOP object. Associates an axis with a data column in the object. Controls linear/log display formatting and allows labeling of the axis.

You must call ChronoP.SetAxis for each of the axes in the real time plot. For a Y and Y' versus X plot you need 3 calls to ChronoP.SetAxis().

Usage:

ChronoP.SetAxis(AxisNo, Source, Scale, MinVal, Label, Units)
AxisNo | INDEX | Use the constants below to define which axis is being configured.
 |  | X_AXIS | X axis
 |  | Y_AXIS | Y axis (Y vs X plot) or Lower Y (Y, Y' vs X)
 |  | Z_AXIS | Upper Y axis (Y, Y' vs X only)
Source | INDEX | The column number containing the data to be plotted or use the predefined constants defined in ChronoP.DataCol() .
Scale | INDEX | LIN_AXIS | The axis is linear
 |  | LOG_AXIS | The axis is log
MinVal | REAL | Minimum value used in prevention of "ugly" plot scaling. MinVal is used differently depending on Scale setting. On a linear axis, this is the minimum resolution of the plot. The range of values shown on the axis cannot be smaller than MinVal. This prevents excessively fine scaling when plotting data where all the values are identical or very similar. On a log axis, this value is substituted for 0's in the data. This prevents infinite log values.
Label | STRING | The label used for the axis. Short names (one or two character labels are preferred).
Units | STRING | The units used for the axis. Short names (one or two character labels are preferred).


ChronoP.SetDecimation()

Type: INSTANCE FUNCTION

Purpose: Used to allow for a log-time display during the Chrono experiment. There are settings which can specify the number of non-decimated points prior to and after the actual step.

Usage:

ChronoP.SetDecimation(Decimation, PreStep, PostStep)
Decimation | BOOL | Boolean indicating whether or not the data will be decimated or not.
PreStep | INDEX | The number of data points to show in an undecimated format prior to the step.
PostStep | INDEX | The number of data points to show in an undecimated format after the step


ChronoP.SetPlot()

Type: INSTANCE FUNCTION

Purpose: Format the real time display using the SetPlotView and Set Axis functions.

Usage:

ChronoP.SetPlot(View, MinI, MinV, MinT)
View | INDEX | 0 = I vs V
 |  | 1 = Log I vs V
 |  | 2 = I vs T, E vs T
 |  | Or use the predefined constants:
 |  | CHRONOP_LINIV
 |  | CHRONOP_LOGIV
 |  | CHRONOP_ITVT
MinI | REAL | Minimum current value to display (optional)
MinV | REAL | Minimum voltage value to display (optional)
MinT | REAL | Minimum time value to display (optional)


ChronoP.SetPlotView()

Type: INSTANCE FUNCTION

Purpose: Set the number of graphs displayed in the real time display.

Usage:

ChronoP.SetPlotView(Format)
Format | INDEX | 0 = No Graph Displayed
 |  | 1 = Single Graph Displayed
 |  | 2 = Two Graphs displayed
 |  | Or use the predefined constants:
 |  | VIEW_NONE
 |  | VIEW_SINGLE
 |  | VIEW_DOUBLE


ChronoP.SetTitle()

Type: INSTANCE FUNCTION

Purpose: Set the current title of the curve.

Usage:

ChronoP.SetTitle(Title)

Title

STRING

A string representing the new title that the curve should use.


ChronoP.Sprint()

Type: INSTANCE FUNCTION

Purpose: Print the status of the ChronoP to a string. The object's tag and last acquired data point will be printed in the format:

Tag,PointNumber

Usage:

Result = ChronoP.Sprint()

Result

STRING

Resulting tag & point number (0 based).


ChronoP.SprintPoint()

Type: INSTANCE FUNCTION

Purpose: Used in output of data from a CHRONOP object. A data point from the object is printed to an ASCII string. This string can in turn be printed to the active output file.

The format of the data string is:

PointNumber <tab> T <tab> Vm <tab> Im <tab> Vu <tab> Sig <tab>Ach <tab> Over

You can use this function along with the Printl() function to output point i to the output file as follows:

Printl("\t",ChronoP.SprintPoint(i))

USAGE:

Result = ChronoP.SprintPoint(PointNumber)
Result | STRING | The output string
PointNumber | INDEX | The point to be printed. PointNumber is 0 based. If the requested point has not been taken, a parameter error will be issued.
T | REAL | Elapsed time from starting from ChronoP.Run
Vm | REAL | Measured E vs Eref.
Im | REAL | Applied cell current.
Vu | REAL | Uncompensated Voltage
Sig | REAL | Signal sent to Control Amp
Ach | REAL | Measured Aux Channel Voltage
Over | STRING | Hexadecimal number representing overload status


ChronoP.StopAt()

Type: INSTANCE FUNCTION

Purpose: Enable or disable the ChronoP termination limits. There are 2 limiting conditions on which a curve may prematurely terminate:

1. | Under | E < Limit
2. | Over | E > Limit

The Over criterion is used to limit a positive voltage swing. The Under criterion limits a negative voltage swing.

These conditions may be individually enabled and disabled.

Usage:

ChronoP.StopAt(Under, Over, Stable, Runaway, Decreasing, Increasing)
Under | REAL | Enable the Under test and set value
 | NIL | Disable the Under test
Over | REAL | Enable the Over test and set value
 | NIL | Disable the Over test


ChronoP.StopAtDelay()

Type: INSTANCE FUNCTION

Purpose: Used to avoid premature stopping of a curve caused by noise creating a false reading for a StopAt test. Avoids false readings by requiring that the StopAt criterion be met for a number of data points (N) before the curve stops. The parameter N can be individually set for each StopAt test.

For absolute tests, such as E > Limit, the criterion must be met for N points consecutively before the criterion will be accepted. One point missing the criterion limit resets the N point counter.

Usage:

ChronoP.StopAtDelay(Under, Over)
Under | INDEX | Delay for this number of points
 | NIL | Only one point required
Over | INDEX | Delay for this number of points
 | NIL | Only one point required


ChronoP.Thresh()

Type: INSTANCE FUNCTION

Purpose: Setup threshold conditions which must be met before ChronoP.StopAt() tests will be performed. Once any of the threshold tests is met, the StopAt criteria are evaluated for the rest of the scan. There are six threshold tests that you can perform:

1. | IMin | I < I_MinThresh
2. | IMax | I > I_MaxThresh
3. | EMin | E < E_MinThresh
4. | EMax | E > E_MaxThresh
5. | Tmin | T < T_MinThresh
6. | Tmax | T > T_MinThresh

Threshold tests allow you to tune the StopAt tests more carefully. For example, you can avoid a premature experiment termination due to an initial transient.

In general you will only enable one of the threshold tests. The others will be turned off by a NIL argument in the function call.

Note that after the threshold test is passed all StopAt tests are enabled. Once StopAt testing is enabled, it is never disabled, even if the Threshold test that enabled it is not longer valid.

Usage:

ChronoP.Thresh(IMin, IMax, EMin, EMax, TMin, TMax)
IMin | REAL | Enable StopAt if I < IMin
 | NIL | Disable this test
IMax | REAL | Enable StopAt if I > IMax
 | NIL | Disable this test
EMin | REAL | Enable StopAt if E < EMin
 | NIL | Disable this test
EMax | REAL | Enable StopAt if E > EMax
 | NIL | Disable this test
TMin | REAL | Enable StopAt if T < TMin
 | NIL | Disable this test
TMax | REAL | Enable StopAt if T > TMax
 | NIL | Disable this test


ChronoP.Title()

Type: INSTANCE FUNCTION

Purpose: Return the current title of the curve.

Usage:

Title = ChronoP.Title()

Title

STRING

The current title of the curve.


IDSTEP.New()

Type: Class Function

Purpose: Create a new Idstep signal generator.

Usage:

Idstep = IDSTEP.New(Tag,Pstat,IInit,TInit,IStep1,TStep1 IFinal,TFinal,SampleTime)
Tag | STRING | Object tag
Pstat | PSTATCLASS | Potentiostat which will use the signal
IInit | REAL | Initial Value in amps
TInit | REAL | Initial Time in seconds
IStep1 | REAL | Step 1 Value in amps
TStep1 | REAL | Step 1 Time in seconds
IFinal | REAL | Final Value in amps
TFinal | REAL | Final Time in seconds
SampleTime | REAL | Time between data acquisition steps
Idstep | IDSTEP | The object created


IDSTEP.Signal

Type: License

Purpose: The Signal license is required by curve objects.


Idstep.Tweak()

Type: Instance Function

Purpose: Modify an existing Idstep signal generator.

Usage:

Idstep.Tweak(Pstat,IInit,TInit,IStep1,TStep1 IFinal,TFinal,SampleTime)
Pstat | PSTATCLASS | Potentiostat which will use the signal
IInit | REAL | Initial Value in amps
TInit | REAL | Initial Time in seconds
IStep1 | REAL | Step 1 Value in amps
TStep1 | REAL | Step 1 Time in seconds
IFinal | REAL | Final Value in amps
TFinal | REAL | Final Time in seconds
SampleTime | REAL | Time between data acquisition steps
Idstep | IDSTEP | The existing object.


IRUPDN.New()

Type: Class Function

Purpose: Create a new Irupdn signal generator

Usage:

Irupdn=IRUPDN.New(Tag,Pstat,Iinit,IApex1,IApex2,Ifinal,ScanInit,ScanApex,ScanFinal,Hold1,Hold2,Hold3,SampleTime)
Tag | STRING | Object tag.
Pstat | PSTATCLASS | Potentiostat which will use the signal
IInit | REAL | Initial Value in amps.
IApex1 | REAL | Apex 1 Value in amps.
IApex2 | REAL | Apex 2 Value in amps.
IFinal | REAL | Final Value in amps.
ScanInit | REAL | Initial Scan Rate in amps/sec.
ScanApex | REAL | Apex Scan Rate in amps/sec.
ScanFinal | REAL | Final Scan Rate in amps/sec.
Hold1 | REAL | Time to hold at IApex1 in seconds.
Hold2 | REAL | Time to hold at IApex2 in seconds.
Hold3 | REAL | Time to hold at IFinal in seconds.
SampleTime | REAL | Time between data acquisition steps.
Cycles | INDEX | The number of cycles to run.
Irupdn | IRUPDN | The object created.


IRUPDN.Signal

Type: License

Purpose: The Signal license is required by curve objects. The actual script text doesn't refer to the license.


Irupdn.Tweak()

Type: Class Function

Purpose: Create a new Irupdn signal generator

Usage:

Irupdn.Tweak(Pstat,Iinit,IApex1,IApex2,Ifinal,ScanInit,ScanApex,ScanFinal,Hold1,Hold2,Hold3,SampleTime)
Pstat | PSTATCLASS | Potentiostat which will use the signal
IInit | REAL | Initial Value in amps.
IApex1 | REAL | Apex 1 Value in amps.
IApex2 | REAL | Apex 2 Value in amps.
IFinal | REAL | Final Value in amps.
ScanInit | REAL | Initial Scan Rate in amps/sec.
ScanApex | REAL | Apex Scan Rate in amps/sec.
ScanFinal | REAL | Final Scan Rate in amps/sec.
Hold1 | REAL | Time to hold at IApex1 in seconds.
Hold2 | REAL | Time to hold at IApex2 in seconds.
Hold3 | REAL | Time to hold at IFinal in seconds.
SampleTime | REAL | Time between data acquisition steps.
Irupdn | IRUPDN | The existing object.


Rcv.Activate()

Type: INSTANCE FUNCTION

Purpose: Make the real time plot of the Rcv object the Active plot. If the Runner window Curve List control is set to Active, the plot will be displayed. If the Runner window Curve List is set to a definite curve, the display does not change.

Usage:

Rcv.Activate()


Rcv.Count()

Type: INSTANCE FUNCTION

Purpose: Return the number of points actually acquired in a RCV object. The number returned is not the number of points allocated.

Usage:

NumPoints = Rcv.Count()

NumPoints

INDEX

The number of points in the RCV object. Zero is returned if no data has been acquired yet.


RCV.CyclePrintl()

Type: INSTANCE FUNCTION

Purpose:Print the results of a Rcv experiment out to the Output file. The Output record will contain a separate table for each cycle and will be printed in the format:

Tagn <tab> "TABLE"
<tab> "Pt" <tab> "T" <tab> "Vf" <tab> "Im" <tab> "Vu" <tab> "Sig" <tab>"Ach" <tab>"IERange" <tab>  "Over"
<tab> "#" <tab> "s" <tab> "V vs. Ref." <tab> "A" <tab> "V" <tab> "V" <tab>"V"<tab>"#" <tab>  "bits"
<tab> Pt1 T V I V V V # Flags
<tab> Pt2 T V I V V V # Flags
...
<tab> PtN T V I V V V # Flags

Where the symbols have the following meanings:

Tagn | The curve Tag (from RCV.New() or optional argument)and the cycle number(n)
Pt(#) | Sequential number of a point.
T | Elapsed time from starting from RCV.Run()
Vf | Applied Voltage vs Eref.
Im | Measured cell current.
Vu | Uncompensated Voltage
Sig | Signal sent to Control Amp
Ach | Aux Channel Voltage
IERange | IE Range used for the data point
Over | Overload flags

Usage:

Rcv.CyclePrintl(Tag)

Tag

STRING

Optional. Used to print a different Tag than the one used in the call to IVT.New()


Rcv.DataCol()

Type: INSTANCE FUNCTION

Purpose: Create and return an object of the class DATACOL. The object contains data extracted from one column of the RCV object's data array. The data, once extracted, can then be submitted to other objects for further calculation. For example, a LINFIT object performs a linear regression analysis on two DATACOL objects.

A new DATACOL object is automatically created by the call to RCV.DataCol(). It is usually transient, existing only for one function call.

Usage:

DataCol = Rcv.DataCol(ColumnCode)
DataCol | DATACOL | The new object containing the data extracted from the RCV data array.
ColumnCode | INDEX | A code identifying the column to be used.
 |  | 0 = Time
 |  | 1 = Applied Voltage
 |  | 2 = Uncompensated Voltage
 |  | 3 = Measured Current
 |  | 4 = Signal sent to Control Amp
 |  | 5 = Measured Aux Channel Voltage
 |  | Or use the predefined constants:
 |  | RCV_T = Time
 |  | RCV_Vf = Applied Voltage
 |  | RCV_Vu = Uncompensated Voltage
 |  | RCV_Im = Measured Current
 |  | RCV_Sig = Signal sent to Control Amp


Rcv.DataValue()

Type: INSTANCE FUNCTION

Purpose: Extract a single data item from a RCV object. The data item is taken from the ith data point and the jth data column. If no data has been taken the returned value is NIL.

Usage:

DataValue = Rcv.DataValue(PointNum,ColNumber)
Result | REAL | The returned value.
 | NIL | No data acquired yet.
PointNum | INDEX | Point number, zero based. If PointNum is out of range, a value from the last acquired point is returned.
 | NIL | Always return a value from the last acquired point.
ColNumber | INDEX | Data column, with a range of 0 to 5. The meaning of the data in each column is given in the Rcv.DataCol()description.


Rcv.FlipAxis()

Type: INSTANCE FUNCTION

Purpose: Used to allow for a reversed Axis format when running Voltammetry experiments. This displays the graph from positive to negative rather than from negative to positive.

Usage:

Rcv.FlipAxis(AxisNo, Flip)
AxisNo | INDEX | Defines which axis is being configured. In a Y versus X plot, 0 = X axis, 1 = Y axis or use the following constants: X_AXIS, Y_AXIS In a Y & Y' versus X plot, 0 = X axis, 1 = Lower Y and 2 = Upper Y or use the following constants X_AXIS, Y_AXIS, Z_AXIS
Flip | BOOL | A Boolean specifying whether or not to flip the Axis. TRUE = Flipped FALSE = Normal


RCV.New()

Type: CLASS FUNCTION

Purpose: Create a Rcv object. The data array is sized according to the signal generator used.

Usage:

Rcv = RCV.New(Tag, Pstat)
Tag | STRING | Curve tag for data output. Used to label the file
Pstat | Object | Pstat is an object with a PSTAT license
Rcv | RCV | The curve object


Rcv.Printl()

Type: INSTANCE FUNCTION

Purpose: Print the results of a Rcv experiment out to the Output file. The Output record will be printed in the format:

Tagn<tab> "TABLE" <tab> Points

<tab> "Pt" <tab> "T" <tab> "Vf" <tab> "Im" <tab> "Vu" <tab> "Sig" <tab>"Ach" <tab>"IERange" <tab> "Over"

<tab> "#" <tab> "s" <tab> "V vs. Ref." <tab> "A" <tab> "V" <tab> "V" <tab>"V"<tab>"#" <tab> "bits"

<tab> Pt1 T V I V V V # Flags

<tab> Pt2 T V I V V V # Flags

...

<tab> PtN T V I V V V # Flags

Where the symbols have the following meanings:

Tag | The curve Tag (from RCV.New() or optional argument)
Points | Total number of points acquired
Pt(#) | Sequential number of a point.
T | Elapsed time from starting from Rcv.Run
Vf | Applied Voltage vs Eref.
Im | Measured cell current.
Vu | Uncompensated Voltage
Sig | Signal sent to Control Amp
Ach | Aux Channel Voltage
IERange | IE Range used for the data point
Over | Overload flags

Usage:

Rcv.Printl(Tag)

Tag

STRING

Optional. Used to print a different Tag than the one used in the call to RCV.New()


Rcv.Run()

Type: INSTANCE FUNCTION

Purpose: Run the curve. When Rcv.Run() is executed, the acquired data is displayed in a real-time curve. There are four buttons active during Rcv.Run() - Abort, Pause/Continue, Skip, and Point. The Abort button terminates the entire experiment. The Skip button skips to the next phase of the experiment, either past the end of this curve or to the next region of the signal generator's operation.

The active run can be halted in several ways, namely: if the signal generator is finished, if the operator hits a Skip button, or if one of the stopping criteria is met. These stopping criteria can be enabled or disabled using the Rcv.Threshold() and Rcv.StopAt() functions.

Usage:

Result = Rcv.Run()
Result | INDEX | 0 = Normal finish or Skip button pushed
 |  | 1 = Stop due to Under Criterion ( I < Imax )
 |  | 2 = Stop due to Over Criterion ( I > Imin )


Rcv.SetAxis()

Type: INSTANCE FUNCTION

Purpose: Helps to define the real time display of a RCV object. Associates an axis with a data column in the object. Controls linear/log display formatting and allows labeling of the axis.

You must call Rcv.SetAxis for each of the axes in the real time plot. For a Y and Y' versus X plot you need 3 calls to Rcv.SetAxis().

Usage:

Rcv.SetAxis(AxisNo, Source, Scale, MinVal, Label, Units)
AxisNo | INDEX | Use the constants below to define which axis is being configured.
 |  | X_AXIS | X axis
 |  | Y_AXIS | Y axis (Y vs X plot) or Lower Y (Y, Y' vs X)
 |  | Z_AXIS | Upper Y axis (Y, Y' vs X only)
Source | INDEX | The column number containing the data to be plotted or use the predefined constants defined in Rcv.DataCol() .
Scale | INDEX | LIN_AXIS | The axis is linear
 |  | LOG_AXIS | The axis is log
MinVal | REAL | Minimum value used in prevention of "ugly" plot scaling. MinVal is used differently depending on Scale setting. On a linear axis, this is the minimum resolution of the plot. The range of values shown on the axis cannot be smaller than MinVal. This prevents excessively fine scaling when plotting data where all the values are identical or very similar. On a log axis, this value is substituted for 0's in the data. This prevents infinite log values.
Label | STRING | The label used for the axis. Short names (one or two character labels are preferred).
Units | STRING | The units used for the axis. Short names (one or two character labels are preferred).


Rcv.SetPlot()

Type: INSTANCE FUNCTION

Purpose: Format the real time display using the SetPlotView and Set Axis functions.

Usage:

Rcv.SetPlot(View, MinI, MinV, MinT)
View | INDEX | 0 = I vs V
 |  | 1 = Log I vs V
 |  | 2 = I vs T, E vs T
 |  | Or use the predefined constants:
 |  | RCV_LINIV
 |  | RCV_LOGIV
 |  | RCV_ITVT
MinI | REAL | Minimum current value to display (optional)
MinV | REAL | Minimum voltage value to display (optional)
MinT | REAL | Minimum time value to display (optional)


Rcv.SetPlotView()

Type: INSTANCE FUNCTION

Purpose: Set the number of graphs displayed in the real time display.

Usage:

Rcv.SetPlotView(Format)
Format | INDEX | 0 = No Graph Displayed
 |  | 1 = Single Graph Displayed
 |  | 2 = Two Graphs displayed
 |  | Or use the predefined constants:
 |  | VIEW_NONE
 |  | VIEW_SINGLE
 |  | VIEW_DOUBLE


Rcv.SetTitle()

Type: INSTANCE FUNCTION

Purpose: Set the current title of the curve.

Usage:

Rcv.SetTitle(Title)

Title

STRING

A string representing the new title that the curve should use.


Rcv.Sprint()

Type: INSTANCE FUNCTION

Purpose: Print the status of the Rcv to a string. The object's tag and last acquired data point will be printed in the format:

Tag,PointNumber

Usage:

Result = Rcv.Sprint()

Result

STRING

Resulting tag & point number (0 based).


Rcv.SprintPoint()

Type: INSTANCE FUNCTION

Purpose: Used in output of data from a RCV object. A data point from the object is printed to an ASCII string. This string can in turn be printed to the active output file.

The format of the data string is:

PointNumber <tab> T <tab> Vf <tab> Im <tab> Vu <tab> Sig <tab> Ach <tab> Over

You can use this function along with the Printl() function to output point i to the output file as follows:

Printl("\t",Rcv.SprintPoint(i))

USAGE:

Result = Rcv.SprintPoint(PointNumber)
Result | STRING | The output string
PointNumber | INDEX | The point to be printed. PointNumber is 0 based. If the requested point has not been taken, a parameter error will be issued.
T | REAL | Elapsed time from starting from Rcv.Run
Vf | REAL | Applied E vs Eref.
Im | REAL | Measured cell current.
Vu | REAL | Uncompensated Voltage
Sig | REAL | Signal sent to Control Amp
Ach | REAL | Aux Channel Voltage
Over | STRING | Hexadecimal number representing overload status


Rcv.StopAt()

Type: INSTANCE FUNCTION

Purpose: Enable or disable the Rcv termination limits. There are 2 limiting conditions on which a curve may prematurely terminate:

1. | Under | I < Limit
2. | Over | I > Limit

The Over criterion is used to limit a positive current swing. The Under criterion limits a negative current swing.

These conditions may be individually enabled and disabled.

Usage:

Rcv.StopAt(Under, Over)
Under | REAL | Enable the Under test and set value
 | NIL | Disable the Under test
Over | REAL | Enable the Over test and set value
 | NIL | Disable the Over test


Rcv.StopAtDelay()

Type: INSTANCE FUNCTION

Purpose: Used to avoid premature stopping of a curve because of noise creating a false reading for a StopAt test. Requires StopAt criterion be met for a number of data points (N) before the curve stops. The parameter N can be individually set for each StopAt test.

For absolute tests, such as I > Limit, the criterion must be met for N points consecutively before the criterion will be accepted. One point missing the criterion limit resets the N point counter.

Usage:

Rcv.StopAtDelay(Under, Over)
Under | INDEX | Delay for this number of points
 | NIL | Only one point required
Over | INDEX | Delay for this number of points
 | NIL | Only one point required


Rcv.Thresh()

Type: INSTANCE FUNCTION

Purpose: Setup threshold conditions which must be met before Rcv.StopAt() tests will be performed. Once any of the threshold tests is met, the StopAt criteria are evaluated for the rest of the scan. There are six threshold tests that you can perform:

1. | IMin | I < I_MinThresh
2. | IMax | I > I_MaxThresh
3. | EMin | E < E_MinThresh
4. | EMax | E > E_MaxThresh
5. | Tmin | T < T_MinThresh
6. | Tmax | T > T_MinThresh

Threshold tests allow you to tune the StopAt tests more carefully. For example, you can avoid a premature experiment termination due to an initial transient.

In general you will only enable one of the threshold tests. The others will be turned off by a NIL argument in the function call.

Note that any threshold test starts all StopAt tests. Also once StopAt testing is enabled, it is never disabled, even if the Threshold test that enabled it is not longer valid.

Usage:

Rcv.Thresh(IMin, IMax, EMin, EMax, TMin, TMax)
IMin | REAL | Enable StopAt if I < IMin
 | NIL | Disable this test
IMax | REAL | Enable StopAt if I > IMax
 | NIL | Disable this test
EMin | REAL | Enable StopAt if E < EMin
 | NIL | Disable this test
EMax | REAL | Enable StopAt if E > EMax
 | NIL | Disable this test
TMin | REAL | Enable StopAt if T < TMin
 | NIL | Disable this test
TMax | REAL | Enable StopAt if T > TMax
 | NIL | Disable this test


VDSTEP.New()

Type: Class Function

Purpose: Create a new signal generator.

Usage:

Vdstep = VDSTEP.New(Tag,Pstat,VInit,TInit,VStep1,TStep1,VFinal,TFinal,SampleTime)
Tag | STRING | Object tag.
Pstat | PSTATCLASS | Potentiostat which will use the signal
VInit | REAL | Initial Value in volts.
TInit | REAL | Initial Time in seconds.
VStep1 | REAL | Step 1 voltage in Volts.
TStep1 | REAL | Step 1 Time in seconds.
VFinal | REAL | Final Value in volts.
TFinal | REAL | Final Time in seconds.
SampleTime | REAL | Time between data acquisition steps.
Vdstep | VDSTEP | The object created.


VDSTEP.Signal

Type: License

Purpose: The Signal license is required by curve objects. The actual script text doesn't refer to the license.


Vdstep.Tweak()

Type: Instance Function

Purpose: Modify an existing Vstep signal generator.

Usage:

Vdstep.Tweak(Pstat,VInit,TInit,VStep1,TStep1,VFinal,TFinal,SampleTime)
Pstat | PSTATCLASS | Potentiostat which will use the signal
VInit | REAL | Initial Value in volts.
TInit | REAL | Initial Time in seconds.
VStep1 | REAL | Step 1 voltage in Volts.
TStep1 | REAL | Step 1 Time in seconds.
VFinal | REAL | Final Value in volts.
TFinal | REAL | Final Time in seconds.
SampleTime | REAL | Time between data acquisition steps.
Vdstep | VDSTEP | The existing object.


VRUPDN.New()

Type: Class Function

Purpose: Create a new Vrupdn signal generator

Usage:

Vrupdn=VRUPDN.New(Tag,Pstat,Vinit,VApex1,VApex2,Vfinal,ScanInit,ScanApex,ScanFinal,Hold1,Hold2,Hold3,SampleTime, Cycles)
Tag | STRING | Object tag.
Pstat | PSTATCLASS | Potentiostat which will use the signal
VInit | REAL | Initial Value in volts.
VApex1 | REAL | Apex 1 Value in volts.
VApex2 | REAL | Apex 2 Value in volts.
VFinal | REAL | Final Value in volts.
ScanInit | REAL | Initial Scan Rate in volts/sec.
ScanApex | REAL | Apex Scan Rate in volts/sec.
ScanFinal | REAL | Final Scan Rate in volts/sec.
Hold1 | REAL | Time to hold at VApex1 in seconds.
Hold2 | REAL | Time to hold at VApex2 in seconds.
Hold3 | REAL | Time to hold at VFinal in seconds.
SampleTime | REAL | Time between data acquisition steps.
Cycles | INDEX | The number of cycles this is to be run.
Vrupdn | VRUPDN | The object created.


VRUPDN.Signal

Type: License

Purpose: The Signal license is required by curve objects. The actual script text doesn't refer to the license.


Vrupdn.Tweak()

Type: Instance Function

Purpose: Modify an existing Vupdn signal generator

Usage:

Vrupdn.Tweak(Pstat,Vinit,VApex1,VApex2,Vfinal,ScanInit,ScanApex,ScanFinal,Hold1,Hold2,Hold3,SampleTime)
Pstat | PSTATCLASS | Potentiostat which will use the signal
VInit | REAL | Initial Value in volts.
VApex1 | REAL | Apex 1 Value in volts.
VApex2 | REAL | Apex 2 Value in volts.
VFinal | REAL | Final Value in volts.
ScanInit | REAL | Initial Scan Rate in volts/sec.
ScanApex | REAL | Apex Scan Rate in volts/sec.
ScanFinal | REAL | Final Scan Rate in volts/sec.
Hold1 | REAL | Time to hold at VApex1 in seconds.
Hold2 | REAL | Time to hold at VApex2 in seconds.
Hold3 | REAL | Time to hold at VFinal in seconds.
SampleTime | REAL | Time between data acquisition steps.
Vrupdn | VRUPDN | The existing object.


Clear Lines

The Clear Lines command will clear any lines drawn on the chart. This includes Freehand lines, any Linear Fit lines, as well as lines drawn with the Automatic Baseline command. If a line was used as a Peak Baseline, the peak height will be recalculated using no baseline.


Clear Regions

The Clear Regions command will clear all the regions associated with the chart. Any regions that are shown will be removed as well. Any pages associated with region information will be removed.


Integrate

The Integrate command is used to integrate the current to achieve a total charge value. This command requires that an portion of a specific curve be selected. The command will operate on only the active trace, and the results will be placed on a new Integrate page, assuming one does not already exist. In the case where this page already exists, the new information will append the old information.

  1. The steps to use this command are as follows:
    1. Make the trace on which to integrate a region the Active Trace. This can be done by right clicking on the trace and pressing Activate Trace.
    2. Select a region on this trace using the Select Portion of Curve tool [image]. To use this tool, left click with the mouse close to one bounding point of the region. Next, left click again near the second bounding point of the region. The region will become highlighted. If you select an improper range, no region may be displayed. To re-select a range, simply toggle the Select Portion of Curve tool, and try again.

    3. Once a range is selected, press the Integrate command on the document menu. The algorithm will now begin determine the area of the region.
    4. A new page will be added to the document, with a grid containing the integration information. If regions had been integrated previously, the new region information will simply append the existing information on the Integration page. The region information will also be displayed in the QuickView window at the bottom of the graph. You can hide the QuickView window by right clicking on the handle of the toolbar, and un-checking QuickView.

    5. The baseline is either zero, or the Line object which is selected to be the baseline for the region. The Region Baselines command allows you to specify which line goes with which region.
    6. Additional regions can be found by repeating steps 1 through 3. To clear regions you can use the Clear Regions command.

Note that the results are presented both on their own page, and in the QuickView area at the bottom of the chart. You can hide the QuickView window by clicking the X in the lower left corner.


Region Baselines

The Region Baselines command is used to bring up a dialog box which allows you to specify what lines are used for baselines on what regions.

In the figure depicted below, there is one region which is currently being drawn to the zero-line. There is also a line which has been drawn, and is the desired baseline for the region.

To select the line (Line 1) as the baseline for the region, select the Region Baselines command. This will bring up the Baselines dialog box which contains a list of all the regions, as well as a list of all the lines on the graph. This dialog is depicted in the figure below.

Region Baseline Dialog Box

Notice that Region 1 is selected in the left (Region) listbox and None is selected in the right (Baseline) listbox. To make Line 1 the baseline for Region 1, simply click on the Line 1 in the Baseline listbox. If there is more than 1 line, you can select any line as the baseline. If there is more than 1 region, you must select the region for which you wish to set the baseline.

The Update Lists button will update the list of Regions and Baselines, in the event you have added a baseline or region while this dialog box has remained open.

When you are satisfied with your selections, select the Close button. The graph will be updated to reflect the new baseline for the region as shown below.


Electrode Setup

The Electrode Setup checkbox, if checked, will bring up the Electrode Setup dialog. This dialog is used to control specific aspects about your electrode. If you are not an advanced user, or simply wish to use the default electrode settings, just un-check this box. If however, you need to specifically set the electrode type or stir/purge conditions, some hardware items, check this box and you will be presented with further options upon pressing Ok.

The Electrode Setup dialog will look similar to the picture depicted below.

The electrode types are:

None | No special electrode
Solid | Solid Type Electrode
DME | Dropping Mercury Electrode
SMDE | Static Mercury Drop Electrode
HMDE | Hanging Mercury Drop Electrode
Rotating | Rotating Disk Electrode

If you select a Rotating electrode, you will be shown an additional setup dialog shown below.

In this setup dialog you specify the rotation speed of the electrode. This speed is entered in Revolutions Per Minute (RPM). If you wish to have the rotation stop at the end of the experiment, select the checkbox to turn off rotation after the experiment.


Advanced Pstat Setup

The Advanced Pstat Setup checkbox, if checked, will bring up the Hardware Settings dialog. This dialog is used to control specific aspects about your hardware. If you are not an advanced user, or simply wish to use the default hardware settings as specified in the scripts, just un-check this box. If however, you wish to specifically set some hardware items, check this box and you will be presented with further options upon pressing Ok.

The Hardware Settings dialog will look similar to the picture depicted below.

Clicking Default will return the Hardware Settings to those specified in the main script.


Conditioning

One of the first steps in the experimental sequence is the optional conditioning of the electrode. Conditioning is used to insure that the electrode has a known surface state at the start of the electrode. You may condition the electrode to remove an oxide film or to grow one. Conditioning can be turned On or Off with the Conditioning check box on the Setup menu. Conditioning is done potentiostatically at the Conditioning E for a known time, Conditioning Time.

E is the potential applied during the conditioning phase of the experimental sequence. The conditioning potential has an allowed range of ±8 V. E is always specified versus the reference electrode.

Time is the length of time that the sample is potentiostatically controlled at the Conditioning E. The units for Time are seconds. The minimum time is one second. The maximum time is 400,000 s (more than 4 days). Below 1000 seconds, the time resolution is 1 s. Between 1000 and 10,000 s, the resolution is 10 s and above 10,000 s it is 100 s.


Decimate

The Decimate parameter controls the timing of data acquisition. It basically allows the use of logarithmic time to reduce the overall number of data points, while maintaining a high acquisition rate at the points of interest.

In the case of step experiments, the Decimate parameter causes the log time to be reset at the beginning of each step. This will allow for many data points to be taken at the beginning of the step, while reducing the number of data points taken as time progresses away from where the step took place.


Electrode Area

The Electrode Area parameter is the surface area of the electrode (in cm²) exposed to the sample solution. If you do not wish to enter an area, leave this parameter at its default value of 1.0 cm².


Control Amp Speed

The Control Amp Speed setting sets the roll off filter on the potentiostat control amp. It can be varied from slow to fast.

The control amplifier roll off affects the overall stability of the potentiostat. As with the I/E Stability disclaimer, we can only offer you a guideline in setting the Control Amp Speed.

If the potentiostat oscillates on all current ranges change the setting. If you are unsure as to what setting to use, leave it on the default setting.


Current Channel Filter

The Current Channel Filter setting controls the hardware filter on the current measuring channel. This filter has no effect on potentiostat stability. You should make sure that you select a filter setting which is appropriate for the acquisition frequency specified in the experimental setup.


I/E Speed

Sets which I/E electrometer (Fast or Slow) is to be used on a PCI4 Femtostat. For other potentiostats, this option has no use.


I/E Stability

This setting controls the I/E converter stability for potentiostat mode. There are three settings for stability, Fast, Normal, and Slow with the most stable case being Slow. The Fast value corresponds to no extra I/E converter filtering. The Normal value corresponds to a small I/E filter which enhances stability. The Slow value corresponds to a large I/E filter which removes 50/60 Hz noise in the lower current ranges.

While it would take an advanced course in amplifier design to completely understand the stability setting, we can offer you a few guidelines:

  1. Always leave the stability in Fast for galvanostatic operation.
  2. If the potentiostat is showing high speed oscillation that depends on the current range in use, try increasing the Stability setting.
  3. If your curves are noisy at low currents, try setting Stability to Slow.
  4. If you are acquiring data faster than 0.2 seconds/point and see glitches when the current range changes, try decreasing the stability.


Purge/Stir Cell

The Purge/Stir Cell option controls the digital out settings on the potentiostat in order to allow for automatic purging and stirring of the electrochemical cell. This option is only useful if an appropriate device is connected to the digital out pins on the potentiostat. The purge controller should be connected to Dig 0, and the stir controller should be connected to Dig 1. Gamry Instruments can supply the necessary hardware for this option. Please contact us or visit our website for more information.


Voltage Channel Filter

The Voltage Channel Filter setting controls the hardware filter on the voltage measuring channel. This filter has no effect on potentiostat stability. You should make sure that you select a filter setting which is appropriate for the acquisition frequency specified in the experimental setup.


I/E Range Mode

The I/E Range Mode parameter controls the autorange state of the I/E converter. If Auto is selected, the I/E Range will be able to freely adjust based on measured currents. If Fixed is selected, the I/E Range will be fixed on a range which is able to measure the current entered in the Max Current parameter.

For fast experiments, it is recommended that Fixed be used for the I/E Range Mode. This setting will prevent glitches in the current measurement as the I/E Range resistor is switched.


Initial Delay

The Initial Delay phase of the experiment is the first step to occur in the experimental sequence. This phase of the experiment is used to stabilize the open circuit voltage of the sample prior to any applied signal and to measure that open circuit potential.

The Initial Delay is turned On or Off with the Initial Delay parameter check box in the Setup dialog. The Initial Delay Time parameter is the time that the sample will be held at the open circuit prior to the scan. The delay may stop prior to the Initial Delay Time if the Stability criterion for Eoc is met.

The units for Time are seconds. The minimum time is one second. The maximum time is 400,000 s (more than 4 days). Below 1000 seconds, the time resolution is 1 s. Between 1000 and 10,000 s, the resolution is 10 s and above 10,000 s it is 100 s.

In many cases, you really do not want to delay for a fixed time. What you really want is to delay until Eoc stops drifting. The Stability parameter allows you to set a drift rate that you feel represents a stable Eoc. If the absolute value of the drift rate falls below the Stability parameter, the Initial Delay phase of the experiment ends immediately, disregarding the programmed Initial Delay Time. Enter a Stability setting of zero to assure that the delay will last for the full Time.

The units of Stability are mV/s. A typical value is 0.05 mV/s. The upper limit in this parameter is 8 V/s, well above the range of practical stabilities with real cells. The lower limit of the Stability parameter is set by your patience. A stability of 0.01 mV/s means that a 1 mV drift takes 100s. The software will always take data long enough to resolve a 1 mV change in the potential at the requested drift rate.

No open circuit voltage measurement will take place if the initial delay is turned off. In this case, the open circuit voltage is defaulted to 0.0 volts.


IR Comp

The IR Comp parameter specifies the type of IR Compensation to be used during data acquisition. There are three possible settings for this parameter.

None

No IR Compensation is performed.

PF

Positive Feedback IR Compensation takes a user entered correction value (PF Corr) to correct for the uncompensated resistance. Because this value is entered at the beginning of the experiment, and is not measured after every point, this compensation method is suitable for fast experiments.

CI

Current Interrupt IR Compensation will be used. In this technique, a current interrupt measurement is after each point, and a determination of the uncompensated resistance is made based on the drop in the voltage measurement. This technique is not suitable for fast experiments, and Positive Feedback IR Compensation should be used instead.


Max Current

The Max Current parameter controls the current measurement range when the I/E Range Mode is Fixed. When the I/E Range Mode is Auto, the Max Current parameter specifies the maximum expected starting current.

You enter a Max Current value that is the largest current that you expect to see during the scans. From this information the software sets the current range used in the experiment. In order to use the most sensitive range that will not overload, the software will chose the current range based on a value that is 89% of the full scale current range. For example, when using a PC4/750, if a Max Current of 66 mA is input, the current range will be 75 mA. On the other hand, if a Max Current of 67 mA is entered, the 750 mA current range will be selected.

NOTE: The Max Current parameter is a current not a current density. The electrode area is not used calculation of the current range to use.

If your current data looks very choppy and steppy, the problem could be a poorly selected current range. If you enter a Max Current value of 10 mA and the maximum current in your sweeps is only 100 mA, you are only using 1/100th of the potentiostat's A/D converter range. The result is significant quantization error. Rerun the test entering a smaller Max Current in Setup.

If your current data shows perfectly flat, horizontal regions, the current has most likely overloaded the potentiostat's current measurement circuits. Check that the value that you entered for the Max Current parameter is larger that the actual measured cell current. Try rerunning the test with a larger value for the Max Current.


Notes

The Notes field allows you to enter several lines of text that describe the experiment. A typical use of Notes is to record the experimental conditions for a data set.

To the right hand side of the notes is a button. This button allows you to bring up a dialog box, shown below, which will show more of the notes at one time. You can edit the notes in either place.

Notes defaults to an empty string.

The Notes string is limited to 400 characters. It can include all printable characters including numbers, upper and lower case letters, and the most normal punctuation including spaces. tab characters are not allowed in the Notes string.

You can divide your Notes into lines using enter.


Output File

The Output File parameter is the pathname of the file in which the output data will be written. It can be a simple filename with no path information. In this case the output file is located in the default data directory. The default data directory is specified in the Gamry.INI file under the [Framework] section with a Key named DataDir. This default pathname can be changed using the Paths command under the Options Menu.

It can also include path information, such as "C:\DATA\YOURDATA.DTA." In this example, the data will be written to the "YOURDATA.DTA" file in the "DATA" directory on drive C.

The default value of the Output File parameter is an abbreviation of the technique name with a ".DTA" filename extension. We recommend that you use a ".DTA" filename extension for your data filenames. The data analysis package assumes that all data files have ".DTA" extensions.

NOTE: The software does not automatically append the ".DTA" filename extension. You must add it yourself.

If the script is unable to open the file, an error message box, "Unable to Open File," is generated. Common causes for this type of problem include:

  • An invalid filename.
  • The file is already open under a different Windows application.
  • The disk is full.

After you select OK in the error box, the script returns to the Setup box where a new filename can be entered.


PF Corr

The Positive Feedback Correction parameter is used during Positive Feedback IR Compensation. This parameter is where the value for the uncompensated resistance is entered in ohms. This resistance may already be known, or may need to be measured first. The Ru Estimation experiment gives a measured value for the uncompensated resistance.


Pstat

The Pstat parameter selects the potentiostat/galvanostat that will perform the experiment. Each labeled button corresponds to an installed potentiostat. When a potentiostat has been selected, its corresponding button is filled in.

In a multiple potentiostat system you can change the potentiostat selection by clicking on a Pstat’s button using the mouse. From the keyboard, you will tab down until a dotted line appears around one of the Pstat labels, then hit the spacebar to select among the potentiostats. Only one potentiostat can be selected at a time, so selecting one potentiostat will de-select another one.


Sample Period

The Sample Period parameter determines the spacing between data points. It also helps determine the Step Size of the staircase ramp and the Number of Points in the data curve.

The Sample Period sets the length of a step. The height of a step depends on both the Scan Rate and the Sample Period. You can calculate the Step Size and the Number of Points in the scan from:

Step Size = Scan Rate x Sample Period
Number of Points = Scan Range / Step Size

The units used for the Sample Period are seconds. The shortest Sample Period we recommend is 1.0 ms (0.001 s). For speeds faster than 1.0 ms, the display of the real time data will be delayed. This will help insure that your system is able to keep up with the fast data acquisition rate. Current autoranging will also be impaired. The longest Sample Period allowed is 600 s (PCI4) or 715 s (Reference 600).

The Step Size is rounded to the resolution of the D/A converter making the steps. The resolution of the D/A converter is dependent on the type of potentiostat you are using. Consult your potentiostat manual for more information.

If the step size has to be rounded to fit the resolution of the D/A converter, the sample period is also adjusted so that the scan rate is correct.

The Number of Points must be less than 262,143 (218-1). If you ask for more points, the experiment will abort just before the scan phase of the sequence.


Default

The Default button in the Setup dialog box is used to restore all the parameters on the screen to their default values. You can use it to fix typing errors or find out previous values for a parameter you have already retyped.

The default values are the values as specified by the Explain script. All of the standard scripts perform an automatic restore of the last used values. These are the values first shown to the user. In order to get to the values specified by the script, use the Default button.


Restore

The Restore button is used to recover a parameter set from your disk. This is very useful when you are running repetitive tests. Selecting Restore will bring up a dialog box which requests the name of the file where your parameter set has been saved, and the Set Name within the file. Once you are satisfied with the names, selecting OK recalls the set from the specified file.


Save

The Save button is used to save the current parameter set on your disk. This is very useful when you are running repetitive tests.

Parameter sets are stored in a file with a ".SET" file name extension. More than one parameter set can be stored in each file, with the set distinguished by a Set Name. This system is a powerful tool for organizing your experimental setups. For example, each worker in a lab can have his own setup file ("JOE.SET", "KAREN.SET", etc.). Within her file, Karen can save multiple parameter sets under descriptive Set Names ("C1010 Noise", "Fast Noise", etc.).

Selecting Save will bring up a dialog box which requests the name of the file where you wish to save the parameter set, and the Set Name within in the file. Once you are satisfied with the names, selecting OK saves the set in the specified file.


Test Identifier

The Identifier parameter is a string that is used as a name. It is written to the data file, so it can be used to identify the data in database or data manipulation programs.

The Identifier string defaults a name derived from the technique's name. While this makes an acceptable curve label, it does not generate a unique descriptive label for a data set.

The Identifier string is limited to 80 characters. It can include almost any normally printable character. Numbers, upper and lower case letters, and most normal punctuation characters including spaces are valid.


Sampling Mode

Some instruments have the capability to perform oversampling (DSP Sampling). Oversampling is when more than one data sample is acquired and averaged to give one output point, as seen on the graph. PC5 family instruments have this ability. More information is available in the DSP sampling application note, available on the Gamry Instruments website.

Note: This control has no effect for PCI4 family or Series G family Potentiostats. All selections default to the Fast mode.

Fast
When Fast is selected, a single data sample is taken per output point. No oversampling is performed in this mode.

Noise Reject
When Noise Reject is selected, data sub-samples are taken over the last 20% of the potential step and averaged into each output point.

Surface (Linear Scan and Cyclic Voltammetry only)
Certain types of experiments benefit from maximum data samples. Surface specifies a continuous sampling mode, where as many sub-samples that can be taken are averaged into each output point.


Limit I

The Limit I parameter is used to prevent excessive cell current. If the absolute value of the current should exceed the Limit I, the data acquisition in the current step will be ended prematurely.

Exceeding the Limit I during the first step causes the experiment to skip to the second step. Exceeding the limit during the second step causes the experiment to terminate.


Pre-step Delay Time

The Pre-step Delay time is the time for which the Pre-step Voltage is applied. This time is usually quite short, and is shown as negative time on the real time display.


Step 1 Time

The Step 1 Time is the time for which the Step 1 Voltage is applied to the cell. This time is entered in seconds and should be greater than zero. The maximum time is based on the sample period setting, as the total number of points should not exceed 32000.


Step 1 Voltage

The Step 1 Voltage is the first voltage to be applied to the cell. This voltage is entered in Volts and can be versus Reference or versus open circuit. The Step 1 Voltage is applied for the Step 1 Time.


Step 2 Time

The Step 2 Time is the time for which the Step 2 Voltage is applied to the cell. This time is entered in seconds and should be greater than or equal to zero. If the time entered is zero, the second step will be skipped. The maximum time is based on the sample period setting, as the total number of points should not exceed 32000.


Step 2 Voltage

The Step 2 Voltage is the second voltage to be applied to the cell. This voltage is entered in Volts and can be versus Reference or versus open circuit. The Step 2 Voltage is applied for the Step 2 Time.


Pre-step Voltage

The Pre-step Voltage is the voltage to be applied before the start of the experiment. This voltage value, entered in Volts, is usually zero, to give a nice starting spot from which the Step 1 Voltage can be applied. The Pre-step Voltage is applied for the Pre-step Delay Time.


Charge Limit

The Charge Limit parameter is used to stop an experiment based on cumulative charge. If the absolute value of the charge should exceed the Charge Limit, the data acquisition in the current step will be ended prematurely.

Exceeding the Charge Limit during the first step causes the experiment to skip to the second step. Exceeding the limit during the second step causes the experiment to terminate.


Equilibration Time

The Equilibration Time corresponds to the amount of time the cell spends at the Pre-step Voltage with the cell turned on. This allows the electrode and the solution time to equilibrate, if needed. The current is not monitored during the equilibration time.

The time is entered in seconds and must be an integer value. If it is not an integer value, it will be rounded to an integer value when the experiment executes. If you do not wish to have the cell equilibrate at the Pre-step Voltage, set the Equilibration Time to zero. The maximum setting for the Equilibration Time is longer than practically needed (>10^9 seconds).


Upper Limit V

The Upper Limit V parameter is used to prevent excessive cell voltage. If the absolute value of the voltage should exceed the Upper Limit V, the data acquisition in the current step will be ended prematurely.

Exceeding the Upper Limit V during the first step causes the experiment to skip to the second step. Exceeding the limit during the second step causes the experiment to terminate.


Pre-step Current

The Pre-step Current is the current to be applied before the start of the experiment. This current value, entered in Amps, is usually zero, to give a nice starting spot from which the Step 1 Current can be applied. The Pre-step Current is applied for the Pre-step Delay Time.


Pre-step Delay Time

The Pre-step Delay time is the time for which the Pre-step Current is applied. This time is usually quite short, and is shown as negative time on the real time display.


Step 1 Current

The Step 1 Current is the first current to be applied to the cell. This current is an actual current entered in Amps and is not current density. The Step 1 Current is applied for the Step 1 Time.


Step 1 Time

The Step 1 Time is the time for which the Step 1 Current is applied to the cell. This time is entered in seconds and should be greater than zero. The maximum time is based on the sample period setting, as the total number of points should not exceed 32000.


Step 2 Current

The Step 2 Current is the second current to be applied to the cell. This current is an actual current entered in Amps and is not current density. The Step 2 Current is applied for the Step 2 Time.


Step 2 Time

The Step 2 Time is the time for which the Step 2 Current is applied to the cell. This time is entered in seconds and should be greater than or equal to zero. If the time entered is zero, the second step will be skipped. The maximum time is based on the sample period setting, as the total number of points should not exceed 32000.


Lower Limit V

The Lower Limit V parameter is used to prevent excessive cell voltage. If the value of the voltage should exceed the Lower Limit V, the data acquisition in the current step will be ended prematurely.

Exceeding the Lower Limit V during the first step causes the experiment to skip to the second step. Exceeding the limit during the second step causes the experiment to terminate.


Cycles

The Cycles parameter controls the number of times the potential scan will be repeated during the experiment. Conceptually it is the number of times the potential will cycle from the Initial E setting to Scan Limit 1 to Scan Limit 2 to the Final E setting.


Equilibration Time-CV

Equilibration Time

The Equilibration Time corresponds to the amount of time the cell spends at the Initial E setting with the cell turned on. This allows the electrode and the solution time to equilibrate if needed. The current is not monitored during the equilibration time.

The time is entered in seconds and must be an integer value. If it is not an integer value, it will be rounded to an integer value when the experiment executes. If you do not wish to have the cell equilibrate at the Initial E setting, set the Equilibration Time to zero. The maximum setting for the Equilibration Time is longer than practically needed (>10^9 seconds).


Final E

The Final E parameter is the ending potential of the scan segment. This potential can be selected in a versus Eoc or versus Eref. This potential is entered in Volts.


Initial E

The Initial E parameter is the starting potential of the scan segment. This potential can be selected in a versus Eoc or versus Eref. This potential is entered in Volts.


Step Size

The Step Size parameter determines the spacing between the data points in mV. A typical Step Size setting is between 1 and 5 mV.

The Step Size parameter combines with the scan range on any given cycle to determine the number of data points.

# Points = [ Scan Range (mV) ] / [ Step Size (mV) ]

The total number of data points must be less than 64000 for all cycles.

The Step Size parameter also combines with the Scan Rate parameter to determine the time interval between the data points.


Scan Limit 1

The Scan Limit 1 parameter is the first apex potential in a Cyclic voltammetry scan. This potential can be selected in a versus Eoc or versus Eref. This potential is entered in Volts.


Scan Limit 2

The Scan Limit 2 parameter is the second apex potential in a Cyclic voltammetry scan. This potential can be selected in a versus Eoc or versus Eref. This potential is entered in Volts.


Scan Rate

The Scan Rate parameter defines the speed of the potential sweep during data acquisition.

The Scan Rate is entered in units of mV/sec. A practical bound on the Scan Rate is 1000 mV/sec. Higher Scan Rates may run, but can yield inaccurate data due to the inability of the software to acquire data points fast enough.

The Scan Rate parameter when combined with the Step Size parameter determines time between data points and thus the data acquisition rate used in the experiment.

Time (seconds/point) = [ Step Size (mV/point) ] / [ Scan Rate (mV/second) ]

The maximum data acquisition rate is dependent on the speed of the computer, the configuration of Windows and the other software currently executing. As a guideline, you should avoid sample times below 100 µs. Note that for scans faster than 1 ms that the acquired data will only be displayed once the experiment has completed. This reduces the chance that the computer will limit the acquisition speed.


DC Voltage

The DC Voltage parameter defines the constant potential applied to the cell during Impedance measurement.

The DC Voltage is entered in volts. The voltage can be entered as being absolute (vs. Eref) or relative to the open circuit potential (vs. Eoc).


Estimated Z

The Estimated Z parameter is a user entered estimate of the cell's uncompensated resistance. It is used to limit the number of trials required before acquiring the first data point in an impedance spectrum. Before taking the first data point, the script sets up the potentiostat and FRA to measure an impedance equal to Estimated Z and tries to measure the cell's uncompensated resistance. If the estimate is fairly accurate, the first (or second) attempt to measure the impedance will succeed. If the estimate is poor, the system may take several trial readings before it finds the correct settings.

The units for Estimated Z are ohms. There is no reason to enter values larger than 1 TW or smaller than 0.01 W because these values drive the system settings to their most sensitive and least sensitive settings respectively.