WO1997049028A1 - Electronic control unit with detachable storage elements connected to the bus that contain the entire software program - Google Patents

Electronic control unit with detachable storage elements connected to the bus that contain the entire software program Download PDF

Info

Publication number
WO1997049028A1
WO1997049028A1 PCT/CH1996/000233 CH9600233W WO9749028A1 WO 1997049028 A1 WO1997049028 A1 WO 1997049028A1 CH 9600233 W CH9600233 W CH 9600233W WO 9749028 A1 WO9749028 A1 WO 9749028A1
Authority
WO
WIPO (PCT)
Prior art keywords
hardware
control device
hardware block
card
bus
Prior art date
Application number
PCT/CH1996/000233
Other languages
German (de)
French (fr)
Inventor
Martin Ineichen
Original Assignee
Ginova Ag
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ginova Ag filed Critical Ginova Ag
Priority to AU58905/96A priority Critical patent/AU5890596A/en
Priority to PCT/CH1996/000233 priority patent/WO1997049028A1/en
Priority to DE19681520T priority patent/DE19681520D2/en
Publication of WO1997049028A1 publication Critical patent/WO1997049028A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23344Changeable memory, program
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25314Modular structure, modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2289Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test

Definitions

  • the present invention relates to an electronic control device with a first hardware block with a microcomputer that works together with a software program, with a bus system with at least one address bus, a data bus and a control bus.
  • Electronic control devices with integrated hardware and software are used in many industrial applications. It is often the case that the supplier supplies the hardware and basic software for operating a device.
  • the hardware can, for example, be a personal
  • Robots, dosing systems, processing, handling or cleaning and sterilization machines can be mentioned as examples of use for electronic control devices.
  • Known control devices are used as finished hardware in the devices mentioned above. The user must
  • DLLs dynamically linkable libraries
  • initialization files must be created and a setup with parameter settings must be carried out. If a defect occurs in the control unit in such a system, it often takes several hours to restart the system after the control unit has been repaired. All settings must be made again. With one on one
  • this object is achieved in that, in the case of an electronic control device of the type mentioned at the beginning, at least one there is a second hardware block which can be connected to the first hardware block via a detachable electrical connection, that the at least one second hardware block contains electronic memory elements, the memory elements of the at least one second hardware block being connected when the two hardware blocks are connected are directly connected to the bus system of the first hardware block and that the entire software program for the microcomputer is completely contained in the memory elements of the at least one second hardware block.
  • the hardware blocks are preferably designed such that the first hardware block is constructed essentially without memory elements and the memory elements are completely accommodated in the at least one of the second hardware blocks. This means that not only the software program for starting (booting), but all computer software is stored in the at least one second hardware block in the memory elements there.
  • a second further hardware block with memory elements can be used at runtime of the control device, on soft online or with a time recording, all software and data of the memory elements of the at least one second hardware blocks are backed up. With the ability to enter the second second hardware block
  • Creating a backup also results in simple cloning for the creation of identical behavior controls. It is therefore preferably see that a so-called clone can be created on the second second hardware block backup block by means of a control button in the control unit. Such a cloned hardware block can then be used to operate a new, identical controller without the need for installation work, such as initializations, parameter setting, etc.
  • control unit In order to ensure the correct operation of the control device according to the invention with second hardware blocks, special security mechanisms are provided. These must ensure that only the second hardware block with valid online and program data can boot. If a second hardware block is unsuccessful, the control unit either does not start at all in the event of a data defect or only starts the program again without accepting the data still available in the relevant second hardware block for further processing of the program. In the latter case e.g. a corresponding message is issued to the operator. In such a case, all special settings and the user programs as well as any parameters must be reinstalled or, if this is to be prevented, the backup must be continued with the second hardware block.
  • the second hardware blocks preferably correspond to the known PC cards (PCMCIA).
  • the first hardware block is installed in an aluminum housing and is closed from it as completely as possible. Not least in order to nip EMC problems in the bud.
  • a flat front plate made of aluminum serves as a mounting plate.
  • an aluminum cover can be mounted on the front board from behind.
  • a human / machine interface consists of a display element, preferably an LC display with backlight, from one Trackpad for moving a mouse pointer on the LC display and from some control and operating buttons.
  • Cold cathode tubes are used as backlighting in LC displays. Since such tubes have a relatively short lifespan, the background lighting of the LC display is controlled by a proximity switch or motion detector which is provided on the front board. The backlight of the LC display is only switched on when there is a person in front of the control unit.
  • a touchscreen can also be used, in which a certain, appropriately marked area of the screen surface is touched by the operator of the control device to trigger a function.
  • an infrared interface can preferably be arranged on the front board. With this a contactless transmission of data from and to the third hardware block is determined.
  • the third hardware block can be, for example, a keyboard with a corresponding infrared interface.
  • a plug can of course also be provided, in which case contactless data transmission is no longer provided in the latter case.
  • the aforementioned special security mechanisms in the first hardware block include a parity generator for generating a parity bit per byte or per word, which parity bit for each data byte or each data word or each program word that is present in the at least one second hardware block, there in a special one Storage area is saved.
  • Another security mechanism includes the correct functioning, in particular the supply voltage supply for the second hardware block or the PC cards and a monitoring circuit as to whether a PC card has been replaced at any time, regardless of whether the control device is switched on or off is.
  • a third security mechanism comprises identification circuits which contain identification data of the corresponding hardware blocks or corresponding removable or plug-in modules installed in hardware blocks. Using the identification data, software can be used to determine whether the entire hardware is correctly constructed and whether the individual assemblies or hardware blocks fit together and match the software.
  • FIG. 2 shows a block diagram of the control device according to FIG. 1,
  • Fig. 3 is a block diagram showing the interconnection of several
  • Fig. 4 is a flowchart showing the sequence of a first step for starting the control unit
  • Fig. 5 is a flow chart showing a second step to start the control unit.
  • 1 shows the external view of an electronic control device 1 according to the invention. This is surrounded by a metal, all-round closed housing 18, preferably made of aluminum.
  • the metal housing 18 serves to nip EMC problems in the bud.
  • the human / machine interface is essentially built on the front board 19. This consists of a display element 25, which can either be an LC display, preferably a colored LC display, or which can have a touchscreen instead of the LC display.
  • Six software-programmable keys 24 are arranged below the display element 25, to which various functions can be assigned in software.
  • a start button 20 and a stop button 21 for starting and stopping a machine program or a preprogrammed program sequence complete the operating elements.
  • a trackpad 23 is provided, in the case of an LC display 25, to position a mouse pointer at a specific point on the LC display, in order to then start a function shown on the LC display with an execution key 22.
  • LC displays are backlit to make the display more visible. This consists of a cold cathode tube, which has a relatively short lifespan. According to the invention, a proximity switch 26 or a motion detector 26 is now provided, which only switches on the backlighting of the LC display when an operator approaches. This increases the life of the backlight of the LC display.
  • the display element is a touchscreen 25
  • Trackpad 23 and the execution button 22 are not necessary.
  • a certain function or a certain part of the program is started on the touchscreen by the operator touching the screen surface at a certain, predefined point.
  • the human / machine interface can furthermore have a keyboard connection 39, which is intended for connecting, for example, a PC keyboard, with which certain parameters or initialization data can be entered into the control unit 1.
  • An infrared interface 27 can also be provided in order to transmit contactlessly a data transmission from control device 1 to a further device (not shown) with an equivalent infrared interface or vice versa.
  • a first hardware block 2 (FIG. 2) is accommodated in the interior of the housing 18 of the electronic control unit 1, which is constructed in modules and comprises various modules.
  • At least a second hardware block 8 preferably a data carrier card with the format of a PC card (PCMCIA), can be plug-connected to the first hardware block 2 via an opening 28. Further openings 28 can be provided for plugging and unplugging two further hardware blocks 8, 9.
  • Reference number 33 shows a first interface, preferably a plug connection, which is intended for the electrical connection of a system which is not visible in the figures and which is to be controlled by control unit 1.
  • a second interface 34 preferably also in the form of a plug, is used to connect the electronic control unit 1 to other electronic control units in order to produce a multiprocessor system.
  • the control device 1 is shown in block diagram form in FIG. 2. It essentially comprises the already mentioned first hardware block 2 installed in the housing 18 and at least one or more second hardware blocks 8, 9, which can be connected to the first hardware block 2 via plug connections 10, 11.
  • the first hardware block 2 is constructed in modules and comprises various peripheral modules 37, such as a real-time clock, an LC display, an interface for a touchscreen, an interface for connecting a keyboard, a fieldbus interface, an analog / digital converter, one Digital / analog converter, an acoustic system, serial and parallel interfaces as well as digital inputs and outputs.
  • peripheral modules 37 such as a real-time clock, an LC display, an interface for a touchscreen, an interface for connecting a keyboard, a fieldbus interface, an analog / digital converter, one Digital / analog converter, an acoustic system, serial and parallel interfaces as well as digital inputs and outputs.
  • peripheral modules is connected to the microcomputer module 3 in a known manner via a bus system 4 consisting of at least one address bus 6, a data bus 5 and a control bus 7.
  • a special unit 40 Gluelogic
  • the necessary signal processing such as chip select and interrupt requests are carried out.
  • microprocessors that have already integrated this special unit 40. In this case
  • the bus system 4 has an address bus 6, a data bus 5 and a control bus 7.
  • the data transmission between the microprocessor 3, on the motherboard of the first hardware block 2 existing modules 35, 36, a peripheral module 37 or the second hardware blocks 8, 9 takes place in a known manner as follows: to the desired module 35, 36 or the desired peripheral module 37 a specific address is created by the microprocessor 3, with which the module or the peripheral module is selected.
  • the signals on the control bus are now used to exchange data in both directions between the selected component or the selected peripheral module and the microprocessor via the data bus.
  • the control bus 7 leads through the special unit 40, the Gluelogic, in the block diagram. In some cases, signals are carried out directly or signals from the control bus are used to generate further control bus signals.
  • the mode of operation of the Gluelogic 40 is known and is therefore not described further here.
  • Other existing modules 29, 30 are not addressed with addresses, but directly via module 35 (digital ON / OFF module). This is done via discrete lines.
  • the interrupt system is routed via another separate bus connection 41.
  • the gluelogic 40 to which the interrupt bus 41 is connected, decodes an interrupt request from various sources and forwards it to the microprocessor 3 in a suitable format.
  • a monitoring circuit 29 for monitoring whether the second hardware blocks 8, 9 have been plugged in or changed at any time is provided on the motherboard of the first hardware block 2, and a further monitoring circuit 30 for monitoring the correct voltage supply , in particular the second hardware blocks 8, 9.
  • a parity generator module 36 is provided, which, as will be described later, is used to detect corrupt data.
  • Hardware identification circuits 38 in each removable module, 0 for determining whether all the necessary, provided modules are present and correspond to the required type, further increase the operational safety of the electronic control device according to the invention.
  • PCMCIA PCMCIA
  • the memory element 12 is designed as RAM memory
  • the memory 0 elements 13, 16 as non-volatile EEPROM memory or flash memory
  • the memory elements 14, 15 are again constructed as RAM memories.
  • every second hardware block 8, 9 comprises an identification circuit 38, which, as already mentioned briefly above, contains identification data with which it can be determined whether the correct second hardware block 8, 9 is connected to the first hardware block 2 at the correct location is.
  • every second hardware block 8, 9 comprises its own voltage supply circuit 17, in which a buffer element for temporarily holding the data stored in the RAM memories 12, 14, 15 determines when the second hardware block 8, 9 is pulled out is.
  • the buffer element can be a capacitor, a battery or an accumulator. A battery is preferably used. This guarantees data retention over a longer period of time, so that second hardware blocks can easily be sent from the supplier to a customer without loss of data.
  • the control device is that the second hardware blocks 8, 9, the data carrier cards, are connected directly to the bus system of the microcomputer 3 of the first hardware block 2 via connecting plugs 10, 11, which can be PC card standard plugs.
  • plugs 10, 11, which can be PC card standard plugs In the first hardware block 2 itself, essentially no memory elements are required.
  • the software, the boot and user programs, parameters, initial data and other data are completely contained in the memory elements of the second hardware block 8, all program code preferably being stored in the flash memory 13, that is to say in a non-volatile memory element is. Since the second hardware blocks 8, 9 are connected directly to the bus system 4 of the microcomputer 3 without an interface, the control device can be started from one of the second hardware blocks 8. This with the advantages mentioned at the beginning.
  • the data which are already known at the time of the programming are preferably in the EE in addition to the program code -PROM or flash memory housed while in RAM Data are stored which are generated during the operation of the control device.
  • a second second hardware block 9 the so-called backup card.
  • the backup card is constructed in exactly the same way as the boot card and is intended so that, at the operator's request, the contents of the various memory elements 12, 13, 14, 15, 16 of the boot card 8 can be mapped onto the identical memory elements 12, 13 at a certain point in time , 14, 15, 16 of the backup card 9 can be created.
  • a memory map can also be created and carried along permanently.
  • both cards 8, 9 are written to simultaneously in each write cycle of the microcomputer 3. Only the boat card 8 is read in each case. At certain, predetermined intervals, an instantaneous comparison of the two cards 8, 9 can be carried out. In the event of a fault, a warning, for example an acoustic or optical signal, can be issued.
  • each hardware module which is not permanently connected to the motherboard of the first hardware block 2, comprises an identification circuit 38.
  • This essentially has a non-volatile memory element, for example an EE-PROM, in which a module number, a serial number , a manufacturing date and calibration data or, depending on the module, other data are entered.
  • the hardware module can be clearly identified with the identification data.
  • the hardware parts are fully traceable.
  • the individual identification circuits 38 are connected to one another by their own bus 42, the identification bus, and end digitally on / off on the module 35, via which the identification data of the individual modules 2, 8, 9, 37 can be called up by the microcomputer 3 and processed further.
  • the identification data of the individual modules are determined during production and permanently programmed. Checksums can also be used to increase data security.
  • the identification system is based on a single address which is predefined and which must be the same for all variants of first hardware blocks 2 to which the second hardware blocks 8, 9 are intended to match.
  • This address is that of the digital on / off module 35.
  • the software uses this module to access the identification system.
  • the address of the named block is the gateway to the description of the hardware configuration. Through this gate, all connected hardware modules can be addressed via identification bus 42.
  • All pluggable hardware modules 8, 9, 37 and the basic circuit board of the first hardware block 2 receive a unique type identification after manufacture. This enables the user software to recognize the entire hardware configuration by querying all the existing identification circuits 38.
  • the first identification circuit 38 is always the identification circuit 38 of the motherboard of the first hardware block 2. In this circuit, e.g. in the form of a list, all addresses or chipselect settings of the slots on the motherboard for the hardware modules 8, 9, 37 and the associated identification circuit addresses. By addressing the identification circuit addresses, the software can find out where which additional hardware is plugged in. After all identification modules have been read in, the software is completely familiar with the configuration of the present hardware. It can also find out whether it even fits the hardware configuration found. It also finds out whether a module has been replaced in the meantime, namely when the current identification data are stored in one of the memory elements 12 of one of the second hardware blocks 8, 9 during each boot process.
  • parity bit generator 36 For data words from the flash memory 13 of the second hardware block 8, parity is generated over 16 bits each and for the RAM memory 12 of the second hardware block 8 over 8 bits or byte-by-byte, since this memory can also be written and read byte-by-byte.
  • a parity bit is generated per byte or per word.
  • the parity bit is written into the corresponding parity memory 14, 15, 16.
  • the existing parity bit stored at the corresponding address is compared with the newly generated one.
  • a signal is generated which stores the error and triggers a parity error signal 43.
  • the parity generator 36 is equipped with an additional buffer in order to detect a double parity error. It is thus possible, in the case of a simple error, to find out by software in which memory area the error is located.
  • a simple error exists if e.g. a single bit changes its state illegally or if the area in which the software for examining and displaying the parity error is not affected by errors.
  • a reset must be triggered and maintained. In this case, it must be assumed that neither an executable program code nor consistent data are present in the memory area.
  • the double parity error 56 must be cleared by switching control unit 1 off and on again. However, the double parity error can only be remedied by using a new corresponding hardware block or a new boot card 8.
  • the backup card 9 can be used, for example.
  • the monitoring circuit 29 is provided, which is intended in particular for recognizing a change in one of the second hardware blocks 8, 9 during operation or outside the operation of control device 1.
  • the task of the monitoring circuit 29 is, more precisely in other words, to recognize at any time whether a second hardware block, in our example the boot card 8, or the backup card 9 is present, whether one or both of these cards have been inserted and reinserted or replaced, and whether these cards have their own correct supply voltage. gene.
  • the monitoring circuit 29 is on the one hand via the software and on the other hand by signals 57, 58 (boot card unplugged, backup card unplugged), 59, 60 (monitoring of the boot card voltage or backup card voltage) of the second hardware blocks 8, 9 controlled.
  • the signals come from the monitoring circuit 29 via signal lines 48, 49 (boot card 8 changed, backup card 9 changed) 50, 51 (information voltage supply boot card or backup card) via the digital on / off Module 35 for further processing in the microcomputer 3.
  • the monitoring circuit can be reset via software if necessary via lines 44, 45 (reset signal boot card changed or backup card changed) become.
  • a change of one or more of the second hardware blocks 8, 9, in particular the boot card 8, should only take place when the control device is switched off.
  • the removal of the boot card is recognized with a signal 57 (boot card not inserted).
  • the monitoring circuit 29 reports this event via a signal 46 (no boot card) to the further monitoring circuit 30, which triggers a reset signal 32.
  • the control unit 1 will never start without a boot card 8.
  • the monitoring circuit 29 reports an unplugged boot card 8 or backup card 9 to the digital ON / OFF circuit 35 via the signal lines 48, 49.
  • the state of the two signals on the lines mentioned remains stored in the monitoring circuit 29.
  • the signals mentioned on lines 48, 49 are reset via signals 44, 45. Since the monitoring circuit 29 must recognize and save a change of the cards 8, 9 even when the device is switched off, a system battery 47 is present in the first hardware block 2, which also supplies the monitoring circuit 29 with voltage via one of the lines 31 (5 VRT). worries.
  • the monitoring circuits 29, 30 can no longer work correctly.
  • the status of the system battery 47 is monitored by the further monitoring circuit 30.
  • a signal 52 changes its level.
  • the signals 48, 49 are set to TRUE and the state of the batteries 17 of the boot card 8 and the backup card 9 is recorded with the signals 50 and 51.
  • the voltages of the boot card 8 and the backup card 9 are measured via the signal lines 59, 60 (voltage of the boot card 8 or voltage of the backup card 9) by the monitoring circuit 29.
  • Signals 48, 49 (boot card changed, backup card changed) are set when the card has been changed. Each time the card is changed, the battery 17 of the card 8, 9 concerned is automatically measured. In order not to load the battery unnecessarily long, the measurement is only carried out for a short time. Therefore, after a booting process, the signals 50, 51 indicate the state of the corresponding card battery 17 at the time of changing one of the cards 8, 9. As long as the cards 8, 9 are inserted, the voltage supply is taken over by the system battery 47 via the lines 31. By setting a signal 61 (measure card voltage), the microcomputer module 3 can request a measurement of the state of the batteries 17 of the second hardware blocks 8, 9 via the digital ON / OFF module 35. The signals 50, 51 are then set accordingly and remain stored.
  • the further monitoring circuit 30 is the last link in the safety chain of the control device according to the invention. This building block summarizes the generation of the supply voltage (5 V) and the voltage for the non-volatile data storage (5 VRT), the generation of the reset signal 32 and a reset signal 52 for the monitoring circuit 29.
  • the module 30 further contains a battery voltage monitoring unit.
  • the further monitoring circuit 30 continuously monitors the voltage of the system battery 47. If the voltage is lost, ie if the voltage level drops below a minimum value, after the correct voltage has been restored, a signal 65 (battery error) will remain as true when the device is switched off until it is signaled by the software via another signal 64 (reset battery error) is reset.
  • software can be used via a line
  • the reset signal 32 remains active and at the same time an output 53 fatal system error is set and an acoustic or optical warning signal 54 is triggered.
  • FIG. 3 shows how a plurality of control units 1 connect to one another via a multi-port RAM 55 via the built-in second interfaces 34, to which the address bus 6, the data bus 5 and the control bus 7 of the bus system 4 are each connected can be connected to a multiprocessor system. This type of connection is known and therefore need not be described further here.
  • the control device 1 must be started (booted) using a special procedure. This is because the correct functioning is ensured via a chain of various monitoring or safety circuits 29, 30, 35, 36, 37, 38.
  • Starting the device can be roughly divided into two steps.
  • a first boot step is shown in the flow diagram of FIG. 4. It is based on the detection of a boot card 8 and the non-occurrence of a double parity error. In order to be able to detect a parity error at all, the software must first be started. After starting up
  • the hardware is checked by the software as described above. That is, it is checked with the aid of the predetermined and fixed address of the digital on / off module 36 whether the cards 8, 9 have not been changed and whether the battery voltages are sufficiently high. If something is wrong, an operator dialog is automatically switched on and displayed on the display unit 25.
  • a second boot step which is shown in the flowchart in FIG. 5, it is checked whether the software in the existing boot card 8 fits the recognized and checked hardware configuration. This is done by querying all identification circuits 38 of the system.
  • the heart of the control device 1 is the boot card 8.
  • the boot card In order to be able to operate the control device at all, a consistent boot card must be present.
  • the boot card must contain an executable program code with correctly set parity in the addressed memory area 13, 14, 15, 16 (flash memory, parity memory). This can only be achieved by first of all writing the boot card with a boot program during the manufacturing process.
  • the parity is automatically set for the first time for all the memory locations described.
  • a parity error can no longer occur, except when the memory is defective.
  • a boot card booted up in this way is considered to be consistent.
  • the system can be booted with it.
  • the parity bit is automatically generated and stored online by the parity generator 36 with each word stored, or is compared with the existing parity.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

