Language selection

Search

Patent 2311579 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 2311579
(54) English Title: ELECTRICAL CONTROL APPARATUS INCLUDING RETRIEVABLE STORED OPERATIONING PROGRAM
(54) French Title: APPAREIL DE COMMANDE ELECTRIQUE INTEGRANT UN PROGRAMME D'EXPLOITATION STOCKE RECUPERABLE
Status: Expired
Bibliographic Data
(51) International Patent Classification (IPC):
  • G05B 19/05 (2006.01)
  • G06F 13/38 (2006.01)
  • G06F 9/445 (2006.01)
(72) Inventors :
  • WIEBE, CORY JAMES (Canada)
  • POOLE, MARK CHARLES (Canada)
  • MOORE, KELLY JAMES (Canada)
  • KUUSELA, MICHAEL ANTON (Canada)
(73) Owners :
  • VANSCO ELECTRONICS LP (Canada)
(71) Applicants :
  • VANSCO ELECTRONICS LTD. (Canada)
(74) Agent: ADE & COMPANY INC.
(74) Associate agent:
(45) Issued: 2007-01-09
(22) Filed Date: 2000-06-14
(41) Open to Public Inspection: 2001-12-14
Examination requested: 2003-04-09
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data: None

Abstracts

English 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.


French Abstract

Un système de commande électrique pour véhicules dispose d'une pluralité de modules de commande distincts qui communiquent entre eux grâce à un bus de transmission. Un programme opérationnel est installé dans chacun des modules de sorte que tous les modules contiennent de la programmation pour les fonctions de chacun des modules. Un système de programmation et de diagnostic, qui comprend un PC et un programme, se connecte au bus pour télécharger le programme à partir de l'un des modules de sorte à générer, modifier ou visualiser les étapes de logique d'un programme en représentation ladder, qui est ensuite converti en format de système d'exploitation pour communication aux modules. De plus, le statut des entrées et des sorties des modules de l'appareil peut être affiché et imposé en utilisant le système de programmation et de diagnostic.

Claims

Note: Claims are shown in the official language in which they were submitted.



45

CLAIMS:

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;



46

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



47

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:



48

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;



49

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



50

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.



51


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;


52


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


53


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.

Description

Note: Descriptions are shown in the official language in which they were submitted.


CA 02311579 2005-08-15
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.

CA 02311579 2005-08-15
2
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.

CA 02311579 2005-08-15
3
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;

CA 02311579 2005-08-15
4
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

CA 02311579 2005-08-15
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.

CA 02311579 2005-08-15
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

CA 02311579 2005-08-15
7
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

CA 02311579 2005-08-15
8
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

CA 02311579 2005-08-15
9
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

CA 02311579 2005-08-15
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

CA 02311579 2005-08-15
11
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

CA 02311579 2005-08-15
12
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

CA 02311579 2005-08-15
13
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

CA 02311579 2005-08-15
14
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

CA 02311579 2005-08-15
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

CA 02311579 2005-08-15
16
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.

CA 02311579 2005-08-15
17
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

CA 02311579 2005-08-15
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

CA 02311579 2005-08-15
19
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

CA 02311579 2005-08-15
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

CA 02311579 2005-08-15
21
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.

CA 02311579 2005-08-15
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.

CA 02311579 2005-08-15
Z3
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

CA 02311579 2005-08-15
24
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

CA 02311579 2005-08-15
2S
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

CA 02311579 2005-08-15
~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.

CA 02311579 2005-08-15
27
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

CA 02311579 2005-08-15
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

CA 02311579 2005-08-15
29
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

CA 02311579 2005-08-15
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.

CA 02311579 2005-08-15
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

CA 02311579 2005-08-15
32
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

CA 02311579 2005-08-15
33
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

CA 02311579 2005-08-15
34
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

CA 02311579 2005-08-15
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,

CA 02311579 2005-08-15
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

CA 02311579 2005-08-15
37
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

CA 02311579 2005-08-15
38
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~

CA 02311579 2005-08-15
39
~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~

CA 02311579 2005-08-15
..- 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>]

CA 02311579 2005-08-15
41
"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

CA 02311579 2005-08-15
42
...- 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.

CA 02311579 2005-08-15
43
~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.



