CA2311579C - Electrical control apparatus including retrievable stored operationing program - Google Patents

Electrical control apparatus including retrievable stored operationing program Download PDF

Info

Publication number
CA2311579C
CA2311579C CA002311579A CA2311579A CA2311579C CA 2311579 C CA2311579 C CA 2311579C CA 002311579 A CA002311579 A CA 002311579A CA 2311579 A CA2311579 A CA 2311579A CA 2311579 C CA2311579 C CA 2311579C
Authority
CA
Canada
Prior art keywords
operating program
personal computer
operator
logic steps
program
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
CA002311579A
Other languages
French (fr)
Other versions
CA2311579A1 (en
Inventor
Cory James Wiebe
Mark Charles Poole
Kelly James Moore
Michael Anton Kuusela
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vansco Electronics LP
Original Assignee
Nova Acquisition Manitoba LP
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 Nova Acquisition Manitoba LP filed Critical Nova Acquisition Manitoba LP
Priority to CA002311579A priority Critical patent/CA2311579C/en
Publication of CA2311579A1 publication Critical patent/CA2311579A1/en
Application granted granted Critical
Publication of CA2311579C publication Critical patent/CA2311579C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/052Linking several PLC's
    • 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/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • 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/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1133Sensor actuator, asi, bus, network
    • 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/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1136Canbus
    • 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/10Plc systems
    • G05B2219/12Plc mp multi processor system
    • G05B2219/1202Modules with same hardware and software
    • 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/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13052Display of ladder diagram
    • 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/26Pc applications
    • G05B2219/2637Vehicle, car, auto, wheelchair
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

An electrical control system for vehicles has a plurality of separate control modules which communicate via a communication bus and an operational program is installed in each of the modules so that all modules contain programming for the functions of each module. A programming and diagnostic system including a PC and a program connects into the bus so as to download the program from one of the modules for generating, modifying and viewing program logic steps using ladder logic which is then converted back into an operating program format for communication to the modules. In addition, the status of the inputs and outputs of the modules of the apparatus can be displayed and forced using the programming and diagnostic system.

Description

ELECTRICAL CONTROL APPARATUS INCLUDING RETRIEVABLE STARED
OPERATIONING PROGRAM
This application is related to and includes subject matter disclosed in US Application Serial No: 091400,$28 filed September 21, 1999, now issued as US
Patent 6,501368 an December 31't 2002, which corresponds to Canadian application, Serial No: 2,282,881 filed September 20, 1999.
This invention relates to an electrical control apparatus for use controlling equipment such as a vehicle and particularly to an arrangement which allows a programming and diagnostic system to cooperate with the control apparatus without the necessity of storing the programs of different variations of the apparatus.
BACKGFtI~UND Op' THE INVENTION
Control apparatus far controlling electrical systems far various end uses are well known and widely required. The present invention is particularly but not exclusively concerned with such control apparatus for use in vehicles such as trucks, trains, boats, aircraft and passenger transit vehicles. However devices of this type can also be used far controlling industrial processes.
A vehicle such as a passenger transit vehicle has a large number of electrical inputs from operator actuated switches and from various other transducers such as temperature sensors and door closure switches. The vehicle further has a large number of electrical outputs where various components such as lighting, air conditioning, door actuators and engine control systems require output at a predetermined voltage from the power system of the vehicle.
one conventional arrangement for controlling the various outputs from the various inputs includes a plurality of contra) modules which are interconnected by a communication bus.
Each module has a series of input terminals for receiving control signals from a selected combination of the various inputs of the system. Each module has a plurality of outputs for Supplying output voltage to selected ones of the series of controlled elements of the system. Each module has a plurality of switches which can be actuated to supply output as required to one or more of the output terminals. The switches are controlled by a processor in the module. The switches 1~ are preferably electronic but other electromechanical switches can be used in some cases. Tfte module has a comrnunicatians connection for two way communication between the processor and the communication bus so that the status of the module can be communicated onto the communication bus and so that information concerning the other modules can be communicated from the communication bus to the processor.
One major advantage of this type of control is that it can be used to tailor the operation to different requirements of a particular customer in order to effect control over different oonfiguratlons of the controlled elements and using different inputs and different logical operations based upon those inputs.
Thus in the example of the vehicle, different customers may have different options such as destination boards or wheelchair ramps on their vehicle which need to be controlled and may require certain components such as head lights of the vehicle to be operated differently based upon different inputs.
White the module arrangement described herein allows such variations to be readily adopted $nd implemented by the manufacturer at the customer request, it provides the significant difficulty that this leads to many different module arrangements aver different customers and different manufacturing years and models so that it may be difficult to determine which module arrangement is used upon a particular vehicle.
SUMMARY OF THE INVENTION
It is one object of the present invention therefore to provide an improved electrical control apparatus with ready determination of the configuration of the apparatus for diagnostic and repair processes.
According to one aspect of the invention there is provided an electrical control apparatus comprising:
providing at least one control module having:
a plurality of input terminals each arranged for receiving at least one input from a respective one of a plurality of sources of input signals;
a plurality of output terminals arranged for connection to a respective one of a plurality of controlled elements;
a plurality of switches each associated with a respective one of the output terminals for effecting control of the respective controlled element;
a processor arranged so as to actuate the switches in response to data from the input terminals in accordance with a predetermined operating program;
a communications part for communication of data to and from the processor;
the operating program including a set of logic steps in an operating program format by which the switches are actuated in dependence upon predetermined characteristics of one or more of the input signals;
the operating program being stored in the control module;
providing a persona! computer having:
a communications port for communication with the processor through the communications port of the control module;
an operator interface for displaying data to the operator and for receiving commands from the operator;
providing a programming and diagnostic program in the personal computer;
on receipt of a command from the operator through the personal computer, causing the control module to output the set of logic steps in operating program format to the personal computer;
causing the personal computer to receive and store the set of logic steps;
causing the personal computer using the programming and diagnostic program to convert the set of logic steps in operating program format stored in the personal computer from the operating program format into an operator viewable graphic display in ladder logic format and to display the graphic display of the logic steps on the operator interface;
causing the personal computer using the programming and diagnostic program to allow the operator to generate andlor modify the set of logic steps stored in the personal computer and viewed in the operator viewable graphic display;
and causing the personal computer using the programming and diagnostic program to convert the operator viewable graphic display of the generated logic steps into the operating program format and to transmit the 5 generated logic steps in the operating program format to the control module for storage therein.
Preferably the programming and diagnostic system is arranged to allow the operator to generate the set of logic steps in the operator viewable graphic displ2~y, to convert the operator viewable graphic display of the generated logic steps into the operating program format and to transmit the generated logic steps in the operating pn5gram to the control module far storage therein.
Preferably the programming and diagno$tiG system is arranged to allow the operator to modify the set of logic steps in the operator viewable graphic display, to convert the operator viewable graphic display of the modified logic steps '15 into the operating program format and to transmit the modified operating program to the control module far storage therein.
Preferably the operator viewable graphic display is in ladder logic format.
Preferably the programming and diagnostic system is arranged to provide a diagnostic function by monitoring the status of the inputs and outputs.
Preferably the programming and diagnostic system i5 arranged to provide a diagnostic function by allowing the operator to effect forcing the status of the Inputs and outputs.

