CLOSED LOOP INTERACTIVE CONTROLLER

Abstract: An injection mold apparatus (10) has multiple injection zones, each zone having at least one heater and at least one temperature sensor generating a temperature indicating signal. A power source provides power to the heaters. A controller (22) controls the temperature of at least some of the zones. For efficiency, the controller has two separate processors, a data-receiving processor for receiving temperature indicating signal from each sensor as well as power signals, and a control processor for receiving data from the data-receiving processor and for controlling the amount of power provided to the heaters. Preferably, the control is in a housing (30), with the housing mounted directly on the mold. Modified PID calculations are utilized. Power calculations for the amount of power to the heaters utilizes a modulo based algorithm.

Description: CLOSED LOOP INTERACTIVE CONTROLLER COPYRIGHT NOTICE A portion (Appendices A-1 , 2, 3, and 4) of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever. BACKGROUND This invention relates to a controller integrated with apparatus for the purpose of controlling the operational parameters of the apparatus, and more particularly, to control circuitry operated by processors for a closed loop, self-remedial system. A particular application of the present invention relates to molds utilized with a plastic mold apparatus, such as a hot runner injection mold apparatus. In the injection mold industry, it is known to have an injection mold apparatus having from one to two hundred plus molding stations. Molds having ninety- six stations are common. Each station is equipped with the functional elements necessary for carrying out the molding process, including a mold cavity, resin feed equipment, and heaters and chilling fluid channels for maintaining resin and the mold in a proper molding condition. In a typical injection mold process, the following steps sequentially take place: (1 ) the mold cavity closes; (2) molten resin is injected into the closed mold; (3) once the injected resin hardens, the mold is opened; and (4) a formed part is ejected from the opened mold. Each mold cavity can undergo changes in spacing as a result of repeated opening and closing as each finished molded component is ejected. It is critical that the mold return to its precise spacing after the components are ejected and the mold is readied for the next batch. Moreover, in molding components, it is critical to maintain the temperature of the resin within a few degrees of its desired melt temperature in order to achieve the proper quality of the molded components. Given the high production rate of injection molding apparatus, almost instantaneous recognition that the system is out of temperature control is needed. Conditions in the mold that are important in terms of product quality are the resin temperature, the mold temperature, and mold pressure. If these conditions are out of set ranges, the quality of the final molded components can be adversely affected. For example the molded components can emerge with extraneous plastic along the edges, which is known as "flash". Other problems incurred with molding parts are variation and inconsistency in the weight and quality of the components. Conventional techniques for controlling operational parameters of a mold to maintain the parameters within a range of acceptable reference parameters involves monitoring the various parameters with sensors. The data detected by the sensors is transmitted as analog signals to a controller. Certain examples of the prior art are United States Patent 5,557,857, issued September 3, 1 996, to Osami Fujioka, which discloses controls for a molding apparatus 39 (Figure 1 ); and United States Patent 5,795,51 1 , issued August 1 8, 1 998, to Peter G. Kalantzis, which discloses a memory function in Figure 2 for the operational parameters of the hot side 24 of an injection molding machine. Some of the disadvantages of prior art techniques for monitoring and controlling the operational parameters of a mold apparatus are attributable to the use of large, stand alone controllers, external to the mold. These controllers are expensive, and require large kilowatt power sources and large heavy cables for connection. The cables that provide the kilowatt power generates resistance in the cables and produces unwanted noise that can result in inaccurate signals from the various sensors. Moreover, a large number of connectors need to be made to connect the mold controller to (i) the mold, (ii) the injection mold apparatus, and (iii) a power source. Effecting these connections delays start-up of the equipment, and can contribute to high labor costs for production of molded parts. In view of the disadvantages of prior art techniques, there is a need for control apparatus, such as for an injection mold apparatus, and methods for operating the apparatus, that permit accurate, automatic and inexpensive control of operational parameters while minimizing production of defective parts. SUMMARY The present invention is directed to an apparatus and method that satisfy this need. In particular, in one aspect of the present invention, an apparatus has multiple zones, each zone having at least one heater and/or chiller system, and at least one temperature sensor outputting a temperature indicating signal. A power source provides power to any heater, chilling fluid is provided to any chiller system, and a controller controls the temperature of at least some of the zones. The controller comprises a data- receiving processor and a separate control processor. The data-receiving processor receives a temperature indicating signal from each sensor. The separate control processor receives data from the data-receiving processor and controls power provided to the heaters and/or the temperature of chilling fluid provided to the chilling system in response to the data received from the data-receiving processor. Each processor has its own central processing unit. Typically the apparatus is a hot runner injection mold having multiple injection zones. Typically the controller comprises a closed loop feed back circuit. Preferably the data-receiving processors also calculate the root mean square current of each heater and/or root mean square of the output temperature of fluid from the chiller. To avoid the problem of the expensive and error-inducing cables, preferably the controller is in a housing, where the housing is mounted on the mold. If necessary, there can be an insulating air gap between the housing and the mold to avoid heat from the mold overheating the processors. In order to avoid production of defective parts, preferably the apparatus comprises an alarm responsive to an out of control condition such as incomplete ejection of a molded component from the mold, out of specification component quality, irregular spacing between mold components, and incorrect weight of molded components. The apparatus can comprise an automatic or manual control switch responsive to the alarm for shutting down any zone responsible for the out of control condition. The apparatus typically utilizes a power source providing AC current to the heaters. The control processor compares the actual temperature of each zone against its target temperature. The control processor provides an output signal for regulating the power source, and controls the total number of complete current cycles provided by the power source to each heater. This is accomplished by calculating the number of current cycles required to achieve the target temperature based on the difference between actual temperature and target temperature, and then comparing the number of current cycles needed against the actual number of cycles being provided to each heater. For this purpose, the apparatus includes a detector, such as a transformer, for detecting the amount of current provided to each heater. The data-receiving processor and control processor preferably are on separate printed circuit boards. Because the data-receiving function of data received from the heaters and the current sensors is processor-intensive for a large number of zones, the data-receiving processor can comprise separate processor modules, each module having its own CPU. For example, for 96 zones each module can be used for 48 zones. In a preferred control processor, the amount of power needed for each heater is determined with a PID calculation, where a range of limits is provided for the amount the power to be applied, independent of the PID calculation to prevent over heating the system. To minimize the calculation load on the first processor, preferably the RMS value for detected current utilizes an algorithm to calculate the sum of squares which requires less processor capacity, as detailed below. To be certain, for power efficiency, that AC power is provided in complete cycles, the system includes a zero cross-over detector and controls for starting and ending power application at zero cross-over. Optionally, the present invention monitors each molding station with a sensor during the resin injection step. If the sensor detects that the mold is improperly opening during the injection step, which can cause flash, the system automatically increases the pressure utilized to keep the mold closed. The present invention also includes a system and method for starting up the apparatus, so that all zones reach a startup target temperature at substantially the same time. This is effected by determining a heat-up time for each zone, where the heat-up time is equal to the amount of time required to heat up the adjacent portion of the apparatus to its start-up temperature with the heater on substantially full power. The heat-up times of the heaters are compared to identify the longest heat-up time. The amount of heat-up power for each heater is determined, the heat-up power for each zone being the amount required to heat up the respective adjacent portions of the apparatus to its start-up temperature in the heat-up time. Then there is applied to each heater simultaneously its respective heat-up power, with the result that all portions of the apparatus reach their target temperature at substantially the same time. In a more general sense, a system according to the present invention controls the operation of an apparatus having a plurality of operating zones, where the system comprises at each zone, at least one operating element (such as a heater), and a detector (such as a transformer) generating an operating signal representative of the operating state of the operating element (such as power to the heater). An input is provided for each operating element to vary an operational parameter (such as temperature) of each zone. A sensor senses the operational parameter of each zone and generates a corresponding analog sensing signal. The system includes a controller that comprises a first processor for digitizing the signals and determining from the signal the operating state of the operating element and the operational parameter of each zone. The controller also includes a second processor for performing a PID calculation for each zone based on the operating state and the operational parameter to determine the amount of input of each operating element to maintain the operational parameter of each zone within a selected range. The second processor preferably limits the maximum amount of input determined by the PID calculation to prevent damage to the apparatus and operating elements. As a result of the combination of these features of the present invention, including separate processors for data-receiving and control, a controller mounted directly on the apparatus without cables, an efficient algorithm for calculating RMS values, use of full AC cycles for power to the heaters, and a system for detecting out of control conditions, it is possible to efficiently, effectively, and automatically manufacture molded parts. DRAWINGS These and other features, aspects and advantages of the present invention will become better understood from the following description, appended claims, and accompanying drawings where: Fig. 1 is a perspective view of a mold apparatus according to the present invention, showing an interactive process manager (IPM) integrated with a mold having multiple zones. Fig. 2 is a schematic view of the inside of the mold of Fig. 1 , taken along line 2-2 in Fig. 1 . Fig. 3 is a sketch illustrating techniques for controlling and monitoring the condition of the mold of Fig. 1 and the condition of molded components for the mold of Fig. 1 . Fig. 4 is a block diagram showing the modules of the IPM and the relationship between modules of the IPM of the apparatus of Fig. 1 . Fig. 5 is block diagram of the temperature and current sensing data modules of the IPM of Fig. 1 . Fig. 6 is a software flow chart of the computations carried out for making decisions on power requirements for heaters of the mold of Fig. 1 . Figs. 7A and 7B are top and bottom plan views, respectively, of a power driver unit of the IPM of Fig. 1 showing the arrangement of the components that form a two-sided circuit board. Figs. 7C and 7D are sectional views of the power driver unit of Figs. 7A and 7B, taken on lines 7C-7C and 7D-7D, respectively, in Fig. 7A. Fig. 7E is a wiring diagram of the power driver unit of Figs. 7A and 7B that senses the current that is input to a processor module of the IPM. Fig. 8 is a block diagram of a processor module that is part of the IPM of Fig. 1 that controls the timing of the application of the calculated power to mold zones. Fig. 9 is a flow chart of software that controls the triggering of application of power for heating the mold zones of the mold of Fig. 1 . Fig. 10 is a flow chart of the software that controls the power increments applied to each heater of the mold of Fig. 1 in bringing the zones to the operational reference temperature. Fig. 1 1 A is a time vs. temperature plot of the start-up technique of this invention for bringing each heater in the multiple zones to a set point temperature of the mold of Fig. 1 . Fig. 1 1 B is a time vs. temperature plot of the prior art start-up control for bringing multiple heaters to a set point temperature. Fig. 1 2 is a flow chart of the software for accessing the IPM of Fig. 1 from a remote location. Fig. 1 3 is a schematic view showing a closed loop control of a chilling function for the mold of Fig. 1 , and the use of the IPM with other equipment relating to the injection molding operation. Appendices A-1 through A-4, which are incorporated herein by reference, are descriptions and software listings of a preferred embodiment of the present invention. DESCRIPTION Overall Apparatus Referring to Figures 1 and 2, there is shown the general arrangement of a mold apparatus 10 according to the present invention. The mold apparatus 10 comprises multiple molding stations, each having a hot runner injection mold 12. As is typical in the industry, the mold 12 comprises a manifold backing plate 14, a core retainer plate 16, which captures and holds in alignment a cavity plate 18, a mold cavity insert 19 in the cavity plate 18, and a manifold plate 20. Integral with the mold 12 is an interactive process manager (IPM) 22 connected via a data communication/power cable 24 to a communication/power unit 26 which, in turn, is connected to an AC power source through a power cord 28. The IPM 22 includes a housing 30 affixed to the mold, optionally, by leg elements 32 that support the IPM above the mold 12, providing a heat insulating air space 34 to minimize any heat transfer from the IPM 22 to the mold 12. Unlike prior art controllers, the IPM is directly attached to the mold 12, and only a single connection needs to be made with the cable 24 to the communications/power unit 26. Although the concept of an integrated IPM 22 is described herein in terms of a molding process in a hot runner injection mold, it is intended that it can be applied to a wide range of apparatus whose successful operation depend on measurable parameters that meet specific operating conditions important to turning out an acceptable end product, and where there is a need for this system to correct itself without outside intervention. This includes cold runner injection molds, spin molds, blow molds, and the like. The communication/power unit 26 is equipped with a PC (personal computer) terminal 36 which can be input information from a local PC 38, or optionally a user can communicate through a remote computer connected to a phone line connection 39 for an internal modem 40 (Fig. 8). The communication unit 26 additionally is equipped with status indicator lamps 42, circuit breakers 43, and communication connection 44 for optional connection to a network controlling other apparatus. As shown in Figures 2 and 3, the IPM 22 is integral with the mold 12. The core retainer plate 16 and the mold cavity insert 19, when aligned together, form a mold cavity 46, into which molten resin is injected through an opening 45, to form a molded component 47. The core retainer plate 16 and the mold cavity insert 19 contain the male and female mold portions 16a, 19a, respectively, that shape molded components 47. The manifold plate 20 and the cavity plate 18 are constructed to receive a hot runner injection nozzle body 48 equipped with a nozzle tip that communicates with the mold cavity 46 through an injection gate (not illustrated). The plates 16 and 18 are restored in the proper spaced alignment after the mold separates to eject each molded component 47. The manifold plate 20 is formed with a hot runner manifold 50 for supplying resin melt to the injection nozzle body 48. Monitoring Irregular Molding Condition Figure 3 is a sketch illustrating monitors or detectors for controlling certain irregularities that can occur within the mold. With reference to Fig. 3, a transducer 52 is fixed within the insert 19 for sensing the degree of movement between the parting line formed by the mold surfaces 19b and 16b. Alternatively, the transducer can be fixed to the core retainer plate 16. The quality of molded components 47 ejected from the mold cavity 46 requires that the cavity insert 19 and the core retainer plate 16 be restored exactly to their original position after every time the mold opens to eject molded components 47 and is subsequently restored to its operating condition. Preferably, the transducer 52 is a microswitch force sensor manufactured by Honeywell of Minneapolis, Minnesota, FS series device. The transducer 52 senses engagement of a projection 16c on surface 16b with a recess 19c in surface 19b. Cables 56 connect the transducer 52 to the IPM 22, which monitors the cavity plate line movement of the mold. In the event misengagement or misalignment is detected, the transducer 52 generates a millivolt signal through cables 56 for pick up by the IPM 22, which triggers a default signal in the communication unit 26 causing an alarm, and optionally, shutting down the affected mold. Also, an alarm in the IPM 22, as described below, is triggered. It can be important to measure the aggregate weight of the components 47 as they are ejected from the mold cavity 46 to make certain that the mold is operating properly. For this purpose, a receiving tray 58 is placed in the gravitational path of the components 47. The tray is supported on an electronic scale 60 that weighs components ejected from the mold. A conveyor 62 removes finished components 47 to an appropriate collection station. Other types of removal and collection devices can be employed in place of the conveyor 62 such as, for example, a robotic sweep arm (not illustrated) to collect finished components. The signal generated by the electronic scale 60 represents the aggregate weight of the components. The signal is transmitted to the IPM 22 by a cable 63, where it is received in memory in the IPM. In the event the aggregate weight of the molded components 47 is outside a preselected weight parameter, as recorded in memory, an alarm is activated in the communication unit 26, and optionally, the affected mold is shut down. The condition of the mold after each hardened molded component 47 is ejected is important, because it is necessary that the mold be ready to receive the molten resin for the next molding operation. A video camera 64 is positioned between the parting line surfaces 19b and 16b for identifying any failure of the components 47 to clear the mold cavity 46 after they are hardened or set. In particular, should a component fail to clear the cavity, the video picks up an obstruction, showing that surfaces 19b and 16b of the mold have one or more components stuck in a mold cavity. This signals an alarm, and optionally shuts down the mold. The video camera can also be used to remotely inspect the quality of the ejected components. The instantaneous recognition by the IPM of any one of these irregular conditions can shut down the mold 12, and/or can enable an operator to take timely action to correct irregularities. This minimizes costly production of defective parts, which may otherwise go undetected for an inordinate length of time. Temperature Control Good temperature control of the mold requires control of the temperature of each molding station. Although the following discussion is directed to control of a single molding station provided with multiple heaters and multiple sensors, it should be understood that the IPM is simultaneously controlling the temperature of all molding stations of the mold 12, where each molding station can have one or more heaters and one or more sensors. The quality of the molded components 47 depends, in part, on the ability of the system to maintain correct temperature. For this purpose, the hot runner manifold 50 typically has one or more heaters. For example, a pair of heaters 66a and 66b are provided in the resin feed structure at one end, and heaters 68 and 70 are located where the resin feeds to the hot runner nozzle body 48. The actual location and size of the heaters used depends on the type of resin employed and details of the molded component. A chilled water system (see Figs. 2 and 1 3) includes a water chiller 71 , a chilled water inlet line 72a, a chilled water outlet line 72b, and a chilling fluid path 72c in the mold for keeping the cavity plate 18 and insert 19 at a desired temperature. The thermal effect of the heaters 66, 68, and 70 on resin passing through the hot runner manifold 50 and the hot runner nozzle body 48 is measured by sensors 74 and 76, typically thermocouples, strategically positioned in the system. The thermal effect of the chilled water system is measured by a sensor 77, typically, a thermocouple sensor. The sensor 74 is used to control heaters 66a, 66b, and 68; the sensor 76 is used to control the heater 70; and the sensor 77 is used to control the outlet temperature of water from the chiller 71. Thus, each molding station can have multiple zones, where each zone has a sensor and one or more heaters or chillers responsive to the temperature sensed by the sensor. The heaters 66a, 66b, 68, and 70 are powered by alternating current, as described in detail below, by a power drive/current sensor module 78, to which they are connected by heater cables 80, 81 , 82, and 83, respectively. Each sensor 74, 76, and 77 is connected to the IPM 22 by sensor cables 85, 86, and 87, respectively. Each sensor generates an analog signal which is transmitted by the sensor cables to the IPM 22, which is equipped with a processor for processing the measured signals, and thus controlling the power driver/current sensor module 78 and the chiller 71 , in a closed loop system, as described in detail below. Referring to Figs. 2, 4, 5, 6, 7A, 7B, 7C, 7D, and 7E, the IPM controller 22 includes a first, data-receiving processor module 88 (also referred to as a measurement processor module), and a second control processor 90, a modem 92, a failure alarm 94, and the power driver/current sensor module 78. The failure alarm 94 can be triggered by the IPM 22 sensing of the irregular conditions in the mold, as discussed above. The data- receiving processor module 88 receives temperature measurements and current measurements, as described in detail below. In this present invention, the control and measurement functions are split to different processors, because the measurement function is CPU intensive requiring much processor capability. It has been found that this is a less expensive control system than to use a single processing unit for both control and measurement functions. Because measurement of temperature and current are CPU intensive, for a large number of zones, the data-receiving processor module 88 can require multiple processors. Thus, for the exemplary apparatus, shown in the drawings, which has 96 zones, there is a first measurement processor 88a that is used for zones 1 -48, and a second measurement processor 88b that is used for zones 49-96. For an exemplary zone having one heater (such as heater 70) and one temperature sensor (such as sensor 76), 01/07229 -, -, PCT/USOO/19507 each measurement processor 88a and 88b is receiving data signals from 96 sources (2 x 48). Each measurement processor 88a, 88b provides measurement data to the control processor through cables 89a and 89b, respectively. As shown in Fig. 4, the communication unit 26 is separate from the IPM unit 22. In addition to the components described earlier, the communication unit 26 has a step down transformer 98 that reduces the input voltage, typically 240 volts, to a lower voltage, preferably about 24 volts. The reduced voltage from the transformer 98 is fed to a controller interface circuit 100 that supplies the reduced voltage power to the IPM 22, including the modem 92, the failure alarms 94, and the power driver/current sensor module 78. The thermocouple sensors 74, 76, and 77 (Fig. 2) generate analog signals along the cables 85, 86, and 87. The signals are input through corresponding noise filters 102a, 102b, and 102c (Fig. 5), and into a multiplex circuit 104. A suitable multiplex circuit 104 is available from Analog Devices of Norwood, MA, Model ADG 409BN. The filters 102 filter out any noise spikes introduced by the 240 volt supplied to the heaters, and serve to avoid disruption of the millivolt signals generated by the thermocouple sensors. The millivolt signals from the multiplex circuit 104 are fed to first and second sequential OP amplifiers 106 and 107, counted and digitized in an AD converter. The first OP amplifier 106 amplifies the low level thermocouple signal. The second amplifier 107 is referenced to a thermocouple cold junction circuit 1 12. The second OP 107 amplifier adds the cold junction compensation signal from the cold junction circuit 1 12 to the thermocouple signal. This is necessary because thermocouples do not measure absolute temperature. They only measure the temperature difference between the end of the thermocouple cable in the mold, and the end of the thermocouple which is connected to the measurement processor 88. The cold junction compensator 1 12 gives a signal to adjust for the "ambient" temperature of processor 88. A suitable first amplifier 106 is available from Linear Technology, Model No. LT1 1 00; a suitable second amplifier 107 is available from Analog Devices of Norwood, MA, Model OP27. A suitable AD converter is available from National Semiconductors, Model ADC 1 251 C1 J. The AD converter 108 is provided with a precision voltage reference circuit 1 14. With reference to Figs. 7A-7E, the power driver/current sensor module 78 serves two functions. First, it senses the current flowing to each heater, and transmits the sensed data to the IPM 22. Second, it responds to instructions from the IPM 22 to provide the necessary amount of current to each heater. In particular, the power driving unit 78 inputs analog current signals to the processor 88. The current for each heater is sensed by a corresponding transformer 1 18 (Fig. 7) as part of the power driver/current sensor module 78. The signals pass through conductors 1 16 for zones 1 -48 and through conductors 1 17 for zones 49-96 to a multiplex circuit 1 19 (Fig. 5). A suitable multiplex circuit 1 19 is available from Analog Devices, as Model DG408DJ. The current signals pass through an OP amplifier 120 (such as Analog Devices OP27), and are counted and digitized in an AD converter 122 (such as National Semiconductors Model ADC 1 251 CIJ), and input into a microprocessor 123. A suitable microprocessor 123 is available from Dallas Semiconductor of Dallas, Texas, as part number DS87C520, which operates at about 1 1 MHz. The measured temperature and current data from the processors 88a, 88b are input to the control processor 90 through cables 89a and 89b, respectively. The control processor 90 evaluates the input data and determines the power requirements necessary to maintain the zones at target operating conditions. Fig. 7E shows a circuit diagram representing a portion of the power driver unit 78 for one zone. In practice, a typical power driver unit 78 includes a series of the circuits shown in Fig. 7C, one for each heater. AC power is provided over AC conductors 127, 129, across which, connected in parallel, is a power driver switch 126 (also referred to as a power triac). The current transformer coil 1 18, in series with the power triac 126, measures current passing to the heater 66. A zero crossing interruptor 128 (Fig. 8) receives a zero crossing signal from a zero crossing detector 130 after passing through a band pass filter 132 (Fig. 8), which screens out unwanted noise from the AC power (Fig. 8). The power triac 126 is energized for applying power to the heater 66 in accordance with signals from the control processor 90 passing through an opto driver 136. Referring to Figs. 7A, 7B, 7C, and 7D, there is shown the structure of a typical power driver unit 78. As shown the power driver unit 78 comprises a circuit board 137 having a top circuit 138 and a bottom circuit 140 which are assembled back to back, and include the opto driver 136 and the power triacs 126. AC (alternating current) power is input to the power driving unit 78 at terminals 142 and 144. Copper bus bars 147 and 148 on opposite sides of circuit board 137 connect to the input side of the triacs switches 126 located in the bottom circuit 140. The opto triac drivers 136 are connected to the bus bars 147 and 148 and the triacs 126 through an array of resistors 1 50. Heavy bus bars 146 and 149 on opposite sides of the circuit board 137 serve as a common return path to the AC terminal 144 directed to heaters through connectors 154. The conductive strips are formed from copper sheets having a weight basis of 4 ounces per square foot. It has been found that this weight of conductive copper strip minimizes the amount of heat generated in the circuits 138 and 140 of the power driver unit 78. Current is conducted from bus bars 147 and 148 through an activated triac 126 through a wire 156. The current passes through the sensing transformers 1 18 to connectors 154 which pass the current to the heaters 66 (Fig. 7C), and is conducted via the bus bars 146 and 149 to the terminal 144. Connector 160 receives the heater on-off signal from the control processor 90 and connector 162 sends the current data to the data-receiving processor 88. Aluminum bracket 164 serves as a mounting bracket for the power driver unit 78, and as a heat sink for the power triacs 126. The power driver unit 78 is equipped with the elements (eight opto drivers 136, eight power triacs 126, and eight transformers 1 18) necessary to provide power to eight zones. The power driving unit can be repeated or expanded to accommodate additional zones. The eight zones can be for one molding station, or more typically, multiple molding stations. Referring to Fig. 6 and Appendix A1 , there is set forth the flow chart of a PID that determines the integral error and calculates the power requirements for each zone. The computations in processor 90 are performed according to a PID ("Proportional Integral Differential") which has been modified according to A1 to avoid the risk of computer overflow. Overflow could result in applying excessive power to the heaters, causing production of defective parts, and possibly damage to the mold apparatus. In each duty cycle (also referred to as a polling cycle) of the processor 90, all temperature sensors 70 and 74 and all current sensing transformers 1 18 are sampled at least one per second, and preferably every half second. In a first microprocessor step 264 (A1 -53), index i is set to one of the zones, starting with i = 0 for the first zone. An initial reading step 265 measures the present temperature of the zone PT (A1 -61 ). In the next step, step 266, the temperature error (TE = PT - Target temperature) (A1 -69) is determined. The difference between the present temperature PT and the Target temperature is the operational reference parameter. The differential error DE A1 -70 is calculated in step 267, taking the difference between TE and the previous TE measured in a previous polling cycle, in step 268, A1 -71 , the sum integral error, (ΣE[i] = E[i] + TE), is calculated. O 01 /07229 -, 4 PCT/USOO/l 9507 At this point in the PID, limits on the sum integral error are imposed in order to avoid arithmetic overflow of the calculated power values, which could call for excessive damaging power input. Steps 269 and 270 prevent the power supply from applying a value of CP[i] greater than 1 00 percent. Steps 269, 269A, 270, and 270A (A1 -76, 77, 79 and 80) place limits on the integral error between a positive maximum value and a negative maximum value to avoid overflow. Step 271 (A1 -86) performs a power requirement calculation according to the following equation: CP[i] = [(KP[i] x TE + KD[i] x DE) x 1000 + Kl[i] x ∑E[i]]/1 000 Eouation 1 where: KP[i] = experimentally determined proportionality constant for PID algorithm for heater [il Kl[i] = experimentally determined integral constant for PID algorithm for heater [i] TE = proportional temperature error calculated in step 266 DE = differential temperature error calculated in step 267 KD[i] = experimentally determined differential constant for heater [i] ΣE[i] = integral temperature error for zone i determined in step 268, subject to the limits of steps 269, 269A, 270, and 278 The value for each constant "K[i]" is determined empirically by observing the rate at which each respective heater [i] is brought to its operating temperature. Multiplying the proportional and differential terms by 1000, (A1 -86) simply allows the PID constants KP, Kl and KD to be conveniently expressed as reasonably sized integers. Having established the limits for the integral error, the calculated power CP[i] is calculated according to the PID formula shown in step 271 , (Equation 1 ). If the value for CP[i] is less than 0, it is set to zero in steps 272 and 272A (A1 -91 , 92). If CP[i] is not less than zero, and is greater than 1000, it is set to 1 000 in steps 273 and 273A (A1 -88, 89). Step 273A is equivalent to a power value of 1 00%, because power is calculated in units of 1 /10%, so 1000 means 1 00.0%. Calculations are done as integers for processing speed. The temperature error (TE) and measured RMS heater current, discussed hereinafter in connection with the application of power, are compared to limits in steps 274 and 275 to determine if there is a temperature or current alarm condition, for possible activation of alarms. For example, a temperature alarm is activated in step 274 (A1 -82) if the set temperature is exceeded by a predetermined value, such as by five degrees. Similarly, a power current alarm is activated at step 275 (A1 -82), if the current level is outside a specified range. The power level CP[i] in the range of 0-1 000 is converted in step 276 to Power [i] in the range of 0-1 28 for later use by the modulo "N" rate accumulator. In the next step 277 (A1 -97), the temperature error for the zone is reserved for use in the next polling cycle (A1 -53). The last step 279 (A1 -53) determines whether the program has polled all of the zones during the duty cycle. If it has, polling is repeated starting with zone 1 . If it has not, polling proceeds to the next zone. Application of Power Returning now to Fig. 5, the measurement processors 88a and 88b receive digitized signals at the rate of 1 20 measurements per one half second duty cycle from each current sensor and eight measurements per one half second duty cycle for each temperature sensor. This imposes a significant calculation burden on the microprocessor 123 of each measurement processor to calculate RMS current and temperature values. During each 0.5 second PID duty cycle, each current sensor 1 18 (Fig. 7c) is read 1 20 times, that is, four equally spaced readings for each cycle at 60 Hz. For 50 Hz, four evenly spaced readings occur every 1 /50th second. The calculation of the RMS ("Root Mean Square") value for temperature and current values, requires that the calculation be accomplished more rapidly in order that the system keep up with the volume of data. In order to deal with the volume of data, the following equation for N bit data (Appendix A4), calculates the sums of each of the 2N bit partial products and combines these partial sums into a 4N bit final sum: RMS = SUM [(AL X AL)] + SUM [(AH X AL)] X 2 X 2 N + SUM [(AH X AH)] X 2 2N EQUATION 2 where AL is a low N bits for the 2N bit data, and AH is the high N bits of the 2N bit data. These sums can be represented in 3N bits without the possibility of overflow provided the sum is no more than 2 N readings per measurement cycle. Processor 90 determines when to trigger the power switch unit 78 determined by a cycle skipping algorithm. Power is applied to each zone by turning on the triac 126 (Fig. 7B) of the power driving unit 78 for one or more complete cycles of the 50/60 Hz AC wave form. The controlling software always turns "on" and "off" at the zero crossing points of the AC wave form which minimizes both generated noise and power dissipation. The modified PID algorithm in the processor operates on a duty cycle of 0.5 seconds which is thirty full cycles of the AC wave form. It is desirable to control the power level to a much finer resolution than once in thirty discrete steps. This is accomplished by averaging out the CP[i] over a period of time by applying a wave accumulator function to the average value of the applied power, CP[i], (Equation 1 ), over the period of measurement to determine when to activate the triac. Referring now to the block diagram of Fig. 8, there is illustrated the structure of the control processor 90 which includes a microprocessor 399. The microprocessor 399 computes the timing when the CP[i] is to be input to the heaters. The processor 90 includes the microprocessor 399 and CMOS standard random access memory 41 1 ("CMOS SRAM") that stores operational parameters, such as target temperatures, heat current levels, and constants in the above equations. The microprocessor 399 receives input for component weight control, mold spacing, and component ejection from the mold. The CMOS SRAM 41 1 is available from Hitachi identified as Model HM 6281 28. A suitable microprocessor is available from Intel, Santa Clara, California, and operates at 25 MHz. The parameters in memory 41 1 can be modified by inputting changes from the laptop computer 38 to the microprocessor 399. A flash memory 414 makes possible altering the software recorded in SRAM memory 41 1 . Changes and modifications can also be made by the phone connection 39 to the modem 40. A calendar clock 426 provides all the time dependent functions such as the start-up control. The processor 88 sends its RMS current measurement (as shown in Appendix A4) and average temperature measurements to the microprocessor 399 of the control processor 90, which performs the PID calculation of Fig. 6 (as specified in Appendix A1 ). The calculations made by the microprocessor 399 determine the 3 phase power to be delivered to the heaters by the power drivers 78. The power drivers 78 are controlled by on/off signals output by microprocessor 399 to buffer drivers 519. These on/off signals are synchronized with the zero crossings of the 3 phase AC waveforms. O 01/07229 •, η PCT/USOO/19507 The zero crossing points are sensed by the zero crossing detectors 130 on the power drivers 78. These zero crossing signals are first filtered by the 60 Hz bandpass filters 132 to remove any unwanted noise, and then passed through the zero crossing interruptor 1 28 to generate zero crossing interrupts to the microprocessor 399. In Fig. 8 there are depicted buffer driver outputs for 1 2 power drivers, each of which can control power to 8 heaters, for a total of 96 heaters. There is shown for each heater [i] a software flow chart Fig. 9, Appendix A2, which provides a rate accumulator function for controlling the time when the CP[i] current is to be applied a heater [i]. A first decision 322 (A2-36,70, 1 04) initiates the accumulator calculation. In step 323, the power, P[i], applied to the heater [i] is compared to zero (A2-39, 44, 73, 107, 78 and 1 1 2). The rate accumulator function is based on modulo arithmetic which means that the numbers are constrained to a finite range. For the purposes of the instant software program, a seven-bit binary number is chosen in the numerical range of 0 to 1 27 as the modulo number. The accumulator control involves a timing or rate function which depends on the cycles that comprise the AC wave form. Every zone is polled 60 times per second, i.e., once every cycle of the AC wave form. In view of the fact that the CP[i] is already determined, the question is timing the input to the heater. The rate accumulator performs according to the following equation: Modulo 1 28( ACCUM[i] + CP[i]) < = ACCUM[i] EQUATION 3 where Modulo 128 is a modulo arithmetic number. For purposes of illustration, if it is assumed that the power is being provided to the heater [i] at 25% of capacity, the rate accumulator activates the opto drive 136 at the zero crossing of the AC cycle, and then turns it off for the next three cycles, which provides a 25% power input. Using a 7 bit modulo number of 1 28, accumulator overflow occurs when the accumulator exceeds 1 27, thereby firing the opto drive 136 at the zero crossing point, closest to that signal. Referring to decision steps 324 and 325 ( A2--40, 45, 74, 79, 108 and 1 1 3), the triggering calculation is made by adding to accumulator [i] the power percentage, power [i] (determined in step 276) multiplied by modulo number 1 28 (7 bit number). When the accumulator value [i] is less than or equal to the old accumulator value, indicating an overflow of the modulo 128 accumulator, the triac is fired for one cycle as shown in step 326 (A2-40, 45, 74, 79, 108 and 1 1 3). If the decision in 326 is "no" for the reason that the new accumulator value is greater than the old accumulator value, then in a step 327 (A2-41 , 42, 75, 80, 109 and 1 14) the process merely advances to the next heater (A2-36, 70 and 104) since no power input is required. The next decision 329 is to determine whether the zone just measured completes the cycle (A2-36, 70, 104). The microprocessor 399 (Figure 8), in response to the decision in 326, sends a signal to the switch 136 to fire the appropriate power input to the appropriate heater. The processor 90 is connected to certain additional control elements such as the static random access memory (SRAM) 41 1 , the flash memory 414 that enables making changes to the set of operational reference parameters, the clock control 416 and the battery and power failure detect circuits 418. All the calculations performed in microprocessor 399 are stored in the CMOS SRAM 41 1 . Application of Chilling Water The same general algorithm is used for control of the chiller 71 , where the parameter monitored and controlled is temperature of the output water from the chiller 71 rather than power delivered to the heaters. The chiller is operated at substantially constant pressure and substantially constant flow rate, with only the output temperature being varied in response to the temperature sensed by the sensor 77. As shown in Fig. 1 3, a temperature sensor 285 detects the temperature of output chilled water and sends an analog signal to the IPM 22, where the signal is digitized and processed just as the current signals sent by the transformers 1 18 are processed. Start-Up Control The controller 22 is effective in managing the start-up of a multiple zone apparatus from a nonoperating condition bringing it to full operation. Referring to the flow chart of Fig. 1 0 and the plots of time v. temperature in Figs. 1 1 A and 1 1 B, there is shown the start-up system of the controller 22. The start-up of a new operation is best carried out with each of the plurality of zones/heaters progressively heating up from a starting state and reaching an operational state at the same time. Careful start-up avoids damaging the heat sensitive materials within the system. A preferred start-up procedure according to the present invention will now be discussed. The clock 426 of the processor 90 is set at zero and a ramp up time (RUT) is programmed into the microprocessor 399 to correspond to the longest period of time required for a zone heater to reach its operational temperature. It will be understood that each heater has a different thermal mass which results in different rates for a heater to heat the corresponding mold portion and reach its operating temperature. Referring now to Figure 1 0 and Appendix 3, the system in the first step 500 (A3-31 -35) sets a time t to 0 in the clock 426 in the controller 90 and a value for RUT (ramp up time) in step 502 (A3-70-30), which is based on the longest heat-up time for all zones. The heat-up time is calculated based on the time constants of the heaters and the required temperature rise. Longer time constants and larger temperature rises result in longer calculated heat-up times while shorter time constants and lower temperature results in shorter warm-up times. All of the zones in step 504 (A3-1 0), are set with an initial temperature IT [i], which represents the present temperature of the system PT[i] at start-up. In step 506 (A3-39, 40) the software refers to a look-up table which defines the shape of the warm-up curve. The software selects a Table Index, Tl, in terms of the current time multiplied by a factor of 1000 and divided by the RUT. The look-up table provides an incremental step rate at which power is applied to each heater so that all heaters proceed to follow a warm-up curve that approximates the sinusoidal curve shown in Figure 1 1 A so that all zones reach their respective desired start-up temperature at about the same time. The curve S represents the temperature profile of the heater with the smallest thermal mass and L represents the profile of the heater with the largest thermal mass. Both curves S and L follow the target curve T, determined empirically, which indicates that at no time during the start-up, neither curve S or L advance to the target temperature before the other. The rise of curve L gradually slows and levels off at the end of the warm-up cycle at the position C. The information from the look-up table is utilized to set the operational zone temperature calculated according to the equation: IT[i] + (set pointli]) - IT[i]) x interp/1000. EQUATION 4 Process step 507 (A1 -66, 67) establishes an intermediate setpoint temperature between the initial temperature IT[i] and the final setpoint [i] established by Equation 4 above. All zones follow the same smooth temperature rise S curve determined by the lookup table, so that all zones arrive at the final setpoint temperature at the same time. In step 508 (A1 -41 ) it is determined whether any zone has exceeded, or is lagging behind, its set point temperature. If no zone is lagging, then the clock 426 indexes the application of CP to the next step 509 (A 1 -42). If a zone is lagging, then the temperature has deviated too far from the warm up curve and the progression of the start-up is halted. Step 510 (A1 -38) determines if the elapsed time t has exceeded the RUT indicating the end of the start-up cycle. The curves in Figure 1 1 B are a plot of the time and temperature function of the known prior art start-up techniques for target temperature T' and the smaller heaters, S', and larger heaters, L'. This prior art approach is to have the smaller heaters reach the target temperature before the larger heaters. In fact, curve L' is at the target temperature while S' is still at a very low temperature at X on the time coordinate. It will be observed that the curve L' overshoots the target T' for the reason that it is still being applied power and it undershoots the set point temperature before it reaches the RUT at the end of the cycle. Unlike the start-up system shown in Fig. 1 1 B, the technique of the present invention results in all zones reaching their start-up temperatures simultaneously. Pressure Control The transducer 52, shown in Fig. 3, was described above with regard to making certain that the cavity plate insert 19 and the core retainer plate 16 are restored to their original position after every time the mold opens to eject molded components. The transducer 52 can also be used to monitor the injection process to make certain that there is not excessive pressure in the mold cavity with the result that the cavity plate insert 19 and the core retainer plate 16 separate at the parting line, with resultant formation of flash. If during the resin injection phase, the resin pressure is too high such that the pressure device (such as mechanical or hydraulic pressure) used to keep the mold parts together is overcome, then the transducer 52 detects lack of engagement between projection 16c and the recess 19c, and transmits a signal. This signal can alert the operator to the need to manually increase pressure, and/or sound an alarm, and/or be incorporated into a closed loop system where pressure provided by the mold hydraulic system 299 (Fig. 3) is automatically increased under control of the IPM 22. Remote Access Control The system can be controlled by an operator from a remote location as shown in Figs. 8 and 1 2 by accessing the modem 40. Subject to an appropriate password by user input 602, a remote PC (not shown) can communicate with the controller when the modem is detected in steps 603a and 603b. The operator has access to a menu 604 which can select several system functions for information or modification. There is a log in/log out function 606. The operating conditions which are then in effect at the time the operator accesses the PC can be changed by user input 602. When the parameters of the system need revision or changing, the operator can access an edit function 610, which can make any required changes to the conditions in the processor 90. Function item 608 can be used to view current operating conditions and settings. Function item 612 can be used to start or stop heaters. Function item 614 can be used to save or retrieve a complete set of operational parameters (called a "recipe") from memory. The remote access program is concluded by logging out of the system, or by loss of carrier to the modem. Thus, through the IPM it is possible for the mold to communicate remotely the condition of the mold, including operating conditions, faults, errors, safety, and any diagnostics. Interface With Other Apparatus An advantage of the IPM 22 is that it can be used to interface the mold 12 with other support equipment, as shown in Fig. 1 3. This can include chillers, blenders, robots, parts handling equipment, other molds, and injection molding machines. Exemplary Advantages The present invention has significant advantages. For the first time, a mold is able to self control, without the use of outside controllers, its functions, pressures, movement, safety, ejection, and temperatures. The IPM 22 can be used for controlling each step of the molding process at each molding station. Moreover, chilling water and the pressure at the parting line can be controlled as part of a closed loop function, without operator interaction. Use of the video camera and scale allow remote monitoring of product quality. Furthermore, setup is simple and fast, with a single plug providing the input power and signals, and output signals to the mold, including through the IPM 22. Other advantages are associated with the improved start-up procedure, and fast response time and accurate control achieved with the multiple processors. Although the present invention has been described in considerable detail with reference to certain preferred versions thereof, other versions are possible. Therefore, the spirit and scope of the appended claims should not be limited to the description of the preferred versions contained herein. All features disclosed in the specification, including the claims, abstracts, and drawings, and all the steps in any method or process disclosed, may be combined in any combination, except combinations where at least some of such features and/or steps are mutually exclusive. Each feature disclosed in the specification, including the claims, abstract, and drawings, can be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise. Thus, unless expressly stated otherwise, each feature disclosed is one example only of a generic series of equivalent or similar features. Any element in a claim that does not explicitly state "means" for performing a specified function or "step" for performing a specified function, should not be interpreted as a "means" for "step" clause as specified in 35 U.S.C. § 1 1 2. Appendix A-l ( lof 3) /* called every .5 sec to calculate power levels based on pid equations (+)l(-) 1—1 lφ— I l\ I target_temp (TT) —+ +- 1/s-ki—+—k- |H>— | present_temp (PT) I- s kd— I 1/ Basic algorithm as follows: TE (temp error) = TT (target temp) - PT (present temp) DT (differential error) - TE - LE (last error) SUME (integral error) = SUME + TE now, if kp,ki,kd are in normalized units CP=(kp*TE + ki*SUME + kd*DT)*1000/temp_rise Actually, kp,kd in units of .1, ki in units of .0001 CP=(kp*TE/10 + ki*SUME/10000 + kd*DT/10) *10000/ (10*temp_rise) CP=((kp*TE + kd*DT)*1000 + ki*SUME) / (10*temp_rise) must limit SUME so that ki*SUME/ (10*temp_rise) <= 1000 SUME<=10000*temp_rise/ki void calc_pid(void) { int i; /* counter for zone number 0-ZONES */ int *setpoints; /* pointer to setpoint temps run/standby */ int kp,ki,kd; /* pid coefficients */ int ht; /* heater type for this zone */ int pt,pt0; /* present temp, cold junction temp */ int temp_rise; /* full power temp rise expected (.1 degree)*/ int tti,interp; /* temp table index and table value for rampup */ int tt; /* target temperature (.1 degree) */ int te,dt; /* temp error, diff error, max integral error */ long sume,maxse; /* integral error, max integral error */ long cp; /* calculated power 0-1000 (.1 percent) */ int bp; /* bounded power (cp limited to 0-1000) */ if (pid_mode==3) ( /* self test in progress, do not run pid */ return; } if (pid_mode) { /* running */ if (elapsed_time<rampup_time) { tti=(int) ( (long)elapsed_time*1000/rampup_time) ; interp=temp_table[tti] ; Appendix A-l ( 2 of 3 ) if (alarmflag==0) ( /* advance timer if there are no alarms */ elapsed_tιme++ ; } ) else { ιnterp=1000; ) if (pιd_mode==l) ( . setpoιnt_temp; ) else { 3etpoιnts=current_recιpe.standby_temp; 1 pt0=present_temp [ 96] ; / * cold junction temp * / for (1=0; KZONES; l++) ( ttι=current_recιpe. lags [l] ; if (ttι&ZONE_CONTROL) { /* auto mode */ ht=current_recιpe.heater_type[ι] ; /* heater type */ kp=current_recιpe. p[ht] ; /* pid coefficients */ kι=current_recιpe. ki [ht] ; kd=current_recιpe. d[ht] ; temp_rιse=current_recιpe.ptlOO[ht] *10-pt0; /* 100% power temp rise */ pt=present_temp[current_recιpe. hermocouple [i] -1] ; /* present temp */ if (mterp==1000) ( /* calculate target temperature */ tt=setpoιnts [l] * 10 ; ) else ( tt=ιnιtιal_temp[ι]+(ιnt) (((long) (setpoints [l] *10-ιnιtιal_temp[ι] ) *mterp+500)/1000) ; ) te=pt-tt; /* temperature error (.1 degree) */ dt=te-last_te[ι] ; /* differential error */ sume=sum_error [ι]+te; /* integral temp error */ maxse=0; /* default if kι==0 */ if i) { maxse=10000L*temp_rιse/kι; /* limit to reasonable value */ ) if (sume>maxse) ( sume=maxse; ) if (sume<-maxse) { sume=-maxse; Appendix A-l (3 of 3) ) if (aborts [i] || climits [i]) { bp=0; /* force power to 0 if abort or current limit on this zone */ } else { /* calculate power required (in units of .1% full power) */ cp=( ( (long)kp*te + (long) kd*dt) *1000L + (long) ki*sume) / (-10L*temp_rise) ; bp=(int)cp; if (cp>1000L) { /* limit power to 0-100.0% */ bp=1000; ) if (cp<0) { bp=0; ) ) sum_error [i] =sume; dte[i]=dt; last_te[i]=te; ) else { /* manual or off */ bp=0; /* assume off */ tt=current_recipe. setpoint_temp[i] *10; if (ttiSMANUAL_CONTROL && climits [i] ==0) { /* manual, no current alarm */ bp=current_recipe.manual_level [i] *10; ) ) power [i]=bp; target_temp[i]=tt; setpower (i,bp) ; } ) else { for (i=0; i<ZONES; i++) ( /* should this be done once when turned off? */ power[i]=0; /* set powers to 0 */ target_temp[i] =current_recipe. setpoint_temp[i] *10; setpower (i,0) ; ) ) Appendix A-2 (1 of 4) unsigned char powerl [ (MAXZONE+S/48) *16] ,power2 [ (MAXZONES/48) *16] , power3 [ (MAXZONES/ 8) *16] ; unsigned char accuml [ (MAXZONES/48) *16] , accum2 [ (MAXZONES/48) *16] , accum3 [ (MAXZONES/48) *16] ; unsigned char offldelay, off2delay, off3delay; /* turn triac drivers off shortly after the zero crossing */ static void interrupt timerO_interrupt (void) { if (offldelay && —offldelay=0) ( outport (TRIGGER_ADDR+0, Ox fff) ; outport (TRIGGER_ADDR+6, Oxffff) ; } if (off2delay && —off2delay=0) { outport (TRIGGER_ADDR+2, Oxffff) ; outport (TRIGGER_ADDR+8 , Oxffff) ; } if (off3delay && --off3delay=0) { outport (TRIGGER_ADDR+ , Oxffff) ; outport (TRIGGER_ADDR+10, Oxffff) ; ) outportb(0C 2M,E0I) ; /* issue non-specific EOI command */ ) static void interrupt phaselx_interrup (void) { int i; static unsigned int even, latcha, latchb; unsigned char oldaccum,pwr; if (even) { even=0; outport (TRIGGER_ADDR+0, -latcha) ; outport (TRIGGER_ADDR+6, -latchb) ; latcha=latchb=0; for (i=0; i<16; i++) ( /* calculate triac firings for next cycle */ latcha»=l; latchb»=l; Appendix A-2 (2 of 4) if ( (pwr=powerl [i] ) ! =0) ( if ( (accuml [i] = ( (oldaccum=accuml [i] ) +pwr) &12 ) <=oldaccum) ( latcha I =0x8000; } ) if ( (pwr=powerl[i+16J) !=0) { if ( (accuml[i+16]=( (oldaccum=accuml[i+16] )+pwr) &127) <=oldaccum) { latchb I =0x8000; ) ) ) } else { even=l; outport (TRIGGER_ADDR+0, -latcha) ; outport (TRIGGER_ADDR+6, -latchb) ; ) offldelay=2; outportb(OC 2M,EOI) ; /* issue non-specific EOI command */ ) static void interrupt phase2x_interrupt (void) { int i; static unsigned int even, latcha, latchb; unsigned char oldaccum,pwr; if (even) { even=0; outport (TRIGGER_ADDR+2 , -latcha) ; outport (TRIGGER_ADDR+8 , -latchb) ; latcha=latchb=0; for (i=0; i<16; i++) { /* calculate triac firings for next cycle */ latcha»=l; latchb»=l; if ( (pwr=power2[i] ) !=0) { if ( (accum2[i] = ( (oldaccum=accum2 [i] )+pwr) Sl27)<=oldaccum) { latcha I =0x8000; } ) if ( (pwr=power2 [i+16] ) !=0) { Appendix A-2 (3 of 4) if ( (accum2[i+16]=( (oldaccum=accum2 [i+16] )+pwr) &127) <=oldaccum) ( latchb I =0x8000; ) } ) ) else { even=l; outport (TRIGGER_ADDR+2, -latcha) ; outport (TRIGGER_ADDR+8 , -latchb) ; ) off2delay=2; outportb (OCW2M, EOI) ; /* issue non-specific EOI command */ ) static void interrupt phase3x_interrupt (void) { int i; static unsigned int even, latcha, latchb; unsigned char oldaccum,pwr; if (even) { even=0; outport (TRIGGER_ADDR+4 , -latcha) ; outport (TRIGGER_ADDR+10, -latchb) ; latcha=latchb=0; for (i=0; i<16; i++) { /* calculate triac firings for next cycle */ latcha»=l; latchb»=l; if ((pwr=power3[i]) !=0) { if ( (accum3[i]=( (oldaccum=accum3 [i] )+pwr) &127) <=oldaccum) { latcha I =0x8000; ) ) if ((pwr=power3[i+16]) !=0) { if ( (accum3 [i+16] = ( (oldaccum=accum3 [ i+16] ) +pwr) &127) <=oldaccum) { latchb I =0x8000; Appendix A-2 (4 of 4) ) ) } ) else { even=l; outport (TRIGGER_ADDR+4 , -latcha) ; outport (TRIGGER_ADDR+10, -latchb) ; } off3delay=2; outportb(OCW2M,EOI); /* issue non-specific EOI command */ Appendix A-3 ( 1 of 2) /* start rampup to setpoints defined by array pointed to */ static void pid_start (int *setpoints ) { int i, ht, deltal, delta2, to, newrut; rampup_time=θ; for (i=0; KZONES; i++) {/* calculate rut for all enabled auto zones */ if (current_recipe. flags [i] &ZONE_CONTROL) { /* if auto */ /* set last, initial temps */ initial_temp [i] =present_temp [ current_recipe . thermocouple [i] -1] ; last_te[i]=0; ht=current_recipe.heater_type [i] ;/* get heater type */ deltal=abs (*setpoints++*10-initial_temp[i] ) ; /* present_temp[96] is cold junction temp */ delta2=abs (current_recipe. opt [ht] *10-present_temp [96] ) ; to=current_recipe. to[ht] ; newrut=θ; if (delta2) { newrut=(int) ( (long)deltal*to/delta2) ; } ne rut=newrut*2; /* convert to .5 sec ticks */ if (ne rut<0) { newrut=32767; /* set to max delay on overflow */ ) if (newrut>rampup_time) { rampup_time=newrut; /* find longest rampup time */ } sum_error [i]=0; /* set integral error to 0 */ } } elapsed_time=0; /* set elapsed time to start of rampup */ } /* startup the pid, set initial temps, rampup time, etc. */ void pid_run (void) { pid_start (current_recipe . setpoint_temp) ; pid mode=l; /* set mode to running */ Appendix A-3 (2 of 2) Appendix A-4 ( 1 of 3) ;This routine reads the A/D converter and computes partial sums of squares ;The algorithm is quite tricky. ;To compute a 32 bit sum of squares of 16 bit numbers is usually done like this: hi lo hi lo lo*lo R2 , R1, R0 hi*lo R5 , R4 , R3 hi*lo hi*hi R7, R6 s3, s2 , sl, s0 A straightforward implementation involves adding the hi*lo product twice, and ;propigating all carries through all bytes of the 32 bit sum. ;It is much more efficient to keep three separate partial sums for lo*lo, ;hi*lo and hi*hi, then combine the partial sums together at the end (propigating ;carries, and adding the middle sum twice) . 24 bit partial sums cannot overflow ;as long as no more than 256 squares are added. ;The partial sums are kept in R2,R1,R0 (low), R5,R4,R3 (mid), and R7,R6 (high) SUMRMS: CLR ADCSCS ;CHIP SELECT MOVX A, @R0 ;READ HIGH BYTE MOV HIBYTE,A MOVX A, @R0 ;READ LOW BYTE MOVX @R0,A ;DUMMY WRITE STARTS NEXT CONVERSION SETB ADCSCS ,-CHIP DESELECT JB HIBYTE. , NEGATE ;ABSOLUTE VALUE DELAY 4 ;ALREADY +, DELAY FOR CONSTANT EXECUTION TIME Appendix A-4 (3 of 3) SJMP POSITIVE NEGATE: CPL A ; NEGATE LOW BYTE ADD A,#l XCH A, HIBYTE CPL A ; NEGATE HI BYTE ADDC A,#0 XCH A, HIBYTE POSITIVE: MOV LOBYTE.A MOV B,A MUL AB ,-MULTIPLY LO*LO ADD A,R0 ; PARTIAL SUM TO R2,R1,R0 MOV R0,A MOV A,R1 ADDC A,B MOV R1,A CLR A ADDC A,R2 MOV R2,A MOV B, HIBYTE MOV A, LOBYTE MUL AB ,-MULTIPLY HI*LO ADD A,R3 ; PARTIAL SUM TO R5,R4,R3 MOV R3,A MOV A,R4 ADDC A, B MOV R4,A CLR A ADDC A,R5 MOV R5,A MOV A, HIBYTE MOV B,A MUL AB ,-MULTIPLY HI*HI ADD A, R6 ;PARTAIL SUM TO R7,R5 MOV R6,A MOV A,R7 Appendix A-4 (3 of 3) ADDC A, B MOV R7,A RET ;MACRO TO COMBINE RMS PARTIAL SUMS AND SAVE IN S3, S2, SI, SO COMBINE MACRO $NOLIST MOV A, R2 ;;R7 A Rl RO ADD A, R6 XCH A, R7 ;;A R7 Rl RO ADDC A, #0 XCH A, Rl ;;R1 R7 A RO ADD A, R3 XCH A,R7 ;;R1 A R7 RO ADDC A, R4 XCH A, Rl ;;A Rl R7 R0 ADDC A, R5 XCH A, R7 ;;R7 Rl A R0 ADD A, R3 XCH A, Rl ;;R7 A Rl R0 ADDC A, R4 XCH A, R7 ;;A R7 Rl RO ADDC A, R5 MOV S3,A MOV S2 , R7 MOV S1,R1 MOV S0,R0 ;;32 BIT FULL SUM OF SQUARES IN S3, S2, SI, SO $LIST ENDM