CA 02311579 2005-08-15
44
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.

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date 2007-01-09
(22) Filed 2000-06-14
(41) Open to Public Inspection 2001-12-14
Examination Requested 2003-04-09
(45) Issued 2007-01-09
Expired 2020-06-14

Abandonment History

There is no abandonment history.

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Application Fee $300.00 2000-06-14
Registration of a document - section 124 $100.00 2000-08-21
Maintenance Fee - Application - New Act 2 2002-06-14 $100.00 2002-06-06
Request for Examination $400.00 2003-04-09
Maintenance Fee - Application - New Act 3 2003-06-16 $100.00 2003-05-30
Maintenance Fee - Application - New Act 4 2004-06-14 $100.00 2004-06-07
Registration of a document - section 124 $100.00 2004-09-23
Registration of a document - section 124 $100.00 2004-09-23
Registration of a document - section 124 $100.00 2004-09-23
Registration of a document - section 124 $100.00 2004-12-08
Maintenance Fee - Application - New Act 5 2005-06-14 $200.00 2005-06-10
Maintenance Fee - Application - New Act 6 2006-06-14 $200.00 2006-03-30
Final Fee $300.00 2006-10-10
Maintenance Fee - Patent - New Act 7 2007-06-14 $200.00 2007-05-02
Registration of a document - section 124 $100.00 2008-01-31
Maintenance Fee - Patent - New Act 8 2008-06-16 $200.00 2008-05-05
Maintenance Fee - Patent - New Act 9 2009-06-15 $200.00 2009-06-09
Maintenance Fee - Patent - New Act 10 2010-06-14 $250.00 2010-05-18
Maintenance Fee - Patent - New Act 11 2011-06-14 $250.00 2011-06-09
Maintenance Fee - Patent - New Act 12 2012-06-14 $250.00 2012-05-22
Maintenance Fee - Patent - New Act 13 2013-06-14 $250.00 2013-04-17
Maintenance Fee - Patent - New Act 14 2014-06-16 $250.00 2014-03-19
Maintenance Fee - Patent - New Act 15 2015-06-15 $450.00 2015-03-24
Maintenance Fee - Patent - New Act 16 2016-06-14 $650.00 2017-06-12
Maintenance Fee - Patent - New Act 17 2017-06-14 $450.00 2017-06-12
Maintenance Fee - Patent - New Act 18 2018-06-14 $450.00 2018-06-11
Maintenance Fee - Patent - New Act 19 2019-06-14 $450.00 2019-06-07
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
VANSCO ELECTRONICS LP
Past Owners on Record
KUUSELA, MICHAEL ANTON
MOORE, KELLY JAMES
NOVA ACQUISITION MANITOBA LP
POOLE, MARK CHARLES
T.E.C.M. LIMITED
TECARMAR INC.
VANSCO ELECTRONICS LTD.
WIEBE, CORY JAMES
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Drawings 2001-09-10 4 84
Representative Drawing 2001-11-20 1 16
Description 2000-06-14 40 1,468
Abstract 2000-06-14 1 45
Claims 2000-06-14 5 158
Drawings 2000-06-14 4 98
Cover Page 2001-12-07 2 67
Abstract 2003-04-09 1 22
Claims 2003-04-09 9 319
Description 2003-04-09 44 1,610
Abstract 2005-08-15 1 18
Claims 2005-08-15 9 266
Description 2005-08-15 44 1,356
Representative Drawing 2006-05-30 1 7
Cover Page 2006-12-29 2 44
Correspondence 2000-07-25 1 2
Assignment 2000-06-14 3 90
Assignment 2000-08-21 4 121
Correspondence 2001-09-10 5 111
Prosecution-Amendment 2003-04-09 56 2,018
Correspondence 2003-06-18 1 15
Assignment 2004-09-23 16 677
Assignment 2004-12-08 4 137
Correspondence 2005-01-11 1 15
Prosecution-Amendment 2005-02-21 58 2,545
Prosecution-Amendment 2005-05-27 2 62
Prosecution-Amendment 2005-08-15 57 1,713
Correspondence 2006-10-10 2 49
Assignment 2008-01-31 3 123
Correspondence 2008-04-21 2 2