Abstract:
An electronic energy meter senses input voltage and current signals and processes the input voltage and current signals to generate measurements of multiple types of power. The meter comprises a processing system for selecting one of the multiple types of power and defining the same as the selected type of power. The processing system also generates a pulsed test signal representative of a magnitude of a measurement of the selected type of power for testing the operation of the meter. The meter further comprises a communications interface coupled to the processing system for transmitting the pulsed test signal from the meter and for receiving signals from sources external to the meter. Selection of one of the multiple types of power can be achieved by the meter receiving, via the communications interface and from a source external to the meter, a communications command identifying a selected one of the various types of power. The communications interface may comprise an optical communications port.

Description:
RELATED APPLICATION DATA 
   This application is a division of application Ser. No. 10/616,620, filed Jul. 10, 2003 now U.S. Pat. No. 6,954,061, which is a continuation of application Ser. No. 08/660,709, filed Jun. 6, 1996, now U.S. Pat. No. 6,703,823 which is a division of application Ser. No. 07/839,634, filed Feb. 21, 1992, now U.S. Pat. No. 5,537,029, the disclosures of all of which are herein incorporated by reference. 

   FIELD OF INVENTION 
   The present invention relates generally to the field of electric utility meters. More particularly, the present invention relates to both electronic watthour meters and meters utilized to meter real and reactive energy in both the forward and reverse directions. 
   BACKGROUND OF THE INVENTION 
   Techniques and devices for metering the various forms of electrical energy are well known. Meters, such as utility power meters, can be of two types, namely, electromechanical based meters whose output is generated by a rotating disk and electronic based meters whose output component is generated electronically. A hybrid meter also exists, wherein an electronic register for providing an electronically generated display of metered electrical energy has been combined, usually optically, to a rotating disk. Pulses generated by the rotating disk, for example by light reflected from a spot painted on the disk, are utilized to generate an electronic output signal. 
   It will be appreciated that electronic meters have gained considerable acceptance due to their increasing reliability and extended ambient temperature ranges of operation. Consequently, various forms of electronic based meters have been proposed which are virtually free of any moving parts. In the last ten years several meters have been proposed which include a microprocessor. 
   Testing of electronic meters has always been a problem. A special mode of register operation known in the industry as the test mode has been available to ease register testing, however, little has been done to improve overall meter testing. Electronic meters have the potential of providing faster test times, multiple metering functions and calibration of the meter through software adjustment. However, implementing such functions can be expensive and complicated. 
   Presently, electric utility companies can test mechanical meters with a piece of test equipment which can reflect light off a metered disk to detect a painted spot as the disk rotates. An alternative form of testing mechanical meters is disclosed in U.S. Pat. No. 4,600,881—LaRocca et al. which describes the formation of a hole in the disk. A light sensitive device is placed in a fixed position on one side of the disk. As the disk rotates, and the hole passes over the light sensitive device, a pulse is provided indicating disk movement. 
   Since electronic meters preferably do not contain rotating disks, such simple testing techniques cannot be utilized. Consequently, a need exists for an electronic meter having a relatively simple means of testing the meter. 
   SUMMARY OF THE INVENTION 
   The previously described problems are resolved and other advantages are achieved in an electronic energy meter that senses input voltage and current signals and processes the input voltage and current signals to generate measurements of multiple types of power. The electronic energy meter comprises a processing system for selecting one of the multiple types of power and defining the same as the selected type of power. The processing system also generates a pulsed test signal representative of a magnitude of a measurement of the selected type of power for testing the operation of the meter. The meter further comprises a communications interface coupled to the processing system for transmitting the pulsed test signal from the meter and for receiving signals from sources external to the meter. Selection of one of the multiple types of power can be achieved by the meter receiving, via the communications interface and from a source external to the meter, a communications command identifying a selected one of the various types of power. The communications interface may comprise an optical communications port. Thus, in accordance with the present invention, pulsed test signals for multiple, different types of power can be transmitted over the optical communications port. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The present invention will be better understood, and its numerous objects and advantages will become apparent to those skilled in the art by reference to the following detailed description of the invention when taken in conjunction with the following drawings, in which: 
       FIG. 1  is a block diagram of an electronic meter constructed in accordance with the present invention; 
       FIGS. 2A–2E  combine to provide a flow chart of the primary program utilized by the microcontroller disclosed in  FIG. 1 ; 
       FIG. 3  is a front elevation of the liquid crystal display shown in  FIG. 1 ; 
       FIG. 4  is a diagrammatic view of select annunciators of the liquid crystal display shown in  FIG. 3 ; 
       FIG. 5  is a schematic diagram of the optical port shown in  FIG. 1 ; and 
       FIG. 6  is a schematic diagram of certain command buttons contained in the meter. 
   

   DETAILED DESCRIPTION 
   A new and novel meter for metering electrical energy is shown in  FIG. 1  and generally designated  10 . It is noted at the outset that this meter is constructed so that the future implementation of higher level metering functions can be supported. 
   Meter  10  is shown to include three resistive voltage divider networks  12 A,  12 B,  12 C; a first processor—an ADC/DSP (analog-to-digital converter/digital signal processor) chip  14 ; a second processor—a microcontroller  16  which in the preferred embodiment is a Mitsubishi Model 50428 microcontroller; three current sensors  18 A,  18 B,  18 C; a 12V switching power supply  20  that is capable of receiving inputs in the range of 96–528V; a 5V linear power supply  22 ; a non-volatile power supply  24  that switches to a battery  26  when 5V supply  22  is inoperative; a 2.5V precision voltage reference  28 ; a liquid crystal display (LCD)  30 ; a 32.768 kHz oscillator  32 ; a 6.2208 MHz oscillator  34  that provides timing signals to chip  14  and whose signal is divided by 1.5 to provide a 4.1472 MHz clock signal to microcontroller  16 ; a 2 kbyte EEPROM  35 ; a serial communications line  36 ; an option connector  38 ; and an optical communications port  40  that may be used to read the meter. The inter-relationship and specific details of each of these components is set out more fully below. 
   It will be appreciated that electrical energy has both voltage and current characteristics. In relation to meter  10  voltage signals are provided to resistive dividers  12 A– 12 C and current signals are induced in a current transformer (CT) and shunted. The output of CT/shunt combinations  18 A– 18 C is used to determine electrical energy. 
   First processor  14  is connected to receive the voltage and current signals provided by dividers  12 A– 12 C and shunts  18 A– 18 C. As will be explained in greater detail below, processor  14  converts the voltage and current signals to voltage and current digital signals, determines electrical energy from the voltage and current digital signals and generates an energy signal representative of the electrical energy determination. Processor  14  will always generate watthour delivered (Whr Del) and watthour received (Whr Rec) signals, and depending on the type of energy being metered, will generate either volt amp reactive hour delivered (VARhr Del)/volt amp reactive hour received (VARhr Rec) signals or volt amp hour delivered (VAhr Del)/volt amp hour received (VAhr Rec) signals. In the preferred embodiment, each transition on conductors  42 – 48  (each transition from logic low to logic high and vice versa) is representative of the measurement of a unit of energy. Second processor  16  is connected to first processor  14 . As will be explained in greater detail below, processor  16  receives the energy signal(s) and generates an indication signal representative of the energy signal(s). 
   In relation to the preferred embodiment of meter  10 , currents and voltages are sensed using conventional current transformers (CT&#39;s) and resistive voltage dividers, respectively. The appropriate multiplication is accomplished in a new integrated circuit, i.e. processor  14 . Although described in greater detail in relation to  FIG. 1 , processor  14  is essentially a programmable digital signal processor (DSP) with built in analog to digital (A/D) converters. The converters are capable of sampling three input channels simultaneously at 2400 Hz each with a resolution of 21 bits and then the integral DSP performs various calculations on the results. 
   Meter  10  can be operated as either a demand meter or as a so-called time of use (TOU) meter. It will be recognized that TOU meters are becoming increasingly popular due to the greater differentiation by which electrical energy is billed. For example, electrical energy metered during peak hours will be billed differently than electrical energy billed during non-peak hours. As will be explained in greater detail below, first processor  14  determines units of electrical energy while processor  16 , in the TOU mode, qualifies such energy units in relation to the time such units were determined, i.e. the season as well as the time of day. 
   All indicators and test features are brought out through the face of meter  10 , either on LCD  30  or through optical communications port  40 . Power supply  20  for the electronics is a switching power supply feeding low voltage linear supply  22 . Such an approach allows a wide operating voltage range for meter  10 . 
   In the preferred embodiment of the present invention, the so-called standard meter components and register electronics are for the first time all located on a single printed circuit board (not shown) defined as an electronics assembly. This electronics assembly houses power supplies  20 ,  22 ,  24  and  28 , resistive dividers  12 A– 12 C for all three phases, the shunt resistor portion of  18 A– 18 C, oscillator  34 , processor  14 , processor  16 , reset circuitry (not shown), EEPROM  35 , oscillator  32 , optical port components  40 , LCD  30 , and an option board interface  38 . When this assembly is used for demand metering, the billing data is stored in EEPROM  35 . This same assembly is used for TOU metering applications by merely utilizing battery  26  and reprogramming the configuration data in EEPROM  35 . 
   Consider now the various components of meter  10  in greater detail. Primary current being metered is sensed using conventional current transformers. It is preferred for the current transformer portion of devices  18 A- 18 C to have tight ratio error and phase shift specifications in order to limit the factors affecting the calibration of the meter to the electronics assembly itself. Such a limitation tends to enhance the ease with which meter  10  may be programmed. The shunt resistor portion of devices  18 A– 18 C are located on the electronics assembly described above and are preferably metal film resistors with a maximum temperature coefficient of 25 ppm/° C. 
   The phase voltages are brought directly to the electronic assembly where resistive dividers  12 A– 12 C scale these inputs to processor  14 . In the preferred embodiment, the electronic components are referenced to the vector sum of each line voltage for three wire delta systems and to earth ground for all other services. Resistive division is used to divide the input voltage so that a very linear voltage with minimal phase shift over a wide dynamic range can be obtained. This in combination with a switching power supply allows the wide voltage operating range to be implemented. 
   It will be appreciated that energy units are calculated primarily from multiplication of voltage and current. The specific formulae utilized in the preferred embodiment, are described in greater detail in U.S. Pat. No. 5,555,508, to Munday et al., which is incorporated herein by reference. However, for purposes of  FIG. 1 , such formulae are performed in processor  14 . 
   The M37428 microcontroller  16  is a 6502 (a traditional 8 bit microprocessor) derivative with an expanded instruction set for bit test and manipulation. This microcontroller includes substantial functionality including internal LCD drivers (128 quadraplexed segments), 8 kbytes of ROM, 384 bytes of RAM, a full duplex hardware UART, 5 timers, dual clock inputs (32.768 kHz and up to 8 MHz), and a low power operating mode. 
   During normal operation, processor  16  receives the 4.1472 MHz clock from processor  14  as described above. Such a clock signal translates to a 1.0368 MHz cycle time. Upon power fail, processor  16  shifts to the 32.768 KHz crystal oscillator  32 . This allows low power operation with a cycle time of 16.384 kHz. During a power failure, processor  16  keeps track of time by counting seconds and rippling the time forward. Once processor  16  has rippled the time forward, a WIT instruction is executed which places the unit in a mode where only the 32.768 kHz oscillator and the timers are operational. While in this mode a timer is setup to “wake up” processor  16  every 32,768 cycles to count a second. 
   While power supply  20  can be any known power supply for providing the required direct current power, a preferred form of power supply  20  is described in detail in U.S. Pat. No. 5,457,621, to Munday et al. which is incorporated herein by reference. 
   Consider now the main operation of processor  16  in relation to  FIGS. 2A–2E  and  FIG. 3 . At step  1000  a reset signal is provided to microcontroller  16 . A reset cycle occurs whenever the voltage level V dd  rises through approximately 2.8 volts. Such a condition occurs when the meter is powered up. 
   At step  1002 , microcontroller  16  performs an initialize operation, wherein the stack pointer is initialized, the internal ram is initialized, the type of liquid crystal display is entered into the display driver portion of microcontroller  16  and timers which require initialization at power up are initialized. It will be noted that the operation of step  1002  does not need to be performed for each power failure occurrence. Following a power failure, microcontroller  16  at step  1004  returns to the main program at the point indicated when the power returns. 
   Upon initial power up or the return of power after a power failure, microcontroller  16  performs a restore function. At step  1006 , microcontroller  16  disables pulses transmitted by processor  14 . These pulses are disabled by providing the appropriate signal restore bit. The presence of this bit indicates that a restore operation is occurring and that pulses generated during that time should be ignored. Having set the signal restore bit, microcontroller  16  determines at step  1008  whether the power fail signal is present. If the power fail signal is present, microcontroller  16  jumps to the power fail routine at  1010 . In the power fail routine, the output ports of microcontroller  16  are written low unless the restore bit has not been set. If the restore bit has not been set, data in the microcontroller  16  is written to memory. 
   If the power fail signal is not present, microcontroller  16  displays segments at step  1012 . At this time, the segments of the display are illuminated using the phase A potential. It will be recalled that phase A potential is provided to microcontroller  16  from processor  14 . At  1014 , the UART port and other ports are initialized. At  1016 , the power fail interrupts are enabled such that if a falling edge is sensed from output A of processor  14 , an interrupt will occur indicating power failure. It will be recalled that processor  14  compares the reference voltage VREF to a divided voltage generated by the power supply  20 . Whenever the power supply voltage falls below the reference voltage a power fail condition is occurring. 
   At step  1018 , the downloading of the metering integrated circuit is performed. It will be appreciated that certain tasks performed by microcontroller  16  are time dependent. Such tasks will require a timer interrupt when the time for performing such tasks has arrived. 
   At  1022 , the self-test subroutines are performed. Although no particular self-test subroutine is necessary in order to practice the present invention, such subroutines can include a check to determine if proper display data is present. It is noted that data is stored in relation to class designation and that a value is assigned to each class such that the sum of the class values equals a specified number. If any display data is missing, the condition of the class values for data which is present will not equal the specified sum and an error message will be displayed. Similarly, microcontroller  16  compares the clock signal generated by processor  14  with the clock signal generated by watch crystal  32  in order to determine whether the appropriate relationship exists. 
   Having completed the self-test subroutines, the ram is re-initialized at  1024 . In this re-initialization, certain load constants are cleared from memory. At  1026 , various items are scheduled. For example, the display update is scheduled so that as soon as the restore routine is completed, data is retrieved and the display is updated. Similarly, optical communications are scheduled wherein microcontroller  16  determines whether any device present at optical port  40  desires to communicate. Finally, at  1028  a signal is given indicating that the restore routine has been completed. Such a signal can include disabling the signal restore bit. Upon such an occurrence, pulses previously disabled will now be considered valid. Microcontroller  16  now moves into the main routine. 
   At  1030 , microcontroller  16  calls the time of day processing routine. In this routine, microcontroller  16  looks at the one second bit of its internal clock and determines whether the clock needs to be changed. For example, at the beginning and end of Daylight Savings Time, the clock is moved forward and back one hour, respectively. In addition, the time of day processing routine sets the minute change flags and date change flags. As will be appreciated hereinafter, such flags are periodically checked and processes occur if such flags are present. 
   It will be noted that there are two real time interrupts scheduled in microcontroller  16  which are not shown in  FIG. 2 , namely the roll minute interrupt and the day interrupt. At the beginning of every minute, certain minute tasks occur. Similarly, at the beginning of every day, certain day tasks occur. Since such tasks are not necessary to the practice of the presently claimed invention, no further details need be provided. 
   At  1032 , microcontroller  16  determines whether a self-reprogram routine is scheduled. If the self-reprogram routine is scheduled, such routine is called at  1034 . The self-reprogram typically programs in new utility rates which are stored in advance. Since new rates have been incorporated, it will be necessary to also restart the display. After operation of the self-reprogram routine, microcontroller  16  returns to the main program. If it is determined at  1032  that the self-reprogram routine is not scheduled, microcontroller  16  determines at  1036  whether any day boundary tasks are scheduled. Such a determination is made by determining the time and day and searching to see whether any day tasks are scheduled for that day. If day tasks are scheduled, such tasks are called at  1038 . If no day tasks are scheduled, microcontroller  16  next determines at  1040  whether any minute boundary tasks have been scheduled. It will be understood that since time of use switch points occur at minute boundaries, for example, switching from one use period to another, it will be necessary to change data storage locations at such a point. If minute tasks are scheduled, such tasks are called at  1042 . If minute boundary tasks have not been scheduled, microcontroller  16  determines at  1044  whether any self-tests have been scheduled. The self-tests are typically scheduled to occur on the day boundary. As indicated previously, such self-tests can include checking the accumulative display data class value to determine whether the sum is equal to a prescribed value. If self-tests are scheduled, such tests are called at  1046 . If no self-tests are scheduled, microcontroller  16  determines at  1048  whether any season change billing data copy is scheduled. It will be appreciated that as the seasons change, billing data changes. Consequently, it will be necessary for microcontroller  16  to store energy metered for one season and begin accumulating energy metered for the following season. If a season change billing data copy is scheduled, such routine is called at  1050 . If no season change routine is scheduled, microcontroller  16  determines at  1052  whether the self-redemand reset has been scheduled. If the self-redemand reset is scheduled, such routine is called at  1054 . This routine requires microcontroller  16  to in effect read itself and store the read value in memory. The self-redemand is then reset. If the self-redemand reset has not been scheduled, microcontroller  16  determines at  1056  whether a season change demand reset has been scheduled. If a season change demand reset is scheduled, such a routine is called at  1058 . In such a routine, microcontroller  16  reads itself and resets the demand. 
   At  1060 , microcontroller  16  determines whether button sampling has been scheduled. Button sampling will occur every eight milliseconds. Reference is made to  FIG. 6  for a more detailed description of an arrangement of buttons to be positioned on the face of meter  10 . Consequently, if an eight millisecond period has passed, microcontroller  16  will determine that button sampling is scheduled and the button sampling routine will be called at  1062 . If button sampling is not scheduled, microcontroller  16  determines at  1064  whether a display update has been scheduled. This routine causes a new quantity to be displayed on LCD  30 . As determined by the soft switch settings, display updates are scheduled generally for every three-six seconds. If the display is updated more frequently, it may not be possible to read the display accurately. If the display update has been scheduled, the display update routine is called at  1066 . If a display update has not been scheduled, microcontroller  16  determines at  1068  whether an annunciator flash is scheduled. It will be recalled that certain annunciators on the display are made to flash. Such flashing typically occurs every half second. If an annunciator flash is scheduled, such a routine is called at  1070 . It is noted in the preferred embodiment that a directional annunciator will flash at the same rate at which energy determination pulses are transmitted from processor  14  to processor  16 . Another novel feature of the invention is that other annunciators (not indicative of energy direction) will flash at a rate approximately equal to the rate of disk rotation in an electromechanical meter used in a similar application. 
   If no annunciator flash is scheduled, microcontroller  16  determines at  1072  whether optical communication has been scheduled. It will be recalled that every half second microcontroller  16  determines whether any signal has been generated at optical port  40 . If a signal has been generated indicating that optical communications is desired, the optical communication routine will be scheduled. If the optical communication routine is scheduled, such routine is called at  1074 . This routine causes microcontroller  16  to sample optical port  40  for communications activity. If no optical routine is scheduled, microcontroller  16  determines at  1076  whether processor  14  is signaling an error. If processor  14  is signaling an error, microcontroller  16  at  1078  disables the pulse detection, calls the download routine and after performance of that routine, re-enables the pulse detection. If processor  14  is not signaling any error, microcontroller  16  determines at  1080  whether the download program is scheduled. If the download program is scheduled, the main routine returns to  1078  and thereafter back to the main program. 
   If the download program has not been scheduled or after the pulse detect has been re-enabled, microcontroller  16  determines at  1082  whether a warmstart is in progress. If a warmstart is in progress, the power fail interrupts are disabled at  1084 . The pulse computation routine is called after which the power fail interrupts are re-enabled. It will be noted that in the warmstart, data is zeroed out in order to provide a fresh start for the meter. Consequently, the pulse computation routine performs the necessary calculations for energy previously metered and places that computation in the appropriate point in memory. If a warmstart is not in progress, microcontroller  16  at  1084  updates the remote relays. Typically, the remote relays are contained on a board other than the electronics assembly board. 
   All data that is considered non-volatile for meter  10 , is stored in a 2 kbytes EEPROM  35 . This includes configuration data (including the data for memory  76  and memory  80 ), total kWh, maximum and cumulative demands (Rate A demands in TOU), historic TOU data, cumulative number of demand resets, cumulative number of power outages and the cumulative number of data altering communications. The present billing period TOU data is stored in the RAM contained within processor  16 . As long as the microcontroller  16  has adequate power, the RAM contents and real time are maintained and the microcontroller  16  will not be reset (even in a demand register). 
   LCD  30  allows viewing of the billing and other metering data and statuses. Temperature compensation for LCD  30  is provided in the electronics. Even with this compensation, the meter&#39;s operating temperature range and the LCD&#39;s 5 volt fluid limits LCD  30  to being triplexed. Hence, the maximum number of segments supported in this design is  96 . The display response time will also slow noticeably at temperatures below −30 degrees Celsius. For a more complete description of the generation of a display signal for display  30 , reference is made to U.S. Pat. No. 5,555,508, to Munday et al. which is incorporated herein by reference. 
   The 96 available LCD segments, shown in  FIG. 3 , are used as follows. Six digits (0.375 high) are used for data display and three smaller digits (0.25 high) for numeric identifiers. In addition to the numeric identifiers, there are seventeen alpha annunciators that are used for identification. These are: PREV, SEAS, RATE, A, B, C, D, CONT, CUM, RESETS, MAX, TOTAL, KV /, \, −\, R, and h. The last five annunciators can be combined to produce: KW, KWh, KVA, KVAh, KVAR, or KVARh, as shown. Three potential indicators are provided on the LCD and appear as light bulbs. These indicators operate individually and are on continuously when the corresponding phase&#39;s potential is greater than 57.6 Vrms, and flash when the potential falls below 38.4 Vrms. “TEST” “ALT”, and “EOI” annunciators are provided to give an indication of when the unit is in test mode, alternate scroll mode, or an end of a demand interval has occurred. Six (6) pulse indicators  200 – 210  are also provided on LCD  30  for watt-hours and an alternate quantity (VA-hours or VAR-hours). 
   Pulse indicators  200 – 210  are configured as two sets of three, one set for indicating watts and another set for indicating VARhours. Each set has a left arrow, a solid square, and a right arrow. During any test, one of the arrows will be made to blink at the rate microcontroller  16  receives pulses from processor  14  while the square will blink at a lower rate representative of a disk rotation rate and in a fashion which mimics disk rotation. It will be noted that signals necessary to flash indicators  200 – 210  are generated by processor  16  in energy pulse interrupt routines. The left arrow  200  blinks when energy is received from the metered site and the right arrow  204  blinks when energy is delivered to the metered site. The solid square  202  blinks at a Kh rate equivalent to an electro-mechanical meter of the same form, test amperes, and test voltage. Square  202  blinks regardless of the direction of energy flow. The rate at which square  202  blinks can be generated by dividing the rate at which pulses are provided to processor  16 . Consequently, testing can occur at traditional rates (indicative of disk rotation) or can occur at faster rates, thereby reducing test time. Indicators  206 – 210  operate in a similar fashion, except in relation to apparent reactive energy flow. 
   These pulse indicators can be detected through the meter cover using the reflective assemblies (such as the Skan-A-Matic C42100) of existing test equipment. As indicated above, the second set of three indicators indicate apparent reactive energy flow and have the tips of arrows  206  and  210  open so that they will not be confused with the watt-hour indicators. 
   Referring to  FIG. 4 , it will be seen that annunciators  200 – 204  are positioned along a line, wherein annunciator  202  is positioned between annunciators  200  and  204 . As time progresses, processor  16  generates display signals so that, when energy is flowing in the forward direction, annunciator  204  always flashes. However, annunciators  200  and  202  can be made to flash selectively, to create the impression that energy is flowing from left to right. When energy is flowing in the reverse direction, the reverse is true. Annunciator  200  flashes continuously, and annunciators  202  and  204  flash selectively to mimic energy flowing from right to left. 
   Meter  10  interfaces to the outside world via liquid crystal display  30 , optical port  40 , or option connector  38 . It is envisioned that most utility customers will interface to LCD  30  for testing of the meter, and some utilities will desire an infrared LED, such as LED  112 , to test the meter calibration. Traditionally, electronic meters have provided a single light emitting diode (LED) in addition to an optical port to output a watthour pulse. Such designs add cost, decrease reliability and limit test capabilities. The present invention overcomes these limitations by multiplexing the various metering function output signals and pulse rates over optical port  40  alone. Meter  10  echoes the kh value watthour test output on optical port  40  anytime the meter has been manually placed in the test mode (the TEST command button in  FIG. 5  has been pressed) or alternate scroll mode (the ALT command button in  FIG. 5  has been pressed). While in these manually initiated modes, communication into processor  16  through optical port  40  is prevented. It is noted that in the preferred embodiment, the ALT button is capable of being enabled without removal of the meter cover (not shown). To this end a small movable shaft (not shown) is provided in the meter cover so that when the shaft is moved the ALT component is enabled. Consequently, removal of the meter cover is not necessary in order to test the meter. 
   Referring now to  FIG. 5 , optical port  40  and reset circuitry  108  are shown in greater detail. Optical port  40  provides electronic access to metering information. The transmitter and receiver (transistors  110  and  112 ) are 850 nanometer infrared components and are contained in the electronics assembly (as opposed to being mounted in the cover). Transistors  110  and led  112  are tied to a UART included within microcontroller  16  and the communications rate (9600 baud) is limited by the response time of the optical components. The optical port can also be disabled from the UART (as described below), allowing the UART to be used for other future communications without concern about ambient light. During test mode, optical port  40  will echo the watthour pulses received by the microcontroller over the transmitting LED  112  to conform to traditional testing practices without the necessity of an additional LED. 
   Meter  10  also provides the ability to be placed in the test mode and exit from the test mode via an optical port function, preferably with a data command. When in a test mode initiated via optical port  40 , the meter will echo metering pulses as defined by the command transmitted on the optical port transmitter. This allows the multiplexing of metering functions or pulse rates over a single LED. In the preferred embodiment, such a multiplexing scheme is a time based multiplexing operation. The meter will listen for further communications commands. Additional commands can change the rate or measured quantity of the test output over optical port  40 . The meter will “ACK” any command sent while it is in the test mode and it will “ACK” the exit test mode command. While in an optically initiated test mode, commands other than those mentioned above are processed normally. Because there is the possibility of an echoed pulse confusing the programmer-readers receiver, a command to stop the pulse echo may be desired so communications can proceed uninterrupted. If left in test mode, the usual test mode time out of three demand intervals applies. 
   The data command identified above is called “Enter Test Mode” and is followed by 1 data byte defined below. The command is acknowledged by processor  16  the same as other communications commands. The command places meter  10  into the standard test mode. While in this mode, communications inter-command timeouts do not apply. Hence, the communications session does not end unless a terminate session command is transmitted or test mode is terminated by any of the normal ways of exiting test mode (pressing the test button, power failure, etc.), including the no activity timeout. Display  30  cycles through the normal test mode display sequence (see the main program at  1044 ,  1060  and  1064 ) and button presses perform their normal test mode functions. Transmitting this command multiple times causes the test mode, and its associated timeout counter, to restart after each transmission. 
   The data byte defines what input pulse line(s) to processor  16  should be multiplexed and echoed over optical port  40 . Multiple lines can be set to perform a totalizing function. The definition of each bit in the data byte is as follows:
         bit 0 =alternate test pulses,   bit 1 =alternate delivered pulses,   bit 2 =alternate received pulses,   bit 3 =whr test pulses,   bit 4 =whr delivered pulses,   bit 5 =whr received pulses,   bits  6  and  7  are unused.       

   If no bits are set, the meter stops echoing pulses. This can be used to allow other communications commands to be sent without fear of data collision with the output pulses. While in this mode, other communications commands can be accepted. The test data can be read, the meter can be reprogrammed, the billing data can be reset or a warmstart can be initiated. Since the Total KWH and Maximum Demand information is stored to EEPROM  35 , test data is being processed in memory areas and functions such as demand reset and warmstart will operate on the Test Mode data and not the actual billing data. Any subsequent “Enter Test Mode Command” resets the test mode data just as a manual demand reset would in the test mode. 
   This command also provides the utility with a way to enter the test mode without having to remove the meter cover. This will be beneficial to some utilities. 
   While the invention has been described and illustrated with reference to specific embodiments, those skilled in the art will recognize that modification and variations may be made without departing from the principles of the invention as described herein above and set forth in the following claims.