b Preferably the set of logic steps in operating program format is campr~essed relative to the operator viewable graphic display.
Preferably the operating program contains Boolean equations in reverse polish notation.
Preferably the operating program has been reduced through short hand writing of the terms and using file position far identification.
Preferably the conversion of the viewable graphic display to the operating program format is done via reduction through predefined configurations of symbols such as AND, OR, NaT.
Preferably the conversion of the operating program to the viewable graphic display is achieved through predefined configurations (placement and interconnection) for symbols in AND, OR, NOT, etc. arrangements.
Preferably the initialization section of the operating program contains the initialization for properties of the parameters contained in the program such as 95 the time to linearly ramp to full output a contras module output (soft start time), telltale ownership, timer initialization, etc.
Preferably there is provided a communication bus and a plurality of Separate control modules and wherein the communications port is arranged for connection to the communication bus far transmitting communications an and receiving communications from the bus.
Preferably the modules each have a different function such that each receives input from a different one or more of the sources of input data and each effects control of a different one or more of the controlled elements and wherein said predetermined program is the same in each of the modules and includes a base program and an operating program portion having respective sub-portions thereof with each sub-portion arranged to control the function of the respective module in which the program is stored.
Preferably the modules and the predetermined program therein are arranged such that, at a predetermined condition of the apparatus, the processor of each module emits to the communication bus a signal indicative of the operating program portion stored in the respective module, such that there is effecked a comparison of the emitted signals, and such that, in the event that the emitted signal 14 of one of the modules is different from that of the others, a selected one of the others is arranged to download the operating program portion from said selected one to said different one.
Preferably the control apparatus is provided in a vehicle for controlling electrical components of the vehicle.
1 a According to a second aspect of the invention there is provided a method comprising:
providing a communication bus;
providing a plurality of contras modules each having:
a plurality of input terminals each arranged for receiving at least one 24 input from a respective one of a plurality of sources of input signals;
a plurality of output terminals arranged for connection to a respective one of a plurality of controlled elements;
a plurality of switches each associated with a respective one of the output terminals for effecting control of the respective controlled element;
a processor arranged so as to actuate the switches in response to data from the input terminals in accordance with a predetermined operating program;
a communications port connected to the communications bus far communication of data to and from the processor;
the operating program being stored independently in each of the control modules;
the operating program including a set of logic steps in an operating program format by which the switches are actuated in dependence upon predetermined characteristics of one or more of the input signals;
providing a personal computer having:
a communications port for communication with the processor through the communications port of the control module;
an operator interface far displaying data to the operator and for receiving commands from the operator;
providing a programming and diagnostic program in the personal computer;
on receipt of a command from the operator through the personal computer, causing one of the control modules to output the set of Iogic steps in 2Q operating program format to the person2~f computer;
causing the personal computer to receive and store the set of logic steps;
causing the personal computer using the programming and diagnostic program to convert the set of logic steps in operating program format stored in the personal computer from the operating program format into an operator viewable graphic display in ladder logic format and to display the graphic display of the logic steps on the operator interface;
causing the personal computer using the programming and diagnostic program to allow the opersitor to generate andlor modify the set of logic steps stored in the personal computer and viewed in the operator viewable graphic display;
and causing the personal computer using the programming and diagnostic program to convert the operator viewable graphic display of the generated logic steps into the operating program format and to transmit the generated logic steps in the operating program format to the control modules for storage therein.
According to a third aspect of the invention there is provided a method of controlling controlled elements in a vehicle comprising:
"15 providing a plurality of controlled elements;
providing a plurality of sources of input signals;
providing a communication bus;
providing a plurality of control modules each having:
a plurality of input terminals each arranged far receiving at least one input from a respective one of the plurality of sources of input signals;
a plurality of output terminals arranged for connection to a respective one of a plurality of the controlled elements;
a plurality of switches each associated with a respective one of the output terminals for effecting control of the respective controlled element;
a prooessar arranged so as to actuate the switches in response to data from the input terminals in accordance w~h a predetermined operating program;
a communications port Connected to the Communications bus for 5 communication of data to and from the processor;
the operating program being stared independently in each of the control modules;
the operating program including a set of logic steps in an operating program format by which the switches are actuated in dependence upon 10 predetermined characteristics of one or mare of the input signals;
providing a personal computer having:
a communications port for communication with the processor through the communications port of the oantrol module;
an operator interface for displaying data to the operator and for 1 ~ receiving commands from the operator;
providing a programming and diagnostic program in the personal computer;
an receipt of a command from the operator through the personal computer, causing one of the control modules to output the set of logic steps in 2U operating program fomrtat to the personal computer;
causing the personal computer to receive and stare the set of logic steps;
causing the personal computer using the programming and diagnostic program to convert the set of logic steps in operating program format stored in the personal computer from the operating program format into an operator viewable graphic display in ladder logic format and to display the graphic display of the logic steps on the operator interface;
causing the personal computer using the programming and diagnostic program to allow the operator to generate andlor modify the set of logic steps stored in the personal computer and viewed in the operator viewable graphic display;
and causing the personal computer using the programming and diagnostic program to convert the operator viewable graphic display of the 14 generated logic steps into the operating program format and to transmit the generated logic steps in the operating program format to the control modules for Storage therein.
BRIEF DESCRIPTION OF THE DRAWINGS
Qne embodiment of the invention will now be described in conjunction with the accompanying drawings in which:
Figure 1 is a schematic illustration of the control apparatus according to the present invention including a plurality of separate modules.
Figure 2 is a schematic illustration of one of the modules, Figure 3 is a schematic illustration of the exterior of the housing 2g showing the status LEDs and a feedback harness for diagnostics.
Figure 4 is a view of the graphic display of the program components in ladder logic format.
In the drawings like characters of reference indicate corresponding parts in the different figures.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
In Figure 1 is shown a vehicle 1D having ground wheels 11, an engine compartment 12 containing an engine system (not shown) and an operator station 13 at which an operator is seated for controlling the vehicle in its various functions.
All these elements are shown schematically since the details of these elements are well known to one skilled in the art.
The electrical system far controlling the vehicle comprises a communication bus 14 which runs through the vehicle from a forward position through to a rearward position. The system further includes a plurality of individual control modules M1, M2, M3, M4, M5 and Mi3. Each of these is connected to the communication bus by an individual connection communicating from the communication bus to a terminal on the module allowing two way communication between the module and the bus.
Each module has associated with it a series of inputs which are indicated at input 1 through input fi. It will be appreciated that this is a schematic illustration of a plurality of inputs defined by the combination of all of the inputs 1 through 6 and that each module has associated with it a selected group of the total number of inputs. The inputs comprise various different components of the vehicle including manually operable switches, transducers and sensors which are well known to one skilled in the art and therefore will not be described in detail.
Two of the inputs are indicated at AUX and RUN respectively and these are of course well known in a vehicle and relate to the ignition system by which the operator can switch the ignition to either a run condition or the AUX
condition which thus activates many components of the system. These inputs form one of the inputs of each of the input combinations input 1 through input 6 and therefore each is communicated to the respective module as an input through that particular module. It will be appreciated therefore that some of the inputs are common to all of the modules and some of the inputs are individual to only one of the modules or one or two of the modules depending upon the design of the system and the functions to be effected. The AUX or RUN conditions are of course highly significant in the operation of the system and therefore are used as inputs to each of 1 d the module&. In some designs, the AUX and RUN inputs can be replaced by a single input generally known as MASTERPOWER, wherein the power is activated in all conditions of operation by the MASTERPOWER input and a separate switch is used for actuating the starter motor.
The modules are designed so that they are in a power-on condition only when one or more of a selected number of the inputs therefore are in the on condition. Thus some of the modules may shut down to a power off or power-save condition when there is no input to the n~adule an the selected number of inputs. In order to ensure that all of the modules are in the power on condition when eiEher AUX or RUN or MASTERPOWER is selected, these inputs are supplied to each of the modules as one of the selected ones of the modules. Thus the selection of AUX
or RUN ensures that all modules are in the power-on condition. When neither AUK
or RUN is selected, other inputs to selected apes of the modules will drive the respective rnadule into the power-an condition while others, which are not receiving the power-on input conditions remain in the power-save condition with no outputs.
Each module drives a plurality of outputs indicated at output 1 through 8 respectively. Thus the total number of outputs required is the total of all of the outputs 1 through 6 and each module is selected to drive a predetermined combination of those outputs depending upon the design of the system.
The system further includes a programming port P which communicates with the communication bus at a suitable location thereon for receiving programming port from the programming and diagnostic system which may be a p~ as indicated at PC, Turning now to Figure 2, the structure of each module is shown in combination with the elements associated with that module, Thus the module comprises a housing 15 which contains the module components and supports a plurality of terminals on the exterior surface of the housing for connection to the various inputs and outputs as described hereinafter.
The module includes a first power bar 16 and a second power bar 17.
The first power bar is connected through an electrical connection to an input termina~i 1$ for receiving either 24 volts DC power from a source 19 on the vehiole or 12 volts DC from a source 21. The second power bar is connected to a terminal 20 for receiving either 24 volts DC from the source 19 or 12 volts DC power from the source 21. Thus each module may be used to supply only one of the available voltages or may be used to supply both voltages depending upon system requirements.
The power bar 16 is connected to a plurality of electronic switches S1 through S5 each of which controls communication of voltage from the supply 19 to a respective connector of an output terminal 22. The power bar 17 is connected tv a plurality of switches S6 through S10 and again each of these controls supply of voltage from the source 21 to a respective connector of the terminal 22. The 5 switches are preferably electronic but other electromechanical switches can be used in same cases. The number of switches can of course vary with requirements.
The terminal 22 provides therefore connectors for connection to selected outputs 01 through 010 which can be any component of the vehicle requiring at the set voltage and thus, depending upon the design of the system, the 10 connector to the terminal 22 can be connected to selected vehicle components for supplying the necessary voltage thereto for operating the component as required.
The module further includes a terminal 23 which has a plurality of connectors each for connecting to a respective one of the inputs from the combination of inputs to that module, the inputs being indicated at 11 through 110.
15 As set forth alcove, according to the design of the system, selected ones of the inputs 11 through 110 are arranged for connection to various input components of the vehicle of the system and thus provide an input to the module.
The module further includes a terminal 24 for connection to inputs IX
and IY. These inputs are connected to switches S11 and S12 which can be actuated to supply the respective input to a respective output connector of the terminal 22 for connection to outputs OX and OY. Thus the module can be used not only to control the Supply of high side voltage, that is a positive voltage line to the outputs 01 through 010 but in addition the module can be used to supply a required output to outputs OX and t~Y which can be low voltage connections or can be low side ground connections depending upon design requirements. The necessary output is thus applied at the selected input IX or IY and is controlled by the switch S11 or S12 as required. The switches S11 and S12 are both bi-directional far this purpose.
The module further includes a processor 25 which has a connection to the input terminal 23 so as to receive the inputs 11 through 110 as control inputs thereto. The processor further is connected to a terminal 26 which provides an input indicating to the processor which of the module functions M1 through MB this particular is intended to carry out. One technique far the input Pram the terminal 26 is to provide a ground block which connects selected ones of a plurality of connectors of the processor to ground so that the particular ground connectors are selected in dependence upon the module location M1 through M6 to provide the required indication to the processor 25.
The processor 25 further connects to a tem~inal 27 communicating with the communication bus 14 through a connector 2$. Thus the processor can provide two way communication to and from the communication bus.
The processor contains programming information including a base program stored in a memory 1 and an operating program stared in memory 2.
These memory components are shown separately and schematically for convenience of illustration but it will be appreciated that in many cases the memory component will comprise a single memory chip where the base program and the operating program are stored as separate parts an the memory chip.