Claims: What is claimed is: 1 . An apparatus comprising: (a) multiple zones, each zone having at least one heater and at least one temperature sensor outputting a temperature indicating signal; (b) a power source providing power to the heaters; and (c) a controller for controlling the temperature of at least some of the zones, the controller comprising: (i) a data-receiving processor for receiving the temperature indicating signal from each sensor; and (ii) a separate control processor for receiving data from the data-receiving processor and for controlling the amount of power provided to the heaters in response to the data received from the first processor. 2. An apparatus comprising: (a) multiple zones, each zone having at least one chiller and at least one temperature sensor outputting a temperature indicating signal; (b) a source providing a cooling medium to the chillers; and (c) a controller for controlling the temperature of at least some of the zones, the controller comprising: (i) a data-receiving processor for receiving the temperature indicating signal from each sensor; and (ii) a separate control processor for receiving data from the data-receiving processor and for controlling the amount of chilling medium provided to the chillers. 3. The apparatus as claimed in claim 1 or 2 wherein the controller comprises a closed loop feed back circuit. 4. The apparatus of claim 1 wherein the temperature indicating signals are analog and the controller comprises at least one analog to digital converter for converting the temperature indicating signals to digital signals. 5. The apparatus of claim 1 wherein the apparatus is a mold having multiple injection stations, and the controller is in a housing, the housing being mounted on the mold. 6. The apparatus of claim 2 wherein the apparatus is a mold having multiple injection stations, and the controller is in a housing, the housing being mounted on the mold. 7. The apparatus of claim 5 comprising an insulating air gap between the housing and the mold. 8. The apparatus of claim 1 or 2 comprising at least 48 zones, and wherein there are at least two data-receiving processors, each receiving temperature indicating signals. 9. The apparatus of claim 1 wherein the apparatus comprises an injection mold having multiple injection zones, and each injection zone is used to form molded components, and the apparatus comprises an alarm responsive to an out of control condition selected from the group consisting of incomplete ejection of a molded component from the mold, irregular spacing between mold components, and incorrect weight of molded components. 10. The apparatus of claim 9 further comprising a switch responsive to the alarm for automatically shutting down the apparatus in response to the out of control condition. 1 1 . An apparatus comprising: (a) multiple heated zones, each zone having a target temperature and (i) a temperature sensor providing a temperature indicating signal; and (ii) a heater; (b) a power source providing AC current to each heater; and (c) a controller comprising: (i) a first processor for receiving the temperature indicating signals; (ii) memory for storing the target temperature for each zone; (iii) a separate second processor for comparing the actual temperature of each zone against its target temperature; and (iv) an output signaler for regulating the percentage of complete current cycles provided to the heater for each zone. 1 2. The apparatus of claim 1 1 wherein the apparatus is a hot runner injection mold. 1 3. The apparatus of claim 1 2 wherein the controller is mounted on the mold. 14. The apparatus of claim 1 1 wherein the second processor determines the number of current cycles required to achieve the target temperature and compares the determined number against the number of current cycles actually being provided to the heater. 1 5. The apparatus of claim 1 1 comprising a detector detecting the amount of current provided to each heater. 1 6. The apparatus of claim 1 1 comprising an on-off switch for each heater, the switch being responsive to the output signaler. 1 7. The apparatus of claim 1 6 wherein there are a plurality of zones, and the controller comprises at last two printed circuit boards, one circuit board containing the second processor and the other circuit board containing the switches. 1 8. An injection mold apparatus comprising: (a) a mold having multiple injection zones, each zone having at least one heater and at least one temperature sensor, each sensor outputting a temperature indicating signal; (b) a power source providing current to the heaters; and (c) a controller controlling the temperature of the zones, the controller comprising: (i) a first printed circuit board comprising a switch for each heater for limiting the amount of current provided to the respective heater; and (ii) a second printed circuit board controlling the switches. 1 9. A system for controlling an operational parameter of a mold within a selected range, the mold having multiple zones, the system comprising: (a) at least one sensor for each zone, each sensor generating an analog signal representative of an operational parameter of the zone; (b) at least one device for altering the operational parameters; (c) a detector detecting the operating state of the device and generating an analog signal representative of the operating state of the device; and (d) a controller for processing the analog signals comprising: (i) a first processor for digitizing the analog signals and calculating the operational parameter and the RMS operating state for each device; and (ii) a second processor responsive to the calculated parameters, the second processor performing a PID calculation for determining the amount, if any, the operational parameter for each zone needs to be modified to be within a selected range, the PID calculation providing a range of limits for modifying the amount the operating state of each device is to be modified; whereby the controller modifies the operational parameter of each zone within the range of limits. 20. The system as claimed in claim 1 9 wherein the first processor polls all zones at least once per second. 21 . The system as claimed in claim 1 9 wherein the operational parameter is the zone temperature, the device is a heater, the operating state is energy provided to the heater, and the detector is a transformer. 22. An apparatus for controlling an operational parameter of a molding process within a selected range, the apparatus comprising: (a) a source of AC power generating cycles of an AC wave form; (b) a plurality of mold injection zones, each zone having an operational parameter that is power dependent; (c) at least one sensor for sensing the operational parameter at each zone and generating analog signals; and (d) a controller comprising: (i) a detector for receiving the analog signals; (ii) a first processor for digitizing the analog signals; (iii) a power driver for triggering the source of AC power; and (iv) a second processor for performing a PID calculation for determining the power requirements for each zone, and regulating the power driver to control the number of complete cycles of the AC wave form during which power is supplied to each zone, the second processor comparing the digitized signal against the selected range to calculate the percent number of total AC cycles required to maintain the operational parameter within the selected range. 23. The apparatus as claimed in claim 22 wherein the first processor calculates the temperature at each zone. 24. The apparatus as claimed in claim 23 wherein the power driver includes a switch for on/off control of the source of AC power. 25. The apparatus as claimed in claim 22 wherein the power driver includes a current sensor. 26. The apparatus as claimed in claim 25 wherein the power driver includes a current sensing transformer. 27. An apparatus with a controlled heated zone, the zone having a heater, the zone being maintained within a target temperature range, and a temperature sensor associated with the zone, the apparatus comprising: (a) an AC power supply that generates an AC wave form; (b) a first controller for controlling the temperature of the zone by regulating the percent number of total AC cycles up to a predetermined number of cycles of the AC wave form during which power is supplied to the heater, thereby controlling the amount of AC current received by the heater; and (c) a second controller for comparing the actual temperature of the zone with the target temperature range to calculate the percent number of total AC cycles required to maintain the target temperature range, the controller determining any difference between the required percent number of AC cycles against the actual number of AC cycles delivered, and accordingly adjusting the actual number of AC cycles supplied to the heater. 28. A method for controlling the temperature of a zone of a molding apparatus, the zone having an electrical heater powered by electrical current, the method comprising: (a) in a duty cycle, sensing the current provided to the heater and providing an analog output signal multiple times; (b) digitizing the analog output signals to digital values, there being multiple current values digitized during the duty cycle; (c) splitting each digitized value into a higher, H, and a lower, L, bit number, each bit number having N bits, N being an integer; (d) determining the sum of squares of the digitized current values by calculating: SUM (L x L) + SUM (L x H) x 2 x 2 N + SUM (H x H) x 2 2N ; and (e) adjusting the amount of current provided to the heater in response to the calculated sum of squares. 29. A method for controlling the operation of an apparatus having a plurality of operating zones, each zone being equipped with a heater, the method comprising: (a) providing AC power to the heaters, the AC power having an AC wave form having a zero cross-over; (b) sensing the operational parameter at each zone and generating an analog signal representative of each operational parameter; (c) digitizing the analog signals; (d) performing a PID calculation on the digitized signals to determine the power requirements for each of the zones, the PID calculations including an integral error limitation restricting the calculated power determination to predetermined limits; (e) monitoring the cycles of the AC wave form; and (f) detecting the zero cross-over point, and applying the calculated power to each heater, beginning and ending at zero cross-over. 30. A method of controlling the operation of a mold having a plurality of zones, each zone having a target temperature and equipped with at least one heater, the method comprising: (a) providing AC power in an AC cycle wave form; (b) measuring the temperature at each zone; (c) determining the sum integral error between each measured temperature and the corresponding target temperature; (d) if there is an error, determining the percent number of total AC cycles required to restore each zone to its target temperature; (e) providing an accumulator rate function having a predetermined N bit accumulated limit within a processor; (f) counting the cycles of the AC wave form to determine the percent number of total AC cycles required to maintain the target temperature; and (g) energizing the AC power source for each zone when the percent number of total AC cycles meets the requirements of step (d). 31 . A method for controlling the operation of an apparatus having a plurality of operating zones equipped with heaters, the method comprising: (a) providing a source of AC power to the heaters, the AC power having an AC wave form with a zero cross-over; (b) detecting at least one operational parameter for each operating zone, the operational parameter being power dependent; (c) storing the detected operational parameter; (d) sensing the temperature at each zone and generating an analog signal representative of the level of temperature; (e) digitizing the analog signals and measuring the digitized signals; (f) performing a PID calculation on the measured digitized signals to calculate the power requirements for each of the zones, the PID calculation including an integral error limitation restricting the calculated power requirements to predetermined limits; (g) comparing the determined power requirements and the stored operational parameter to calculate the number of complete cycles of the AC wave form required; and (h) detecting the zero cross-over point and applying the calculated number of complete cycles to the AC power source. 32. The method as claimed in claim 31 wherein the temperature of each zone is sensed at least once per second. 33. The method as claimed in claim 31 wherein the processor senses the value of the current in the heaters in each zone. 34. A method for starting up an apparatus having a plurality of heaters, each heater having a heat-up time equal to the amount of time required to heat up the adjacent portion of the apparatus to a start-up temperature with the heater on substantially full power, and including at least two heaters having different heat-up times, the method comprising the steps of: (a) comparing the heat-up times of the heaters to identify a longest heat-up time; (b) determining for each heater the amount of heat-up power required for each heater to heat up the respective adjacent portion of the apparatus to the start-up temperature in the heat-up time; and (c) applying to each heater simultaneously the heat-up power, wherein all portions of the apparatus reach their target temperature at substantially the same time. 35. The method of claim 34 wherein the apparatus is a hot runner injection mold. 36. An injection mold comprising: (a) multiple injection stations, each station having at least one heater and at least one temperature sensor, each sensor providing a temperature indicating signal; (b) a source of current for the heaters; (c) a controller for controlling the temperature of the station, the controller comprising at least one processor for receiving the temperature indicating signals from the sensors, and an on/off switch for each heater controlling the amount of power going to each heater, the switches being controlled by the processor, wherein the processor is on a printed circuit board and the switches are on a separate printed circuit board. 37. The apparatus of claim 36 wherein the processor receives a signal indicating the current flowing to each heater. 38. A system for controlling the operation of an apparatus having a plurality of operating zones, the system comprising: (a) at each zone, at least one operating element and a detector generating an analog operating signal representative of the operating state of the operating element; (b) an input for each operating element to vary an operational parameter of each zone; (c) a sensor for sensing the operational parameter at each zone and generating a corresponding analog sensing signal; and (d) a controller comprising: (i) a first processor for digitizing the signals and determining from the signals the operating state of the operating element and the operational parameter of each zone; and (ii) a second processor for performing a PID calculation for each zone based on the operating state and the operational parameter of each zone to determine the amount of input for each operating element to maintain the operational parameter of each zone within a selected range, wherein the second processor limits the maximum amount of input determined by the PID calculation to prevent damage to the apparatus and operating elements. 39. A hot resin mold having multiple injection zones, each zone comprising separable male and female portions for receiving molten resin and regularly forming molded components, the mold comprising: (a) a sensor for detecting an irregular condition selected from the group consisting of incomplete ejection of a molded component from a zone, incorrect weight of a formed component, out of specification product quality, and incorrect spacing between male and female portions; and (b) an alarm activatable by the sensor detecting an irregular condition. 40. The mold of claim 39 comprises a control switch responsive to the alarm for shutting down the zone responsible for the irregular condition. 41 . The apparatus of claim 39 wherein the sensor is a camera. 42. The apparatus of claim 39 wherein the sensor is a scale for measuring the aggregate weight of ejected components. 43. The apparatus of claim 39 wherein the sensor is a detector detecting whether the space in between the mold forms are in irregular condition. 44. A hot resin injection mold apparatus, the mold having at least forty- eight stations and at least one heater for each station, the apparatus comprising: (a) at least one temperature sensor in each station, each sensor outputting a temperature indicating signal; (b) an AC power source generating cycles of an AC wave form providing power to the heaters; (c) a power driver comprising: (i) an on/off switch for controlling the power to each heater; (ii) a transformer for measuring the current to each heater; and (iii) a zero crossing detector for triggering the on/off switch; (d) a first processor for receiving the temperature indicating signals comprising: (i) an AD converter for digitizing the temperature indicating signals; and (ii) a first microprocessor for computing the RMS of the measured current values and computing the average of the temperature indicating signals; and (e) a second processor comprising: (i) data memory for storing a selected range for the temperature in each zone. (ii) a second microprocessor for performing a PID calculation of the amount of power required to maintain the temperature of each zone within a selected range based on the values computed by the first microprocessor; and (iii) a zero crossing interrupter for sensing the zero cross- over of the AC wave form and outputting an interrupter signal for signaling the zero crossing detector to provide only complete AC cycles to the heaters; whereby each station is maintained within the selected range of operating temperatures. 45. A system comprising: (a) a hot runner injection mold; (b) a plurality of heaters for the mold, each heater having a heat- up time equal to the amount of time required to heat up the adjacent portion of the mold to a start-up temperature with the heater on substantially full power, wherein at least two heaters have different heat-up times, and one of the heaters has a longest heat-up time; (c) a power source for applying current to the heaters; and (d) a processor for controlling the power source so that each heater simultaneously receives the amount of heat-up power required for each heater to heat up a respective adjacent portion of the mold to its start-up temperature in the heat- up time, so that all portions of the mold reach their respective start-up temperature during start-up at substantially the same time. 46. An injection mold apparatus comprising: (a) a mold having multiple stations, each station having at least one heater and at least one temperature sensor outputting a temperature indicating signal; (b) a power source providing power to the heaters; and (c) a controller within a housing, the controller controlling the temperature of at least some of the stations and receiving temperature indicating signals from each sensor and controlling the amount of power provided to the heaters in response to the received temperature indicating signals, wherein the housing is mounted on the mold. 47. A mold apparatus comprising: (a) a mold having multiple stations, each station having at least one cooling path and at least one temperature sensor outputting a temperature indicating signal; (b) a source of chilling fluid for the chilling path; and (c) a controller within a housing, the controller controlling the temperature of at least some of the stations and receiving temperature indicating signals from each sensor and controlling the temperature of chilling fluid provided to the chilling path in response to the received temperature indicating signals, wherein the housing is mounted on the mold. 48. An injection mold apparatus comprising: (a) a mold having multiple injection stations, each station having a mold cavity formed by a male mold portion and a female mold portion with a parting line therebetween; (b) a sensor for detecting the spacing at the parting line; (c) a pressure system for maintaining the parting line closed when injecting plastic into the mold cavity; and (d) a controller for controlling the pressure provided by the pressure system in response to signals from the detector for automatically maintaining the parting line closed during injection of material into the mold cavity. 49. A method for controlling the temperature of an apparatus, the apparatus having multiple zones, each zone having at least one heater, the apparatus having a power source for providing power to the heaters, and the method comprising: (a) sensing the temperature of each zone with the sensor providing a temperature indicating signal; (b) receiving the temperature indicating signal in a data-receiving processor; (c) outputting the received data from the data-receiving processor; (d) receiving output from the data-receiving processor with a separate control processor, and determining the amount of power provided to the heaters with the control processor; and (e) outputting from the control processor signals to the power source for controlling the amount of power to the heaters. 50. A method for controlling the operation of an apparatus having a plurality of operating zones by controlling an operational parameter of each zone within a selected range, each zone having an operating element whose operation affects the operating parameter, the method comprising: (a) generating analog signals representative of the operating parameter of each zone and the operating state of each operating element; (b) in a first processor, digitizing the signals and determining from the signals the operating state of the operating element and the operating parameter of each zone; and (c) in a second processor, performing a PID calculation for each zone based on the operating state and the operating parameter to determine the amount of input for each operating element to maintain the operating parameter of each zone within the selected range, wherein the PID calculation is limited within a range to prevent too much input to the operating elements. 51 . A method for controlling a hot resin injection mold having multiple injection zones, each zone comprising separate male and female portions for receiving molten resin and regularly forming molded components, the method comprising: (a) sensing an irregular condition selected from the group consisting of incomplete ejection of a molded component from a zone, incorrect weight of a formed component, inadequate product quality, and incorrect spacing between male and female portions; and (b) activating an alarm when an irregular condition is sensed. 52. The method of claim 51 comprising automatically shutting down the mold when an irregular condition is sensed.

Inventors: ANDERSON ROLF T, KROEGER CHARLES R, RUBOW KEITH A, ANDERSON, ROLF, T., KROEGER, CHARLES, R., RUBOW, KEITH, A.
Applicants: CACO PACIFIC CORP, CACO PACIFIC CORPORATION
Application year: 2000
Main classification: B29C45
IPC codes: B29C45, G05B11, G05B19, G05D23