The electronic control unit has a first hardware module (2) fitted with a microcomputer (3) that operates with a software program. A bus system (4) having at least one address bus (6), one data bus (5) and one control bus (7) is likewise mounted on a mother board of the first hardware module (2). The electronic control unit has at least one second hardware module (8, 9), which can be connected to the first hardware module (2) using a detachable electrical connection (10, 11). At least one of the second hardware modules (8, 9) is preferably designed as a data carrier card in PCB format and contains electronic storage elements (12, 13, 14, 15, 16). When the two hardware modules (2, 8, 9) are connected together the storage elements (12, 13, 14, 15, 16) of at least one of the second hardware modules (8, 9) are connected directly to the bus system (4) of the first hardware module (2). The storage elements (12, 13) of at least one of the second hardware modules (8, 9) contain the entire software program for the microcomputer (3). This has the advantage that, if the control unit fails, the first hardware module (2) is simply replaced and operation may continue with at least one of the second hardware modules (8, 9) of the control unit that contains the software. In this way control function is maintained with absolutely the same program code and absolutely the same operating data.

Description

ELEKTRONISCHES STEUERGERÄT MIT AN DEN BUS GESCHALTETEN, LÖSBAREN SPEICHERELE¬ MENTEN, DIE DAS GESAMTE SOFTWAREPROGRAMM ENTHALTENCONTROL UNIT WITH TO THE BUS CONNECTED, DETACHABLY SPEICHERELE ¬ MENTEN THAT THE ENTIRE SOFTWARE PROGRAM INCLUDED
Die vorliegende Erfindung betrifft ein elektronisches Steuergerät mit einem ersten Hardwareblock mit einem Mikrorechner, der zusammen mit einem Softwareprogramm arbeitet, mit einem Bussystem mit mindestens einem 5 Adressbus, einem Datenbus und einem Steuerbus.The present invention relates to an electronic control device with a first hardware block with a microcomputer that works together with a software program, with a bus system with at least one address bus, a data bus and a control bus.
In vielen Anwendungen in der Industrie werden elektronische Steu¬ ergeräte mit integrierter Hardware und Software eingesetzt. Dabei ist es oft so, dass vom Lieferanten die Hardware und eine Basissoftware zum Betrieb eines Gerätes geliefert werden. Die Hardware kann dabei beispielsweise ein Perso-Electronic control devices with integrated hardware and software are used in many industrial applications. It is often the case that the supplier supplies the hardware and basic software for operating a device. The hardware can, for example, be a personal
10 nalcomputer oder ein Kompaktrechner sein. Der Anwender wird in vielen Fällen den Rechner durch eigene Software ergänzen. Diese Ergänzung kann aus einfachen Parametern bis hin zu ganzen Softwareteilen bestehen, die noch vor Inbetriebnahme des Steuergerätes dazugefügt werden. Parameter können aber auch während dem Betrieb eingegeben bzw. verändert oder angepasst wer-10 nalcomputer or a compact computer. In many cases, the user will add their own software to the computer. This supplement can consist of simple parameters or entire software parts that are added before the control unit is started up. However, parameters can also be entered, changed or adjusted during operation.
15 den.15 den.
Als Anwendungsbeispiele für elektronische Steuergeräte können Roboter, Dosiersysteme, Bearbeitungs-, Handlings- oder Reinigungs- und Ste¬ rilisationsmaschinen genannt werden. Bekannte Steuergeräte werden als fer¬ tige Hardware in die obengenannten Geräte eingesetzt. Der Anwender mussRobots, dosing systems, processing, handling or cleaning and sterilization machines can be mentioned as examples of use for electronic control devices. Known control devices are used as finished hardware in the devices mentioned above. The user must
20 dann die gewünschten Abläufe mittels einer vom Hersteller kreierten Metaspra¬ che, mittels dynamisch linkbaren Bibliotheken (DLL's) oder mit einem Mensch/Maschinen-Interface selbst programmieren bzw. konfigurieren. Bei grösseren Systemen führt dies dazu, dass für die Inbetriebnahme des Steuer¬ gerätes mehrere Arbeitsgänge notwendig sind, um das System hochzufahren.20 then program or configure the desired processes themselves using a meta-language created by the manufacturer, using dynamically linkable libraries (DLLs) or using a human / machine interface. In the case of larger systems, this means that several operations are required to start up the control device in order to start up the system.
25 So müssen beispielsweise Initialisierungsdateien erstellt werden und es muss ein Setup mit Parametereinstellungen erfolgen. Wenn in einem solchen System im Steuergerät ein Defekt auftritt, sind oft mehrere Stunden notwendig, um das System nach der Reparatur des Steuergerätes wieder hochzufahren. Sämtliche Einstellungen müssen wieder neu vorgenommen werden. Bei einem auf einem25 For example, initialization files must be created and a setup with parameter settings must be carried out. If a defect occurs in the control unit in such a system, it often takes several hours to restart the system after the control unit has been repaired. All settings must be made again. With one on one
30 Personalcomputer basierenden System sind zwar die Parameter meist auf Da¬ teien noch vorhanden. Unter Umständen müssen auch wieder umfangreiche Tests durchgeführt werden, um sicherzustellen, dass das System wieder ein- wandfrei funktioniert. Oft ist es so, dass bei einem neuen Steuergerät z.B. ein neueres Bios installiert ist, das sich plötzlich mit der vorhandenen Software nicht oder schlecht verträgt. Es können so plötzlich Betriebssystem-Anwen¬ dersoftware-Konflikte entstehen.In a system based on a personal computer, the parameters are mostly still present on files. Extensive tests may also have to be carried out again to ensure that the system is switched on again. works wall-free. It is often the case that a new control unit, for example, has a newer bios installed, which suddenly does not or is incompatible with the existing software. Operating system user software conflicts can suddenly arise.
Besonders gravierend wird der Ausfall eines Steuergerätes in vali- dierungspflichtigen Umgebungen der Pharma- und Lebensmittelindustrie. Hier muss der Anwender eines computergesteuerten Systems garantieren können, dass ein repariertes Steuergerät mit exakt den zum Zeitpunkt der Validierung eingestellten Parametern wieder in Betrieb genommen wird. Dies kann nur ga- rantiert werden, wenn sowohl die Herstellersoftware wie auch die Parameter identisch sind. Bei längeren Installationsprozeduren, z.B. auf Personalcompu¬ tern, kann dies aufwendig werden, da bei der Durchführung der Installation Fehler auftreten können, die die Funktionalität der Software so beeinflussen, dass sie eben noch läuft, aber nicht genau so, wie sie müsste. Dies z.B. darum, weil ein Parameter nicht angepasst worden ist oder eben weil Betriebssystem- und Softwarekomponenten plötzlich nicht mehr zusammenpassen. Solche Fehler können nur durch umfangreiche Tests gefunden werden. In gewissen Fällen kann sogar eine neue Validierung notwendig werden. Eine solche kann unter Umständen aber mehrere Mannwochen in Anspruch nehmen.The failure of a control unit in environments requiring validation in the pharmaceutical and food industry is particularly serious. Here, the user of a computer-controlled system must be able to guarantee that a repaired control unit will be put back into operation with the exact parameters set at the time of validation. This can only be guaranteed if both the manufacturer software and the parameters are identical. With longer installation procedures, e.g. on personal computers, this can be expensive, since errors can occur during the installation that influence the functionality of the software in such a way that it is still running, but not exactly as it should. This e.g. because a parameter has not been adjusted or because operating system and software components suddenly no longer match. Such errors can only be found through extensive testing. In some cases, a new validation may even be necessary. Under certain circumstances, however, this can take several man weeks.
Um ein solches kompliziertes System hochzufahren, ist ein Spezialist nötig, der einerseits das System genau kennt und andererseits über die nötigen Kenntnisse über das Steuergerät verfügt. Bei örtlich weit auseinanderliegenden Systemen kann die Wartung sehr teuer werden, wenn dafür ein Spezialist an¬ reisen muss.In order to start up such a complicated system, a specialist is required who on the one hand knows the system well and on the other hand has the necessary knowledge of the control unit. In the case of systems that are far apart from one another, maintenance can be very expensive if a specialist has to travel to do this.
Es ist deshalb die Aufgabe der vorliegenden Erfindung, ein elektroni¬ sches Steuergerät derart zu verbessern, dass die vorgenannten Nachteile nicht mehr auftreten. Insbesondere soll es nicht mehr notwendig sein, nach einem Steuergerätwechsel irgendwelche Validierungs- oder Einstellarbeiten am neuen Steuergerät vorzunehmen.It is therefore the object of the present invention to improve an electronic control device such that the aforementioned disadvantages no longer occur. In particular, it should no longer be necessary to carry out any validation or adjustment work on the new control unit after changing the control unit.
Erfindungsgemäss wird diese Aufgabe dadurch gelöst, dass bei ei¬ nem elektronischen Steuergerät der eingangs genannten Art mindestens ein zweiter Hardwareblock vorhanden ist, der über eine lösbare elektrische Verbin¬ dung mit dem ersten Hardwareblock zusammenschaltbar ist, dass der minde¬ stens eine zweite Hardwareblock elektronische Speicherelemente enthält, wo¬ bei im zusammengeschalteten Zustand der beiden Hardwareblocks die Spei- cherelemente des mindestens einen zweiten Hardwareblocks unmittelbar an das Bussystem des ersten Hardwareblocks geschaltet sind und dass das ge¬ samte Softwareprogramm für den Mikrorechner vollständig in den Speichere¬ lementen des mindestens einen zweiten Hardwareblocks enthalten ist.According to the invention, this object is achieved in that, in the case of an electronic control device of the type mentioned at the beginning, at least one there is a second hardware block which can be connected to the first hardware block via a detachable electrical connection, that the at least one second hardware block contains electronic memory elements, the memory elements of the at least one second hardware block being connected when the two hardware blocks are connected are directly connected to the bus system of the first hardware block and that the entire software program for the microcomputer is completely contained in the memory elements of the at least one second hardware block.
Vorzugsweise sind die Hardwareblocks derart gestaltet, dass der erste Hardwareblock im wesentlichen speicherelementlos aufgebaut ist und die Speicherelemente vollständig in dem mindestens einen der zweiten Hardwa¬ reblocks untergebracht sind. Dies bedeutet, dass nicht nur das Softwarepro¬ gramm zum Aufstarten (Booten), sondern sämtliche Rechnersoftware in dem mindestens einen zweiten Hardwareblock in den dortigen Speicherelementen abgespeichert ist.The hardware blocks are preferably designed such that the first hardware block is constructed essentially without memory elements and the memory elements are completely accommodated in the at least one of the second hardware blocks. This means that not only the software program for starting (booting), but all computer software is stored in the at least one second hardware block in the memory elements there.
Dies bringt den Vorteil, dass im Falle eines Versagens des erfin- dungsgemässen Steuergerätes der erste Hardwareblock einfach ausgetauscht und mit dem mindestens einen zweiten Hardwareblock des alten Steuergerä¬ tes, der die Software enthält, weiter betrieben werden kann. Damit läuft die neue Steuerung mit dem absolut gleichen Programmcode und den absolut gleichen Betriebsdaten weiter.This has the advantage that, in the event of a failure of the control device according to the invention, the first hardware block can simply be exchanged and operated with the at least one second hardware block of the old control device, which contains the software. The new control system continues to run with the absolutely same program code and the absolutely same operating data.
Dieses Vorgehen kann angewendet werden, wenn davon ausge¬ gangen werden kann, dass der oder die zweiten Hardwareblocks noch in ein¬ wandfreiem Zustand sind und keine korrupten Daten enthalten. Um auch einen Defekt im zweiten Hardwareblock, der das Bootprogramm und andere Software enthält, abzusichern, kann zur Laufzeit des Steuergerätes ein zweiter weiterer Hardwareblock mit Speicherelementen eingesetzt werden, auf weichen Online oder mit einer Zeitaufnahme sämtliche Software und Daten der Speicherele¬ mente des mindestens einen zweiten Hardwareblocks als Backup gesichert werden. Mit der Möglichkeit, auf dem zweiten zweiten Hardwareblock einThis procedure can be used if it can be assumed that the second or the second hardware blocks are still in perfect condition and do not contain any corrupt data. In order to also protect a defect in the second hardware block, which contains the boot program and other software, a second further hardware block with memory elements can be used at runtime of the control device, on soft online or with a time recording, all software and data of the memory elements of the at least one second hardware blocks are backed up. With the ability to enter the second second hardware block
Backup zu erstellen, ergibt sich ebenfalls ein einfaches Cloning zur Anfertigung von sich identisch verhaltenden Steuerungen. Vorzugsweise ist deshalb vorge- sehen, dass auf dem zweiten zweiten Hardwareblock Backupblock ein soge¬ nannter Clon mittels einer Steuertaste im Steuergerät erstellt werden kann. Ein solcher geclonter Hardwareblock kann dann zum Betrieb einer neuen identi¬ schen Steuerung benutzt werden, ohne dass dazu Installationsarbeiten, wie Initialisierungen, Parametersetzen, etc., notwendig werden.Creating a backup also results in simple cloning for the creation of identical behavior controls. It is therefore preferably see that a so-called clone can be created on the second second hardware block backup block by means of a control button in the control unit. Such a cloned hardware block can then be used to operate a new, identical controller without the need for installation work, such as initializations, parameter setting, etc.
Um den korrekten Betrieb des erfindungsgemässen Steuergerätes mit zweiten Hardwareblocks zu gewährleisten, sind spezielle Sicherheitsme¬ chanismen vorgesehen. Diese müssen sicherstellen, dass nur vom zweiten Hardwareblock mit gültigen Online- und Programmdaten gebootet werden kann. Bei einem nicht erfolgreichen Wechsel eines zweiten Hardwareblocks wird das Steuergerät je bei einem Datendefekt entweder gar nicht gestartet oder nur das Programm neu aufgestartet, ohne die im betreffenden zweiten Hardwareblock noch vorhandenen Daten für die weitere Abarbeitung des Pro- grammes zu akzeptieren. Im letzteren Fall wird z.B. dem Bediener eine ent- sprechende Meldung ausgegeben. Alle speziellen Einstellungen und die An¬ wenderprogramme sowie allfällige Parameter müssen in einem solchen Fall neu installiert werden oder es muss, wenn man dies verhindern will, mit dem zweiten Hardwareblock mit dem Backup weitergearbeitet werden.In order to ensure the correct operation of the control device according to the invention with second hardware blocks, special security mechanisms are provided. These must ensure that only the second hardware block with valid online and program data can boot. If a second hardware block is unsuccessful, the control unit either does not start at all in the event of a data defect or only starts the program again without accepting the data still available in the relevant second hardware block for further processing of the program. In the latter case e.g. a corresponding message is issued to the operator. In such a case, all special settings and the user programs as well as any parameters must be reinstalled or, if this is to be prevented, the backup must be continued with the second hardware block.
Bevorzugte Ausführungen des Steuergerätes des ersten Hard- wareblockes oder des mindestens einen Hardwareblocks sind in den abhängi¬ gen Patentansprüchen aufgeführt.Preferred embodiments of the control device of the first hardware block or of the at least one hardware block are listed in the dependent patent claims.
Die zweiten Hardwareblocks entsprechen vorzugsweise den bekann¬ ten PC-Karten (PCMCIA). Der erste Hardwareblock ist in einem Gehäuse aus Aluminium eingebaut und ist von diesem möglichst rundum geschlossen. Dies nicht zuletzt, um EMV-Probleme bereits im Keime zu ersticken. Eine flache Frontplatine aus Aluminium dient als Montageplatte. Zur vollständigen Umhül¬ lung des ersten Hardwareblocks kann von hinten eine Aluminiumabdeckung an die Frontplatine montiert sein.The second hardware blocks preferably correspond to the known PC cards (PCMCIA). The first hardware block is installed in an aluminum housing and is closed from it as completely as possible. Not least in order to nip EMC problems in the bud. A flat front plate made of aluminum serves as a mounting plate. To completely encase the first hardware block, an aluminum cover can be mounted on the front board from behind.
Ein Mensch/Maschinen-Interface besteht aus einem Anzeigeele- ment, vorzugsweise einem LC-Display mit Hintergrundbeleuchtung, aus einem Trackpad zum Bewegen eines Mauszeigers auf dem LC-Display und aus eini¬ gen Steuer- und Bedienungstasten.A human / machine interface consists of a display element, preferably an LC display with backlight, from one Trackpad for moving a mouse pointer on the LC display and from some control and operating buttons.
In LC-Anzeigen werden als Hintergrundbeleuchtung Kaltkathoden- röhren verwendet. Da solche Röhren eine relativ kurze Lebensdauer haben, wird die Hintergrundbeleuchtung des LC-Displays durch einen Näherungsschal¬ ter oder Bewegungsmelder, der auf der Frontplatine vorhanden ist, gesteuert. Nur bei der unmittelbaren Anwesenheit einer Person vor dem Steuergerät wird die Hintergrundbeleuchtung des LC-Displays eingeschaltet.Cold cathode tubes are used as backlighting in LC displays. Since such tubes have a relatively short lifespan, the background lighting of the LC display is controlled by a proximity switch or motion detector which is provided on the front board. The backlight of the LC display is only switched on when there is a person in front of the control unit.
Anstelle eines LC-Displays und des Trackpads kann ebenfalls ein Touchscreen verwendet werden, bei dem zum Auslösen einer Funktion ein bestimmter, entsprechend gekennzeichneter Bereich der Screenoberfläche vom Bediener des Steuergerätes berührt wird.Instead of an LC display and the trackpad, a touchscreen can also be used, in which a certain, appropriately marked area of the screen surface is touched by the operator of the control device to trigger a function.
Um einen Datenaustausch mit einem dritten Hardwareblock zu er¬ möglichen, kann auf der Frontplatine vorzugsweise ein Infrarotinterface ange- ordnet sein. Mit diesem ist ein kontaktloses Übertragen von Daten von und zu dem dritten Hardwareblock bestimmt. Der dritte Hardwareblock kann beispiels¬ weise eine Tastatur mit einem entsprechenden Infrarotinterface sein. Anstelle des Infrarotinterfaces kann natürlich auch ein Stecker vorgesehen sein, wobei im letzteren Fall eine kontaktlose Datenübertragung nicht mehr gegeben ist.In order to enable data exchange with a third hardware block, an infrared interface can preferably be arranged on the front board. With this a contactless transmission of data from and to the third hardware block is determined. The third hardware block can be, for example, a keyboard with a corresponding infrared interface. Instead of the infrared interface, a plug can of course also be provided, in which case contactless data transmission is no longer provided in the latter case.
Für jeden zweiten Hardwareblock, d.h. für jede PC-Karte, ist im Ge¬ häuse, das den ersten Hardwareblock umgibt, eine Öffnung vorhanden, durch welche ein entsprechender zweiter Hardwareblock steckmässig mit dem ersten Hardwareblock verbunden werden kann.For every second hardware block, i.e. for each PC card, there is an opening in the housing which surrounds the first hardware block, through which an appropriate second hardware block can be plug-connected to the first hardware block.
Die vorgenannten speziellen Sicherheitsmechanismen umfassen im ersten Hardwareblock einen Paritygenerator zum Erzeugen eines Paritybits pro Byte oder pro Word, welches Paritybit für jedes Datenbyte oder jedes Daten¬ word bzw. jedes Programmword, das im mindestens einen zweiten Hardwa¬ reblock vorhanden ist, dort in einem speziellen Speicherbereich gespeichert wird. Ein weiterer Sicherheitsmechanismus umfasst das richtige Funktio¬ nieren, insbesondere der Speisespannungsversorgung des oder der zweiten Hardwareblocks bzw. der PC-Karten und einen Überwachungsstromkreis, ob eine PC-Karte zu irgend einem Zeitpunkt, egal ob das Steuergerät ein- oder ausgeschaltet ist, ausgewechselt worden ist.The aforementioned special security mechanisms in the first hardware block include a parity generator for generating a parity bit per byte or per word, which parity bit for each data byte or each data word or each program word that is present in the at least one second hardware block, there in a special one Storage area is saved. Another security mechanism includes the correct functioning, in particular the supply voltage supply for the second hardware block or the PC cards and a monitoring circuit as to whether a PC card has been replaced at any time, regardless of whether the control device is switched on or off is.
Ein dritter Sicherheitsmechanismus umfasst Identifikationsstrom¬ kreise, die Identifikationsdaten der entsprechenden Hardwareblocks oder ent¬ sprechenden, in Hardwareblocks eingebauten entfernbaren oder steckbaren Baugruppen enthalten. Mit den Identifikationsdaten kann mittels Software fest- gestellt werden, ob die gesamte Hardware richtig aufgebaut ist und die einzel¬ nen Baugruppen oder Hardwareblocks zusammen und zur Software passen.A third security mechanism comprises identification circuits which contain identification data of the corresponding hardware blocks or corresponding removable or plug-in modules installed in hardware blocks. Using the identification data, software can be used to determine whether the entire hardware is correctly constructed and whether the individual assemblies or hardware blocks fit together and match the software.
Eine detailliertere Beschreibung der hier nur kurz erwähnten Sicher¬ heitsmechanismen erfolgt weiter hinten anlässlich der Beschreibung eines be¬ vorzugten Ausführungsbeispieles für ein erfindungsgemässes Steuergerät.A more detailed description of the security mechanisms only briefly mentioned here follows later on the occasion of the description of a preferred exemplary embodiment for a control device according to the invention.
Ein solches wird beispielsweise nachstehend anhand von Figuren näher beschrieben. Es zeigenSuch is described in more detail below, for example, using figures. Show it
Fig. 1 die Aussenansicht eines elektronischen Steuergerätes in einer isometrischen Darstellung,1 is an external view of an electronic control unit in an isometric view,
Fig. 2 ein Blockschaltbild des Steuergerätes gemäss der Fig. 1 ,2 shows a block diagram of the control device according to FIG. 1,
Fig. 3 ein Blockschaltbild, das die Zusammenschaltung mehrererFig. 3 is a block diagram showing the interconnection of several
Steuergeräte gemäss der Fig. 1 zu einem Multiprozessorsystem zeigt,1 for a multiprocessor system,
Fig. 4 ein Flussdiagramm, den Ablauf eines ersten Schrittes zum Aufstarten des Steuergerätes darstellend, undFig. 4 is a flowchart showing the sequence of a first step for starting the control unit, and
Fig. 5 ein Flussdiagramm, einen zweiten Schritt zum Aufstarten des Steuergerätes darstellend. In der Fig. 1 ist die Aussenansicht eines erfindungsgemässen elek¬ tronischen Steuergerätes 1 gezeigt. Dieses ist von einem metallenen, rundum geschlossenen Gehäuse 18, vorzugsweise aus Aluminium, umgeben. Das metallene Gehäuse 18 dient dazu, um EMV-Probleme im Keime zu ersticken. Eine kostensparende, flache Frontplatine 19, ebenfalls aus Aluminium, dient als Montageplatte. Auf der Frontplatine 19 ist im wesentlichen das Mensch/Ma¬ schinen-Interface aufgebaut. Dieses besteht aus einem Anzeigeelement 25, das entweder ein LC-Display, vorzugsweise ein farbiges LC-Display sein kann, oder das anstelle des LC-Displays einen Touchscreen aufweisen kann. Unter- halb des Anzeigeelementes 25 sind sechs softwareprogrammierbare Tasten 24 angeordnet, denen softwaremässig verschiedene Funktionen zugeordnet wer¬ den können. Eine Starttaste 20 und eine Stopptaste 21 zum Starten und Stop¬ pen eines Maschinenprogrammes oder eines vorprogrammierten Programm¬ ablaufes ergänzen die Bedienungselemente. Ein Trackpad 23 ist vorgesehen, um im Falle eines LC-Displays 25 einen Mauszeiger an eine bestimmte Stelle auf dem LC-Display zu positionieren, um anschliessend eine auf dem LC- Display angezeigte Funktion mit einer Ausführungstaste 22 zu starten.Fig. 5 is a flow chart showing a second step to start the control unit. 1 shows the external view of an electronic control device 1 according to the invention. This is surrounded by a metal, all-round closed housing 18, preferably made of aluminum. The metal housing 18 serves to nip EMC problems in the bud. A cost-saving, flat front plate 19, also made of aluminum, serves as a mounting plate. The human / machine interface is essentially built on the front board 19. This consists of a display element 25, which can either be an LC display, preferably a colored LC display, or which can have a touchscreen instead of the LC display. Six software-programmable keys 24 are arranged below the display element 25, to which various functions can be assigned in software. A start button 20 and a stop button 21 for starting and stopping a machine program or a preprogrammed program sequence complete the operating elements. A trackpad 23 is provided, in the case of an LC display 25, to position a mouse pointer at a specific point on the LC display, in order to then start a function shown on the LC display with an execution key 22.
LC-Displays weisen zur besseren Sichtbarmachung der Anzeige eine Hintergrundbeleuchtung auf. Diese besteht aus einer Kaltkathodenröhre, die eine relativ kurze Lebensdauer hat. Erfindungsgemäss ist nun ein Nähe¬ rungsschalter 26 oder ein Bewegungsmelder 26 vorgesehen, der erst bei der Annäherung einer Bedienungsperson die Hintergrundbeleuchtung des LC-Dis¬ plays einschaltet. Dadurch wird die Lebensdauer der Hintergrundbeleuchtung des LC-Displays erhöht.LC displays are backlit to make the display more visible. This consists of a cold cathode tube, which has a relatively short lifespan. According to the invention, a proximity switch 26 or a motion detector 26 is now provided, which only switches on the backlighting of the LC display when an operator approaches. This increases the life of the backlight of the LC display.
Im Falle, dass das Anzeigeelement ein Touchscreen 25 ist, sind derIn the event that the display element is a touchscreen 25, the
Trackpad 23 und die Ausführungstaste 22 nicht notwendig. Eine bestimmte Funktion bzw. ein bestimmter Programmteil werden beim Touchscreen dadurch gestartet, dass die Schirmoberfläche von der Bedienungsperson an einer be¬ stimmten, vordefinierten Stelle berührt wird. Das Mensch/Maschinen-Interface kann im weiteren einen Tastaturanschluss 39 aufweisen, der zum Anschliessen beispielsweise einer PC-Tastatur bestimmt ist, womit bestimmte Parameter oder Initialisierungsdaten dem Steuergerät 1 eingegeben werden können. Ebenfalls kann ein Infrarotinterface 27 vorgesehen sein, um kontakt¬ los eine Datenübertragung vom Steuergerät 1 zu einem weiteren, nicht darge¬ stellten Gerät mit einer äquivalenten Infrarotschnittstelle zu übertragen oder umgekehrt.Trackpad 23 and the execution button 22 are not necessary. A certain function or a certain part of the program is started on the touchscreen by the operator touching the screen surface at a certain, predefined point. The human / machine interface can furthermore have a keyboard connection 39, which is intended for connecting, for example, a PC keyboard, with which certain parameters or initialization data can be entered into the control unit 1. An infrared interface 27 can also be provided in order to transmit contactlessly a data transmission from control device 1 to a further device (not shown) with an equivalent infrared interface or vice versa.
Im Innern des Gehäuses 18 des elektronischen Steuergerätes 1 ist ein erster Hardwareblock 2 (Fig. 2) untergebracht, der baugruppenweise auf¬ gebaut ist und verschiedene Baugruppen umfasst. Mindestens ein zweiter Hardwareblock 8, vorzugsweise eine Datenträgerkarte mit dem Format einer PC-Karte (PCMCIA) kann über eine Öffnung 28 mit dem ersten Hardwareblock 2 steckverbunden werden. Weitere Öffnungen 28 können zum Ein- und Aus¬ stecken von weiteren zwei Hardwareblocks 8, 9 vorgesehen sein.A first hardware block 2 (FIG. 2) is accommodated in the interior of the housing 18 of the electronic control unit 1, which is constructed in modules and comprises various modules. At least a second hardware block 8, preferably a data carrier card with the format of a PC card (PCMCIA), can be plug-connected to the first hardware block 2 via an opening 28. Further openings 28 can be provided for plugging and unplugging two further hardware blocks 8, 9.
Mit dem Bezugszeichen 33 ist eine erste Schnittstelle gezeigt, vor¬ zugsweise ein Steckeranschluss, der zum elektrischen Verbinden einer in den Figuren nicht sichtbaren, mit dem Steuergerät 1 zu steuernden Anlage be- stimmt ist. Eine zweite Schnittstelle 34, vorzugsweise ebenfalls als Stecker ausgebildet, dient zum Verbinden des elektronischen Steuergerätes 1 mit wei¬ teren elektronischen Steuergeräten zum Herstellen eines Multiprozessorsyste- mes.Reference number 33 shows a first interface, preferably a plug connection, which is intended for the electrical connection of a system which is not visible in the figures and which is to be controlled by control unit 1. A second interface 34, preferably also in the form of a plug, is used to connect the electronic control unit 1 to other electronic control units in order to produce a multiprocessor system.
In der Fig. 2 ist das erfindungsgemässe Steuergerät 1 blockschalt- bildmässig dargestellt. Es umfasst im wesentlichen den bereits erwähnten, im Gehäuse 18 eingebauten ersten Hardwareblock 2 sowie mindestens einen oder mehrere zweite Hardwareblocks 8, 9, die über Steckverbindungen 10, 11 mit dem ersten Hardwareblock 2 verbunden werden können.The control device 1 according to the invention is shown in block diagram form in FIG. 2. It essentially comprises the already mentioned first hardware block 2 installed in the housing 18 and at least one or more second hardware blocks 8, 9, which can be connected to the first hardware block 2 via plug connections 10, 11.
Der erste Hardwareblock 2 ist baugruppenweise aufgebaut und um- fasst verschiedene Peripheriebaugruppen 37, wie eine Echtzeituhr, eine LC- Anzeige, ein Interface für einen Touchscreen, ein Interface zum Anschluss ei¬ ner Tastatur, eine Feldbusschnittstelle, einen Analog/Digital-Konverter, einen Digital/Analog-Konverter, ein Akustiksystem, serielle und parallele Schnittstel¬ len sowie digitale Ein- und Ausgänge. Diese Aufzählung ist nicht vollständig oder abschliessend. Je nach Anwendung des Steuergerätes können einzelne Baugruppen weggelassen sein oder es können andere, vorstehend nicht ge- nannte Peripheriebaugruppen eingesetzt werden. Jede Peripheriebaugruppe ist über ein Bussystem 4, bestehend aus mindestens einem Adressbus 6, einem Datenbus 5 und einem Steuerbus 7, in bekannter Weise mit dem Mikrorechner¬ baustein 3 verbunden. In einer speziellen Einheit 40 (Gluelogic) werden die nötigen Signalaufbereitungen wie Chipselects und Interruptrequests vorge¬ nommen. Es gibt Mikroprozessoren, die diese spezielle Einheit 40 bereits inte¬ griert haben. In diesem Fall müsste sie nicht mehr extern aufgebaut werden.The first hardware block 2 is constructed in modules and comprises various peripheral modules 37, such as a real-time clock, an LC display, an interface for a touchscreen, an interface for connecting a keyboard, a fieldbus interface, an analog / digital converter, one Digital / analog converter, an acoustic system, serial and parallel interfaces as well as digital inputs and outputs. This list is not exhaustive or exhaustive. Depending on the application of the control unit, individual assemblies can be omitted or others that are not called peripheral modules are used. Each peripheral module is connected to the microcomputer module 3 in a known manner via a bus system 4 consisting of at least one address bus 6, a data bus 5 and a control bus 7. In a special unit 40 (Gluelogic) the necessary signal processing such as chip select and interrupt requests are carried out. There are microprocessors that have already integrated this special unit 40. In this case, it would no longer have to be set up externally.
Wie bereits gesagt, weist das Bussystem 4 einen Adressbus 6, einen Datenbus 5 und einen Steuerbus 7 auf. Die Datenübertragung zwischen dem Mikroprozessor 3, auf der Grundplatine des ersten Hardwareblocks 2 vorhan¬ denen Bausteinen 35, 36, einer Peripheriebaugruppe 37 oder den zweiten Hardwareblocks 8, 9 geschieht in bekannter Art wie folgt: An den gewünschten Baustein 35, 36 oder die gewünschte Peripheriebaugruppe 37 wird durch den Mikroprozessor 3 eine bestimmte Adresse angelegt, womit der Baustein oder die Peripheriebaugruppe selektioniert wird. Mittels den Signalen auf dem Steu¬ erbus werden nun Daten in beiden Richtungen zwischen dem selektierten Baustein oder der ausgewählten Peripheriebaugruppe und dem Mikroprozessor über den Datenbus ausgetauscht. Der Steuerbus 7 führt im Blockschaltbild durch die spezielle Einheit 40, die Gluelogic, hindurch. Teils werden darin Signale direkt durchgeführt oder Signale des Steuerbuses zur Erzeugung wei¬ terer Steuerbussignale benutzt. Die Funktionsweise der Gluelogic 40 ist be¬ kannt und wird deshalb hier nicht weiter ausgeführt. Weitere vorhandene Bau¬ gruppen 29, 30 werden nicht mit Adressen, sondern direkt über den Baustein 35 (digitaler EIN/AUS-Baustein) angesprochen. Dies über diskrete Leitungen.As already mentioned, the bus system 4 has an address bus 6, a data bus 5 and a control bus 7. The data transmission between the microprocessor 3, on the motherboard of the first hardware block 2 existing modules 35, 36, a peripheral module 37 or the second hardware blocks 8, 9 takes place in a known manner as follows: to the desired module 35, 36 or the desired peripheral module 37 a specific address is created by the microprocessor 3, with which the module or the peripheral module is selected. The signals on the control bus are now used to exchange data in both directions between the selected component or the selected peripheral module and the microprocessor via the data bus. The control bus 7 leads through the special unit 40, the Gluelogic, in the block diagram. In some cases, signals are carried out directly or signals from the control bus are used to generate further control bus signals. The mode of operation of the Gluelogic 40 is known and is therefore not described further here. Other existing modules 29, 30 are not addressed with addresses, but directly via module 35 (digital ON / OFF module). This is done via discrete lines.
Im Blockschaltbild der Fig. 2 ist das Interruptsystem über eine wei¬ tere eigene Busverbindung 41 geführt. Die Gluelogic 40, an welche der Inter¬ ruptbus 41 angeschlossen ist, dekodiert aus verschiedenen Quellen einen In- terruptrequest und leitet diesen im geeigneten Format an den Mikroprozessor 3 weiter.In the block diagram of FIG. 2, the interrupt system is routed via another separate bus connection 41. The gluelogic 40, to which the interrupt bus 41 is connected, decodes an interrupt request from various sources and forwards it to the microprocessor 3 in a suitable format.
Ein Watchdogsystem ist übersichtlichkeits- und einfachheitshalber gänzlich aus dem Blockschaltbild weggelassen worden. Ein solches System darf ebenfalls als bekannt vorausgesetzt werden. Für ein industriell anwendba¬ res Steuergerät ist es absolut notwendig.For the sake of clarity and simplicity, a watchdog system has been completely omitted from the block diagram. Such a system may also be assumed to be known. It is absolutely necessary for an industrial control unit.
Die bis jetzt beschriebene Hardware entspricht den üblicherweise eingesetzten Mikroprozessorsystemen zur Steuerung von Geräten und Ma- 5 schinen. Auf eine genauere Beschreibung wird deshalb verzichtet.The hardware described so far corresponds to the microprocessor systems commonly used to control devices and machines. A more detailed description is therefore not given.
Zu den vorbeschriebenen, allgemein üblichen Hardwarebaugruppen gesellen sich weitere Baugruppen, die für das hier beschriebene, erfindungs- gemässe elektronische Steuergerät neu und charakteristisch sind. Es sind dies die zweiten Hardwareblocks 8, 9, die als PC-Karten aufgebaut sind und als I O Datenträgerkarten im wesentlichen nur Speicherelemente 12, 13, 14, 15, 16 umfassen.In addition to the previously described, generally customary hardware assemblies, there are additional assemblies which are new and characteristic of the electronic control device according to the invention described here. These are the second hardware blocks 8, 9, which are constructed as PC cards and essentially only comprise memory elements 12, 13, 14, 15, 16 as I O data carrier cards.
Im weiteren sind auf der Grundplatine des ersten Hardwareblocks 2 ein Überwachungsstromkreis 29 zum Überwachen, ob die zweiten Hard¬ wareblocks 8, 9, eingesteckt oder zu irgend einem Zeitpunkt gewechselt wor- 5 den sind, vorgesehen sowie ein weiterer Überwachungsstromkreis 30 zum Überwachen der richtigen Spannungsversorgung, insbesondere der zweiten Hardwareblocks 8, 9. Zusätzlich ist ein Paritygenerator-Baustein 36 vorhanden, der, wie später beschrieben wird, zum Feststellen von korrupten Daten dient. Hardwareidentifikationsstromkreise 38 in jeder herausnehmbaren Baugruppe, 0 zum Feststellen, ob alle die notwendigen, vorgesehenen Baugruppen vorhanden sind und dem geforderten Typ entsprechen, erhöhen weiter die Betriebssicherheit des erfindungsgemässen elektronischen Steuergerätes.Furthermore, a monitoring circuit 29 for monitoring whether the second hardware blocks 8, 9 have been plugged in or changed at any time is provided on the motherboard of the first hardware block 2, and a further monitoring circuit 30 for monitoring the correct voltage supply , in particular the second hardware blocks 8, 9. In addition, a parity generator module 36 is provided, which, as will be described later, is used to detect corrupt data. Hardware identification circuits 38 in each removable module, 0 for determining whether all the necessary, provided modules are present and correspond to the required type, further increase the operational safety of the electronic control device according to the invention.
Im folgenden werden die zuletzt genannten Baugruppen und Bau¬ steine genauer beschrieben.The assemblies and components mentioned last are described in more detail below.
5 Die zweiten Hardwareblocks 8, 9, die vorzugsweise im PC-Karten-5 The second hardware blocks 8, 9, which are preferably in the PC card
Format (PCMCIA) aufgebaut und in einem PC-Karten-Gehäuse untergebracht sind, sind im vorliegenden Ausführungsbeispiel als Datenträgerkarten konzipiert und umfassen im wesentlichen die Speicherelemente 12, 13, 14, 15 und 16. Das Speicherelement 12 ist dabei als RAM-Speicher konzipiert, die Speicher- 0 elemente 13, 16 als nicht flüchtige EEPROM-Speicher oder Flash-Memory und die Speicherelemente 14, 15 sind wiederum als RAM-Speicher aufgebaut. Im weiteren umfasst jeder zweite Hardwareblock 8, 9 einen Identifikationsstrom¬ kreis 38, der wie vorgängig bereits kurz erwähnt, Identifikationsdaten enthält, mit denen feststellbar ist, ob der richtige zweite Hardwareblock 8, 9 an der rich- tigen Stelle mit dem ersten Hardwareblock 2 verbunden ist. Im weiteren um¬ fasst jeder zweite Hardwareblock 8, 9 einen eigenen Spannungsversor- gungsstromkreis 17, in welchem ein Pufferelement zum vorübergehenden Er¬ halten der in den RAM-Speichern 12, 14, 15 abgespeicherten Daten bei her¬ ausgezogenem zweiten Hardwareblock 8, 9 bestimmt ist. Das Pufferelement kann dabei ein Kondensator, eine Batterie oder ein Akkumulator sein. Bevor¬ zugt wird eine Batterie eingesetzt. Diese gewährleistet eine Datenerhaltung über eine längere Zeitdauer, so dass zweite Hardwareblocks problemlos vom Lieferanten an einen Kunden gesandt werden können, ohne dass dabei ein Datenverlust auftritt.Format (PCMCIA) and housed in a PC card housing are designed as data carrier cards in the present exemplary embodiment and essentially comprise the memory elements 12, 13, 14, 15 and 16. The memory element 12 is designed as RAM memory, the memory 0 elements 13, 16 as non-volatile EEPROM memory or flash memory and the memory elements 14, 15 are again constructed as RAM memories. Furthermore, every second hardware block 8, 9 comprises an identification circuit 38, which, as already mentioned briefly above, contains identification data with which it can be determined whether the correct second hardware block 8, 9 is connected to the first hardware block 2 at the correct location is. Furthermore, every second hardware block 8, 9 comprises its own voltage supply circuit 17, in which a buffer element for temporarily holding the data stored in the RAM memories 12, 14, 15 determines when the second hardware block 8, 9 is pulled out is. The buffer element can be a capacitor, a battery or an accumulator. A battery is preferably used. This guarantees data retention over a longer period of time, so that second hardware blocks can easily be sent from the supplier to a customer without loss of data.
Typisch und vorteilhaft für das erfindungsgemässe elektronischeTypical and advantageous for the electronic according to the invention
Steuergerät ist, dass die zweiten Hardwareblocks 8, 9, die Datenträgerkarten, über Verbindungsstecker 10, 11 , welche PC-Karten-Norm-Stecker sein können, direkt an das Bussysten des Mikrorechners 3 des ersten Hardwareblocks 2 an¬ geschlossen sind. Im ersten Hardwareblock 2 selbst werden im wesentlichen keine Speicherelemente benötigt. Die Software, die Boot- und Anwenderpro¬ gramme, Parameter, Initial- und andere Daten, sind vollständig in den Spei¬ cherelementen des einen zweiten Hardwareblocks 8 enthalten, wobei sämtli¬ cher Programmcode vorzugsweise im Flashmemory 13, also in einem nicht flüchtigen Speicherelement untergebracht ist. Da die zweiten Hardwareblocks 8, 9 ohne Interface direkt mit dem Bussystem 4 des Mikrorechners 3 verbunden sind, ist ein Aufstarten des Steuergerätes ab einem der zweiten Hardwa¬ reblocks 8 möglich. Dies mit den eingangs erwähnten Vorteilen.The control device is that the second hardware blocks 8, 9, the data carrier cards, are connected directly to the bus system of the microcomputer 3 of the first hardware block 2 via connecting plugs 10, 11, which can be PC card standard plugs. In the first hardware block 2 itself, essentially no memory elements are required. The software, the boot and user programs, parameters, initial data and other data are completely contained in the memory elements of the second hardware block 8, all program code preferably being stored in the flash memory 13, that is to say in a non-volatile memory element is. Since the second hardware blocks 8, 9 are connected directly to the bus system 4 of the microcomputer 3 without an interface, the control device can be started from one of the second hardware blocks 8. This with the advantages mentioned at the beginning.
Beim ersten zweiten Hardwareblock 8, der im dargestellten Beispiel eine Bootkarte darstellt, sind beim gemischten Aufbau der Speicherelemente aus Flash-Memory oder EE-PROM und RAM vorzugsweise nebst dem Pro¬ grammcode diejenigen Daten, die zur Zeit der Programmierung bereits bekannt sind, im EE-PROM oder Flash-Memory untergebracht, während im RAM die Daten abgespeichert werden, die während dem Betrieb des Steuergerätes ge¬ neriert werden.In the first second hardware block 8, which in the example shown represents a boot card, in the case of the mixed construction of the memory elements from flash memory or EE-PROM and RAM, the data which are already known at the time of the programming are preferably in the EE in addition to the program code -PROM or flash memory housed while in RAM Data are stored which are generated during the operation of the control device.
Bei Einhaltung der korrekten Speisespannungen auf der Bootkarte kann garantiert werden, dass die gleiche Karte mit einem anderen Steuergerät sowohl mit dem gleichen Programmcode wie auch mit den gleichen Run-Time- Daten weiterläuft.If the correct supply voltages on the boat card are adhered to, it can be guaranteed that the same card will continue to run with a different control unit with both the same program code and the same run-time data.
Vorteilhafterweise ist neben der Bootkarte 8 ein zweiter zweiter Hardwareblock 9 vorhanden, die sogenannte Backupkarte. Diese wird über eine zweite Öffnung 28 in das Gehäuse 18 des Steuergerätes eingesteckt und mit dem Stecker 11 mit dem ersten Hardwareblock 2 verbunden. Die Backup¬ karte ist genau gleich aufgebaut wie die Bootkarte und ist dazu bestimmt, dass entweder auf Bedienerwunsch zu einem bestimmten Zeitpunkt ein Abbild der Inhalte der verschiedenen Speicherelemente 12, 13, 14, 15, 16 der Bootkarte 8 auf den identischen Speicherelementen 12, 13, 14, 15, 16 der Backupkarte 9 erstellt werden kann. Alternativ dazu kann aber auch permanent ein Speicher- Abbild erstellt und mitgeführt werden. Während des Betriebes des Steuergerä¬ tes werden in diesem letzteren Fall bei jedem Schreibzyklus des Mikrorechners 3 beide Karten 8, 9 simultan beschrieben. Gelesen wird jeweils nur von der Bootkarte 8. In bestimmten, vorzugebenden Intervallen kann ein augenblickli- eher Vergleich der beiden Karten 8, 9 durchgeführt werden. Im Fehlerfall kann eine Warnung, beispielsweise ein akustisches oder optisches Signal, ausgege¬ ben werden.In addition to the boot card 8, there is advantageously a second second hardware block 9, the so-called backup card. This is inserted into the housing 18 of the control unit via a second opening 28 and connected to the first hardware block 2 with the plug 11. The backup card is constructed in exactly the same way as the boot card and is intended so that, at the operator's request, the contents of the various memory elements 12, 13, 14, 15, 16 of the boot card 8 can be mapped onto the identical memory elements 12, 13 at a certain point in time , 14, 15, 16 of the backup card 9 can be created. Alternatively, a memory map can also be created and carried along permanently. In the latter case, during operation of the control device, both cards 8, 9 are written to simultaneously in each write cycle of the microcomputer 3. Only the boat card 8 is read in each case. At certain, predetermined intervals, an instantaneous comparison of the two cards 8, 9 can be carried out. In the event of a fault, a warning, for example an acoustic or optical signal, can be issued.
Wie bereits vorgängig erwähnt, umfasst jede Hardwarebaugruppe, welche nicht fest mit der Grundplatine, des ersten Hardwareblocks 2 verbunden ist, einen Identifikationsstromkreis 38. Dieser weist im wesentlichen ein nicht flüchtiges Speicherelement, beispielsweise ein EE-PROM auf, in welchem eine Baugruppennummer, eine Serienummer, ein Fabrikationsdatum und Kalibrati- onsdaten bzw. je nach Baugruppe weitere Daten eingeschrieben sind. Mit den Identifikationsdaten lässt sich die Hardwarebaugruppe eindeutig identifizieren. Eine vollständige Rückverfolgbarkeit der Hardwareteile ist gegeben. Die einzel¬ nen Identifikationsstromkreise 38 sind mit einem eigenen Bus 42, dem Identifi¬ kationsbus, miteinander verbunden und enden auf dem Baustein digital Ein/Aus 35, über welchen die Identifikationsdaten der einzelnen Baugruppen 2, 8, 9, 37 vom Mikrorechner 3 abgerufen und weiter verarbeitet werden können. Die Identifikationsdaten der einzelnen Baugruppen werden bei der Herstellung festgelegt und fest einprogrammiert. Es kann zur Erhöhung der Datensicherheit zusätzlich auch mit Checksummen gearbeitet werden. Das Identifikationssy¬ stem basiert auf einer einzigen Adresse, die fest vorgegeben ist und die für alle Varianten von ersten Hardwareblocks 2, zu denen die zweiten Hardwareblocks 8, 9 passen sollen, die selbe sein muss. Diese Adresse ist diejenige des Bau¬ steines digital Ein/Aus 35. Über diesen Baustein findet die Software Zugang zum Identifikationssystem. Die Adresse des genannten Bausteines ist das Tor zur Beschreibung der Hardwarekonfiguration. Durch dieses Tor können alle zugeschalteten Hardwarebausteine via Identifikationsbus 42 angesprochen werden.As already mentioned above, each hardware module, which is not permanently connected to the motherboard of the first hardware block 2, comprises an identification circuit 38. This essentially has a non-volatile memory element, for example an EE-PROM, in which a module number, a serial number , a manufacturing date and calibration data or, depending on the module, other data are entered. The hardware module can be clearly identified with the identification data. The hardware parts are fully traceable. The individual identification circuits 38 are connected to one another by their own bus 42, the identification bus, and end digitally on / off on the module 35, via which the identification data of the individual modules 2, 8, 9, 37 can be called up by the microcomputer 3 and processed further. The identification data of the individual modules are determined during production and permanently programmed. Checksums can also be used to increase data security. The identification system is based on a single address which is predefined and which must be the same for all variants of first hardware blocks 2 to which the second hardware blocks 8, 9 are intended to match. This address is that of the digital on / off module 35. The software uses this module to access the identification system. The address of the named block is the gateway to the description of the hardware configuration. Through this gate, all connected hardware modules can be addressed via identification bus 42.
Alle zusteckbaren Hardwarebaugruppen 8, 9, 37 und die Grundpla- tine des ersten Hardwareblockes 2 erhalten nach der Fabrikation eine eindeu¬ tige Typen Identifikation. Damit ist es der Anwendersoftware möglich, durch Ab¬ frage aller vorhandenen Identifikationsstromkreise 38 die gesamte Hardware¬ konfiguration zu erkennen. Der erste Identifikationsstromkreis 38 ist bei Defini¬ tion immer der Identifikationsstromkreis 38 der Grundplatine des ersten Hard- wareblockes 2. In diesem Stromkreis stehen z.B. in Form einer Liste sämtliche Adressen bzw. Chipselecteinstellungen der auf der Grundplatine vorhandenen Steckplätze für die Hardwarebaugruppen 8, 9, 37 sowie die zugehörigen Identi¬ fikationsstromkreisadressen. Durch Ansprechen der Identifikationsstrom¬ kreisadressen kann von der Software herausgefunden werden, wo welche zu- sätzliche Hardware eingesteckt ist. Nach dem Einlesen sämtlicher Identifikati¬ onsbausteine ist der Software die Konfiguration der vorliegenden Hardware vollständig bekannt. Sie kann damit auch herausfinden, ob sie selbst überhaupt zu der gefundenen Hardwarekonfiguration passt. Sie findet auch heraus, ob eine Baugruppe zwischenzeitlich ausgetauscht worden ist, nämlich dann, wenn bei jedem Bootvorgang die aktuellen Identifikationsdaten in einem der Spei¬ cherelemente 12 eines der zweiten Hardwareblocks 8, 9 abgespeichert werden.All pluggable hardware modules 8, 9, 37 and the basic circuit board of the first hardware block 2 receive a unique type identification after manufacture. This enables the user software to recognize the entire hardware configuration by querying all the existing identification circuits 38. When defined, the first identification circuit 38 is always the identification circuit 38 of the motherboard of the first hardware block 2. In this circuit, e.g. in the form of a list, all addresses or chipselect settings of the slots on the motherboard for the hardware modules 8, 9, 37 and the associated identification circuit addresses. By addressing the identification circuit addresses, the software can find out where which additional hardware is plugged in. After all identification modules have been read in, the software is completely familiar with the configuration of the present hardware. It can also find out whether it even fits the hardware configuration found. It also finds out whether a module has been replaced in the meantime, namely when the current identification data are stored in one of the memory elements 12 of one of the second hardware blocks 8, 9 during each boot process.
Zur Erhöhung der Datensicherheit sind Datenspeicherbereiche in den zweiten Hardwareblocks 8, 9 mit zusätzlichen Speicherelementen 14, 15, 16 zum Abspeichern von Paritybits ausgerüstet. Diese werden im Baustein Paritybitgenerator 36 erzeugt. Für Datenworte aus dem Flashspeicher 13 des zweiten Hardwareblocks 8 erfolgt die Parityerzeugung über jeweils 16 Bit und für den RAM-Speicher 12 des zweiten Hardwareblocks 8 über 8 Bit bzw. byte- weise, da dieser Speicher auch byteweise geschrieben und gelesen werden kann.To increase data security, data storage areas in the second hardware blocks 8, 9 with additional storage elements 14, 15, 16 equipped for storing parity bits. These are generated in the block parity bit generator 36. For data words from the flash memory 13 of the second hardware block 8, parity is generated over 16 bits each and for the RAM memory 12 of the second hardware block 8 over 8 bits or byte-by-byte, since this memory can also be written and read byte-by-byte.
Bei jedem Buszyklus, der auf die Speicherelemente 12, 13 zugreift, wird ein Paritybit pro Byte bzw. pro Word generiert. Bei einem Schreibzyklus wird das Paritybit in den entsprechenden Parityspeicher 14, 15, 16 geschrie- ben. Bei einem Lesezyklus wird das vorhandene, an der entsprechenden Adresse abgespeicherte Paritybit mit dem neu generierten verglichen. Im Feh¬ lerfall wird ein Signal erzeugt, das den Fehler speichert und ein Parityfehler- signal 43 auslöst.For each bus cycle that accesses the memory elements 12, 13, a parity bit is generated per byte or per word. In the case of a write cycle, the parity bit is written into the corresponding parity memory 14, 15, 16. In the case of a read cycle, the existing parity bit stored at the corresponding address is compared with the newly generated one. In the event of an error, a signal is generated which stores the error and triggers a parity error signal 43.
Der Paritygenerator 36 ist mit einem zusätzlichen Zwischenspeicher ausgerüstet, um einen doppelten Parityfehler zu erkennen. Damit ist es mög¬ lich, im Falle eines einfachen Fehlers per Software herauszufinden, in welchem Speicherbereich der Fehler liegt. Ein einfacher Fehler liegt dann vor, wenn z.B. ein einziges Bit seinen Zustand unerlaubterweise wechselt oder wenn derjenige Bereich, in dem die Software für die Untersuchung und Anzeige des Parityfeh- lers liegt, nicht von Fehlern betroffen ist. Bei einem doppelten Parityfehler muss ein Reset ausgelöst und beibehalten werden. In diesem Fall muss nämlich da¬ von ausgegangen werden, dass im Speicherbereich weder ein lauffähiger Pro¬ grammcode noch konsistente Daten vorhanden sind. Der doppelte Parityfehler 56 muss durch Aus- und Wiedereinschalten des Steuergerätes 1 gelöscht wer- den. Behoben werden kann der doppelte Parityfehler aber nur durch Einsatz eines neuen entsprechenden Hardwareblocks bzw. einer neuen Bootkarte 8. Dazu kann beispielsweise die Backupkarte 9 verwendet werden.The parity generator 36 is equipped with an additional buffer in order to detect a double parity error. It is thus possible, in the case of a simple error, to find out by software in which memory area the error is located. A simple error exists if e.g. a single bit changes its state illegally or if the area in which the software for examining and displaying the parity error is not affected by errors. In the event of a double parity error, a reset must be triggered and maintained. In this case, it must be assumed that neither an executable program code nor consistent data are present in the memory area. The double parity error 56 must be cleared by switching control unit 1 off and on again. However, the double parity error can only be remedied by using a new corresponding hardware block or a new boot card 8. For this purpose, the backup card 9 can be used, for example.
Um die Funktionssicherheit des erfindungsgemässen Steuergerätes weiter zu erhöhen, ist der Überwachungsstromkreis 29 vorhanden, welcher ins- besondere zum Erkennen eines Wechsels eines der zweiten Hardwareblocks 8, 9 während des Betriebes oder ausserhalb des Betriebes des Steuergerätes 1 bestimmt ist. Die Aufgabe des Überwachungsstromkreises 29 ist es, genauer ausgedrückt, jederzeit zu erkennen, ob ein zweiter Hardwareblock, in unserem Beispiel die Bootkarte 8, oder die Backupkarte 9 vorhanden sind, ob eine oder beide dieser Karten aus- und wiedereingesteckt oder gewechselt worden sind und ob diese Karten über eine korrekte eigene Versorgungsspannung verfü- gen.In order to further increase the functional reliability of the control device according to the invention, the monitoring circuit 29 is provided, which is intended in particular for recognizing a change in one of the second hardware blocks 8, 9 during operation or outside the operation of control device 1. The task of the monitoring circuit 29 is, more precisely in other words, to recognize at any time whether a second hardware block, in our example the boot card 8, or the backup card 9 is present, whether one or both of these cards have been inserted and reinserted or replaced, and whether these cards have their own correct supply voltage. gene.
Der Überwachungsstromkreis 29 wird einerseits über die Software und andererseits durch Signale 57, 58 (Boot-Karte ausgesteckt, Backupkarte ausgesteckt), 59, 60 (Überwachung der Boot-Karten-Spannung bzw. Backup¬ karten-Spannung) der zweiten Hardwareblocks 8, 9 gesteuert. Die Signale ge- langen vom Überwachungsstromkreis 29 über Signalleitungen 48, 49 (Boot- Karte 8 gewechselt, Backup-Karte 9 gewechselt) 50, 51 (Information Span¬ nungsversorgung Boot-Karte bzw. Backup-Karte) über den digitalen Ein/Aus¬ Baustein 35 zur Weiterverarbeitung in den Mikrorechner 3. Mit digitalen Aus¬ gängen des digitalen Ein/Aus-Bausteines 35 kann der Überwachungsstrom- kreis per Software im Bedarfsfalle über Leitungen 44, 45 (Rücksetzsignal Boot- Karte gewechselt bzw. Backup-Karte gewechselt) zurückgestellt werden.The monitoring circuit 29 is on the one hand via the software and on the other hand by signals 57, 58 (boot card unplugged, backup card unplugged), 59, 60 (monitoring of the boot card voltage or backup card voltage) of the second hardware blocks 8, 9 controlled. The signals come from the monitoring circuit 29 via signal lines 48, 49 (boot card 8 changed, backup card 9 changed) 50, 51 (information voltage supply boot card or backup card) via the digital on / off Module 35 for further processing in the microcomputer 3. With digital outputs of the digital on / off module 35, the monitoring circuit can be reset via software if necessary via lines 44, 45 (reset signal boot card changed or backup card changed) become.
Ein Wechsel eines oder mehrerer der zweiten Hardwareblocks 8, 9, insbesondere der Boot-Karte 8, soll nur im ausgeschalteten Zustand des Steu¬ ergerätes erfolgen. Das Ausziehen der Boot-Karte wird mit einem Signal 57 (Boot-Karte nicht eingesteckt) erkannt. Der Überwachungsstromkreis 29 meldet dieses Ereignis über ein Signal 46 (keine Bootkarte) dem weiteren Überwa¬ chungsstromkreis 30, welcher ein Rücksetzsignal 32 auslöst. Solange keine Bootkarte 8 eingesteckt ist, kann der weitere Überwachungsstromkreis 30 das Rücksetzsignal 32 nicht freigeben. Deshalb wird das Steuergerät 1 ohne Boot- Karte 8 nie aufstarten.A change of one or more of the second hardware blocks 8, 9, in particular the boot card 8, should only take place when the control device is switched off. The removal of the boot card is recognized with a signal 57 (boot card not inserted). The monitoring circuit 29 reports this event via a signal 46 (no boot card) to the further monitoring circuit 30, which triggers a reset signal 32. As long as no boot card 8 is inserted, the further monitoring circuit 30 cannot release the reset signal 32. Therefore, the control unit 1 will never start without a boot card 8.
Der Überwachungsstromkreis 29 meldet eine ausgesteckte Boot- Karte 8 oder Backup-Karte 9 über die Signalleitungen 48, 49 dem digitalen EIN/AUS-Stromkreis 35. Der Zustand der beiden Signale auf den genannten Leitungen bleibt im Überwachungsstromkreis 29 gespeichert. Eine Rückset- zung der genannten Signale auf den Leitungen 48, 49 erfolgt über die Signale 44, 45. Da der Überwachungsstromkreis 29 einen Wechsel der Karten 8, 9 auch im ausgeschalteten Zustand erkennen und speichern muss, ist im ersten Hardwareblock 2 eine Systembatterie 47 vorhanden, die auch den Überwa¬ chungsstromkreis 29 über eine der Leitungen 31 (5 VRT) mit Spannung ver- sorgt.The monitoring circuit 29 reports an unplugged boot card 8 or backup card 9 to the digital ON / OFF circuit 35 via the signal lines 48, 49. The state of the two signals on the lines mentioned remains stored in the monitoring circuit 29. The signals mentioned on lines 48, 49 are reset via signals 44, 45. Since the monitoring circuit 29 must recognize and save a change of the cards 8, 9 even when the device is switched off, a system battery 47 is present in the first hardware block 2, which also supplies the monitoring circuit 29 with voltage via one of the lines 31 (5 VRT). worries.
Wenn im ausgeschalteten Zustand des Steuergerätes 1 die Span¬ nung der Systembatterie 47 zu tief ist, können die Überwachungsstromkreise 29, 30 nicht mehr korrekt arbeiten. Der Zustand der Systembatterie 47 wird vom weiteren Überwachungsstromkreis 30 überwacht. Im Fehlerfalle wechselt ein Signal 52 seinen Pegel. Beim Wiedereinsetzen einer neuen Batterie muss das genannte Signal 52 verzögert wieder auf den ursprünglichen Pegeln wech¬ seln. Bei diesem Pegelwechsel werden die Signale 48, 49 auf TRUE gesetzt und der Zustand der Batterien 17 der Boot-Karte 8 und der Backup-Karte 9 mit den Signalen 50 und 51 festgehalten. Dazu werden die Spannungen der Boot- karte 8 und der Backup-Karte 9 über die Signalleitungen 59, 60 (Spannung der Bootkarte 8 bzw. Spannung der Backupkarte 9) durch den Überwa¬ chungsstromkreis 29 gemessen.If the voltage of the system battery 47 is too low when the control device 1 is switched off, the monitoring circuits 29, 30 can no longer work correctly. The status of the system battery 47 is monitored by the further monitoring circuit 30. In the event of an error, a signal 52 changes its level. When a new battery is reinserted, the signal 52 mentioned has to change back to the original levels with a delay. With this level change, the signals 48, 49 are set to TRUE and the state of the batteries 17 of the boot card 8 and the backup card 9 is recorded with the signals 50 and 51. For this purpose, the voltages of the boot card 8 and the backup card 9 are measured via the signal lines 59, 60 (voltage of the boot card 8 or voltage of the backup card 9) by the monitoring circuit 29.
Die Signale 48, 49 (Bootkarte gewechselt, Backupkarte gewechselt) werden gesetzt, wenn ein Kartenwechsel vorgenommen wurde. Bei jedem Kar- tenwechsel wird automatisch eine Messung der Batterie 17 der betreffenden Karte 8, 9 durchgeführt. Um die Batterie nicht unnötig lange zu belasten, erfolgt die Messung nur während einer kurzen Zeit. Deshalb zeigen nach einem Boot¬ vorgang die Signale 50, 51 den Zustand der entsprechenden Kartenbatterie 17 zum Zeitpunkt des Wechsels einer der Karten 8, 9 an. Solange die Karten 8, 9 eingesteckt sind, wird die Spannungsversorgung von der Systembatterie 47 über die Leitungen 31 übernommen. Durch das Setzen eines Signales 61 (Kartenspannung messen) kann der Mikrorechnerbaustein 3 über den digitalen EIN/AUS-Baustein 35 eine Messung des Zustandes der Batterien 17 der zwei¬ ten Hardwareblöcke 8, 9 verlangen. Die Signale 50, 51 werden dann entspre- chend gesetzt und bleiben gespeichert.Signals 48, 49 (boot card changed, backup card changed) are set when the card has been changed. Each time the card is changed, the battery 17 of the card 8, 9 concerned is automatically measured. In order not to load the battery unnecessarily long, the measurement is only carried out for a short time. Therefore, after a booting process, the signals 50, 51 indicate the state of the corresponding card battery 17 at the time of changing one of the cards 8, 9. As long as the cards 8, 9 are inserted, the voltage supply is taken over by the system battery 47 via the lines 31. By setting a signal 61 (measure card voltage), the microcomputer module 3 can request a measurement of the state of the batteries 17 of the second hardware blocks 8, 9 via the digital ON / OFF module 35. The signals 50, 51 are then set accordingly and remain stored.
Der weitere Überwachungsstromkreis 30 ist das letzte Glied in der Sicherungskette des erfindungsgemässen Steuergerätes. Dieser Baustein um- fasst die Erzeugung der Versorgungsspannung (5 V) und die Spannung für die nicht flüchtige Datenspeicherung (5 VRT), die Generierung des Rücksetzsigna- les 32 und eines Rücksetzsignales 52 für den Überwachungsstromkreis 29. Der Baustein 30 enthält im weiteren eine Batteriespannungsüberwachungseinheit. Im ausgeschalteten Zustand überwacht der weitere Überwachungsstromkreis 30 die Spannung der Systembatterie 47 dauernd. Geht die Spannung verloren, d.h., sinkt der Spannungspegel unter einen Minimalwert, so wird nach dem Wiederherstellen der korrekten Spannung ein Signal 65 (Batteriefehler) bei ausgeschaltetem Gerät als wahr erhalten bleiben, bis es von der Software über ein weiteres Signal 64 (Rücksetzen Batteriefehler) zurückgesetzt wird. Im ein¬ geschalteten Zustand des Steuergerätes 1 kann per Software über eine LeitungThe further monitoring circuit 30 is the last link in the safety chain of the control device according to the invention. This building block summarizes the generation of the supply voltage (5 V) and the voltage for the non-volatile data storage (5 VRT), the generation of the reset signal 32 and a reset signal 52 for the monitoring circuit 29. The module 30 further contains a battery voltage monitoring unit. In the switched-off state, the further monitoring circuit 30 continuously monitors the voltage of the system battery 47. If the voltage is lost, ie if the voltage level drops below a minimum value, after the correct voltage has been restored, a signal 65 (battery error) will remain as true when the device is switched off until it is signaled by the software via another signal 64 (reset battery error) is reset. In the switched-on state of the control device 1, software can be used via a line
62 (Messung der Batteriespannung) eine Messung der Systembatteriespan¬ nung ausgelöst werden. Das Resultat gelangt über eine weitere Signalleitung62 (measurement of the battery voltage) a measurement of the system battery voltage can be triggered. The result comes from another signal line
63 (Batteriespannung ok) in den digitalen EIN/AUS-Stromkreis und kann dort per Software abgelesen werden. Die Messung dauert nur kurze Zeit, um die63 (battery voltage ok) in the digital ON / OFF circuit and can be read there by software. The measurement only takes a short time to complete the
Systembattehe 47 entsprechend zu schonen.To protect system battery 47 accordingly.
Solange das Signal 46 (keine Bootkarte) aktiv ist, bleibt das Rück¬ setzsignal 32 aktiv und gleichzeitig wird ein Ausgang 53 fataler Systemfehler gesetzt und ein akustisches oder optisches Warnsignal 54 ausgelöst.As long as the signal 46 (no boot card) is active, the reset signal 32 remains active and at the same time an output 53 fatal system error is set and an acoustic or optical warning signal 54 is triggered.
In der Fig. 3 ist gezeigt, wie mehrere Steuergeräte 1 über die einge¬ bauten zweiten Schnittstellen 34, an welchen je der Adressbus 6, der Datenbus 5 und der Steuerbus 7 des Bussystemes 4 anliegen, miteinander über ein Multi¬ Port-RAM 55 zu einem Multiprozessorsystem verbunden werden können. Diese Verbindungsart ist bekannt und braucht deshalb hier nicht weiter beschrieben zu werden.FIG. 3 shows how a plurality of control units 1 connect to one another via a multi-port RAM 55 via the built-in second interfaces 34, to which the address bus 6, the data bus 5 and the control bus 7 of the bus system 4 are each connected can be connected to a multiprocessor system. This type of connection is known and therefore need not be described further here.
Das erfindungsgemässe Steuergerät 1 muss mit einer speziellen Prozedur aufgestartet (gebootet) werden. Dies kommt daher, dass die korrekte Funktionsweise über eine Kette von verschiedenen Überwachungs- oder Si¬ cherheitsstromkreisen 29, 30, 35, 36, 37, 38 gesichert wird. Das Aufstarten des Gerätes kann grob in zwei Schritte unterteilt werden. Ein erster Bootschritt ist im Flussdiagramm der Fig. 4 dargestellt. Er beruht auf der Erkennung einer Bootkarte 8 und dem Nichtauftreten eines dop¬ pelten Parityfehlers. Um einen Parityfehler überhaupt erkennen zu können, muss aber die Software zuerst aufgestartet werden. Nach dem Aufstarten wirdThe control device 1 according to the invention must be started (booted) using a special procedure. This is because the correct functioning is ensured via a chain of various monitoring or safety circuits 29, 30, 35, 36, 37, 38. Starting the device can be roughly divided into two steps. A first boot step is shown in the flow diagram of FIG. 4. It is based on the detection of a boot card 8 and the non-occurrence of a double parity error. In order to be able to detect a parity error at all, the software must first be started. After starting up
5 die Hardware von der Software wie vorgängig beschrieben überprüft. D.h., es wird unter Zuhilfenahme der vorbestimmten und festgelegten Adresse des digi¬ talen Ein/Aus-Bausteines 36 kontrolliert, ob die Karten 8, 9 nicht gewechselt worden sind und ob die Batteriespannungen genügend gross sind. Falls etwas nicht in Ordnung ist, wird automatisch ein Bedienerdialog eingeschaltet und auf i o der Anzeigeeinheit 25 angezeigt.5 the hardware is checked by the software as described above. That is, it is checked with the aid of the predetermined and fixed address of the digital on / off module 36 whether the cards 8, 9 have not been changed and whether the battery voltages are sufficiently high. If something is wrong, an operator dialog is automatically switched on and displayed on the display unit 25.
In einem zweiten Bootschritt, der im Flussdiagramm der Fig. 5 dar¬ gestellt ist, wird überprüft, ob die Software in der vorhandenen Bootkarte 8 zur erkannten und überprüften Hardwarekonfiguration passt. Dies geschieht durch die Abfrage sämtlicher Identifikationsstromkreise 38 des Systemes.In a second boot step, which is shown in the flowchart in FIG. 5, it is checked whether the software in the existing boot card 8 fits the recognized and checked hardware configuration. This is done by querying all identification circuits 38 of the system.
15 Herzstück des erfind ungsgemässen Steuergerätes 1 ist die Boot¬ karte 8. Um das Steuergerät überhaupt betreiben zu können, muss eine konsi¬ stente Bootkarte vorhanden sein. Die Bootkarte muss einen ausführbaren Pro¬ grammcode mit korrekt gesetzten Parity im angesprochenen Speicherbereich 13, 14, 15, 16 (Flash-Speicher, Parity-Speicher) enthalten. Dies kann nur da- 0 durch erreicht werden, dass die Bootkarte noch während des Herstellungspro¬ zesses zu allererst mit einem Bootprogramm beschrieben wird. Bei der Be¬ schreibung wird automatisch das Parity für alle beschriebenen Speicherplätze zum erstenmal gesetzt. Bei einem nachfolgenden Lesen während des Betrie¬ bes der Karte kann somit kein Parityfehler mehr auftreten, ausser bei einem 5 Defekt des Speichers. Eine auf diese Art hochgefahrene Bootkarte gilt als kon¬ sistent. Mit ihr kann das System gebootet werden. Während des normalen Be¬ triebes wird automatisch mit jedem gespeicherten Wort das Paritybit vom Pari- tygenerator 36 online generiert und abgespeichert bzw. mit dem vorhandenen Parity verglichen.15 The heart of the control device 1 according to the invention is the boot card 8. In order to be able to operate the control device at all, a consistent boot card must be present. The boot card must contain an executable program code with correctly set parity in the addressed memory area 13, 14, 15, 16 (flash memory, parity memory). This can only be achieved by first of all writing the boot card with a boot program during the manufacturing process. In the description, the parity is automatically set for the first time for all the memory locations described. During a subsequent reading while the card is in operation, a parity error can no longer occur, except when the memory is defective. A boot card booted up in this way is considered to be consistent. The system can be booted with it. During normal operation, the parity bit is automatically generated and stored online by the parity generator 36 with each word stored, or is compared with the existing parity.
0 0

Claims

Patentansprüche claims
1. Elektronisches Steuergerät (1), mit einem ersten Hardwareblock (2) mit einem Mikrorechner (3), der zusammen mit einem Softwareprogramm arbeitet, mit einem Bussystem (4) mit mindestens einem Adressbus (6), Daten¬ bus (5) und einem Steuerbus (7), dadurch gekennzeichnet, dass mindestens ein zweiter Hardwareblock (8, 9) vorhanden ist, der über eine lösbare elektri¬ sche Verbindung (10, 11) mit dem ersten Hardwareblock (2) zusammenschalt- bar ist, dass der mindestens eine zweite Hardwareblock (8, 9) elektronische Speicherelemente (12, 13, 14, 15, 16) enthält, wobei im zusammengeschalte¬ ten Zustand der beiden Hardwareblocks (2, 8, 9) die Speicherelemente (12, 13, 14, 15, 16) des mindestens einen zweiten Hardwareblocks (8, 9) unmittelbar an das Bussystem (4) des ersten Hardwareblocks (2) geschaltet sind und dass das gesamte Softwareprogramm für den Mikrorechner (3) vollständig in den Speicherelementen (12, 13) des mindestens einen zweiten Hardwareblocks (8, 9) enthalten ist.1. Electronic control unit (1), with a first hardware block (2) with a microcomputer (3), which works together with a software program, with a bus system (4) with at least one address bus (6), data bus (5) and a control bus (7), characterized in that there is at least one second hardware block (8, 9) which can be connected to the first hardware block (2) via a detachable electrical connection (10, 11) such that the at least one a second hardware block (8, 9) contains electronic storage elements (12, 13, 14, 15, 16), the storage elements (12, 13, 14, 15, 16) of the at least one second hardware block (8, 9) are connected directly to the bus system (4) of the first hardware block (2) and that the entire software program for the microcomputer (3) is completely in the memory elements (12, 13) of the at least one second hardware blocks (8, 9) is included.
2. Steuergerät nach Anspruch 1 , dadurch gekennzeichnet, dass der mindestens eine zweite Hardwareblock eine Datenträgerkarte (8, 9) ist, dessen Abmessungen dem PC-Card-Format (PCMCIA) entspricht.2. Control device according to claim 1, characterized in that the at least one second hardware block is a data carrier card (8, 9), the dimensions of which correspond to the PC card format (PCMCIA).
3. Steuergerät nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass mindestens ein Teil der Speicherelemente (12, 14, 15, 16) des zweiten Hardwareblocks (8, 9) mit einem Pufferelement (17) gepuffert sind, wobei das Pufferelement eine Batterie, ein Akkumulator oder ein Kondensator ist.3. Control device according to claim 1 or 2, characterized in that at least some of the memory elements (12, 14, 15, 16) of the second hardware block (8, 9) are buffered with a buffer element (17), the buffer element being a battery, is an accumulator or a capacitor.
4. Steuergerät nach einem der Ansprüche 1 bis 3, dadurch gekenn- zeichnet, dass der erste Hardwareblock (2) von einem metallenen Gehäuse (18), vorzugsweise aus Aluminium, im wesentlichen vollständig umgeben ist, wobei eine Seite des Gehäuses (18) als Frontplatine (19) ausgebildet ist, auf welcher Bedienungselemente (20, 21 , 22, 23, 24) und mindestens ein Anzei¬ geelement (25) angeordnet sind. 4. Control device according to one of claims 1 to 3, characterized in that the first hardware block (2) of a metal housing (18), preferably made of aluminum, is substantially completely surrounded, with one side of the housing (18) as Front board (19) is formed, on which operating elements (20, 21, 22, 23, 24) and at least one display element (25) are arranged.
5. Steuergerät nach Anspruch 4, dadurch gekennzeichnet, dass das Anzeigeelement ein LC-Display (25) ist, dass zum Bewegen eines Mauszeigers auf dem LC-Display ein Trackpad (23) vorhanden ist und dass zum Auslösen einer Funktion, auf die der Mauszeiger gerichtet ist, eine Ausführungstaste (22) vorhanden ist.5. Control device according to claim 4, characterized in that the display element is an LC display (25), that a trackpad (23) is present for moving a mouse pointer on the LC display and that for triggering a function on which the mouse pointer is directed, an execution button (22) is present.
6. Steuergerät nach Anspruch 4 oder 5, dadurch gekennzeichnet, dass auf der Frontplatine (19) ein Näherungsschalter (26) vorhanden ist, der bei der unmittelbaren Anwesenheit einer Person zum Einschalten einer Hinter¬ grundbeleuchtung des Anzeigeelementes (25) bestimmt ist.6. Control device according to claim 4 or 5, characterized in that on the front board (19) there is a proximity switch (26) which is intended to switch on a backlighting of the display element (25) when a person is present.
7. Steuergerät nach Anspruch 4, dadurch gekennzeichnet, dass das7. Control device according to claim 4, characterized in that the
Anzeigeelement ein Touch-Screen (25) ist, bei dem zum Auslösen einer Funk¬ tion ein bestimmter, entsprechend gekennzeichneter Bereich der Screenober- fläche vom Bediener des Steuergerätes berührt wird.The display element is a touch screen (25), in which a certain, appropriately marked area of the screen surface is touched by the operator of the control device to trigger a function.
8. Steuergerät nach einem der Ansprüche 4 bis 7, dadurch gekenn- zeichnet, dass auf der Frontplatine (19) ein Infrarot-Interface (27) angeordnet ist, das zum kontaktlosen Übertragen von Daten von und zu einem dritten Hardwareblock bestimmt ist.8. Control device according to one of claims 4 to 7, characterized in that an infrared interface (27) is arranged on the front board (19), which is intended for contactless transmission of data from and to a third hardware block.
9. Steuergerät nach einem der Ansprüche 4 bis 8, dadurch gekenn¬ zeichnet, dass für jeden zweiten Hardwareblock (8, 9) eine Öffnung (28) im Gehäuse (18) vorhanden ist, durch welche einer der zweiten Hardwareblocks (8, 9) mit dem ersten Hardwareblock (2) insbesondere über eine Steckeranord¬ nung (10, 11 ) verbindbar ist.9. Control device according to one of claims 4 to 8, characterized gekenn¬ characterized in that for every second hardware block (8, 9) there is an opening (28) in the housing (18) through which one of the second hardware blocks (8, 9) can be connected to the first hardware block (2), in particular via a plug arrangement (10, 11).
10. Steuergerät nach einem der Ansprüche 1 bis 9, dadurch ge¬ kennzeichnet, dass mindestens einer der zweiten Hardwareblocks (8, 9) einen Speicher (14, 15, 16) umfasst, in welchem eine byte- oder wordweise Abspei¬ cherung eines Parity-Bits pro Byte oder Word eines Datenspeicherbereiches (12) und/oder eines Programmspeicherbereiches (13) des entsprechenden zweiten Hardwareblocks (8, 9) vorgesehen ist. 10. Control device according to one of claims 1 to 9, characterized in that at least one of the second hardware blocks (8, 9) comprises a memory (14, 15, 16) in which a byte or word-by-word storage of a parity Bits per byte or word of a data storage area (12) and / or a program storage area (13) of the corresponding second hardware block (8, 9) is provided.
11. Steuergerät nach einem der Ansprüche 1 bis 10, dadurch ge¬ kennzeichnet, dass mindestens einer der zweiten Hardwareblocks (8, 9) einen energieunabhängigen, nicht flüchtigen Speicher (13, 38) umfasst, in welchem Daten zur eindeutigen Identifikation des entsprechenden zweiten Hard- wareblocks (8, 9) vorhanden sind.11. Control device according to one of claims 1 to 10, characterized ge indicates that at least one of the second hardware blocks (8, 9) comprises an energy-independent, non-volatile memory (13, 38), in which data for the unique identification of the corresponding second hard - Wareblocks (8, 9) are present.
12. Steuergerät nach einem der Ansprüche 2 bis 11 , dadurch ge¬ kennzeichnet, dass einer der zweiten Hardwareblocks (8) eine Boot-Karte und ein anderer der zweiten Hardwareblocks (9) eine Backup-Karte ist, wobei auf der Backup-Karte (9) entweder auf Bedienerwunsch ein Abbild des oder der Speicherelemente (12, 13, 14, 15, 16) der Boot-Karte (8) erstellt werden kann, oder dass ein Abbild bei jeder Speicherinhaltsänderung der Boot-Karte (8) permanent mitgeführt wird.12. Control device according to one of claims 2 to 11, characterized ge indicates that one of the second hardware blocks (8) is a boot card and another of the second hardware blocks (9) is a backup card, wherein on the backup card ( 9) either at the operator's request, an image of the memory element or elements (12, 13, 14, 15, 16) of the boot card (8) can be created, or that an image is permanently carried with each change in the memory content of the boot card (8) .
13. Steuergerät nach einem der Ansprüche 1 bis 12, dadurch ge¬ kennzeichnet, dass im ersten Hardwareblock (2) ein Überwachungsstromkreis (29) zum Erkennen eines Wechsels eines der zweiten Hardwareblocks (8, 9) vorhanden ist und dass der Überwachungsstromkreis (29) ebenfalls zum Er¬ kennen einer korrekten oder unkorrekten Speisespannungsversorgung der zweiten Hardwareblocks (2) bestimmt ist.13. Control device according to one of claims 1 to 12, characterized in that a monitoring circuit (29) for detecting a change of one of the second hardware blocks (8, 9) is present in the first hardware block (2) and that the monitoring circuit (29) is also intended to identify a correct or incorrect supply voltage supply for the second hardware blocks (2).
14. Steuergerät nach einem der Ansprüche 1 bis 13, dadurch ge- kennzeichnet, dass ein weiterer Überwachungsstromkreis (30) zum Erzeugen und Überwachen der Speisespannungen (31) für die zweiten Hardwareblocks (8, 9) vorhanden ist, wobei dieser Stromkreis (30) bei einer fehlerhaften Spei¬ sespannung (31 ) ein Rücksetzsignal (32) zum Rücksetzen in einen Ausgangs¬ zustand des ersten Hardwareblocks (2) und des zweiten Hardwareblocks (8, 9) bestimmt ist.14. Control device according to one of claims 1 to 13, character- ized in that a further monitoring circuit (30) for generating and monitoring the supply voltages (31) for the second hardware blocks (8, 9) is present, this circuit (30) in the event of a faulty supply voltage (31), a reset signal (32) is intended for resetting to an initial state of the first hardware block (2) and the second hardware block (8, 9).
15. Steuergerät nach einem der Ansprüche 1 bis 14, dadurch ge¬ kennzeichnet, das der erste Hardwareblock (2) eine erste Schnittstelle (33) aufweist, über welche das Steuergerät mit einer zu steuernden Anlage verbind¬ bar ist. 15. Control device according to one of claims 1 to 14, characterized ge indicates that the first hardware block (2) has a first interface (33), via which the control device can be connected to a system to be controlled.
16. Steuergerät nach einem der Ansprüche 1 bis 15, dadurch ge¬ kennzeichnet, dass der erste Hardwareblock (2) eine zweite Schnittstelle (34) aufweist, welche zum Erstellen eines Multiprozessorsystemes mit zweiten Schnittstellen (34) von weiteren ersten Hardwareblocks (2) anderer Steuerge- rate (1) zusammenschaltbar ist.16. Control device according to one of claims 1 to 15, characterized ge indicates that the first hardware block (2) has a second interface (34), which for creating a multiprocessor system with second interfaces (34) of further first hardware blocks (2) of others Control device (1) can be interconnected.
17. Steuergerät nach einem der Ansprüche 1 bis 16, dadurch ge¬ kennzeichnet, dass der erste Hardwareblock (2) baugruppenweise aufgebaut ist, wobei in jeder Baugruppe (2, 37) je ein Identifikationsstromkreis (38) vor¬ handen ist und wobei jeder zweite Hardwareblock (8, 9) ebenfalls als Bau- gruppe zu betrachten ist und einen Identifikationsstromkreis (38) aufweist, dass beim Aufstarten ( Booten) des Steuergerätes (1) in einem ersten Schritt anhand der Identifikationsstromkreise (38) in den zweiten Hardwareblocks (8, 9) die Kontrolle erfolgt ob einer der zweiten Hardwareblocks (8, 9) gewechselt worden ist, ob alle die zum voraus festgelegten Baugruppen (2, 8, 9, 37) vorhanden sind und dass in einem zweiten Schritt die Kontrolle erfolgt, ob die Software in mindestens einer der vorhandenen zweiten Hardwareblocks (8, 9) zu den vor¬ handenen Baugruppen (2, 8, 9, 37) passt. 17. Control device according to one of claims 1 to 16, characterized ge indicates that the first hardware block (2) is built up in modules, with each assembly (2, 37) each having an identification circuit (38) and each second Hardware block (8, 9) should also be considered as a module and has an identification circuit (38) that when the control unit (1) is started (booted) in a first step using the identification circuits (38) in the second hardware blocks (8, 9) the check is carried out as to whether one of the second hardware blocks (8, 9) has been replaced, whether all the modules (2, 8, 9, 37) specified in advance are present and that in a second step there is a check as to whether the software in at least one of the existing second hardware blocks (8, 9) matches the existing modules (2, 8, 9, 37).
PCT/CH1996/000233 1996-06-18 1996-06-18 Electronic control unit with detachable storage elements connected to the bus that contain the entire software program WO1997049028A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
AU58905/96A AU5890596A (en) 1996-06-18 1996-06-18 Electronic control unit with detachable storage elements connected to the bus that contain the entire software program
PCT/CH1996/000233 WO1997049028A1 (en) 1996-06-18 1996-06-18 Electronic control unit with detachable storage elements connected to the bus that contain the entire software program
DE19681520T DE19681520D2 (en) 1996-06-18 1996-06-18 Electronic control unit with removable storage elements connected to the bus, which contain the entire software program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CH1996/000233 WO1997049028A1 (en) 1996-06-18 1996-06-18 Electronic control unit with detachable storage elements connected to the bus that contain the entire software program

Publications (1)

Publication Number Publication Date
WO1997049028A1 true WO1997049028A1 (en) 1997-12-24

Family

ID=4550431

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CH1996/000233 WO1997049028A1 (en) 1996-06-18 1996-06-18 Electronic control unit with detachable storage elements connected to the bus that contain the entire software program

Country Status (3)

Country Link
AU (1) AU5890596A (en)
DE (1) DE19681520D2 (en)
WO (1) WO1997049028A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000026731A1 (en) * 1998-11-02 2000-05-11 Siemens Aktiengesellschaft Automation system and method for accessing the functionality of hardware components
EP1460502A2 (en) * 2003-03-21 2004-09-22 Focke & Co. (GmbH & Co.) Method for operating control device of a communication medium
WO2005020072A2 (en) * 2003-08-15 2005-03-03 York International Corporation System and method for loading software into a control panel for a chiller system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4229804A (en) * 1976-06-28 1980-10-21 Fujitsu Fanuc Limited Numerical control unit having a cassette type memory
US4704676A (en) * 1986-03-24 1987-11-03 The Foxboro Company Method and apparatus for configuring a controller
US4777590A (en) * 1984-10-29 1988-10-11 Pictorial, Inc. Portable computer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4229804A (en) * 1976-06-28 1980-10-21 Fujitsu Fanuc Limited Numerical control unit having a cassette type memory
US4777590A (en) * 1984-10-29 1988-10-11 Pictorial, Inc. Portable computer
US4704676A (en) * 1986-03-24 1987-11-03 The Foxboro Company Method and apparatus for configuring a controller

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000026731A1 (en) * 1998-11-02 2000-05-11 Siemens Aktiengesellschaft Automation system and method for accessing the functionality of hardware components
US6625664B2 (en) 1998-11-02 2003-09-23 Siemens Aktiengesellschaft Automation system to access functionality of hardware components with each hardware component having system connection unit with function objects representing real functionality of components
EP1460502A2 (en) * 2003-03-21 2004-09-22 Focke & Co. (GmbH & Co.) Method for operating control device of a communication medium
EP1460502A3 (en) * 2003-03-21 2005-12-14 Focke & Co. (GmbH & Co. KG) Method for operating control device of a communication medium
CN100366509C (en) * 2003-03-21 2008-02-06 福克有限公司 Method for operating controller by communication medium
WO2005020072A2 (en) * 2003-08-15 2005-03-03 York International Corporation System and method for loading software into a control panel for a chiller system
WO2005020072A3 (en) * 2003-08-15 2006-03-23 York Int Corp System and method for loading software into a control panel for a chiller system
US7434089B2 (en) 2003-08-15 2008-10-07 York International Corporation System and method for loading software into a control panel for a chiller system

Also Published As

Publication number Publication date
AU5890596A (en) 1998-01-07
DE19681520D2 (en) 1999-09-23

Similar Documents

Publication Publication Date Title
DE69432514T2 (en) Power control in a computer system
EP2191344B1 (en) Integrated circuit arrangement for safety critical regulation systems
DE102011112174B4 (en) Device and method for the protection and non-destructive testing of security-related registers
EP1685451A1 (en) Redundant automation system for controlling a technical device, and method for operating one such automation system
DE4103107A1 (en) Single chip microcomputer controller for engine control - has chip mounted on circuit board with inputs for writing data into memory
WO1997049028A1 (en) Electronic control unit with detachable storage elements connected to the bus that contain the entire software program
WO2006045807A2 (en) Data processing system with a variable clock speed
DE10344877B3 (en) Testing and monitoring circuit with interface card for data storage module has motherboard carrying storage module, microcontroller EEPROM, timing generator and interface card voltage source
EP1449083A2 (en) Method for debugging reconfigurable architectures
DE10302456A1 (en) Computer device for safety-critical applications has at least a processor unit and memory unit with both units situated on the same chip surface
EP1283472A2 (en) Program controlled unit
DE102018103286B4 (en) Computer system, operating method for a microcontroller and computer program product
WO2022258412A1 (en) Vehicle data communication system for transmitting vehicle data
DE102006012677A1 (en) Method and arrangement for activating and configuring specific system sequences of a printer or copier
DE10148029A1 (en) Data protection method for field equipment, by copying data from primary storage device to secondary storage device is secondary storage device is defective
DE102006036384A1 (en) Microprocessor system for controlling or regulating at least partially safety-critical processes
DE60312859T2 (en) METHOD AND BASIC CIRCUIT FOR MONITORING THE OPERATION OF A MICRO-CONTROLLER
DE60309157T2 (en) Storage system with error detection device
WO1999017247A1 (en) Installation for chip card operation and data exchange between a chip card and a microprocessor-aided system
EP0950943B1 (en) Circuit arrangement for electronic control apparatus and method for reading input signals
DE102004043063A1 (en) Semiconductor device e.g. ROM, operating method, involves operating pin of device in normal operation mode as application-function-pin, where pin is operated in two test operating modes as test pin and application-function pin, respectively
DE19736972C1 (en) Accelerated booting method for computer system, especially PC
DE2839345C2 (en)
DE10158204B4 (en) Programming method for an EEPROM memory device and circuit with an EEPROM memory device
DE102005045399A1 (en) Data processing system, has monitoring unit connected to clock generator to lower frequency of clock signal when it has been established that monitoring unit is functioning improperly

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BB BG BR BY CA CH CN CZ DE DK EE ES FI GB GE HU IL IS JP KE KG KP KR KZ LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TM TR TT UA UG US UZ VN AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): KE LS MW SD SZ UG AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref document number: 98502015

Country of ref document: JP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

REF Corresponds to

Ref document number: 19681520

Country of ref document: DE

Date of ref document: 19990923

WWE Wipo information: entry into national phase

Ref document number: 19681520

Country of ref document: DE

NENP Non-entry into the national phase

Ref country code: CA

122 Ep: pct application non-entry in european phase