The system operates by providing a program in the operational program memory 2 which contains a series of separate sections each defining the function far a respective one of the modules so that each module as programmed with the operational program can carry out the function of each of the other modules.
The processor receives the input Pram the terminal 26 to identify which module performs the respective program.
The inputs according to the design system to which the program has been created are attached at the input terminals 23 so as to provide the necessary inputs to the processor. The outputs are connected in accordance with the design i 0 arrangement so as to receive the required output from the required source.
During normal operation, each processor is activated into a power on situation by the provision of an input to a selected number, for example inputs 11 to 15, of the total inputs 11 through 110 as determined by the hardware. Thus those modules required at any predetermined condition of the system are activated, Each module is arranged sa that the processor thereof communicates onto the communication bus data defining the current status of each of the inputs and each of the outputs of that module whenever there is a change of status.
The processor of each module thus receives the data on the communication bus and therefore has in an Qperating portion of the memory a current indication of the status of each of the other modules.
This data is used in conjunction with the inputs to that module from the inputs t1 through 11~ under control of the designed operational program to actuate the switches S1 through S10 and thus determine the outputs. It will be appreciated 1$
that the program can be designed for various different characteristics of the system including many different arrangements of input and output. The program can be arranged to incorporated data from a number of the modules in actuating a particular output of a particular module. The program can be used to utilize a single input to one of the modules to actuate outputs at one ar more of the other modules. The program can be used to generate feedback so that a sensor responsive to actuation by a certain output provides data for the communication bus which is fed back so that it is subsequent actuation only occurs if the first actuation has completed successfully. The program can be arranged to receive data from other elements 1a connected to the communication bus and supplying status data to the bus, such as the engine control system, and to use that data in actuating selected outputs of the modules.
As shown in Figure 3, each module include iwo series of status LEDs for indicating to service technicians the operation of the modules. Thus the input connectors of the input terminal are associated with individual LEDs LI1 to LI10 of one series of the status LEDs which are arranged to be on when an input is present and off when no input is present. Each output connector is associated with a respective one of the second series of LEDs L01 to Lt:110 to indicate the status of the respective output. Each LED is arranged to be an when an output is present, to be off when na output is present and to flash when a fault, such as a short or overload, is detected. This two series of status LEDs can be used with a feed back harness H to check the proper operation of the module. Thus a feedback harness is provided which allows a connection from each output to a respective one of the inputs. In the event that there are more inputs than outputs, or vice versa, connections can be doubled so that one output is Connected to two inputs. The program is then actuated to run a diagnostic mode in which each output is actuated, to generate a respective input, and then to generate an output if each input is present. In such a situation, all status LEDs should be on and if they are not then a fault is present.
The modules are supplied in an initial condition in which the base program in memory 1 is installed and therefore enables the processor to carry out initial programming functions but does not enable the processor to carry out the necessary control of the outputs in dependence upon the operational program since that is not present.
The absence of the operational program therefore allows the module to be generic without dedication to a particular operational program. The module can therefore be re-programmed for different systems and schemes of operation to accommodate mvd~cations over an extended life of manufacture of a particular product or various differences due to selection of particular options in the product.
It will be appreciated that the basic program includes a conventional communication protocol such as CAN which controls the operation and communication between the elements of the system, In the event of initial installation of all of the modules, the modules are initially installed from the supply in the oond'ttion with the operational program omitted. When installed and connected as required, the necessary programming is applied to the communication bus for communication to each of the modules through zo the port P from the programming and diagnostic system PC. The program is therefore supplied into the memory using conventional programming techniques of data are supplied to be led into the memory of each processor together with a check sum and each processor in turn confirms by returning the check sum that the program portion has been properly installed, While usually the operational program is omitted, it is possible that another program will be already in place in one or more of the modules depending upon their source in which case the existing program is overwritten or replaced by the new programming relevant to the new situation, As previously described, each module has the input from the terminal 26 which identifies to that module which function that module is intended to perform thus allowing the modules to be individually addressed during the programming procedure.
In the event of replacement of a module, should that module be defective or for some other reason, the replacement module is again generally supplied in a condition from the supplier in which the operational memory is omitted thus allowing the module to be generic and applicable to a number of different models of the product concerned. In some cases a replacement module may come from another source such as a spare part already used in another vehicle in which case it will contain an existing operational program which will be incorrect for the 2~ new system and will thus need to be replaced by the programming system described herein.
While the arrangement set out herein is intended and designed to allow replacement of only one module at a time, it is also possible to generate arrangements which will allow replacement of more than one module.
The module to be replaced is removed by disconnecting the various connections to the terminals and a replacement module is inserted in its place. Of course the replacement occurs in a condition with the power to the sources 19 and 21 disconnected so that the vehicle is in a power-off condition.
After the module is installed, the power is reconnected so that the vehicle enters the power-up condition. As previously explained, in the initial power up condition it is not necessary that all of the modules are moved into the power-on condition since some may remain inactive since they are not required in the initial condition of the vehicle. However, actuation of the vehicle ignition switches to the AUX, RUN or AAASTERPOWER condition, is arranged as explained before so that each module is actuated to the power on condition. In most cases it is acceptable to cause the programming procedure to run at each power-up. However, in some cases it may be desirable to prevent this occurring except in a situation where a specific arrangement of inputs is actuated by the technician wishing to cause the procedure after installation of a module, thus defining a masterlock arrangement operable by the technician.
In this initial condition, when each module detects the AUX, RUN or MASTERPOWER input, the basic program is arranged, after running the conventional protocol for initial addressing, to cause each module to emit onto the communication bus a reference or identi5cation number which farms part of the operating program together with an optional check sum calculated from the operating program.

The reference number forms part of the operational program and identifies the particular design of system used in this particular vehicle depending upon its time of manufacture and depending upon the option selected.
The base program of each of the processors causes the processors to receive the information emitted onto the communication bus by each of the modules.
Since the replacement module does not contain the operational program. Any data transmitted by that module, from an existing operational program if any, likely does not contain the correct reference number nor the correct check sum since this has not been programmed into the module. The modules under the control of the base program thus compare the data emitted and a determination is made as to whether all are accurate and proper or whether one is inaccurate.
In the condition set forth above where the process of comparison of the reference numerals occurs at each power up with the ignition in the AUX or RUN
condition, in most cases the modules will determine that each of the modules contains the correct and accurate program.
However in the event that one of the modules becomes defective or is replaced and therefore does not contain the proper operational program, that module will emit to the communication bus a reference number and check sum which are inaccurate, that is different from those of the other modules. In this case, the base program is arranged to designate one of the modules to download from its memory the operation program onto the communication bus for lo2~ding into the replacement module.

Programming is carried out using conventional programming techniques so that each program portion is communicated with a check sum and the receiving module replies to confimn proper receipt by transmitting a calculated reply check sum.
The system therefore allows a generic module which is generic to a number of different designs of system to be installed subsequent to the initial programming at any time during the life of the vehicle and the system automatically programs the module so that it receives from the designated one of the modules the necessary operational program so that the modules can then commence operation in the normal operating manner.
Preferably the designated module is the module with the lowest number designation which would be module M~. In the event that module M1 is the replacement module, the base program is programmed to cause the next module which is module M2 to effect the downloading for programming the replacement 95 module M"l.
In order to avoid the necessity for the procedure of checking to be carried out at each power up when no modules have been replaced, the system may be arranged so that an operator actuates a predetermined arrangement of inputs and only when these inputs are operational does the check program run.
Turning now to the programming and diagnostic system PC, this includes a conventional graphic display allowing the operator to view the programming as described hereinafter, The PC is programed with Sot"Iware which is designed to program, control and diagnose the control modules of the control apparatus individually or when installed as a complete system. The Software is designed to communicate through a standard PC serial communication part through an adapter link to the communications bus 14 using 2~ standard protocol such as the SAE J1939 protocol on the vehicle, The Software receiveslsends messages tolfrom the modules connected on the bus.
The Software has two main functions:
1. DrawinglProgramming Tool:
This allows drawing of system ladder logic and dawnlaadingluploading of logic tolfrom the modules connected in the system.
2. Diagnostics Tool:
This allows real time viewing of system operations using ladder logic and virtual front panel views.
In a typical multiplexed solution, the control modules are programmed to implement specific features, or interface with unique characteristics of input and output devices. Each different vehicle (system) version will have different programming, each created from different source code or program in operating format. If a customer has many different vehicles, equipped slightly differently, it is very difficult to keep track of the programming contained each vehicle. As well, if a vehicle requires repair or service at a remote location, the service person would need access to the programming source code in order to diagnose the vehicle problems.
When the system functionality is being designed, easy-to-use Windows-based graphical tools are used to describe the logic for each module function. These tools create a program file, which is downloaded, into each module in the system. Later, when servicing is needed, or programming is to be changed, the module program file can be extracted from the module, and edited using the original graphical tools. It is not necessary for the source code to be obtained from the original design office, or from a central library as the modules themselves contain the source code.
The program has the following Features:
~ndaws 95, 9$, NT Application written in C++.
Menu-driven Graphical User Interface Password protected.
Mufti tiered security access.
CAD interface for creatinglediting Ladder Logic Automated Error Checking of Ladder Logic designs Automated Compiling of Ladder Logic designs into operating formatted ladder logic hle.
Automated graphical ladder logic drawing from operating formatted ladder logic file.
Advanced Ladder Logic Operations such as customizable J1939 Messaging, Math Functions, and Timers.
Advanced Edit functions far Ladder Logic designing such as Cut, Paste, Copy, Delete, Unda, and Redo.
Advanced Search functions such as Find and Find Replace.
Error Logging and Viewing of bath module and software logs ~6 UpIoadIDownload of Ladder Logic Design tolfrom the modules.
Download of Application Firmware to the modules Diagnostics - Real Time status updates of inputs, outputs, telltales, flags, timers, etc.
Diagnostics - Forcing of inputs, outputs, telltales, flags, timers, etc.
Onlinelcontext sensitive help Ladder logic is a conventional graphical view of standard Boolean logic (AND, DR, NAT, etc). It was developed to provide a simple method of writing and reading complex logic. Ladder logic uses geometric symbols to represent certain aspects of the system being programmed, for example module inputs would be represented by a symbol and module outputs would be represented by a symbol.
The placement of these symbols and the way they are interconnected creates Boolean operations. Ladder Logic is so named because the logic is drawn in "rungs"
where one rung represents the logic to activateldeactivate a specific output in the system. Each symbol has several fields associated with it that the user can alter, these gelds define certain required aspects of a symbol. A list of symbols available in the Software is shown below:
1. Digital inputs into module input circuits as shown in Figure 4, ltem A. There are three user changeable fields associated with this symbol:
Name, 2~ Label State, and Active HighILow.
2. An2~log inputs into the module analog input circuits as shown in Figure 4, Item B. There are four user changeable fields associated with this symbol:
Name, Label, Threshold and State.

Output connected to the module output circuits as shown in Figure 4, Item C. There are five user changeable fields associated with this symbol:
Name, Label, Description, State, and Soft Start. Outputs can be used as rung terminators or as inputs, When used as terminators, the state field is not available, when used as inputs only Name, Label and State are available.
4, ~1 special type of output which sends J1939 messages to Telltale clusters for turning onloff dash telltale lights as shown in Figure 4, Item D.
There are four user changeable fields associated with this symbol: Name, Label, Flash and Description, Outputs can be used as rung terminators or as inputs.
When 1 ~ used as terminators, the state field is not available, when used as inputs only Name, Label and State are available.
5, a logical output as shown in Figure 4, Item E.
This output doesn't physically tum a module output onloff, it sets a memory location to true or false. This memory location, or flag, can then be used as an input condition on other rungs in any module. It is typically used to simplify ladder logic drawings for repetitive logic.
There are four user changeable fields associated with this symbol:
Name, Label, Description and State. Outputs can be used as rung terminators or as inputs. When used as terminators, the state field is not available, when used as inputs only Name, Label and State are available.
6. Message input for communi~tion from the bus as shown in Figure 4, Item F. Messages typically have one ar more data bytes for which a 2$
Threshold value can be set to determine symbol state (similar to an analog input symbol).
There are three user changeable fields associated with this symbol:
Name, Label and Threshold.
7. A message transmission output on the bus as shown in Figure 4, Item F. This allows a module to send specific messages. This is a terminator symbol for a Ladder Logic Rung.
'there are four user changeable fields associated with this symbol: Name, label, Message and Description.
'f 0 8. A timer in a ladder logic rung as shown in Figure ~t, Item G.
This symbol is used to create delay on make, delay on break, one shot or periodic timing operations. The timer type and time values are displayed within the symbol box.
There are four user changeable fields associated with this symbol:
Name, Label, Type, On Time and Off Time.
9. A mathematical calculation or storage operation on a specified source as Shown in Figure 4, Item H. Valid sources include analog inputs, values from message inputs, direct value, e~tc. Operation and source text appears inside the symbol box. Valid operations include Add, Subtract, Multiply, Divide and Move.
There are four user changeable fields associated with this symbol:
Label, Qperation, Source A arid Source B.
The fields in the symbols above are required to give the control apparatus and the operator programming or diagnosing the control apparatus more information on what the symbol or parameter is. A list of all fields and their functions is shown below.
NAME:
The NAME field tells the system what module address and what input or output number the symbol represents. For example, Ix-y is the name held for I
(Input) # y cn module address x. A similar scheme is used for the other symbols.
LABELS
The LABEL field provides the user with a field for custom labels on the symbol (Ex. °Park Brake Sw" for the input that receives the park brake sensor). The 90 LABEL field is standard text and can contain any description required by the user.
The LABEL field is the same for all symbols above.
STATE
The STATE field provides the user with two options, ACTIVE and INACTIVE. When ACTIVE is selected the symbol appears as it does in the pictures above, when INACTIVE is selected, the symbol appears with a diagonal line through it. The STATE field provides the user with a Boolean NOT function, Far example, if a Digital Input's STATE field is set to INACTIVE the Digital Input becomes TRUE
when the physical value of the input is inactive.
DESCRIPTION
This is a Text field and is intended to be used as a rung descriptor.
THRESHOLD
The THRESHOLD field is available an Analog Inputs and Receive Messages. The THRESHOLD value is set such that if the Analog Input or Message Data value is greater than the ThIRESHOLD, that symbol becomes TRUE in the logic. Note that for analog inputs a STATE field is available as well which reverses the logic of the THRESHOLD value.
MESSAGE
5 The MESSAGE freld is specific to the Transmit Output symbol and contains the full message to be transmitted.
TYPE
The TYPE field is specific to the Timer Symbol and can be set to DELAY ON MAKE, DELAY ON BREAK, ONE SHOT, PERIODIC.
90 aN TIME
The ON TIME field is specific to the Timer Symbol and sets the length of time (in milliseconds) that the timer is to stay on far. The ON TIME field must be set for all TYPEs selected.
OFF TIME
15 The OFF TIME field is specific to the Timer Symbol and sets the length of time (in milliseconds) that the timer is to stay off for. This field is only used in conjunction with the PERIQDIC TYPE field and the QN TIME field. The frequency and duty cycle are defined by the ON TIME and OFF TIME of the symbol.
OPERATION
20 The OPERATION field is specific to the Math Symbol. This field selects the type of mathematical operation that is to be done on the two SOURCE
fields. Valid selections for this field are ADD, SUBTRACT, MULTIPLY, DIVIDE, MaVE.

3l SOURCE A
The SOURCE A held is specific to the Math Symbol. In order to do a mathematical operation such as add, subtract, multiply or divide, two sources acre required. SOURCE A defines what the first source far the operation is. Valid sources are Analog Inputs, Message Data or direct values (or numbers). SaURCE
A is also the receiving end of the result of the operation.
SOURCE B
The SOURCE B field is specific to the Math Symbol. This defines the second source that is to mathematically calculated with SOURCE A. This field is required far all Mathematical functions.
PWM DUTY CYCLE
ThE PWM DUTY CYCLE held is used to specify the PWM value for a VMM output. PVIIM can be done from 0% to 1 DO% in 1 % increments. The frequency of PWM operation is 100Hz, A setting of 100% in this field is the default for output symbols and sets the output on constantly.
SOFTSTART
The Softstart field is used to specify the delay value far a softstart output. The saftstart field gives the ability to the output to slowly ramp up the voltage on it's output over a specified period of time, until the output has reached it's full voltage.
The drawirrglprograming tool offers a Graphical User Interface (GUI) under Windows 95!98 operating systems in which ladder logic symbols can be placed and interconnected to represent vehicle logic. Figure 4 is a screen shot of the Ladder Logic Editor.
This screen shot shows the OUI interface that displays the ladder logic rungs far the system. The screen has two rungs displayed, the first rung displays the logic required to activate 01-1 (module 1, output 1). The second rung displays the logic required to activate a1-2 {module 1, output 2). The inputs are numbered in a similar fashion. The equivalent Boolean equation that represents the first rung would be t~1-1 = 11-1 AND (13-27 OB (NOT 12-7)). Notice that the "NOT"
operation is represented by a line drawn through the Ladder logic symbol that is to be inverted {this is done by setting the STATE field for that symbol to INACTIVE). Note that each symbol also displays the LABEL field where a name can be given to a symbol, for example in the screen shot above 11-1 has the LABEL "Input A". The Flag symbol in the second rung demonstrates that a flag is used just like any other input symbol. The flag itself represents a set of logic (drawn elsewhere in the ladder logic application), if the flag logic is true then the flag itself is true. Flags are typically used to simplify ladder logic drawing be encompassing repetitive logic that is used in multiple rungs.
The drawinglpn5gramming tool operates in a similar manner to many electrical schematic entry applications or standard drawing applications on the market today. The drawing area is represented in a separate window with two "tem~inator" bars drawn on either side. Items are placed between the terminator bars and lines for a rung start at the left hand terminator bar and end at the right hand tem~inator bar. A tool bar (seen at the top of the scrfeen shot) has a selection of all the ladder logic symbols, if you left click on a symbol type on the tool bar you can then place that symbols in the ladder logic window. The various fields can be accessed and altered by double clicking the symbol or right clicking and selecting the "Properties" item. A child window will pop up with the various field entry boxes for that specific symbol.
Symbols are interconnected using the Line Draw tool from the toolbar.
This allows the user to connect the various symbols according to the logic functions required. The line draw teal will only allow vertical or horizontal lines to be drawn which simplifies the process and helps to keep the drawing neat. To start a rung, a line must be drawn from the left hand terminator bar to the first symbol in the rung.
To end a rung a line must be drawn from the output symbol to the right hand tem~inator bar.
Output cymbals that are directly connected to the right hand terminator bar are considered to be outputs in nature (i.e. the output symbol goes ACTIVE
and does its thing if the logic to the left of it is 7RIJE). Output symbols that are not directly connected to the right hand tem~inator bar are considered to be inputs (i.e.
the output state is used in the °logic" portion of the rung).
The tool provides several pull down menus all of which offer standard Windows operations such as OPEN, SAVE, PRINT, CUT, COPY, PASTE, etc. A list 2Q of the various menu functions are shown below.
FILE
New, Open, Save, Save As, Print, Print Preview, Page Setup, Exit EDIT

Undo, Redo, Cut, Capy, Paste, Delete, Select All VIEW
Ladder Loaic:
This pulls up the ladder logic drawinglprogramming window. The ladder logic window allows the operator to generate, view and modify the set of logic steps contained in an operating program, in an operator viewable graphic display.
When the (adder logic drawing window is required to display logic steps contained in a previously created operating program file, a conversion from the program file to graphical display must take place, This is accomplished by parsing through the operating program fle, converting each Boolean equation contained in the fife from reverse polish notation into a standard notation representation.
As a Boolean equation is parsed, graphical images are created for the parameters included in the equation and formatted using the information contained in the program file. The standard notation representation is then used to establish the correct location and Interconnection of the parameters on the graphic display based on predefined configurations for parameters in the arrangements of AND, OR, NOT, etc. This process is repeated for ail of the Boolean equations contained in the operating program file.
module IIO
'this pulls up the module irtputlautput entry window TOOL$
Dia nostic This pulls up the diagnostic window which displays ladder logic with color codes for real time diagnostics Querv modules 'his checks the system and reports the firmware and ladder logic 5 revision numbers for all the modules in the system queried Compile Ladder Los~ic This converts the graphical representation in the drawing window into a table that can be downloaded to the module system. When a compile is inifiated two functions are perfom~ed; error check and compile. The error check function checks 10 the connections of parameters to verify all parameters have their left and right sides Connected, Next all the rungs in the ladder logic are check to ensure that each rung has a least ane terminator and at most one terminator, where a terminator is an output that is connected directly to the right terminator bar. A verification that the left and right sides of a parameter are not connected to one another is then performed.
15 A cheok to ensure that a rung is connected to both the left terminator bar and the right terminator is performed next. Subsequently a check is made to ve~riy that all parameters with the same names have the same labels and that ps~rameters with different names don't have the same labels. Finally all properties of al) parameters are then tested for validity. The compile function, which is performed next starts with 20 getting a list of all the rungs. Next all the parameters for the first rung in the list are found, The terminator parameter for the rung is then used as the right side of the Boolean equation that is to be stored in the operating program. Next a list of arrangements of parameters representing the Boolean operations of AND, ~R, Not, ete are is taken and match to the configurations of the parameters in the current rung. It match reduces the rung, similar to a flag until no more reductions can he done. When only one parameter remains the compile is almost complete. The last step is to take the names of the parameters and substitute to create the Boolean equation in reverse polish notation (RPN).
Standard Notation - A~(B~C)&(!D) RPN - A, B, C, ~, &, D, !, 8~
The Boolean equation is then saved to the operating program format and the next rung in the list is then reduced until all the rungs have been reduced.
Loos Provides a record of error that may of occurred either in communication or with the control apparatus. Also includes an Audit Log of user activity.
Download Firmware This allows the user to program the basic program section of the control modules in the control apparatus.
Download Lagic This sends the current compiled logic displayed in the Ladder Logic Drawing window to the control apparatus.
Ualaad Loaic This loads the ladder logic from the cantml apparatus and displays it in the Ladder Logic drawing window Securi This allows mufti-tiered access to be assigned to users and passwords to be set for the application to prevent unauthorized use of the editing and diagnostic tools, HELP
Contents, Index, About The diagnostic tool provides the user with a real time view of the system while it is operating. The tool itself displays the vehicle udder Logic in a screen very similar to the drawing window, except editing and drawing is not allowed. The ladder logic displayed has color cx~ding depending an the state of inputs and outputs and whether a specific module is powered or not. For example, ladder logic symbols are colored GREEN if the input or output they represent is s~ctlve in the system, otherwise the symbols are colored RED. if a module is not powered up, the logic symbols are colored black to represent an unknown state.
In addition to viewing, symbols can be forced to ACTIVE or INACTIVE
states. That is, a symbol representing module 1 input 1 can be forced to the ACTIVE state even if the input itself is inactive on the vehicle. The forced state overrides the actual state and allows the user to create certain conditions in the system to aid in logic and vehicle debugging. Symbols that are forced have a solid line box drawn around the symbol.
Z0 The diagnostic tool has very simple operation. Symbols within the diagnostic window can be right Clicked on to bring up a popup menu to force their state ACTIVE or INACTIVE. A "panic button" is offered by right clicking and selecting A~l_ FORCED STATES RESET which will switch all symbols that were forced back to the value current on the vehicle.
The following t~royides the Ladder Looic Grammar used in the ooeratinra Droaram file.
General:
Parameters on the same line are separated with a semi-colt~n.
Individual parts of a parameter are separated with a comma.
Definitions:
~analog~ = Analog input 1U ~descr~ption> = Description of rung tem~inator <digital> = Digital input <flag3 = Flag numbr~r ~label> = Textual description of parameter ~output~ = output personality revisions = Revision level of system personality versions = Differentiates between different systems ERPN equations = Comma separated list of operands and operators.
soft start times = Time to linearly ramp to full output, ~spn> = J1939 Suspect Parameter Number ~0 system name> = Name assigned to whole system <telltales = Telltale number ~VMM terminators = Cctimer~ J F<flag~ J O~output~ J T~telltale> J
Saspn~

~timer> = Timer number ~vmm> = Module address Ladder Lo iq c O~eratin4 Pro~tram File Fom~at:
""LLF
NAME =<system name>
VERSION=tpersonality version>
REVISION=~persenality revision>
*VMM
V~vmm>;~label>
*SYMBOLS
A<analog>;~label>
...- Analog A~analog>;~label>
CEtimer>;~Iabel>
1 a ...- Timer C~timer>;~label>
F~flag>;<label>
...- Flag F~flag>;<label>
I<input>;<label>
...- Input 1<input>;~label>
O~output>;~label~

..- Output O<output~;<label>
S<spn~;~label~
...- J'1939 SPN
S<spn~;<label~
T<telltale>;<label~
...- Telltale T<telltale~;<label~
*INIT
10 '1'T=Y ( N;HIGH=[<digital,...,~cdigital~);OPEN=[<autput>,...,<outputy) - Specifies if telltales controlled by this module, active high inputs, and outputs to check far apen circuit.
C<timer~;TYPE=B ( M ~ O ~ P;DATA=<data~[,...,rdata~l ...- Delay on Break, Delay on Make, One Shot, Periodic. Periodic 15 requires 2 ~data~ fields. All other types require 1 field.
C<timer~;TYPE=B ~ M ~ O ~ P;DATA=<data~[,...,<data~l (Fatlag>;INIT=0 ~ 11 ...- Initial state of the fag {default if nat specified is 0).
[F<ffag~;INIT=0 ~ 1]
20 (O~autput>;TIME=soft start time]
...- Specifes ramp up time to control an output {0 means no ramp, default if not specified is 0).
[a<autput~;TIME=<saft start time>]

"LQGIC
~VMM terminator>;~RPN equation~;~description~
...- See next section for RPN equations.
~VMM terminator~;~RPN equation;<descriptiona "VMM
V~vmm~;~label~
'"SYMBOLS
A~analog~;~label~
...- Analog A~artalog~;~labet~
C~timery;~label~
...- Timer t;<timer~; ~label>
F~flag~;<label~
...- Flag F~flag~;~label~
I~input~;Elabel?
,..- Input I<input~;~label~
Q~output~;~label~
...- output Q~output~;~label~
S~spn>;<labely ...- J1939 SPN
S<5pn~;<labeh T<telltale~;<labei~
...- Telltale T<telltale~;<label~
*INIT
TT=Y [ N;HIGH=[<digital~,...,<digital];OPEN=[<output>,...,<output>]
- Specifies if telltales controlled by this module, active high inputs, and outputs to check for open circuit.
C<timer~;TYPE=B ~ M ~ 0 ~ P;DATA=<data~[,...,<data~]
...- Delay on Break, Delay on Make, One Shat, Periodic. Periodic requires 2 <data~ gelds. All other types require 1 field.
C<timer~;TYPE=B ~ M ~ O ~ P;DATA~.<dataa[,...,<data~]
[F<gag~;INIT=U ~ 1]
1~ ...- Initial state of the flag (default if not specified is 0).
[F<flag~;INIT=~ ~ 1]
[Oaoutput~;TIME=<soft start timed-]
...- Specifes ramp up time to Control an output (0 means no ramp, default if not specified is 0).
2D [O<output~;TIME=<soft start time]
*LOGIC
<VMM terminator>;<RPN equation3;<description~
...- See next section for RPN equations.

~VAAM terminator~;~RFN equation~;~description~
~'ENI~
RPN Equations:
Operands:
A~vmm~-Eanalog?
C<vmm>-<timer~
F<vrnm~-<flag?
i<vmm>-<inputa O<vmm~-coutput~
8<spn>
Numbers (e.g. 0, 1, 100, etc.) Operators:
Operator Function Parameters & Logical AND 2 Log ical 4R

! Logical NOT 1 <, ? Comparison 2 +, -, "',1 Mathematics! 2 Change Pulse Width 2 Modulation for current output terminator.

Since various modifications can be made in my invention as herein above described, and many apparently widely different embodiments of same made within the spirit and scope of the claims without department from such spirit and scope, it is intended that all matter contained in the accompanying specification shall be interpreted as illustrative only and not in a limiting sense.

Claims (20)

1. A method comprising:
providing at least one control module having:
a plurality of input terminals each arranged for receiving at least one input from a respective one of a plurality of sources of input signals;
a plurality of output terminals arranged for connection to a respective one of a plurality of controlled elements;
a plurality of switches each associated with a respective one of the output terminals for effecting control of the respective controlled element;
a processor arranged so as to actuate the switches in response to data from the input terminals in accordance with a predetermined operating program;
a communications port for communication of data to and from the processor;
the operating program including a set of logic steps in an operating program format by which the switches are actuated in dependence upon predetermined characteristics of one or more of the input signals;
the operating program being stored in the control module;
providing a personal computer having:
a communications port for communication with the processor through the communications port of the control module;
an operator interface for displaying data to the operator and for receiving commands from the operator;

providing a programming and diagnostic program in the personal computer;
on receipt of a command from the operator through the personal computer, causing the control module to output the set of logic steps in operating program format to the personal computer;
causing the personal computer to receive and store the set of logic steps;
causing the personal computer using the programming and diagnostic program to convert the set of logic steps in operating program format stored in the personal computer from the operating program format into an operator viewable graphic display in ladder logic format and to display the graphic display of the logic steps on the operator interface;
causing the personal computer using the programming and diagnostic program to allow the operator to generate and/or modify the set of logic steps stored in the personal computer and viewed in the operator viewable graphic display;
and causing the personal computer using the programming and diagnostic program to convert the operator viewable graphic display of the generated logic steps into the operating program format and to transmit the generated logic steps in the operating program format to the control module for storage therein.
2. The method according to Claim 1 including providing a diagnostic function by monitoring the status of the inputs and outputs.
3. The method according to Claim 1 including providing a diagnostic function by allowing the operator to effect forcing the status of the inputs and outputs.
4. The method according to Claim 1 wherein the set of logic steps in operating program format is compressed relative to the operator viewable graphic display.
5. The method according to Claim 4 wherein the set of logic steps in operating program format contains Boolean equations in reverse polish notation.
6, The method according to Claim 4 wherein the set of logic steps in operating program format is reduced through short hand writing of the terms and using file position for identification.
7. The method according to Claim 4 wherein the conversion of the viewable graphic display to the set of logic steps in operating program format is done via reduction through predefined configurations of the AND, OR and NOT
symbols.
8. The method according to Claim 4 wherein the conversion of the viewable graphic display to the set of logic steps in operating program format is done to provide reduction by using predefined configurations for parameters in the arrangements of the AND, OR and NOT symbols.
9. The method according to Claim 4 wherein an initialization section of the set of logic steps in operating program format contains the initialization for properties of the parameters contained in the program.
10. A method comprising:
providing a communication bus;
providing a plurality of control modules each having:

a plurality of input terminals each arranged for receiving at least one input from a respective one of a plurality of sources of input signals;
a plurality of output terminals arranged for connection to a respective one of a plurality of controlled elements;
a plurality of switches each associated with a respective one of the output terminals for effecting control of the respective controlled element;
a processor arranged so as to actuate the switches in response to data from the input terminals in accordance with a predetermined operating program;
a communications part connected to the communications bus for communication of data to and from the processor;
the operating program being stored independently in each of the control modules;
the operating program including a set of logic steps in an operating program format by which the switches are actuated in dependence upon predetermined characteristics of one or more of the input signals;
providing a personal computer having:
a communications port for communication with the processor through the communications port of the control module;
an operator interface for displaying data to the operator and for receiving commands from the operator;
providing a programming and diagnostic program in the personal computer;

on receipt of a command from the operator through the personal computer, causing one of the control modules to output the set of logic steps in operating program format to the personal computer;
causing the personal computer to receive and store the set of logic steps;
causing the personal computer using the programming and diagnostic program to convert the set of logic steps in operating program format stored in the personal computer from the operating program format into an operator viewable graphic display in ladder logic format and to display the graphic display of the logic steps on the operator interface;
causing the personal computer using the programming and diagnostic program to allow the operator to generate and/or modify the set of logic steps stored in the personal computer and viewed in the operator viewable graphic display;
and causing the personal computer using the programming and diagnostic program to convert the operator viewable graphic display of the generated logic steps into the operating program format and to transmit the generated logic steps in the operating program format to the control modules for storage therein.
11. The method according to Claim 10 wherein the control modules each have a different function such that each receives input from a different one or more of the sources of input data and each effects control of a different one or more of the controlled elements and wherein said predetermined program is the same in each of the control modules and includes a base program and an operating program portion having respective sub-portions thereof with each sub-portion arranged to control the function of the respective module in which the program is stored.
12. The method according to Claim 11 wherein the control modules and the predetermined program therein are arranged such that, at a predetermined condition of the apparatus, the processor of each module emits to the communication bus a signal indicative of the operating program portion stored in the respective module, such that there is effected a comparison of the emitted signals, and such that, in the event that the emitted signal of one of the modules is different from that of the others, a selected one of the others is arranged to download the operating program portion from said selected one to said different one.
13. The method according to Claim 10 including providing a diagnostic function by monitoring the status of the inputs and outputs.
14. The method according to Claim 10 including providing a diagnostic function by allowing the operator to effect forcing the status of the inputs and outputs.
15. The method according to Claim 10 wherein the set of logic steps in operating program format is Compressed relative to the operator viewable graphic display.
16. The method according to Claim 15 wherein the set of logic steps in operating program format contains Boolean equations in reverse polish notation.
17. The method according to Claim 15 wherein the set of logic steps in operating program format is reduced through chart hand writing of the terms and using file position for identification.
18. The method according to Claim 15 wherein the conversion of the viewable graphic display to the set of logic steps in operating program format is done to provide reduction by using predefined configurations for parameters in the arrangements of the AND, OR and NOT symbols.
19. The method according to Claim 15 wherein the conversion of the set of logic steps in operating program format to the viewable graphic display is achieved through predefined placement and interconnection configuration for the AND, OR and NOT symbols.
20. A method of controlling controlled elements in a vehicle comprising:
providing a plurality of controlled elements;
providing a plurality of sources of input signals;
providing a communication bus;
providing a plurality of control modules each having:
a plurality of input terminals each arranged for receiving at least one input from a respective one of the plurality of sources of input signals;
a plurality of output terminals arranged for connection to a respective one of a plurality of the controlled elements;
a plurality of switches each associated with a respective one of the output terminals for effecting control of the respective controlled element;
a processor arranged so as to actuate the switches in response to data from the input terminals in accordance with a predetermined operating program;

a communications port connected to the communications bus for communication of data to and from the processor;
the operating program being stored independently in each of the control modules;
the operating program including a set of logic steps in an operating program format by which the switches are actuated in dependence upon predetermined characteristics of one or more of the input signals;
providing a personal computer having:
a communications port far communication with the processor through the communications port of the control module;
an operator interface for displaying data to the operator and for receiving commands from the operator;
providing a programming and diagnostic program in the personal computer;
on receipt of a command from the operator through the personal computer, causing one of the control modules to output the set of logic steps in operating program format to the personal computer;
causing the personal computer to receive and store the set of logic steps;
causing the personal computer using the programming and diagnostic program to convert the set of logic steps in operating program format stored in the personal computer from the operating program format into an operator viewable graphic display in ladder logic format and to display the graphic display of the logic steps on the operator interface;
causing the personal computer using the programming and diagnostic program to allow the operator to generate and/or modify the set of logic steps stored in the personal computer and viewed in the operator viewable graphic display;
and causing the personal computer using the programming and diagnostic program to convert the operator viewable graphic display of the generated logic steps into the operating program format and to transmit the generated logic steps in the operating program format to the control modules for storage therein.
CA002311579A 2000-06-14 2000-06-14 Electrical control apparatus including retrievable stored operationing program Expired - Lifetime CA2311579C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CA002311579A CA2311579C (en) 2000-06-14 2000-06-14 Electrical control apparatus including retrievable stored operationing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA002311579A CA2311579C (en) 2000-06-14 2000-06-14 Electrical control apparatus including retrievable stored operationing program

Publications (2)

Publication Number Publication Date
CA2311579A1 CA2311579A1 (en) 2001-12-14
CA2311579C true CA2311579C (en) 2007-01-09

Family

ID=4166482

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002311579A Expired - Lifetime CA2311579C (en) 2000-06-14 2000-06-14 Electrical control apparatus including retrievable stored operationing program

Country Status (1)

Country Link
CA (1) CA2311579C (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7937172B2 (en) 2004-07-28 2011-05-03 Mitsubishi Electric Corporation Program creating device for programmable controller, program creating method for programmable controller, and recording medium having program recorded thereon

Also Published As

Publication number Publication date
CA2311579A1 (en) 2001-12-14

Similar Documents

Publication Publication Date Title
US6580953B1 (en) Electrical control apparatus including retrievable stored operationing program
CA2282881C (en) Electrical control apparatus including a plurality of programmable modules
KR101230902B1 (en) System for evaluating electronic parts using vehicle simulator
US6865460B2 (en) Communication network for an automobile
US6622070B1 (en) Diagnostic device for monitoring a sub-system in a motor vehicle
US8000815B2 (en) Method for the supplying and installation of device-specific functionalities and/or data for the field devices of a distributed system
US5991537A (en) VXI test executive
KR0158132B1 (en) Self-diagnosing system and method for engine electronic controller
US6405110B1 (en) Failure diagnosis apparatus and failure diagnosis method of vehicular electronic control system
JP2002518638A (en) Electronic controls for devices that generate compressed air or vacuum
CN110018681B (en) Modular UDS diagnosis service configuration method
CN113189970A (en) Hardware-in-loop automatic test method and system of CAN bus controller and storage medium
CN106502236A (en) BCM multimachines automatization test system and method
CA2311579C (en) Electrical control apparatus including retrievable stored operationing program
JP3189937B2 (en) Control specification design management system used for load control equipment
CN100428095C (en) Method for generating a structure representation which describes a specific automation system
EP1436822A1 (en) Smart awa
EP1229450A1 (en) Diagnostic method and system
CN113655779A (en) Test method for discharging related network fault codes
CN214584049U (en) Automobile control unit maintenance diagnosis test platform
CN114274899A (en) Direct current motor assembly and whole vehicle control system
CN112829956B (en) Target-configurable unit alarm system and configuration method for same
KR20010094098A (en) Automatic display method of guided information
Moore et al. Implementing Class A Multiplexing Functions with Industry Standard Components
CN117724785A (en) Vehicle configuration for integrated accessories

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20200614