Sélection de la langue

Search

Sommaire du brevet 2047703 

Énoncé de désistement de responsabilité concernant l'information provenant de tiers

Une partie des informations de ce site Web a été fournie par des sources externes. Le gouvernement du Canada n'assume aucune responsabilité concernant la précision, l'actualité ou la fiabilité des informations fournies par les sources externes. Les utilisateurs qui désirent employer cette information devraient consulter directement la source des informations. Le contenu fourni par les sources externes n'est pas assujetti aux exigences sur les langues officielles, la protection des renseignements personnels et l'accessibilité.

Disponibilité de l'Abrégé et des Revendications

L'apparition de différences dans le texte et l'image des Revendications et de l'Abrégé dépend du moment auquel le document est publié. Les textes des Revendications et de l'Abrégé sont affichés :

  • lorsque la demande peut être examinée par le public;
  • lorsque le brevet est émis (délivrance).
(12) Brevet: (11) CA 2047703
(54) Titre français: SYSTEME DE COMMANDE DU TRAITEMENT REPARTI POUR SOUDAGE AUTOMATIQUE
(54) Titre anglais: DISTRIBUTED PROCESSING CONTROL SYSTEM FOR AUTOMATIC WELDING OPERATION
Statut: Périmé et au-delà du délai pour l’annulation
Données bibliographiques
(51) Classification internationale des brevets (CIB):
  • B23K 9/095 (2006.01)
  • B23K 9/12 (2006.01)
(72) Inventeurs :
  • TEWS, PAUL A. (Etats-Unis d'Amérique)
(73) Titulaires :
  • CRC-EVANS PIPELINE INTERNATIONAL INC.
(71) Demandeurs :
  • CRC-EVANS PIPELINE INTERNATIONAL INC. (Etats-Unis d'Amérique)
(74) Agent: KIRBY EADES GALE BAKER
(74) Co-agent:
(45) Délivré: 1999-03-30
(86) Date de dépôt PCT: 1990-01-04
(87) Mise à la disponibilité du public: 1991-07-05
Requête d'examen: 1996-12-16
Licence disponible: S.O.
Cédé au domaine public: S.O.
(25) Langue des documents déposés: Anglais

Traité de coopération en matière de brevets (PCT): Oui
(86) Numéro de la demande PCT: PCT/US1990/000020
(87) Numéro de publication internationale PCT: US1990000020
(85) Entrée nationale: 1991-09-04

(30) Données de priorité de la demande: S.O.

Abrégés

Abrégé français

Une machine à souder automatique est utilisée dans un groupe de soudage interne (30) passant le long de l'intérieur d'une conduite et effectuant les passes de soudure intérieure à la jonction de l'embranchement des conduites (32, 33). Le groupe de soudage interne possède un système de commande électronique comprenant plusieurs ensembles de commande par microprocesseurs (92, 98), chacun d'entre eux effectuant des opérations spécifiques fonctionnelles pour le groupe de soudage interne. Les ensembles de commande par microprocesseurs sont interconnectés par une liaison de communication sérielle (110) qui permet de transmettre les commandes et les données entre la totalité des ensembles de commande par microprocesseurs. Le système de commande comprend un ensemble de commande d'extrémité arrière (92) situé dans le groupe de soudage interne, un ensemble de commande d'extrémité frontale (94) avec un panneau dans le groupe de soudage, un ensemble de commande de baguette de soudage (96) situé à l'extrémité de celle-ci et un ensemble de commande d'alimentation électrique (98) adjacent à l'alimentation électrique de l'arc.


Abrégé anglais


An automatic welder is used in an internal welder unit (30) which travels along the interior of a pipeline and provides the
interior weld passes at the junction of abutting pipe joints (32, 33). The internal welder unit has an electronic control system which
includes a plurality of microprocessor control units, (92-98) each of which performs specific functional operations for the internal
welder unit. The microprocessor control units are interconnected by a serial communication link (100) which permits the
transmission of commands and data between all of the microprocessor control units. The control system includes a back end control
unit (92) positioned in the internal welder unit, a front end control unit (94) with a panel in the weld unit, a reach rod control unit
(96) at the end of reach rod and a power supply control unit (98) adjacent the arc power supply.

Revendications

Note : Les revendications sont présentées dans la langue officielle dans laquelle elles ont été soumises.


-91-
1. A control system for a welding machine which
performs a plurality of functional operations including,
positioning a welder along a path, providing power for a
welding arc, supplying a shielding gas and feeding an
electrode wire, the control system comprising:
a communication link,
a plurality of microprocessor control units each
connected to communicate via said communication link,
each said microprocessor control unit connected to
operate associated apparatus that carries out at least one
of said functional operations,
at least one of said microprocessor control units for
receiving commands via said communication link, said
commands causing said receiving microprocessor control unit
to direct the operation of the associated apparatus to carry
out a corresponding functional operation,
a control panel for generating control signals
corresponding respectively to said functional operations,
and
at least one of said microprocessor control units
connected to said control panel for receiving said control
signals and producing corresponding commands for
transmission via said communication link to ones of said
microprocessor control units.
2. A control system for a welding machine as recited
in Claim 1 wherein said communication link comprises a
two-wire line for serial communication.

92
3. A control system for a welding machine as recited
in Claim 1 wherein a first of said microprocessor control
units includes an analog to digital converter connected to
monitor an arc voltage of the welder and for producing
digital samples, said first microprocessor control unit for
transmitting said digital samples via said communication
link to a second of said microprocessor control units which
includes a digital to analog converter for transforming said
digital samples into an analog signal proportional to said
arc voltage.
4. A control system for a welding machine as recited
in Claim 1 including a second control panel for generating a
second set of control signals corresponding to said
functional operations, and a second microprocessor control
unit connected to said second control panel for receiving
said second set of control signals and producing
corresponding commands for transmission via said
communication link ones of said microprocessor control
units.

93
5. A control system for a welding machine which
performs a plurality of functional operations including
positioning a welder along a path, providing power for a
welding arc, supplying a shielding gas and feeding an
electrode wire, the control system comprising:
a communication link,
a plurality of microprocessor control units each
connected to communicate via said communication link,
a plurality of said microprocessor control units each
connected to operate associated apparatus that carries out
at least one of said functional operations,
at least one of said microprocessor control units for
receiving commands via said communication link, said
commands causing said receiving microprocessor control unit
to direct the operation of the associated apparatus to carry
out a corresponding functional operation,
a control panel for generating control signals
corresponding respectively to said functional operations,
at least one of said microprocessor control units
connected to said control panel for receiving control
signals and producing corresponding commands for
transmission via said communication link to ones of said
microprocessor control units,
each of said microprocessor control units having a
corresponding switch with multiple settings,
each of said microprocessor control units having a
corresponding program memory, and
a single program having different segments, each said
program segment being carried out by one said microprocessor
control unit, said program segment for controlling a
microprocessor control unit to carry out the operations

94
associated therewith, said single program being loaded into
each said program memory, and wherein said program
identifies the segments thereof for execution by reference
to a setting of switches associated with the microprocessor
control unit.
6. A control system for a welding machine as recited
in Claim 5 wherein said communication link comprises a
two-wire line for serial communication.
7. A control system for a welding machine as recited
in Claim 5 wherein a first of said microprocessor control
units includes an analog to digital converter connected to
monitor an arc voltage for the welder and for producing
digital samples, said first microprocessor control unit for
transmitting said digital samples via said communication
link to a second of said microprocessor control units which
includes a digital to analog converter for transforming said
digital samples into an analog signal proportional to said
arc voltage.
8. A control system for a welding machine as recited
in Claim 5 including a second control panel for generating a
second set of control signals corresponding to said
functional operations, and a second of said microprocessor
control units is connected to said second control panel for
receiving said second set of control signals and producing
corresponding commands for transmission via said
communication link to others of said microprocessor control
units.

9. A control system for controlling an internal
welder unit having a frame adapted for passage through a
pipeline, the welder unit having a plurality of functional
units, and including a motor for driving said welder unit
longitudinally along said pipeline, one or more internal
welders each for providing an arc through a feed wire which
is directed into an internal gap at a junction of pipe
joints of said pipeline for welding the joints together, and
for providing a shielding gas for said arc, a motor
supported by said frame for driving the welders along the
gap, aligners mounted on the frame for aligning the internal
welders at a pipe joint, brakes for clamping the welding
unit within the pipeline, and a power supply external to
said pipeline for generating power for said arc, the control
system comprising,
a communication link for extending from outside said
pipeline to the frame of said welder unit,
a plurality of microprocessor control units each
connected to communicate via said communication link,
each said microprocessor control unit connected to
control one or more of said functional units,
at least one of said microprocessor control units for
receiving commands from said communication link, said
commands causing said receiving microprocessor control unit
to direct the operation of a corresponding functional unit
to carry out operations for that functional unit,
a control panel for generating control signals
corresponding respectively to said functional units, and

96
at least one of said microprocessor control units
connected to said control panel for receiving said control
signals and producing corresponding commands for
transmission via said communication link to other of said
microprocessor control units for operating associated
functional units.
10. A control system for a welding machine as recited
in Claim 9 wherein said communication link comprises a
two-wire line for serial communication.
11. A control system for a welding machine as recited
in Claim 9 wherein a first of said microprocessor control
units includes an analog to digital converter connected to
monitor an arc voltage of the welder and for producing
digital samples, said first microprocessor control unit for
transmitting said digital samples via said communication
link to a second of said microprocessor control units which
includes a digital to analog converter for transforming said
digital samples into an analog signal proportional to said
arc voltage.
12. A control system for a welding machine as recited
in Claim 9 including a second control panel for generating a
second set of control signals corresponding to said
functional units, and a second of said microprocessor
control units is connected to said second control panel for
receiving said second set of control signals and producing
corresponding commands for transmission via said
communication link to other of said microprocessor control
units.

97
13. A control system for controlling an internal
welder unit having a frame adapted for passage through a
pipeline, the welder unit having a plurality of functional
units, and including a motor for driving said welder unit
longitudinally along said pipeline, one or more internal
welders each for providing an arc through a feed wire which
is directed into an internal gap at a junction of pipe
joints of said pipeline for welding the joints together, and
for providing a shielding gas for said arc, a motor
supported by said frame for driving the welders along the
gap, aligners mounted on the frame for aligning the internal
welders at a pipe joint, brakes for clamping the welding
unit within the pipeline, and a power supply external to
said pipeline for generating power for said arc, the control
system comprising,
a communication link for extending from outside said
pipeline to the frame of said welder unit,
a plurality of microprocessor control units each
connected to communicate via said communication link,
each said microprocessor control unit connected to
control one or more of said functional units,
at least one of said microprocessor control units for
receiving commands from said communication link, said
commands causing said receiving microprocessor control unit
to direct the operation of a corresponding functional unit
to carry out operations for that functional unit,
a control panel for generating control signals
corresponding respectively to said functional units,
at least one of said microprocessor control units
connected to said control panel for receiving said control
signals and producing corresponding commands for

98
transmission via said communication link to other of said
microprocessor control units for operating associated
functional units,
each of said microprocessor control units having a
switch with multiple settings,
each of said microprocessor control units having a
program memory, and
a single program having a plurality of segments and
each said microprocessor control unit being controlled by a
different said program segment, said respective program
segments for carrying out the operations for said
microprocessor control units, said single program being
loaded into each of said program memories, and wherein said
single program identifies the segments thereof for execution
by the respective microprocessor control units by reference
to the setting of the corresponding one of said switches.
14 . A control system for a welding machine as recited
in Claim 13 wherein said communication link comprises a
two-wire line for serial communication.

99
15. A control system for a welding machine as recited
in Claim 13 wherein a first of said microprocessor control
units includes an analog to digital converter connected to
monitor an arc voltage of the welder and for producing
digital samples, said first microprocessor control unit for
transmitting said digital samples via said communication
link to a second of said microprocessor control units which
includes a digital to analog converter for transforming said
digital samples into an analog signal proportional to said
arc voltage.
16. A control system for a welding machine as recited
in Claim 13 including a second control panel for generating
a second set of control signals corresponding to said
functional units, and a second of said microprocessor
control units is connected to said second control panel for
receiving said second set of control signals and producing
corresponding commands for transmission via said
communication link to other of said microprocessor control
units.

100
17. A control system for controlling an internal
welder unit to perform a plurality of functional operations
to produce internal welds at a junction of pipe joints, such
functions including positioning the welder unit along the
pipe joint, moving an internal welder along the pipe joint,
providing power for a welder arc, supplying a shielding gas
for the arc and feeding an electrode wire to the junction,
the control system comprising:
said internal welder unit for travel within said pipe
joints and having said internal welder mounted thereon for
performing internal welds at the junction of said pipe
joints,
a reach rod control box mounted on an end of a reach
rod connected to said internal welder unit,
a communication link that extends at least from said
reach rod control box to within said internal welder unit,
a first microprocessor control unit mounted to said
internal welder unit and connected to control the operation
of said internal welder, said first microprocessor control
unit connected to communicate via said communications link,
a second microprocessor control unit mounted in said
reach rod control box and connected to communicate via said
communication link, and
a control panel mounted at said reach rod control box,
said control panel for generating control signals
corresponding to the operations for said internal welder and
connected to provide said control signals to said second
microprocessor control unit which produces corresponding
commands for transmission via said communication link to

101
said first microprocessor control unit which in turn
controls the internal welder in response to the received
commands.
18. A control system for an internal welder unit as
recited in Claim 17 including a third microprocessor control
unit connected to control a power supply which generates
electrical power for said arc, said third microprocessor
control unit connected to communicate via said communication
link.
19. A control system for an internal welder unit as
recited in Claim 17 including a second control panel mounted
to said internal welder unit for generating a second set of
control signals for apparatus mounted on said internal
welder unit other than said internal welder, said second set
of control signals provided to a third microprocessor
control unit for controlling the operation of the apparatus,
said third microprocessor control unit connected to
communicate via said communication link.

102
20. A control system for a pipe joint welding system
having at least one internal welder and at least one
external welder, said welding system performing a plurality
of functional operations for each welder including,
positioning the welder along a pipe joint, providing power
for a welder arc, supplying a shielding gas and feeding an
electrode wire, the system comprising:
an internal welder unit for travel within said pipe
joint and having said internal welder for performing
internal welds at a junction of said pipe joints,
a reach rod control box mounted on an end of a reach
rod connected to said internal welder unit,
structure for mounting said external welder with
respect to a pipe joint and for driving said external welder
about said pipe joint,
a communication link,
a first microprocessor control unit mounted to said
internal welder unit and connected to control the operation
of said internal welder, said first microprocessor control
unit connected to communicate via said communication link,
a second microprocessor control unit mounted to said
reach rod control box and connected to communicate via said
communication link,
a control panel for generating control signals
corresponding to the operations for said internal welder and
connected to provide the control signals to said second
microprocessor control unit for producing corresponding
commands for transmission via said communication link to
said first microprocessor control unit which in turn
controls the internal welder in response to the received
commands, and

103
a third microprocessor control unit for controlling the
functional operation of said external welder, and connected
to communicate via said communication link.
21. A control system for a pipe joint welding system
as recited in Claim 20 including a terminal communicating
via said communication link for supplying commands to said
microprocessor control units and for receiving data via said
communication link from said microprocessor control units.
22. A control system for a pipe joint welding system
as recited in Claim 20 including a third microprocessor
control unit for controlling a power supply that generates
power for said arc, said third microprocessor control unit
communicating via said communication link.
23. A control system for a pipe joint welding system
as recited in Claim 20 including a second control panel
mounted to said internal welder unit and generates a second
set of control signals for controlling apparatus mounted on
said internal welder unit other than said internal welder,
said second set of control signals operated upon by a third
microprocessor control unit that controls the operation of
the apparatus, said third microprocessor control unit
communicating via said communication link.

104
24. A method of operation for an automatic welder unit
used for welding abutting junction of pipe joints defining a
junction, the welder unit having at least one welder which
is moved along the junction of the pipe joints by a drive
motor, comprising the steps of:
generating a position signal for indicating the
position of said welder along said pipe junction,
driving said welder by said drive motor to a first
selected position on said junction,
in response to a first input signal, recording a first
parameter representing said first selected position of said
welder, said first parameter produced as a function of said
position signal,
driving said welder by said drive motor to a second
selected position on said junction,
in response to a second input signal, recording a
second parameter representing said second selected position
of said welder, said second parameter produced as a function
of said position signal, and
activating said welder to carry out a weld pass along
said junction between said first and second selected
positions wherein said welder is positioned along said pipe
junction by use of said recorded first and second
parameters.

105
25. A method of operation for an automatic welder unit
used for welding abutting pipe joints defining a junction,
the welder unit having at least one welder which is moved
along the junction of the pipe joints by a drive motor,
comprising the steps of:
generating a position signal for indicating the
position of said welder along said pipe junction,
driving said welder by said drive motor to a clockwise
start position on said junction,
in response to a first input signal, recording a first
parameter representing said clockwise start position of said
welder, said first parameter produced as a function of said
position signal,
driving said welder by said drive motor to a clockwise
stop position on said junction,
in response to a second input signal, recording a
second parameter representing said clockwise stop position
of said welder, said first parameter produced as a function
of said position signal,
driving said welder by said drive motor to a
counterclockwise start position on said junction,
in response to a third input signal, recording a third
parameter representing said counterclockwise start position
of said welder, said third parameter produced as a function
of said position signal,
driving said welder by said drive motor to a
counterclockwise stop position on said junction,
in response to a fourth input signal, recording a
fourth parameter representing said counterclockwise stop
position of said welder, said fourth parameter produced as a
function of said position signal,

106
activating said welder to carry out a clockwise weld
pass along said junction between said clockwise start and
stop positions, wherein said welder is positioned along said
pipe junction by use of said recorded first and second
parameters, and
activating said welder to carry out a counterclockwise
weld pass along said junction between said counterclockwise
start and stop positions, wherein said welder is positioned
along said pipe junction by use of said recorded third and
fourth parameters.
26. A method of operation for an automatic welder unit
as recited in Claim 25 including the steps of:
driving said welder by said drive motor to a home
position on said junction, and
in response to a fifth input signal, recording a fifth
parameter representing said home position of said welder,
said fifth parameter produced as a function of said position
signal.

Description

Note : Les descriptions sont présentées dans la langue officielle dans laquelle elles ont été soumises.


WU 9l~ id201 PCT/US90/00020
2047'03
~.
DISTRIBUTED PROCESSING CONTROL SYSTEM
FOR AUTOMATIC WELDING OPERATION
FIELD OF THE INVENTION
The present invention pertains in general to
welding and electronic process control and in particular
to automatically controlled welders.

WO 91/1001 ~ NCT%US90/00020
BACxcROUNn of THE zNVENTioN
In the construction of pipelines it is necessary to
perform welding on the pipeline joints both internally
and externally. Access is not a problem in performing
the external weld, but it is a very substantial problem
in performing the internal weld pass. Since human
access is impossible in most applications, there have '
been developed automated internal welding machines which
perform this operation. Such an internal welding
machine is shown in U.S. Patent No. 3,612,808 to Nelson.
An internal automatic welder is described in U.S. Patent
No. 4,525,616 to Slavens.
Although internal welders are in wide use
throughout the world in the construction of pipelines,
these welders have drawbacks which limit their
productivity and increase the cost of operation. A
specific limitation in the use of automated welding
equipment, which is particularly acute for internal
welders, is the speed at which the welding pass is
performed. In an internal welding operation it is
difficult and expensive to make repairs for defective
welds. It is, therefore, imperative that the equipment
work properly for a very high percentage of the welding
operations. This, however, has led to a productivity
trade-off. At slower travel speeds for the automatic
welder, there is a higher probability that the arc will
be struck and properly initiated. If higher traveling
speeds are selected, the probability of properly
striking an arc is reduced. Therefore, since
reliability is of utmost importance, the travel speed of
automatic internal welders has been set to a relatively
slow rate to ensure proper arc initiation. However, the
slow rate required for high reliability arc initiation
causes the entire weld sequence to be excessively time
consuming. Thus, a principal drawback of conventional

WO 9 i / 10201 PCT/U590/000Z0
;,v,;; ' ,
3
automated welding equipment, and in particular internal
automated welders, is the slow travel speed necessary
for high quality welds.
A further limitation in the use of internal welders
is the complex and expensive electronic control system
required to operate the welders. A substantial number
of mechanical and electrical operations must be carried
out in using an internal welder machine. These steps
include moving the machine along the pipeline, properly
aligning the machine to the end of the pipe joint, '
clamping the machine to one pipe joint and then to a
next pipe joint, positioning the internal welders to the
appropriate positions for starting and stopping the weld
passes, clamping the machine within the pipes,
initiating welder operation including starting travel of
the welders, providing feed wire and providing a
shielding gas. Further, the arc must be constantly
monitored for each of the welders and provision must be
made for starting and stopping the welders at
appropriate locations. Almost all of these functions
must be initiated, monitored and stopped through
electronic equipment. However, an internal welder must
function in a severe environment. It must be used in
adverse weather conditions with extremes of temperature,
humidity and exposure to dust and smoke. The unit is
also subject to extreme physical stresses and rough
handling. The electronic control system in addition is
subjected to a harsh electrical environment due to the
static, transients and high currents produced by arc
welding. The extremely high current levels used in such
welding create substantial magnetic fields that can
affect the operation of electronic components. In
addition, welding equipment of this nature is often used
in remote locations and it is difficult to provide
maintenance and spare parts. Thus, simplicity and a

W O 91 / 10201 PCT/US90/00020
4
minimum number of parts for the control system is of
great importance.
Further, the large number of control operations
required to operate an internal welder result in the
creation of a very large cable bundle having numerous '
wires for operating the large number of solenoids,
switches and other electronic components. A large cable '
bundle of this type can be accommodated in large
internal welders, but on smaller units, such as 20 inch
and smaller internal welder units, such a cable bundle
is vary difficult to accommodate. It can interfere with
the operation of the internal welder unit and is more
subject to damage in operation. Thus, there is a
distinct need for an improved electronic control system
for automated welding operations and in particular,
there is a need for a more reliable, less comglex and
physically smaller control system for an internal
welding machine.

WO 91/10201 . ~ ~ ~~~~90/00020
SUMMARY OF THE INVENTION
A selected embodiment of the present invention is a
control system for a welding machine which performs a
plurality of functional operations. These include
5 positioning a welder along a path, providing power for
the welder arc, supplying a shielding gas for the arc,
feeding an electrode wire, moving and clamping a welding
unit within a pipeline and other related operations.
The control system utilizes a communication link for
transferring commands and data and has a plurality of
microprocessor control units connected to the
communication link. A group of the microprocessor
control units are connected to operate respective
apparatus which carry out at least one of the functional
operations. At least one of the microprocessor control
units receives commands from the communication link and
these commands cause the receiving control unit to
direct the operation of its corresponding apparatus to
carry out the functional operation for that apparatus.
A control panel is included for generating control
signals which correspond respectively to a plurality of
the functional operations. Further, at least one of the
microprocessor control units is connected to the control
panel for receiving the control signals and producing
from these control signals the commands for transmission
via the communication link to other of the
microprocessor control units.
In a further aspect the control system is used in
conjunction with an internal welder which has an
internal control panel for selected functional
operations and a remote control panel mounted on the end
of a reach rod and used in conjunction with a
microprocessor control unit mounted in a reach rod
control box.

WO 91/10201 PCT/US90/00020
~. .,
~',~Li~~ ~~~
6
In a further aspect each of the microprocessor
control units is provided with the same program in the
control unit memories. The program includes all of the
code required for operation of all of the microprocessor
control units. Each control unit is provided with a
multi-position switch for identifying the particular
control unit. The program references the switch to
determine which portions of the program to execute.

wo 9 ~ i r ozo ~ pcri us9oiooozo ,
fit,. ~i,
7 . a ~ . . _ .a '
BRIEF DESCRIPTION OF THE DRAWINGS . ' 2 0 4 ? 7 0 3
For a more complete understanding of the present
invention and the advantages thereof, reference is now
made to the following description taken in conjunction
with the accompanying drawings in which:
FIGURE 1 is an elevation, partially sectioned, view
of an internal welder carriage for use in conjunction
with the present invention,
FIGURE 2 is a elevation view of an internal welder
which can be used in conjunction with the present
invention, .
FIGURE 3 is a block diagram illustrating the
location and interconnection of the electronic
functional units which make up the control system of the .:
present invention,
FIGURE 4 is a block diagram showing the functional
units of the control system of the present invention,
the circuit cards which make up each functional unit,
the interconnection of the functional units, and control
panels for two of the functional units,
FIGURE 5 is an illustration of an internal welder
front end control panel, as shown in FIGURE 4,
FIGURE 6 is an illustration of an internal welder
reach rod control panel, as shown in FIGURE 4,
FIGURE 7 is a illustration of the operation of
internal welders used in conjunction with the present
invention,
FIGURE 8 is a detailed block diagram for the CPU
card shown in FIGURE 4,
FIGURE 9 is a detailed block diagram for the power
supply card shown in FIGURE 4,
FIGURE 10 is a detailed block diagram for the panel
interface card shown in FIGURE 4,
FIGURE 11 is a detailed block diagram for the
analog input card shown in FIGURE 4,
. :,..:-:: ~ ; , , : "
... :_. ~ ~,. .: .... ,.~:.

WU 91/10201 PGT/US90/00020
.?%
2~ 47'~ ~'~ 8
FIGURE 12 is a detailed block diagram for the
analog output card shown in FIGURE 4,
FIGURE 13 is a detailed block diagram for the
encoder motor card shown in FIGURE 4,
FIGURE 14 is a detailed block diagram for the dual ~ '
emf motor card shown in FIGURE 4,
FIGURE 15 is a detailed block diagram for the DC '
input card shown in FIGURE 4,
FIGURE 16 is a detailed block diagram for the DC
output card shown in FIGURE 4,
FIGURE 17 is a graph illustrating travel speed for
the internal welder, arc voltage for the weld and wire
speed, all as functions of internal welder position,
FIGURE 18 is a flow diagram illustrating the
initial operation steps for the software in each of the
CPUs,
FIGURE 19 is a flow diagram illustrating the
operation of selecting the application operations for
each of the CPUs,
FIGURE 20 is a flow diagram illustrating the
operation of the CPU 1 applications,
FIGURE 21 is a flow diagram illustrating the
operation of the CPU 2 applications,
FIGURE 22 is a flow diagram illustrating the
operation of the CPU 3 applications,
FIGURE 23 is a flow diagram illustrating the
operation of the CPU 4 application,
FIGURE 24 is a flow diagram illustrating the
operation of a communication interrupt for any of the
CPUs,
FIGURE 25 is a welding system which incorporates
the present invention and includes an external welder, a
printer and a hand-held programming unit and a hand-
training unit, and

WO 91 / 10201 PGT/US90/00020
es'.v:
204:7.7tl3
FIGURE 26 is a rack welding system which
incorporates the present invention and includes a
plurality of welding stations directed by a common
control system.

WO 91 / 10201 PCT/US90/00020
DETAILED DESCRIPTION OF THE INVENTION
A sectional view of an internal welder unit 30 as
used in conjunction with the present invention is
illustrated in FIGURE 1. The physical components and
5 operation of this unit are described in detail in
U.S.P.N. 3,612,808 to Nelson which was filed on June 4,
1969, which patent is incorporated herein by reference.
FIGURE 2 is an illustration of an internal welder 140 as
used with the internal welder unit 30.
10 A further internal welder which may be used in
conjunction with the present invention is shown in
U.S.P.N. 3,632,959 to Nelson et al. which issued on
January 4, 1972 and is herein incorporated by reference. .
Referring to FIGURE 1, the internal welder unit 30
is positioned within a pipe joint 32. The unit 30
includes a drive assembly 34 having a motor 35 for
driving a drive wheel 36. The drive assembly further
includes front wheels 38 and a balancing wheel 40. An
actuator 42 moves the balancing wheel 16 against the top
interior of the pipe joint 32.
A flexible mounting 44 is provided between the
forward portion of the unit 30 and the drive assembly 34
to prevent forced misalignment of any components of the
unit 30 when it is clamped at the end of the pipe joint
32. The unit 30 further includes a forward clamping
assembly 52 and a rear clamping assembly 54. These
assemblies operate respective front and rear shoes of
the unit 30. A welding assembly 56 is positioned
between the clamping assembly 52 and 54. The welding
assembly 56 includes the welding torches, the related .
consumables supply and mechanical operation devices for
providing a weld between abutting pipe joint 32 and 33.
The facing ends of the joints 32 and 33 are machined to
provide a welding gap on both the interior and exterior
surfaces. The internal welder 140, which is part of the

WO 91/10201 PCT/US90/00020
11 - 2047703: ; :.
assembly 56, for providing the internal weld is
described in reference to FIGURE 2.
Aligners 58 are provided to align the internal
welder unit at the end of the pipe joint 32 before the
joint 33 is moved into position. A plurality of the
aligners 58 are provided around the periphery of the
unit 30. The aligners 58, under pneumatic pressure,
extend outward and when the internal welder unit 30 is
moved back into the joint 32, the aligners 58 engage the
end of the pipe joint 32 thus positioning the internal
welders in the assembly 56 at the junction of the pipe
joints 32 and 33.
The internal welding unit 30 further includes a
tank 60 which supplies compressed air or other suitable
gas for actuation of the clamping assemblies 52 and 54
as well as the actuator 42 and alignment actuators. The
unit 30 further includes the tank 62 for providing a
shielding gas for the. welding arc.
A battery 50 provides electrical power for the
drive assembly 34 and the electronic control system.
The electrical power for the arc welding is
provided through a power cable 64 into the unit 30 and
wrapped around sheaves 66 and 68 which are tensioned by
a spring 70 which is connected to a sheave 72. This
spring arrangement gives relief to tension for the power
cable 64 and protects it from stress. The power cable
64 is connected to a manifold block 74 which is in turn
connected to a welding current bar (not shown) for
providing welding current to the torches.
The unit 30 further includes a tubular frame 80 at
the forward end thereof which serves to protect and
support the components housed therein. A hollow reach
rod 82 is connected to one end to the forward end of the
frame 80 and at the opposite end to a reach rod control

WO 9l / 10201 PCT/US90/00020
12
~,0~
box 84. Shielding gas for the welding arcs is provided
through the reach rod 82 and stored in the tank 62.
The internal welder unit 30 includes a distributed
processing electronic control system which includes a
plurality of microprocessor control units. These
include a back end control unit 92, a front end control
unit 94, a reach rod control unit 96 and power control
unit 98. Each of these control units is connected in
parallel to a common serial communication link 100.
A two lead power line 102 is connected to the
battery 50 to provide power to each of the
microprocessor control units 92, 94, 96, and 98.
The unit 30 further includes a plurality of
internal welders, such is shown in FIGURE 2, that are
mounted on a rotating ring, described below. The ring
is driven by a motor 110 which is provided with a
position encoder 112. The encoder 112 produces a
digital data signal Which indicates relative position of
the ring, which carries the welding torches. (See FIGURE
7)
The power supply control unit 98 is connected to
control the operation of power supply 104. A
representative power supply is a model R3S-400 made by
Lincoln Electric Co.
The communication protocol for the link 100 is w
termed carrier sense multiple access with collision
detection (CSMA/CD) and is described in IEEE Standard
802.3.
The front end control unit includes a control and
display panel 118 (see FIGURE 5) and the reach rod
control box 84 includes a display and control panel 120
(see FIGURE 6).
In the operation of the unit 30, it is necessary to
set the positions of the internal welders. This is done
with a hand-held training unit 126 which is connected to

WO 91/10201 O 4'~'~ O ~CT/US90/00020
(_~oL7~ .. , .
13
the microprocessor control unit 94 before the pipe joint ,
33 is set in the position shown so that the operator has
access to panel 118. The unit 94 includes a display for
showing the encoder 112 reading. The unit 126 has
buttons for defining the home, start and stop positions
for the clockwise and counterclockwise welding passes.
The operator positions the internal welders to the
appropriate locations and depresses the corresponding
button to define a position. These positions, as
defined by the encoder 112, are stored in the control
unit 94 and used in the welding operation to define the
movement of the internal welders.
Referring now to FIGURE 2 there ~is shown an
internal welder 140 which may be used in conjunction
with the present invention. Note that a detailed
description of the internal welder construction and -
operation is provided in U.S.P.N. 3,612,808. The welder
140 includes a cartridge 142 for providing feed wire 144
as a welding electrode through a tube 146 to a welding
nozzle 150.
The feed wire 144 is wrapped about an electrode
reel 152. The pivoting arm 154 is biased by a spring
156 against the reel 152 while starting the rotation of
the reel.
The nozzle 150 is pivotally mounted on a carriage
body 158. The welding nozzle 150 is secured to arms 160
which are mounted by a pin 162 to the body 158. The arm
160 is further secured by a pin 164 to an arm 166 that
is connected to an actuator 168. A spring 170 surrounds
the arm 166. The spring 170 urges the welding nozzle 70
away from its welding position, and thus it is necessary .
to deliver pressurized gas to the actuator 168 to move
the nozzle 150 to its welding position. This spring
retraction is for the purpose of moving the heads into a
protective position when moving the next pipe joint into

WO 91/10201 PCT/US90/00020
2~477~3 ..
14
position over the assembly 52. The electrode 144 is fed
to the nozzle 150 by a mechanism which includes a motor
180 which drives a wheel 182 that is resiliently held
against a bearing 184. As the wheel 182 is rotated, the
wire 144 is fed into the nozzle 150. '
Tubes 186 and 188 provide shielding gas to the
nozzle 150.
While an internal welder 140 has been described in
reference to FIGURE 2. A selected internal welder may
be used as shown in U.S. Patent Number 4,525,616 to
Slavens which patent is incorporated herein by
reference. This internal welder provides an oscillating
nozzle so that the seam, or gap, between the abutting
pipe points can be automatically tracked by monitoring
the amplitude of the current during the nozzle
oscillations.
Referring now to FIGURE 3 there is illustrated a
schematic, block diagram of the control system for the
welder 30. Note that each of the microcomputer control
units 92, 94, 96 and 98 is connected in common to the
communication link 100. The control unit 98 and welding
power supply 104 are typically located at a distance in
excess of 100 feet from the reach rod control unit 96.
Referring now to FIGURE 4 there is illustrated in
block diagram form the control system for the unit 30.
The microprocessor control units 92, 94, 96 and 98 are
connected in parallel by the communication link 100.
Power is supplied to the control units through two wire
power line 102 from the battery 50. This is a twenty-
four volt line.
The microprocessor control units 92-98 each contain
a plurality of printed circuit cards for carrying out
the required functions at that control unit. Each of
the control units includes a computer (CPU) card and a

WO 91 / 10201 ~ ~ ~ ~ ~ ~
~ PCT/US90/00020
,
15 - :.~ ; ; ..
power supply card. The configuration for each of the
control units is as follows: ,
Control Unit 92
1. CPU Card
2. Power Supply Card ,
3. DC Output Card
4. Encoder Motor Card
Gontrol Unit 94
1. CPU Card
l0 2. Power Supply Card ,
3. Panel Interface Card
4. Analog Input Card
5. DC Output Card
6. Dual EMF Motor Card
7. Dual EMF Motor Card
8. DC Input Card
Control Unit 96
1. CPU Card
2. Power Supply Card
3. Panel Interface Card
Control Unit 98
1. CPU Card
2. Power Supply Card
3. Analog Output Card
4. DC Output Card
The printed
circuit cards
used in the
microprocesso r control units include a CPU card 202, a
power supply card 204, a panel interface card 206, an
analog input card 210, an analog output card 212, an
encoder motor card 214, a dual EMF motor card 216, a DG
input card 21 8, and a DC output card 220.
Each of the CPU cards are connected to the
communication s link 100 through the corresponding power
card. The power
line 102 is
connected to
the power
supply card 04 for each of the control units. Within
2

CVO 91 / 10201 PCf/US90/00020
~~Q47703
16
each of the control units the cards are interconnected
by a sixteen bit dataladdress bus, as further described
below.
The microprocessor control unit 92 has an encoder
motor card 214 which receives a ring encoder output from . '
the encoder 112 and provides a drive to the motor 110.
A DC output card 220 in the control unit 92 has outputs '
for controlling the functions of wheels up, wheels down,
brake, unit 30 travel forward, unit 30 travel reverse,
rear shoes expand and rear shoes retract. The control
unit 94 includes two dual EMF motor cards 216, one of
which control the clockwise 1 and counterclockwise 1
wire feed motors and the other of which controls the
clockwise 2 and counterclockwise 2 wire feed motors for
the internal welders. A third and fourth dual EMF motor
card 216 controls the torch oscillator motors, if
implemented. The DC output card 220 controls the on/off
functions of clockwise and counterclockwise shielding
gas supply, aligners 58, and front shoes. A DC input
card 218 senses the condition of the end of pipe limit
switch, reach rod buckle limit switch, aligners up limit
switch and shoe gressure switch. Unit 94 further
includes an analog input card 210 which senses torch 1
and torch 2 arc voltage. Unit 94 also includes a panel
interface card 206, which senses the conditions of the
switches and push buttons on the control panel 118 and
drives the seven segment displays.
Control unit 96 includes a panel interface card
206, in addition to the CPU card 202 and the power card
204.
The control unit 98 includes a DC output card 220
and an analog output card 212 in addition to the CPU
card 202 and the power card 204.
The internal welder control panel i18 is
illustrated in FIGURE 5. This panel includes a toggle

WO 91 / 10201 O ~ PCT/US90/00020
LnvV.'. , ..
1'7 . I ,
switch 230 which has an up and down position for raising
and lowering the aligners 58. The toggle switch 232
further has up and down positions for rear shoes. The
wheels 34 and 38 are positioned in up and down positions
by respective buttons 234 and 236.
A toggle switch 238 has on and off positions for
the brake, which is assembly 48.
A toggle switch 240 has forward and reverse
positions for the function of causing travel of the unit
30 through the pipe.
Panel 118 further includes a display 242 which has
16 digits and is used to display help messages as wall
as counts from the encoder 112. A tbggle switch 244
supplies either 24 volt or 36 volt power to the motor
35. The 36 volt power source provides extra speed for
the unit 30 when necessary.
The presence of power for the system is indicated
by a bulb 250.
A wire clear function is grovided by depressing a ,
2o button 252 which feeds wire from all four torches
simultaneously.
Clockwise rotation of the ring 344 (see FIGURE 7)
is provided by depressing a button 254.
Counterclockwise rotation of ring 344 is provided by
pressing a button 256.
The front clamping assembly 52 is activated and
deactivated by a toggle switch 258.
A toggle switch 260 turns on and off shielding gas
far the clockwise internal welders.
A toggle switch 262 turns on and off the shielding
gas for the counterclockwise internal welders.
The clockwise number 1 internal welder, unit 340,
wire feed is provided by depressing a button 266. The ,
clockwise internal welder number 2, unit 342, wire feed
is provided by depressing the button 268. The

WO 91/10201 PCT/US90/OOQ20
20477~~ 18
counterclockwise wire feed 1 unit, internal welder 338,
wire feed is provided by depressing a button 270.
Likewise, the counterclockwise unit 2, internal welder
336, wire feed is provided by depressing a button 272.
The buttons 254 and 256 as well as the toggle '
switches 258, 260 and 262 are provided with protective
covers to prevent inadvertent activation. The functions
carried out by these buttons and toggle switches are
needed in a service or maintenance procedure, rather
than in routine operation.
The reach rod control panel 120 is illustrated in
FIGURE 6. A master operation switch 280 controls the
sequence of steps for each cycle of operation. The
switch 280 has an off position 282. In a front shoe
position 284, the switch 280 causes the front shoes to
be expanded. ,
In a position 286, the switch 280 is set to perform
the clockwise weld operation. The operation is started
by pressing the weld start button 306. A bulb 288
indicates when this is in progress.
In a position 290, the switch 280 is set to perform
a counterclockwise weld operation. The operation is
started by pressing the weld start button 306. When
this operation is in progress, a bulb 292 is
illuminated.
In a position 294, the control switch 280 causes
the ring 344 (FIGURE 7) to rotate to the home position
354, which is the position from which the next weld
cycle will begin.
A bulb 296 is illuminated to indicate that the ring
344 has rotated out of the home position. When the
switch 280 is set to a position 298, the shoes are
retracted to permit the unit 30 to move along the
interior of the pipeline.

WO 91 / 10201 ~ ~ ~ ~ ~ ~ ~ PCT/ US90/00020
19 .
When the switch 280 is at a position 300, the unit
30 is permitted to travel upon depressing an auto travel
button 302. Activation of button 302 is indicated by
bulb 304.
The clockwise weld position 286 and
counterclockwise weld position 290 set up the potential
weld, but the actual weld operations are initiated by
button 306.
A hold out button 308, if depressed, stops the
entire welding operation should a problem be detected by
an operator.
The internal welders are caused to undergo a
clockwise rotation when a button 310 is pressed and
caused to undergo a counterclockwise rotation when a
button 312 is depressed.
A toggle switch 316 is used to disable CW1 and CCW1
wire feeders during a welding operation. Toggle switch
318 is used to disable CW2 and CCW2 wire feeders during
a welding operation. The toggle switches 316 and 318
are provided with protective covers to prevent
inadvertent activation.
A bulb 320 is activated when the contactors in the
welding power sugply have been closed and power is being
supplied to the welding torches.
A button 322 is depressed to perform an arc voltage
test. When this button is depressed, the contactors of
the welding power supply close and the arc voltages for
the torches are produced on displays 326 and 328.
The weld number 1 and weld number 2 arc voltages,
for each pass, are adjusted by rotating potentiometers
330 and 332.
Referring to FIGURE 7 there is illustrated
schematically the positioning and rotation of the
internal welders. Internal welders 336, 338, 340 and 342
are mounted on a drive ring 344. The motor 110 drives

WO 91/10201 PCT/US90/00020
~,~
~a477a~ 2°
the ring 344 and the shaft position of the motor 110 is
determined by the encoder 112. The gosition signal of
the motor encoder 112 is transmitted to the encoder
motor card 214 in the microcomputer control unit 92.
This unit likewise produces the control signals for '
driving the motor 110. The motor 110 can drive the ring
344 in either a clockwise or a counterclockwise
direction and can drive the ring at varying speeds.
Positions 346 and 348 define the top dead center
and the bottom dead center positions on the pipe point '
32. Positions 350 and 352 define center points between
the top dead center and bottom dead center points. Home
location position 354 is defined to be slightly offset
from the top dead center position. The welders 340 and
342 are offset 90 degrees from each other, as are the
welders 336 and 338. However, welders 338 and 340 are
less than 90 degrees apart.
There is also provided a mechanical stop 358 to
open a limit switch on an internal welder if it should
go beyond the desired stop position. This is a safety
feature.
The hand-held unit 126 is used to define the home,
start and stop positions. This is done while the
operator has access to the panel 118. Through controls
at this panel the operator can drive the ring 344 to
position the internal welders. The operator drives the
motor 110 to position welder 340 at each of the home,
start and stop positions and when at the appropriate
position, presses a corresponding button on the unit
126. The control unit 92 records each of the positions
in a file for use in the automatic welding operation.
Briefly, in operation, the motor 110 drives the
ring 344. When not welding, the ring is in a position
so that the welder 340 is at the home position 354.
The overall welding operation is carried out in two

Nii~.t r j~~
WO 91/10201 PCT/US90/00020
,c~'<~
21
steps. The first step is a clockwise weld pass
concurrently with welders 340 and 342 followed by a
second weld pass in a counterclockwise direction using
welders 336 and 338. It is desirable in this type of
welding configuration to be operating in a downward
moving direction.
In the first pass, tha welder 340 is initially
positioned at the home location 354. To begin the
welding sequence, the gas supply and power supply
contactor are turned on and the ring 344 is rotated to
align the welder 340 at the start position 346 and the
welder 342 at the position 352, or to continue the
motion of the welders past these positions. At this
location the wire feeders are started in the welders.
An arc is then struck at both of the welders 340 and
342. When this occurs the drive motor 110 is either
reactivated or continues to move the welders at a slow
angular rate. Shortly after initiation of the weld
pass, the motor 110 is commanded to increase the drive
rate so that the welders 340 and 342 are preceding along
the weld pass at a high travel speed. As the welder 340
approaches the point 352 and the welder 342 approaches
the point 348 the wire feed motor in each of the welders
340 and 342 is decelerated and the motor 110 is likewise
decelerated to stop the welders at the termination
positions. Concurrently with this, the gas supply is
stopped and the contactor at the welding power supply is
opened to terminate the weld power.
At this time the welder 338 has rotated to position
356. The sequence described above is repeated in a
counterclockwise direction to complete the weld pass on
the left side of the pipe junction. The rates for the
travel speed, arc voltage and wire speed in accordance
with the present invention are illustrated in FIGURE 17.

WO 91/10201 PCT/US90/00020
r~ 22
de ~ iled block diagram for the CPU card 202 is
illustrated in FIGURE 8. The card 202 includes a
microprocessor 380 which is preferable a model 80C152
made by Intel Corporation. The communication link 100,
which is identified as GSC (Global Serial Channel) is ~ '
connected through an RS485 circuit 382. An RS232
communication circuit 384 is likewise connection to the ~ '
microprocessor 380 for connection to a hand held
terminal 920, described below.
A twenty four volt power input to the card 202 is
coupled through an optical isolator 386 to a power
monitor circuit 388. The output of the circuit 388 is
further connected to the microprocessor 380. A dip
switch 390 is likewise connected to the microprocessor
380.
The CPU card 202 is provided with a parallel
data/address bus 400 which connects the microprocessor
380 to a random access memory 402, read only memory 404,
a triple timer 406, a buffer 408 and a decoder 410. An
interrupt line 407 extends from the timer 406 to the
microprocessor 380. An oscillator 409 provides a clock
signal to the timer 406. The decoder 410 produces a
group of card select signals on lines 411. The card
select lines enable one external card at a time to
communicate with the CPU card via the parallel
data/address bus 400. An interrupt line
407 connects timer 406 to the microprocessor 380.
A group of power lines 412 are provided to the card
202 for providing plus twenty four volt, plus fifteen
volt, minus fifteen volt, and plus five volt power.
A block diagram of the power supply card 204 is
illustrated in FIGURE 9. The 24 volt power line 102
from the battery 50 is connected to the card 204 and
within the card to a low voltage cut-off switch 420.
The communication link 100, a twisted pair, is connected

7 .l .., "
WO 91/10201 ~ U ~ ~ l ~i J PCT/US90/00020
23
to the card 204 and likewise extends outward from the
card for connection to other control units. A further
connection within the card 204 extends the line 100 to
the CPU card within the corresponding control unit.
The power line signal 102 passes through the switch
420 to a voltage converter 422 which produces five
volts, plus 15 volts and minus 15 volts and these are
provided together with the 24 volts from line 102
through a group of lines 412. These power lines are
input to all of the other cards within each
microprocessor control unit.
The panel interface card 206 is described in FIGURE
10. The power lines 412 are likewise~input to the card
206 to provide operational power for the card. The
address bus 400 is also connected to card 206 from the
CPU card 202. This bus extends to a display driver 430,
an analog-to-digital converter 432, a latch 434 and a
latch 436.
The display driver 430 provides drive lines 430a
and 43ob for producing displays at a panel, such as the
panels 118 and 120 shown in FIGURES 5 and 6.
A group of analog input lines 442 from various
sensors and switches are input to the multiplexer 438
which routes one of the inputs to the analog-to-digital
converter 432. The analog signal at one of the input
lines is then converted to a digital word which is
transmitted through the bus 400 to the CPU card 202.
The latch 434 holds the state for a plurality of
LED outputs. These states are input to a driver 440
which drives a group of LED output lines 444 that
activate various ones of the LED lamps, or bulbs, on the
display panels. The selection of which lamp to
illuminate is determined by the microprocessor 380 which ,
transmits an appropriate command through the bus line
400 to the latch 434.

WO 91/10201 PGT/US90/00020
:°-,.,
24
A group of switch input lines 446 are provided to a
latch 436 which stores the state of each switch input.
This is provided as a digital word to the bus 400 and
transmitted back to the CPU card 202.
The analog input card 210 is shown in a detailed '
block diagram in FIGURE 11. This card receives the
power lines 412 and the data/address bus 400. It
further includes analog input lines 450 and 452. Line
450 is connected to an isolation amplifier 454 which
transfers the input to a sample and hold circuit 456.
Likewise, the signal at input line 452 is transferred
through an isolation amplifier 458 to a sample and hold
circuit 460. The outputs from the sample and hold
circuits 456 and 460 are both provided to a multiplex
circuit 462 which selectively provides an output to an
analog-to-digital converter circuit 464. The output
from the circuit 464 is transmitted through a bus 466 to
latches 468, 470, 472 and 474. The output of each of
these four latches is connected to the data/address bus
400.
The sequential operation of the sample and hold
circuits 456 and 460 as well as the multiplex circuit
462, the analog-to-digital converter 464, and the
latches 468-474 are controlled by a programmable array
logic (PAL) circuit 476. Operation of the PAL is
controlled by commands passed to it via the bus 400 from
the CPU card.
In operation, the analog input card 210 receives
analog signals on each of the input lines 450 and 452.
These are the arc signals for the respective internal
welders in operation at one time. These signals are
sampled by the circuits 456 and 460 and these analog
samples are alternately provided through the multiplexer
circuit 462 to the analog-to-digital converter 464 Which
produces a respective digital word for each of the

WO 91/10201 PCT/US90/00020
2047703
25 ~ . r .~ ;
analog samples. These digital words are then stored in
the latches 468-474 and transferred through the bus 400
to the CPU card of control unit 94. The CPU transmits
the values via the GSC communication link 100 to the CPU
in control unit 98 for the welding power supply. These
digital words are then converted back to analog signals
via analog output card 212. The output of card 212
controls the welding power supply output voltage to
insure that the required welding voltage is maintained
at each of the arcs.
The analog output card 212 is described as a block
diagram in FIGURE 12. The card 212 receives the power
lines 412 as well as the data/address bus 400. Digital
data words are transmitted through the bus 100 to each
of a group of shift registers 490, 492, 494 and 496. An
oscillator 498 provides a clock signal to the shift
registers 490 and 494. The output from register 490 is
transferred to the register 492 and the output from the
register 494 is transferred to the shift register 496.
The digital word in the shift register 492 is
transferred through an optical isolator 500 to a
digital-to-analog converter 502. The output of shift
register 496 is transferred through an optical isolator
504 to a digital-to-analog converter 506.
The output from the oscillator 498 is likewise
transferred through an optical isolator 508 to clock the
operation of the digital-to-analog converter 502 and the
output from the oscillator 498 is transferred through an
optical isolator 510 to clock the operation of the
digital-to-analog converter 506. The converter 502
produces an analog output signal at a line 512 and the
digital-to-analog converter 506 produces an analog
output signal at a line 514.
In operation, the card 212 receives the digital arc
voltage words produced by the analog input card 210.

WO 91/10201 YCT/US90/00020
..a
~u.~
. ..
X04'7703 26
These digital words are transferred through the shift
registers 490-496, optically isolated and transformed by
converters 502 and 506 into analog voltages that are
utilized to control the arc power supply 104.
The encoder motor card 214 is described in block
diagram form in FIGURE 13. This card has connected
thereto the power lines 412 and the data/address bus
400. The encoder 112 for the motor 110 provides output
signals on lines 524 (phase A) and 526 (phase B). The
lines 524 and 526 are input to a quadrature phase
detector circuit 528. The circuit 528 detects when
there has been an incremental rotation of the wheel in
encoder 112. A clockwise increment o~ rotation is
indicated by a signal transmitted through a line 530 to
counter No. 1 of triple timer circuit 532. A
counterclockwise incremental movement of the encoder
wheel is transmitted as a signal through the line 534 to
counter No. 2 of triple timer circuit 532. The third
counter of triple timer circuit 532 is used to divide a
reference provided by the output from an oscillator 536.
By reading counter 1 and counter 2 of the timer, the CPU
is able to determine the rotary position of the motor
encoder and, therefore, the rotary position of the ring
344. By writing numbers to the divide by counter,
counter No. 3, the CPU is able to create varying pulse
output rates which are input to a phase detector 540. A
line 541 connects the counter No. 3 of the timer circuit
532 to the phase detector 540.
The encoder motor card 214 further includes a phase
detector 540 which receives the output of an OR gate
542. The inputs to the gate 542 are the phase A and
phase B encoder signals at lines 524 and 526. A further
phase input to the detector 540 is the output of the
triple timer circuit 532. The output of the phase
detector 540 is passed through an amplifier 544 and

WO91/10201 ~a~7~a~
27
provided to a first input of a comparator 546. A ramp
generator 548 provides the second input to the
comparator 546. The output from the comparator 546 is
passed through an optical isolator 550 to provide a
driver signal to drive field effect transistors 552.
The transistors 552 produce a driver signal at a line
554 which is provided to drive the ring motor 110.
The circuit 214 provides a feedback control system
for driving the motor 110 to accurately position the
motor and govern its rate of travel. If the rate of
pulses arriving from the encoder is greater than the
reference output from the third triple timer, the output
of the phase detector will go low. This will cause the
output of the comparator to stay low so the FETS will
not be turned on and the motor will slow down. If the
rata of pulses from the encoder is too low, the output
of the phase detector will go high causing the output of
the comparator to go high, the FETs will be turned on
and the motor will speed up. At a matched speed, the
phase detector will produce a pulsed output whose
average value will cause the comparator to deliver
pulses to the FETs. The pulsed output from the FETs
will provide the proper power to the motor to match the
load.
The dual EMF motor card 216 is described in a
functional block diagram in FIGURE 14. This card
likewise receives the power lines 412 and the
data/address bus 400. The bus 400 is connected to the
input of a dual digital-to-analog converter 560. This
converter receives digital words and generates analog
signals from them at line 562 and 564. The analog
signal at line 562 is provided to the first input of a
comparator 566 which has the output thereof input to a
comparator 568. The analog signal at line 564 is
provided to the first input of a comparator 570 which

WO 91/10201 PGT/US90/00020
2~~7~~~ 28 _ ..
has the output thereof provided to the first input of a
comparator 572.
A ramp generator 574 generates a ramg signal which
is provided to the second input of comparators 568 and
572. The output from comparator 568 is transmitted '
through an optical isolator 576 to a group of driver
field effect transistors 578. The transistors 578
produce a wire feed drive signal at a line 580 which is
provided to the wire feed motor number 1, such as for
internal welder 340. The output of the comgarator 572
is transmitted through an optical isolator 582 to a
group of field effect transistors 584 which produces a
motor driver signal at a line 586 for~driving the wire
feed motor number 2, such as for internal welder 342.
The line 580 also serves to monitor the back
electro motive force (EMF) from the wire feed motor and '
provide this signal through an amplifier 588 to a
sampling circuit 590. The sampled signal is provided
through an amplifier 592 to the second input of the
comparator 566. In a similar fashion, the back EMF
signal from the wire feed motor number 2 is provided
from line 586 through an amplifier 594 to a sampling
circuit 596. The sampled signal is conveyed through an
amplifier 598 to the second input of comparator 570.
Briefly, in operation, the card 216 receives a back
EMF signal through a line, such as 580 and this signal
is compared at the comparator 566 with the desired drive
signal received through line 562. The difference
produced by the circuit 566 is compared to a ramp signal
received from the generator 574. The time duration of
the output from the comparator 568 is a function of the
amplitude of the signal at the output of the comparator
566. This drive signal is isolated by the optic
isolator 566 and used as a driver for the field effect
transistor 578. The motor is driven by pulses from the

WO 91/10201 ~ ~ ~ PGT/US90/00020
29 ~ .
' c ~ : '.r
transistors 578. This circuit, as a whole, is a
feedback control circuit which insures that the wire
feed motors are driven at almost exactly the speed
required and selected by a digital word which is input
to the dual DAC 560 through the bus 400. The second
motor is driven by similar circuitry.
The DC input card 218 is described in a block
diagram shown in FIGURE 13. Power lines 412 and
data/address bus 400 are provided to the components on
the card 218. Latches 608 and 610 are each connected to
the data/address bus 400 for transferring digital words
through the bus. A group of eight input lines 612 are
provided to an optical isolator 614.' The outputs from
the isolator 614 are provided to the latch 608. A group '
of eight isolated inputs 616 are provide to an optical
isolator 618. The outputs from the isolator 618 are
likewise transferred to the latch 610. These inputs are
inputs from switches. By reading the latches via data
bus 400 the computer can determine which inputs are and
which are off.
The DC output card 220 is described in a functional
block diagram in FIGURE 16. The card 220 receives the
power lines 412 as well as the data/address bus 400.
The function of this card is to provide on/off signals
at a group of 8 isolated output lines 630. A latch 632
is connected to the bus 400 for receiving digital words
therefrom. The digits received at the latch 632 are
coupled through an optical isolator 634 to provide the
eight on/off conditions for a group of field effect
transistors 636. The transistors 636 function as
drivers for each of the lines 630. These lines serve to
drive the solenoids for clockwise gas, counterclockwise
gas, the aligners, the front shoes, the wheels up, the
wheels down, the brake, the travel forward, travel
reverse, rear shoes expand, and read shoes retract.

WO 91/10201 PCT/US90/00020
~~
4'','~~ ~ ~ 30 . _
The operation of the internal welders is now
described in reference to FIGURES 7 and 17. The welders
336, 338, 340 and 342 are mounted on the ring 344 which
is driven by motor 110. The angular position of the
motor 110 is indicated by the encoder 112 which provides '
a pulse signal to the control system, further described
below. Referring to FIGURE 17, there is illustrated a
chart which shows wire speed, arc voltage and travel
speed for a representative weld pass. In operation, one
weld pass is made in the clockwise direction and another
in the counterclockwise direction.
As shown in FIGURE 7, the internal welders 340 and
342 are used in the clockwise welding operation for the
right half of the weld pass for the pipeline joint. The
ring 344 is rotated to bring the internal welder 340 to
the top position 346 and thereby bring the internal
welder 342 to the position 352. The ring is rotated 90
degrees for the clockwise welding pass.
The ring 344 is positioned to have welder 338 at
position 346 for a counterclockwise welding pass. The
ring 344 is rotated for one-quarter circle in the
counterclockwise direction to complete the welding pass
on the left hand side of the pipe joint.
In a first method of operation, the ring 344 is
driven by the motor 110 to position the internal welder
340 at the home position 354. Each of the welders 340
and 342, during the welding pass, feeds an electrode
wire into the gap at the pipe joint for the welding
pass. The speed that this wire is provided into the
joint is shown as line 644 in FIGURE 17. The arc
voltage which is applied to each of the wires is
illustrated as line 646. The travel speed for the
internal welder is illustrated as line 648.
In a preferred embodiment, the wire speed starts at
a speed of 240 inches per minute (IPM) and ramps up to a

WO 91/10201 PGT/US90/00020
r f.'-:;
. . 20477U~
31
maximum speed of 550 IPM. The arc voltage begins at a
level of 19.0 volts and ramps up to a level of 21.0
volts. Travel speeds for the internal welder start at
zero for one embodiment, and ramps up to 55 inches per
minute (IPM) for a travel speed across the majority of
the weld pass. For a moving start, the travel speed is
20 inches per minute.
In the operation of a control system described in
more detail below, the internal welder 340 is positioned
at the home position 354 and a button on a hand-held
training unit 126 is pressed to define this position as
being the home position. The ring 344 is then rotated
by operation of the motor 110 to position the internal
welder 340 at the position 346. A button on the hand-
held training unit 126 is then pressed to define this as
the start position for the welding pass. The ring 344
is then rotated in the clockwise direction to position
the internal welder 340 at position 352 and a button on
the hand-held training unit 126 is depressed to define
this as the stop position for the automatic welding
pass. This same operation is conducted to establish the
start and stop positions for the counterclockwise
welding pass with reference to the internal welder 338.
To perform the welding operation, the internal
welder 340 is positioned at the home position 354. At
that point, the automatic sequence of welding is
initiated. In one embodiment, the automatic welder is
then repositioned and stopped at the position 346. At
this point the wire feed, for the electrode feed wire,
is initiated at the rate noted above. The flow of
shielding gas is also started. The arc is struck and an
arc voltage of 19.0 volts is maintained. Concurrently,
the internal welder 340 is started along the pass and
accelerated through a ramp-up speed increase until the
final travel speed of approximately 55 TPM is reached.

w0 91 / I 0201 PCT/US90/00020
~~I
32
Concurrently while increasing the travel speed, the wire
speed is increased to the high speed rate of 550 IPM and
the arc voltage is ramped up to a maximum of 21.0 volts.
The ramp up time for the described embodiment is
approximately 4 seconds. The high speed travel is '
maintained for approximately 85 per cent of the welding
pass. As the internal welder 340 approaches the '
position 352, the motor 110 is dynamically braked to
slow it down as fast as possible. Concurrently, the
wire speed is slowed to a stop and the arc voltage is
reduced to zero. The gas flow is stopped. Thus, when
the internal welder 340 becomes stopped at the position
352, all the parameters for wire speed, arc voltage and
travel speed are at zero. The ramp-down of these
parameters at the end of the weld pass is done very ,
quickly. The down ramps shown in FIGURE 17 are expanded
to show the stopping operation.
The operations carried out by the internal welder
342 are the same as those for the internal welder 340,
described above. The internal welder 342 travels from
the position 352 to the final position 348. The wire
speed, arc voltage and travel speed for the internal
welder 342 is virtually the same as that for the
internal welder 340.
In an optional method of operation, the internal
welders 340 and 342 follow the travel speed shown by the
solid line segment 650 illustrated in FIGURE 17. This
is termed a "flying start." In this method of
operation, the internal welders 340 and 342 are ramped
up to an initial speed, approximately 20 IPM, after
leaving the home position 354 for the welder 340. As
the internal welder 340 passes the position 346, the
wire feed is initiated at the speed indicated. Upon
reaching the position 346, and initiating the arc, the
wire speed is ramped up, the arc voltage is ramped up

WO 91 / 10201 z ~ ~ 7 '~ t~ ~ pcr,us9o,oo020
33
and the travel speed for the internal welder is ramped
up as shown in FIGURE 17. From this point on to the
termination of the weld pass, the conditions are the
same as described above.
After the clockwise weld pass has been made as
described above, the internal welder 338 is positioned
at position 356. From this point, the welding operation
in the counterclockwise direction is carried out in the
same manner as described above for the clockwise welding
pass. In this case, the internal welder 338 may be
moved to the start position 346 and stopped or it may
proceed and continue moving past the position 346 in a
"flying start.° In the same manner as described above,
the internal welder 336 tracks the operation of the
welder 338 so that one-half of the welding pass is
completed in the counterclockwise direction by use of
two welders.
Although four internal welders are shown in
reference to FIGURE 7, more such internal welders may be
used concurrently. For a larger pipe, it is practical
to use, for example, six or eight internal welders in
one system.
The control system operation for the internal
welders to carry out the functions shown in FIGURE 17
are described in more detail below in the flow diagrams
for the operations of the microprocessor control units.
The control system for the internal welder unit 30
comprises a distributed group of individual processors
interconnected by a serial communication link 100.
These are microprocessor control units 92, 94, 96 and
98. All of the software for the unit 30 control system
is stored in each of the read only memories 404 in each
of the computer cards 202. When there is any change in
the software, an entire new software package is
installed in each of the CPU cards 202. This
.~ . , < .

WO 91/10201 ~~,.~ ~'~ PCT/US90/ ~,00~20 '
34 '
substantially reduces the complexity in handling
multiple processors and eliminates the possibility of
installing the wrong software in a CPU card. The
commonality of the cards in the control system permits
interchange of the same card from one location to
another and reduces the inventory required for
replacement parts.
Each of the microcomputer control units 92, 94, 96
and 98 includes a CPU card 202. In the following
software description, the term "CPU" refers to the CPU
card.
Referring now to FIGURE 18, there is illustrated
the initial operational steps of the program upon each
of the CPU cards 202. The program begins with a power
on start 650. In a first operational block 652, the
microprocessor reads the CPU type switch 390 to
determine the CPU type for the CPU card. There are four
CPU types, 1, 2, 3 and 4. The microcomputer control
unit 92 is CPU type 1, control unit 94 is CPU type 2,
control unit 96 is CPU type 3 and control unit 98 is CPU
type 4.
Following block 652, the program enters operational
block 654 which reads the PROM tables in the PROM 404,
as well as the CPU type from the switch 390 to build a
set of input/output addresses. This table defines the
address for each function in the system. For example,
if CPU type 1 is identified and that unit needs to turn
on a set of wire feeders for a torch, the table
identifies that the wire feeder function is located in
CPU type 2. Thus, if the command is entered to CPU type
1 to activate the wire feeder, then CPU unit type 1
knows to send a command for that operation to CPU unit
type 2. This is done by using an appropriate address
for CPU unit number 2. The CPU card also identifies
what functions it has individually so that these are

WO 91/10201
0 4'7 ~l3 U 3. P~/US90/00020
addressed directly rather than through the communication
link 100.
In the next operational block 656, the CPU type
number is utilized to generate a set of global serial
5 channel (GSC) addresses for each of the other
microprocessor control units. This also permits the
operating CPU card microprocessor to determine its own
GSC address so that it will know which commands and data
to receive. Other addresses are ignored.
10 Following operational block 656, the program enters
an operational 658 to start the timer running. This is
the timer 406 in GPU card 202. The timer 406 interrupts
the microprocessor 380 every one quarter of a
millisecond. The software can be set to perform a
15 function on every n number of interrupts. In a question
block 660. an inquiry is made to determine if the time
has arrived for a high-speed digital acquisition
(HSDAQ). This occurs once every periodic interrupt,
such as, at the 8 interrupt. This equates to a two
20 millisecond interval. If this time has elapsed, the yes
exit is taken to a question block 662 where in inquiry
is made to determine if the operating processor is a CPU
type 2. If this is true, the yes exit is taken to an
operational block 664 which generates a command to read
25 the analog-to-digital converters in the analog input
card 210 associated with the operational microprocessor
control unit.
After the digital samples have been produced, these
values are transmitted from unit 94 to unit 98 via the
30 GSC link 100 and from the microprocessor 380 in unit 98
via the bus 400 to the analog output card 212. This is
done by providing an appropriate address for this card.
The no exits from the question blocks 660 and 662
as well as the output from the operational block 666
35 enters a question block 668. Within this question

WO 91/10201 PCT/US90/OOOZO
36
block, an inquiry is made to determine if a timer
sequence has been reached which requires scanning the
inputs to the operating microprocessor control unit to
determine if there are any inputs which require
functional operations. This occurs at a periodic time
as well. This is done on a 100 millisecond interval,
that is, every 400 timer interrupts. This is tracked by
the second counter in the triple timer ~t06. If the
response question block 668 is yes, an operation block
670 is entered to execute the appropriate application
code which is shown in FIGURE 19. If the response to
the inquiry in question block 668 is zero, the no exit
is taken which returns control to the input of the
question block 660 to again initiate the checks of the
timers to determine what operation should be
accomplished.
It must be noted that whenever a command or data is
received by one of the microprocessor control units
through the communication link 100, that communication
receipt causes an interrupt which causes the
microprocessor to perform the function required by the
received command or data.
The code for the operations shown in FIGURE 18 is
listed below. The code for each of the other flow
diagrams is listed following the description. These are
in the C language, which is a programming language well
known in the industry. The specific application
operations such as, for example, "READ A/D CONVERTERS",
is preferably written in the machine language for the
selected microprocessor. The particular machine
language routines can readily be prepared by one skilled
in the art.
/*
~L.C

WO 9 I / I 0201 ~ PCT/US90/00020
2fl~7 ~U3
37
*/
/* Oattmn DAI~L data */
extern int CPUZyPE;
eastern char RESTARTIP;
void Banal ()
{
/* The function of the data analysis task in this location */
/* is to call on assembly language programs to configure */
/* the stack of cards as a Back End, Front End, Reach Rod */
/* Oontrol Box, or Power Supply Junction box, to set up the */
/* global serial ccmnu~ications channel addiressing, to */
/* initialize all systen variables, and to start the system */
/* interrupt timer. */
if (RESTARTIP) /* If this is a power on restart */
{
config (CPVIyPE); /* Make sure the correct types of input and
output cards are attached for this type
of CPIJ. (Back End. Front End, etc. ) */
gscinit (C~ITrYPE); /* Set up the global serial addresses that
this C~LJ will respond to. */
sysinit (c~TrYPE); /* Perfoan all other systsn initialization */
timerinit (); /* Start the systsn interupt timer */
if (RESTARTIP) /* If this is a power on restart */
RESTARTIP ~ 0; /* clear RESTARTIP flag */
/* etr3 of Banal */
void systeminterrupt ()
{
/* den the timer causes an intern~pt, this routine checks to see if
it is time to transnit a digitized sanpl.e of the arc voltages and

WO 91/10201 PCT/US90/00020
38
checks to see if it is time to scan the system inputs. */
BASE Ii5 DAQ +~ 1
if (BASE H5 L1AQ > 4)
f
BASE HS laAQ ~ 0 ;
if (CPUTYfE a 2)
'
readanalogs ();
~anitanalogs ( )
}
}
BASE SCAN III +~ 1;
if (BASE SCAN INP > 400)
BASE SCAN INP ~ 0:
danal0 ( CPITrYPE ) ;
}
} /* end of systeninterrupt */
The application code indicated by operational block
670 in FIGURE 18, is shown in FIGURE 19. This
application code is entered at a start 680. In a first
operational block 682, the system scan) status and panel
inputs. The two cards that provide inputs are the panel
interface card 206 which has eight analog inputs and
eight switch inputs and the DC input card which has a
possible total of 16 DC isolated inputs. These DC
signals are from sources such as limit switches,
pressure switches and the five buttons on the hand-held
training unit 126. The DC input card 218 is present
only in CPU type 2. The panel interface card 206
receives inputs from the front end control panel 118 in
unit 94, and from the reach rod control panel 120 in the
unit 96. Whenever there is an input to any of these

WO 9 i / 10201 ~, ~ ~ 1 f V ei
PCT/US90/00020
39 ~ . ,
signals, there is a specified output. For example, if
the toggle switch 230, shown in FIGURE 5, is switched to
the up position, the aligners 58 (shown in FIGURE 3) are
elevated.
In the next series of inquiries, shown in FIGURE
19, the operating software determines its CPU type and
executes the corresponding application code.
In a question block 684, an inquiry is made to
determine if the CPU is type 1. If the response is yes,
an operation block 686 is entered to execute the CPU
type 1 code shown on FIGURE 20.
If the response to question block 684 is no, the
system enters a question block 688 to~determine if the
CPU type is 2. If the response to question block 688 is
"yes", entry is made to an operation block 690 to
execute the CPU type 2 code shown in FIGURE 21.
If the response to the question block 688 is ~~no~~,
entry is made to a question block 692 to determine if
the CPU is type 3. If true, the yes exit is taken to an
operation block 694 to execute the CPU type 3 code shown
in FIGURE 22.
If the response to the question block 692 is
negative, entry is made to a question block 696 to
determine if the CPU is type 4. If yes, the system
enters an operation block 698 to execute the CPU type 4
code, which is shown in FIGURE 23.
If the response in question block 696 is no, entry
is made to a question block 700. The outputs from the
operation block 686, 690, 694, and 698 likewise enter
the question block 700. Within the question block 700
an inquiry is made to determine if a terminal is
attached to the CPU. Such an attachment is made through
the RS232 circuit 384. If such a terminal is attached,
the yes exit is taken from block 700 to enter an
operation block 702. At this point, the system executes

WO 91/10201 PCT/US90/00020
0 ~'~'~ 03
the terminal code. Following block 702, the system goes
to a return 704. This return is back to the entry into
question block 660, shown in FIGURE 18.
As shown in FIGURE 19, all of the execution code
5 required for each of the four types of processors are
available for use by each microprocessor. It is this
technique that permits the same collection of software
to be used in each of the microprocessors without
differentiating between one microprocessor and another.
10 The differentiation is carried out in the software which
reads the dip switch setting on the CPU card 202.
The code for FIGURE 19 is listed below.
/*
)aAI~hO.C
15 */
/* Oarrrnn nAt~lL data */
extern char Q TERM AZTAC~;
void danal0 ()
20 /* The function of the data analysis task in this location */
/* is to scan the input cards and then run the appropriate */
/* routine based on the C~V~. Before exiting, this code */
/* checks to see if the Q-Term is attached and, if it is, */
/* calls on the ø-Tenn code. */
25 scan~anes.s ( ) ;
scaci do inputs ( ) ;
switch (CFUtyPE)
case 1: /* If the CFVrYPE == 1 */ .
30 danah (); /* Execute the code for the Back End Controller */
break;

~n~7~n~
.v J .: ~ ~ V J
WO 91/10201 PCT/US90/00020
<~..;:
41 ' ' ,. ;,.
case 2: /* If the CPVI'YFE =~ 2 */
danal2 (); /* Exeaite the code for the Front End Controller */
break;
case 3: /* If the CPUTYPE -~ 3 */
danal3 (); /* Execute the code for the Reach Rod Ocxitrol Hox */
break;
Case 4: /* If the CT~(TTYPE ~~ 4 */
danal4 (): /* Execute the code for the Power Supply ,7tinetion Box */
break;
to default:
bz~eak;
if (Q TERM AT'1'AGII~)
opter (); /* Execute the operator interface routine */
~ /* end of danal0 */
The execution code for a type 1 CPU is illustrated
in FIGURE 20. As noted above, the type 1 CPU is within
the microprocessor control unit 92 at the internal
welder backend control unit. The control unit 92
directly controls the motion of the torches 336, 338,
340 and 342 and indirectly controls the operation of the
torches and .power supply contactors. It is this
microprocessor control unit that accomplishes the
functions for wire speed, arc voltage and travel speed ,
illustrated in FIGURE 17.
The CPU type 1 code begins with a start 714. Next, ,
it enters an operation block 716 to read the encoder
112. This is done through the encoder motor card 214

WO 91/10201 PCT/US90/00020
42
which receives the encoder signal via lines 524 and 526.
Previous to this point in the operation, the system has
been "trained" and various positions, shown in FIGURE 7,
have been stored in the program. These are home
positions 354, the clockwise start position 346, the
clockwise stop position 352, the counterclockwise start
position 346, and the counterclockwise stop position
350.
From the operation block 716, the program enters a
question block 718 to determine if the torches are
rotating clockwise. If so, the yes exit is taken to a
question block 720. Within the block 720, a check is
made of the encoder count to determine if it is less
than the clockwise start position. If so, the torch is
not in the appropriate position to start a weld and. the
yes exit is taken to a return 722. This return takes
the system back to the input of question block 700 in
FIGURE 19.
If the response in the question block 720 is no,
entry is made to a question block 724 to determine if
the encoder count is greater than the clockwise stop
position. If this is true, the yes exit is taken to a
question block 726 to determine if welding is in
progress. If welding is being performed, then the stop
position has been reached and it must be terminated.
The yes exit is taken from block 726 to an operation
block 728 which causes the arc and torch travel to be
terminated. Following block 728, the system enters the
return 722.
If welding has not been commenced, as determined in
question block 726, the no exit is taken to the return
722.
In reference to question block 724, if the encoder
count is less than the clockwise stop position, the no
exit is taken to a question block 730. Within the block

WO 91 / I 0201 ~ "~ O ~ PCT/US90/00020
43 ;,_, . . ,
730, an inquiry is made to determine if the weld has
started. If so, the yes exit is taken to a question
block 722. This block determines if the speed of the
wire and torch travel is at the maximum value and if the
arc voltage is at the maximum value. If so, the yes
exit is taken to the return 722. If no, the system
enters an operation block 734 to increment (increase)
the wire speed, travel speed and arc voltage. This step
of increasing speed corresponds to the upward ramp for
the wire speed and travel speed shown in FIGURE 17.
Following the operation block 734, the system enters the
return 722.
If the response in the question block 730 is
negative, that is, the weld is not started, the no exit
is taken to a question block 735 to determine if a weld
has been requested. Such a request is made by
monitoring the weld start button 306, shown in FIGURE 6.
This signal is transferred to the operating
microprocessor through one of the panel interface cards
206, as described above. If a weld has been requested,
the yes exit is taken from the question block 736
(Change 735 to 736) to an operation block 738 which
turns on the wire feed for each of the internal welders
340 and 342 and the welding power supply contactors.
Following block 738, the system enters the return 722.
If no weld has been requested, the no exit is taken from
question block 736 to the return 722.
As shown in the top half of FIGURE 20, for
clockwise torch rotation, these steps provide the ramp
up for the parameters, the travel to the end of the weld
pass, at which point the welding parameters are
terminated.
The lower half of FIGURE 20 provides an identical ,
set of operations for a counter clockwise rotation. The
question block 718 determines if the torches are

WO 91/10201 PCT/US90/00020
44
~~~~r~~~
rotating counterclockwise. If not, the no exit is taken
to question block 744 to determine if counter-clockwise
rotation has been requested. If the answer is no, the
system enters the return 722. If the answer is yes, the
system enters a question block 746. The block 748
determines if the encoder count is greater than the
counter-clockwise start number. If yes, the system
enters the return 722. If no, the system enters a
question block 748. From question block 748, there are
provided question block 750, operation block 752,
question block 754, question block 756, operation block
758, question block 760 and operation block 762. Blocks
746-762 correspond respectively to blocks 720-738,
described above in reference to FIGURE 20.
The C code for FIGURE 20 is listed below.
/*
LIANAfI .C
*/
/* Assembly raitine - LExated in Et~ERl */
extern int rdencoder();
#incZ.ude <danal.def>
#include <inputl.def>
void danah ()
/* (fin every pass, 10 times / second, update enccount by invoking */
/* rdencoder (). This routine returns a new value of enccount. */
rdenooder (en~t):
/* CheCk to see if the cw rotate or axv rotate systan status bits */
/* are set. If they are, invoke the csv or caa start/stop tests. */

WO 91/10201
PCT/US90/00020
tl:.=:;
if (systanstatus & cw rotate)
if : ( enocwnt < civstart )
5 if ( encc~unt > cv~stop )
if (welding) ;
turnoff (weld aontactorl);
10 turnoff (weld contactor2);
turnoff (GW wirefeedl);
turnoff (Cw wirefeed2)
turnoff (ring travel);
15 }
else if (weJ.ding)
if :(tvlspeed > maxtvl)
2o tvlspeed += 1;
CW wirspeedl += 1;
GW wirspeec32 += 1; v
}
}
25 else if (start we7.d)
turnon (weld contactorl);
turnon (weld contactor2);
turnon (Cw wirefeedl);
30 turnon (CW wirefeed2);
}
eYse if ( syste~tatus & ccw rotate )
.. :. v ; .: , :, ..,. ,; , ."" . . ".;,
. . , ~ , , v..
. ':... ;v ,.~, ;, e;:: . :; ,

WO 91/10201 PGT/US90/ 20
46
if !(enccount < caastart)
if ( enccount > oc~astop )
{
if (welding)
C
turnoff (weld oontactorl ) ;
turnoff (weld oontactor2);
turnoff (CLw wirefeedl);
turnoff ( aC.W wirefeed2 ) ;
turnoff (ring travel);
else if (welding)
{
if !(tvlspeed > maxtvl)
{
tvlspeed ~ 1;
wirspeedl ~+= 1;
wirspeed2 += 1;
else if (start weld)
turnon (weld contactorl);
turnon (weld cantac',.or2 ) ;
turnon (CL~V wirefeedl ) ;
turnon (C~1 wirefeed2 ) ;
}
} /* end of danall */ ' .

WO 91 / 10201 ~ ~ ~~ ~ ~l ~ ~ PCT/US40/00020
r... ;,. . _
47 ~ , . ,
The operation code for the type 2 CPU is described
in reference to FIGURE 21. As noted above, the type 2
CPU is in the microprocessor control unit 94 which is at
the front end of internal welder unit 30. This CPU
card, in the front end control unit, controls many of
the mechanical functions within the internal welder unit
30. It does so in response to commands that are
received from both the panels 118 and 120, which are
shown in FIGURES 5 and 6 respectively. The commands
from the panel 118 are received directly at the
microprocessor control unit 94 via its panel interface
card 206. However, the commands from the reach rod .
control panel 120 are input to the microprocessor
control unit 96 via its corresponding panel interface
card 206 and then transmitted by the control unit 96 via
the communication link 100 to the CPU card 202 for the
microprocessor control unit 94.
The inputs from the buttons and switches at the
panels 118 and 120 are periodically monitored by the
panel interface cards 216. These inputs are transferred
to the corresponding microprocessor as a set of status
bits. The system maintains three sets of status bits.
These are (1) the received status bits (2) the acted
upon status bits and (3) the changed status bits. The
changed status bits are the received bits that are
different from the corresponding ones in the set that
has been acted upon. The changed status bits therefore
indicate functions which require action.
Referring to FIGURE 21, entry for the CPU type 2
code is made at a start 770. The operations carried out
in the type 2 CPU are to monitor inputs to determine if
there has been a change in the status for that input.
If there has been a change in status, the corresponding ..
functional operations are carried out to shift the
mechanical operation from its present state to another

WO 91/10201 PCT/U~90/00020
~~ ~'~'~ ~~3
48
state. From start 770, the system enters a question
block 772 which questions if there is a change in the
input for the aligners 58. This is produced by the
toggle switch 230 at panel 118. If there has been a
change in the switch, the yes exit is taken to an
operational block 774 which generates a command to
change the position of the aligners 58. .
If there has been no change in the input for the
aligners, the no exit is taken from question block 772
to a question block 776. within this block, a check is
made for the input for the rear shoes in assembly 54.
This input is provided from the toggle switch 232 at the
panel 118. If a change has been made, the yes exit is
taken from the question block 776 the rear shoes are
raised or lowered by operation block 778 depending upon
the change that caused this path to be taken. The
commands are then issued to change the position of the
rear shoes in the assembly 54. If the shoes are
expanded, they are retracted. If the shoes are
retracted, they are expanded.
If the response to the question in block 776 is
negative, the no exit is taken to a question block 780.
The block 780 determines if there is a change in the
input for the wheels 36 and 38. These inputs are from
the buttons 234 and 236 at the panel 118. If there has
been a change, the yes exit is taken to an operation
block 782 which generates the command for changing the
position of the wheels 38.
If the inquiry made in question block 780 is
negative, the no exit is taken to a question block 784
to determine if there has been a change in the status of
the brake input, which is provided by the toggle switch
238 at panel 118. If there has been a change, the yes
exit is taken to an operation block 786 which causes
generation of signals for activating a change in the

WO 91 / 10201 ~ ~ r' rJ ~ ~ PGT/US90/00020
49 , , / ( , .
position of the brake arms 46 by activation of the
piston 48.
If there has been no change in the break input in
block 784, the no exit is taken to a question black 788.
This inquires if there has been a change in the
forward/reverse travel direction for the internal welder
unit 30. If so, the yes exit is taken to an operation
block 790 where commands are issued for changing the
polarity connection of the battery 50 to the motor 35.
If no change has been made in question block 788,
the no exit is taken to a question block 792 to
determine if the wire clear button 252 has a changed
status bit. If so, the yes exit is taken to an
operation block 794 to implement the wire clear function
by operation of the actuator 168 shown in FIGURE 2. If
button 252 is depressed, the wire is fed into the gap.
If it is released, the feed is stopped.
If the response to question block 792 is negative,
the system enters a question block 796 to determine if
there has been a change in the status of the clockwise
rotation button 254. If so, the system enters an
operation block 798 to change the status of clockwise
rotation. If the button has been depressed, the ring
344 is driven by the motor 110 in a clockwise direction.
If the button has been released, the clockwise rotation
is terminated.
If the response to the question block 796 is no,
the system enters a question block 800 to determine if
there has been a change in the counter-clockwise
rotation button 256 at panel 118. If there has been a
change, the yes exit is taken to an operation block 802.
As described above, this change is the rotation status
in the counter-clockwise direction. If the motor 10 has .s
been activated for counter-clockwise rotation, it is

WO 91 / 10201 PCT/US90/00020
deactivated. If it is inactive, it is then activated
for counter-clockwise rotation.
If the no exit is taken from the question block
800, the system enters the question block 804.
5 In the question block 804, an inquiry is made as to
the status of the front shoes input, which is the toggle
switch 258, shown in FIGURE 5. If there has been a
change in this switch, the yes exit is taken to an
operation block 806 to change the position of the front
10 shoes in the assembly 52. The shoes are causad to
change position between the expanded and retracted
positions by operation of pneumatic actuators.
If the response to question block 804 is negative,
the system enters a question block 808 to determine if
15 there is a change in the clockwise gas toggle switch 260
in FIGURE 5. If there has been a change, the yes exit
it taken to an operation block 810 to change the gas
flow to the torches. The gas flow is either turned on
or off .
20 If the response to the question block 808 is
negative, the system enters a question block 812 to make
a similar inquiry about the counter-clockwise gas switch
262. If a change has been made in this switch, the yes
exit is taken to the operation block 814 to generate the
25 command necessary to change the status of the valve
providing the gas for the counter-clockwise welding
pass.
If the response to the inquiry in block 812 is
negative, the system enters a question block 816 to
30 determine if there has been a change in the button 226
for the clockwise welder 1 wire feed. If there has been
a change in this button, the yes exit is taken to an
operation block 818 which changes the status of the wire
feed for the number 1 clockwise internal welder. This
35 either initiates or terminates the wire feed.

WO 91/10201 PGT/US90/00020
51 .204'~~03..
If the response to question block 816 is negative,
entry is made to a question block 820 to determine if
the button 268 at panel 118 has been depressed to
activate the wire feed for the clockwise internal welder
number 2. ?f the response is yes, entry is made to an
operation block 822 to change the status of the wire
feed for the clockwise number 2 welder.
If the response to question block 820 is negative,
a question block 824 is entered to determine if there
has been a change in the status of button 270 at panel
118 for the wirefeed of the counter-clockwise welder
number 1. If so, the yes exit is taken to an operation
block 826 to change the status of the' wirefeed for the
counter-clockwise welder number 1.
If a no response is made in operation block 824,
the system enters a question block 828 to examiner the
status of the button 272 to determine if there should be
a change in the status of the wirefeed for the counter-
clockwise welder number 2. If so, the yes exit is taken
to an operation block 830 which generates the commands
for either stopping or starting the wire feed for the
counter-clockwise welder number 2.
If the response to the question block 828 is
negative, entry is made to a question block 832 to
determine if there is a change in the switch 244 for
fast and slow travel of internal welder unit 30. If
there has been a change, the yes exit is taken to an
operation block 834 which changes the battery
connections between battery 50 and the motor 35 to
provide the other available voltage. If there has been
no change in the switch 234, the no exit is taken to the
return 836.
An entry is made to the return 836 from each of the
operation blocks 774, 778, 782, 786, 790, 794, 798, 802,
806, 810, 814, 818, 822, 826, 830 and 834.

WO 91/10201 PGT/US90/00020
.r y,
. 5 2 .
. .
The code listing for FIGURE 21 is as follows.
/*
TaAI~L~2 . C
*/
extern Char *STATtLSBUFFER:
extern char *PIEBUFFER;
/* C~mnn >aAt~lL data -
Located in L~ANAL~O */
extern char local status[];
extern char processed status[];
extern char changed status[];
extern char *pointer;
extern char RESTARTIP;
#incl,.ude <danal.def>
#include <input2.def>
void danal2 ()
char status mask;
/* Get the current status
reading for the CPU */
pointer = STAT~7SBUE~ER; /* address the status buffer */
local status[0] =~*pointer;/* get status byte 1 pts 1-8 */
pointer +a 1;
local status[1] _ *pointer;/* get status byte 2 pts 9-16*/
pointer = PIBBL>FFER; /* Address PIB buffer */
local status[2] _ *pointer;/* get status byte 3 */
local status[3] _ *pointer;/* get status byte 4 */ .
local status[4] _ *pointer;/* get status byte 5 */

w0 91/10201 PCT/U590/00020
20~4'~703
/* Oar~are the Internal Welder Input2.def local status [0] byte with */
/* the present version of the processed status [0] byte. If */
/* local status [0] varies fran processed status [0], update */
/* processed status [0] by invoking the appropriate raztine(s). */
if (processed status[0] != local status[0] )
/* Isolate those bits where local status [0] has changed. */
changed status [0] = processed status [0] ~ local status [0]
/* If the controlling status bit has changed, */
/* invoke the function for this bit changing. */
if ( changed status [ 0 ] & TVL MdI'~t IS )
chg tvl motor is ():
if ( changed status [ 0 ] & AL~IC~tS UP LS )
chg al.igners uP_~ ():
if (changed status[0] & »tAt~ IS)
chg brake is ( )
if ( changed statz~s [ 0 ] & ~5 Pt~St~E SW )
chg shoes~ressure sw ();
} /* end of digital status[0] change process */
/* Update processed status [1] only if the local statxzs [1] */
/* varies fran the old processed stags [1]. */
if (processed status[1] != local status[1] )
/* Isolate those bits where status [1] has changed. */
changed status[1] = processed status[1] ~ local status[1] ;
/* If the controlling status bit has changed, */
/* invoke the function for this bit changing. */
if ( changed status [ 1 ] & TEACH F~ BtT~.LC~1 )
chg teach bane button (): .
3o if ( changed status [ 1 ] & TEAO,H C~VSTART 13L>TIOl~1 )

wo 9 ~ i i ozo ~ ~ ~ ,3. Pcrius9o/ ~zo
~~~r~~
Chg teach G~tar't bllttOll ( ) ;
if ( changed status [ 1 ] & TEAQi QniShDP HLTrIC~1 )
chg teach aastop button ();
if (changed status[1] & T~i(~VSTART BLTFrON)
chg teach ccrastart button ():
if ( changed status [ 1 ] & TEAQ3 (~~'I'OP HLJI'IC7N )
chg teach ocwstop button ();
/* end of digital status[1] change process */
/* Look at the Internal welder front end ocxitrol panel. */
/* Update processed status [2] only if the local status [2] */
/* varies from the old processed status [2]. */
if (processed status[2] :a local status[2])
t
/* Isolate those bits where status[2] has changed. */
changed status[2] - processed status[2] ~ local status[2];
/* If the controlling status bit has changed. */
/* invoke the function for this bit changing. */
if (changed status[2] & FAST TRAVEL REQ)
chg fast travel req ();
if ( changed status [ 2 ] & C~w2 WIRE PB Ft~ )
chg caa2 wire~b req ( ) ;
if (changed_status[2] & Q5V1 WIRE PB RDQ)
chg cowl wire~b req ();
if (changed status[2] & C5V2 WIRE PB REQ)
chg ~ wire~b req ( )
if ( changed status [ 2 ] & t~. wlFtE PB R~ )
chg cwl wire~b req ( ) ;
if (changed status[2] & CX.w GAS R~Q)
ch9_a"~ gas ~ ( ) ;
if ( c.han~ged status [ 2 ] & CNI GAS RF~Q ) ,
):
if (changed status[2] & FRS S~ ~ RDQ)

WO 91 / 10201 ~ ~ ~ J~ ~ PCT/US90/00020
chg front shoes extend req ();
} /* end of digital status[2] change process */
/* Look at the Internal Welder front end oocitrol panel. */
/* Update processed status [3] only if the local status [3] */
5 /* varies from the old processed status [3]. */
if (processed status[3] != local status[3])
/* Isolate these bits where status[3] has changed. */
changed status[3] = processed status[3] ~ local status[3];
10 /* If the controlling status bit has changed, */
/* W voke the function for this bit changing. */
if (ch egad status[3] & ALIC~S UP RDQ) ,,
chg aligners up req ();
if (chacystatus[3] & RFAR ~ UP RDQ)
15 chg rear shoes up req ();
if (changed status[3] & REAR SE1~5 DC7WN RDQ)
chg rear shoes dawn req ();
if ( changed status [ 3 ] & ~ttVE t~ DOW~t RDQ )
chg drive wheel down req ();
20 if (changed status[3] & DRIVE Vd~L UP RDQ)
chg drive wheel up req ();
if (changed status[3] & ~ OFF RDQ)
chg brake off req ();
if (changed status[3] & TRAVEL FSVD RDQ) .
25 chg travel fwd req ();
if (changed status[3] & TRAVEL REV RED)
chg travel rev req ();
} /* end of digital status[3] change process */
/* Look at
the Internal
We7.der front
end central
panel. */
30 /* Update
processed
status [4]
only if the
local status
[4] */

WO 91/10201 PGT/US90/00020
ty.
2p4'~7Q'~
56
/* varies fran the old processed status [4]. */
if (processed status[4] != local status[4])
/* Isolate those bits where status[4] has changed. */
changed statx~s[4] m processed status[4] ~ local status[4];
/* If the oantrolling status bit has chac~ged. */
/* invoke the function for this bit changing. */
if (changed status[Q] & WIRE CLEAR EtDQ)
chg wire clear req ();
if (changed status[4] & GW RCn'ATE RDQ)
chg c~,v rotate req ( ) ;
if (changed status[4] & CCIn1 RDfATE RDQ)
chg cc~a rotate req ( ) ;
} /* end of digital status[4] change process */
if (RF~TART TP)
ioerror = turnon ( &PILC~I' LAt~ ) ;
RESTAR'I'IP = 0 ;
} /* end of danal2 */
The CPU type 3 code operations are described in
reference to FIGURE 22. The number 3 CPU is located in
the microprocessor control unit 96 at the reach rod
control box 89.
The operations carried out in the CPU type 3 are
principally in response to the inguts at the reach rod
control box which has control panel 120. These inputs
are received from the panel interface card 206
associated with the microprocessor control unit 96.
Note that the unit 96 is not directly connected to

WO 91 / 10201 ~ ~ . ~ ~ ~ ~ PCf/US90/00020
,.
c:~.., , ,
57 .. . ..
control any of the mechanical or electrical functions of
the welding or related functional operations. Thus, all
of the control operations must be done by the generation
of commands which are transmitted via the communications
link 100 to the appropriate microprocessor controllers,
principally control units 92 and 94. As noted above,
each particular operational function has been previously
defined in a programmable read only memory so that the
microprocessor control unit can select an appropriate
l0 GSC address and corresponding command to carry out the ,
functions required when an input is received.
Referring to FIGURE 22, the CPU Type 3 code begins
with a start 844. From this start, the system enters a
question block 846 to determine if there has been a
change in the status bit for the front shoe mode, which
is position 284 on the panel 120 shown in FIGURE 6. If
there has been a change in this status bit, the yes exit
is taken to a function block 848 to perform the actions
necessary for the front shoes. These are included in
assembly 52 and are activated by pneumatic power
provided through a solenoid. If the command from the
panel is to raise the shoes, a command signal is sent to
the solenoid to raise the shoes, but if the command is
to lower the shoes, an appropriate command signal is
sent to the solenoid to lower the front shoes.
If there has been no change in the front shoe mode,
the no exit is taken from question block 846 to a
question block 850 to determine if there has been a
change in the clockwise weld mode status bit, which
corresponds to position 286 at panel 120. If the
response is yes, an operation block 852 is entered which
causes commands to be generated for turning on the
clockwise gas and arming the clockwise weld operation.
The actual weld operation is not initiated until the
weld start button 306 is pressed.

WO 91/10201 PCT/U590/00020
2047?~3
58
If the no exit is taken from question block 850,
entry is made to a question block 854 to determine if
there has been a change in the counterclockwise weld
mode. This corresponds to position 290 of the switch
280 on panel 120. If there has bean a change in this
mode, the yes exit is taken to an operation block 856
which generates commands to turn on the counterclockwise
gas and arm the counterclockwise weld operation.
However, the weld operation is not initiated until the
weld start button 306 is pressed.
If the no exit is taken from question block 854,
entry is made to a question block 858 to determine if
there has been a change in the status~bit for the home
mode which corresponds to position 293 of the switch
280. If the response is positive, the yes exit is taken
to an operation block 860 which rotates the ring 344 to
bring the welder 340 to the home position 354.
If the response to question block 858 is negative,
the no exit is taken to a question block 862 which
determines if there has been a change in the shoe
retract mode which corresponds to position 298 of switch
280. If the response is positive, that is, there has
been a change in this status bit, the yes exit is taken
to an operation block 864 which generates the commands
for retracting the front and rear shoes which correspond
to assemblies 52 and 54. This is done by an electrical
signal which drives a solenoid to activate pneumatic
valves for these assemblies.
If the no exit is taken from question block 862,
entry is made to a question block 866 to determine if
there is a change the status bit for the clockwise
rotation button 310 at panel 120. If there is, the yes w .
exit is taken to an operation block 868 to change to
examine the state of the clockwise rotation status bit. w -.

WO 91/10201 ~ ~j ~ ~~ ~~ ~ ~ PC1'/US90/00020
~ .: ~ i
59
This block generates commands to cause the ring 344 to
rotate in the clockwise direction, if so commanded.
If the no exit is taken from the question block
866, entry is made to a question block 870 which
determines that there is a change status bit for the
counterclockwise rotation button 312 at panel 120. If
so, entry is made to an operation block 872 to examine
the state of counterclockwise rotation status bit. If
the button has been depressed, rotation in the
counterclockwise direction of ring 344 will be
initiated. If the button 312 has been released,
rotation of the ring 344 is stopped.
If the no exit is taken from question block 870,
entry is made to a question block 874 to determine if
there is a change status bit for the hold out button 308
at panel 120. If there has been a status change, entry
is made to an operation block 876 to change the holdout
operation. If button 308 has been depressed, as
indicated by the corresponding status bit, the welding
operation in progress is stopped.
If the no exit is taken from the question block
874, entry is made to a question block 878 to determine
if there has been a change in the wire status bit
corresponding to toggle switch 316 at panel 120. When
switch 316 is in the off position, the wire feed for the
no. 1 welder (336 or 340) is disabled, but when it is in
the on position, the wire feed for the no. 1 welder is
enabled. If the yes exit is taken from question block
878, entry is made to an operation block 880 to disable
the No. 1 wire 1 feed if switch 316 is off. The wire
feed is enabled if switch 316 is on.
If the no exit is taken from question block 878,
entry is made to a question block 882 to determine if
there has been a change in the status bit for the wire
feed for torch no. 2 (338 or 342) which is switch 318.

WO 91/10201 PGT/US90/00020
f ~1
If true, the yes exit is taken to an operation block
which causes a disable for the wire feed for welder no.
2 if the switch is in the off position. If the switch
is in the on position, the wire feed for welders no. 2
5 will be enabled.
If the no exit is taken from question block 882,
entry is made to a question block 886. Within this
block, an inquiry is made to determine if the status bit
for the forward/reverse switch 324 has been changed.
10 This switch provides for the direction of travel of the
unit 30 in the pipeline. If this status bit has been
changed, an operation block 888 is entered to generate
the commands for changing the direction of travel for
the unit 30 as set by the switch 324.
15 If the no exit is taken from the question block
886, entry is made to a question block 890 to determine
if there is a status change bit for the arc test button
322 at panel 120. If there has been such a change, the
yes exit is taken to an operation block 892 to initiate
20 the arc test if button 322 is depressed and to terminate
the arc voltage is the button is released. The arc test
result is produced at the displays 326 and 328 at panel
120.
The question block 894 is entered if the no exit is
25 taken from the question block 890. This question
determines if there is a status changed bit for the
weld-start button 306. If the status has changed, and
button 306 is depressed to initiate a weld, the yes exit
is taken to a question black 896. Within the block 896,
30 a determination is made if the clockwise weld mode has
been armed. This is in reference to operations that are
carried out in operation block 852. If the response is
positive the yes exit is taken to operation block 898
which generates the commands to start the clockwise weld
35 process, as described above.
~.:,,. :~. , , .,.gym :- v
"" .~.. >.:~:.. .....: z

WO 91 / 10201 PCT/US90/00020
..
sl
If the no exit is taken from question block 896,
entry is made to a question block 900 to determine if
the counterclockwise weld mode has been armed. This is
established by the operation block 856. If so, the yes
exit is taken to an operation block 902 which initiates
the counterclockwise weld process. A no response to
question block 900 transfers the system to a return 910.
Referring back to question block 894, if there is a
negative response, entry is made to a question block 904
to determine if there is a changed status bit for the
auto travel, which is position 300 of the switch 280 in
panel 120. If there is a changed status bit, the yes
exit is taken to a question block 906 to determine if
there is a change status bit for the auto-travel button
302 at panel 120. If so, entry is made to an operation
block 908 to initiate the automatic travel of the unit
30 by operation of the drive motors. '
The no exits from question blocks 904 and 906 both
go to the return 910.
Entry is made to the return 910 from each of
operation blocks 848, 852, 856, 860, 864, 868, 872, 876,
880, 884, 888, 892, 898, 902 and 908.
Describing the operation of the CPU type 3
microprocessor control unit in general, referring to
FIGURE 22, the system scans through each of the status
bits for the functions listed in the question blocks.
If there is no changed status bit, the system cycles
through to the return 910 and starts the operation over
again. But, when the weld operation has been enabled,
by either of the operation blocks 852 or 856 and the
weld start button 306 has been depressed, the clockwise
or counterclockwise weld passes are initiated.

wo 9 r i i ozo ~ rcrius9oiooozo
f,', .,
The code for FIGURE 22 is listed below.
/*
~AI~1L3 . C
*/
extern char *PISHLJE'~'ER;
extern char turnon ();
extern char turnoff ();
char local status [];
extern char processed status [];
extern char changed status [];
extern int bg analogs [];
l~include <danal.def>
#include <input3.def>
/* W01RFC VALES */
extern char *pointer;
extern unsigned char mode reading;
extern char mode;
extern char current mode;
void danal3 ()
{
char i;
char status mask;
/* Get the current status reading for the tRU */
pointer - PISt3UFEER: /* Address P~ buffer */
local status [0] _ *pointer; /* get status byte 1 */
local status [1] _ *pointer; /* get status byte 2 */
void cpu3 mode ()

wo ~ ~ i ~ 020 ~ rcrivs9oiooozo
.. . 63
stitch (mode)
case 1: /* Auto Travel */
if (airrent mode == 6)
turnoff (&REAR ~ RET);
else if (current mode ~ 2) /* if front shoes ext. */
turnoff (s~ERONr ~);
break;
case 2: /* ~t */
if (current mode = 1)
turnoff ( &TRAVEG FWD ) ;
turnoff (&FAST TRAVEL);
turnoff ( &A(TItO TRAVEL LAh~ ) ;
/* Before turning on the front shoes, jnsure that the
aligners up signal. is not on. */
if (systenstatus & aligners up)
showerror (operr203);
else
( &g~5 )
else if (current mode ~ 3)
turnoff (&CW GAS);
else
sh~ow~error ( operr214 ) ;
b~:
case 3: /* GW Weld *!
if (current mode == 2)
turnon ( &CW GAS ) ;
else if ( current mode == 4 )

w0 9!/10201 PCT/US90/00020
2a~7°~U'3
64
turnoff (60CW GAS):
turnon ( &CW GAS ) ;
else
s,hawerror ( operr214 ) ;
break;
case 4: /* O~V Weld */
if (current mode ~- 3)
t

WO 91/10201
2 0 4 7 '~ 0. 3 pcrius9oioooZo
Vj:~
eZ.se if (current mode == 6)
if ((systemstatus & at hone) _= 0) /* if not at the hone position
5 */
txatdon (rotate to hcme); /* Ztun on rotate to hare
*/
turnon ( &EFtlxTr ~ ) ; '
turnoff (&RFAR ~ RET);
10 }
else
shawerror (operr214);
break:
case 6: /* F'rant and Rear Shoe Retract */
15 if (current mode == 5)
txan3off (rotate to bane); /* urn off rotate to bane cannand */
turnoff ( &SI~ ) ;
turnon ( &REAR SF~ RET ) ;
20 }
else if (current mode = 1)
turnoff ( &TRAVEG FWD ) ;
turnoff (&FAST TRAVEL);
25 turnoff (&AUIO TRAVEL LAt~);
}
else
whowerror (operr214);
b~'
30 default:
shawerror (operr216);
}
} /* et~ of cpu3 mode */

WO 91/1OZ01 PCf/US90/00020
2oa7~a3
66 ~ ~)
/* Ctrr~are the Internal Welder It~ut3.def local status [0] byte with */
/* the present versi~ of the processed status [0] byte. If */
/* local status [0] varies fran processed status [0], update */
/* processed status [0] by invoking the appropriate routine(s). */
/* hook at
the reach
rod control
panel signals.
*/
if (processed !' local status [0] )
status [0]
changed status
[0] = processed
status [0]
~ local status
[0];
if (changed status& CW PB)
[0]
chg cw rotate_pb;
()
if (changed status& GCw ItCTATE PB)
[0]
chg ocw rotate~b);
(
if (changed status& HaLD CUT PB)
[0]
r~.a ~t~b (
)
if (changed status& WgtE 1 ABLE)
[O]
chg wire 1 enable);
(
if ( changed status& WIRE 2 Fi~HZE )
[ 0 ]
chg wire 2 enable);
(
if (changed status& TRAVEL EWD TS)
[1]
chg travel fwd ):
is (
if (changed status& TRAVEL REV TS)
[1]
chg travel rev );
is (
if (changed status& ARC TEST PB)
[0]
chg arc test~b
( ) ;
} /* end of digital
status [0]
change process
*/
/* Loc~lc at the remaining reach rod control panel signals. */
if (processed status [1] != local status [1])
!* Isolate those bits where status [1] has changed. */
' changed status [1] = processed status [1] " local status [1] ;
if (changed status [0] & WB~D STAKI=PB)

WO 91!10201 ~ ~ ~ ~ rl ~ ~ PCT/US90/000Z0
67 ~ ' f; ;
if (local status [0] & WELD START PB) /* If the bit is now on, */
if (current mode == 3) /* Test to see what mode we are in */
txcmdon (cw weld);
else
{
if ( current mode =~~ 4 )
txatdon (ocw weld);
else
show error (operr217); /* EF~t - Not mode 3 or 4 */
]
}
/* however, if the bit is now off, ~/
else
{
/* Test to see what mode we are in */
if (current mode == 3)
txa~doff ( cza weld ) ;
else
{
if (current mode == 4)
txarc7off ( ccw weld ) ;
else
show error (operr217); /* - Not mode 3 or 4 */
}
processed status [0] ~ processed status [0]
& andnot (WELD START PB):
} /* e~ of chg weld start~b */
if (changed status [0] & AtTIO TRAVEL PB)
/* If the bit is now ~, */
if (local status [0] & AIThO TRAVEL PB)

w0 91 / 10201 PCT/US90/00020
20477~~
68
if ((systemstatus & pipe) _= 0)
shay error (aperr204);
else
if (current mode =~ 1)
turnon ( &TRAVEL FiaD )
turnon (&FAST TRAVEL.);
turnan ( &AIJiI~ TRAVEL LAhg' )
)
else
show error (operr205); /* not in the autotravel position */
processed status [OJ = processed status [0} ~ AtJrO TRAVEL Pa; .
}
/* however, if the bit is now off, */
else
processed status [0] = processed status [0]
& andnot (ALTIO TRAVEL PB);
} /* end of chg auto travel_pb */
} /* end of digital status [1] change process */
} /* end of danal3 */
The operation for a type 4 microprocessor control
unit is shown in FIGURE 23. In the present embodiment,
the type 4 CPU, control unit 98 performs only a receive
function and produces an analog signal for controlling
the power supply 104. Therefore this operation is
executed only in response to a communication interrupt,
that is, when the control unit~receives a transmission
of a digitized arc voltage sample via the communication
link 102. A start 911 leads to a return 912 which .
returns operation to block 700 in FIGURE 19.
FIGURE 24 illustrates a communication interrupt
operation which is carried out in any of the control

~n,~~7r,:,
WO 91/10201
pCT/US90/00020
69 .
units upon receipt of a transmission to the control unit
from the link 100. Upon receipt of a communication
interrupt 913, an operation corresponding the received
communication is carried out, for example, as shown in
operation block 914. These examples are turn on motor,
activate solenoid, read status bit, etc.
The corresponding code listings for FIGURE 24 is
as follows.
/*
DANAL4.C
*/
void danal4 ()
The interrupt routine shown in FIGURE 24 is written
in assembly language.
Referring to FIGURE 25, there is illustrated an
expansion of the welding system shown in FIGURE 1. In
addition to the equipment shown in FIGURE 1, there is
included an external welder 916, as described in USPNs
3,718,798 to Randolph et al which issued on Feb. 27,
1973 and 3,806,694 to Nelson et al. which issued on Apr.
23, 1974, both of which are incorporated herein by
reference. Welder 916 is provided with a microprocessor
control unit 918 which is connected to the communication
link 100. The unit 918 includes a CPU card 202, a power
card 204, an analog input card 210, an encoder motor
card 214 and a dual EMF motor card 216. These are the
cards necessary to automatically control the operation
of the external welder 916. This welder likewise has an
encoder on the drive motor to indicate the position of
the welder.
The external welder 916 includes a drive assembly
919 which is mounted on a track 921 that encircles and

WO 91/10201 PCT/US90/00020
2047?0~3 W
70 .
is clamped to the pipe point 33. The drive assembly 919
is controlled by the microprocessor control unit 918 for
positioning the welder 916 along the gap at the junction
of the pipe joints 32 and 33. Representative welders
which can perform this function are shown in U.S.P.N.s
3,193,656 to Bell et al. which issued on July 6, 1965,
3,974,356 to Nelson et al. which issued on August 10.
1976, 4,151,395 to Kushner et al. which issued on April
24, 1979, and each of these patents is incorporated
herein by reference.
The parameters for the automatic welding operations
described above are set into the control system via a
hand-held terminal 920 which is connected to the RS232
port of any of the microprocessor control units.
Parameters are entered through terminal 920 and are .
stored in a parameter file in the memory for the
microprocessor. The same file is maintained in all of
the control units 92, 94, 96, 98 and 918. When one
microprocessor receives an update or change, the
modified file is transmitted via the link 100 to all of
the other control units so that all parameter files
remain the same. The parameters which are entered via
the terminal 920 include the desired initial and final
travel speeds for the internal and external welders, the
initial and final wire feed speeds, the initial and
final arc voltages and the incremental rates of change
for each of these parameters.
A selected embodiment of the terminal 920 is a "Q
Term" terminal which is made by gSI Corporation located
in Logan, Utah.
The system shown in FIGURE 25 further includes a
computer 922 which has a screen 924, a keyboard 926 and
a printer 928., The computer 922 is connected to the
communication link 100. With this connection, an
operator at the computer 922 can monitor or control all

WO 91/10201
-:,, 2 0 4 7 ,~ ~ ~ PCT/US90/00020
71
of the operations being carried out by the welding
control system. One particular application for the
computer 922 is to monitor and record the parameters for
each weld produced by the internal and external welders.
These parameters can include time of weld, duration, arc
voltage, point location and any other parameters which
it is desired to monitor. Such a record of the welds
can serve as a quality control monitor and a reference
for future use should a review of each weld be needed.
l0 The operation of the external welder 916 can be
coordinated with that of the internal welders to improve
quality and productivity. Through the communication
link 100, the external welder can follow the welding
position of the corresponding internal welder so that
the external welder is working in the heat produced by
the internal welder. Multiple external welders, such as
916, may be used such as one external welder for each
internal welder. All of these operations can be
coordinated through the welding control system described
herein.
Additional microprocessor control units can be
added to the welding control system described above by
attachment to the communication link 100. These added
units can provide processing power for calculations,
mechanical control, operator inputs and data collection.
Referring to FIGURE 26 there is illustrated a rack
welding system 940 which utilizes the present invention.
This system includes an internal welder unit 942, as
shown in FIGURE 1 and a group of external welders 944,
946, 948 and 950, each of which corresponds to the
external welder 916 shown in FIGURE 25. The external
welders 944, 946, 948 and 950 have respective
microprocessor control units 945, 947, 949 and 951.
Each of these microprocessor control units is connected

WO 91/10201 PCT/US90/00020
D~~~U3
72
2
to control the functions of the corresponding external
welder.
The system 940 is shown working with three pipe
joints 952, 954 and 956. These pipe joints are
supported by a series of roller supports, such as
support 958.
System 940 includes welding stations 960 and 962.
Station 960 includes a support frame assembly 964 which
includes a track 966. A drive assembly 968 is mounted
far travel along track 966 and includes a motor for
rotating a ring 970 which supports the external welders
944 and 946. A microprocessor control unit 972 is .
mounted on the drive assembly 968 for controlling the
motors therein. The communication link 100 and power
lines 102 are likewise connected to the microprocessor
control unit 972. This control unit is similar to the
previously described microprocessor control units 92,
94, 96 and 98. In response to commands received through
the communication link 100, the drive assembly 968 is
activated to position the external welders 944
longitudinally along the pipe joint 956 and rotationally
in the proper position about the pipe joint 956. The
assembly also functions to rotate the external welders
944 and 946 about the pipe joint 956.
welding station 962 likewise has. a frame assembly
980 which has a track 982. A drive assembly 984 is
mounted on the track 982 and includes a motor for
positioning the assembly 984 along the track 982. Drive
assembly 984 further includes a drive motor for rotating
a ring 986 which supports the external welders 948 and
950. A microprocessor control unit 988 is mounted on
the drive assembly 984 for controlling the motors
therein. The control unit 9.88 is likewise connected to
the communication link 100 and the power lines 102. The
microprocessor control unit 988 is similar to the above

wo 9 v ~ ~ ozo ~ Pcrius9oiooozo
2047703
73 ,
described microprocessor control units 92, 94, 96 and
98.
The control system for the rack welding system 940
includes the same features as described above in
reference to FIGURE 17. The travel speed, arc voltage
and wire speed for each of the internal and external
welders can be controlled to provide high speed welding.
welding operations can be carried out by extending the
above-described control system to include the external
welders and the drive assemblies 968 and 984 which
position the external welders. In a typical operation,
the internal welder unit 942 provides the necessary
internal welding passes at the junction of pipe joints
952 and 954 while the external welders 948 and 950
provide the initial pass or passes for the external .
weld. Concurrently, the external welders 944 and 946
are providing the final external weld passes at the
junction of the joints 954 and 956.
Once these operations have been completed, the pipe
joints are moved to the left one joint length so that
the sequence of operations can be repeated. At the
second setup, the external welders 944 and 946 provide
all of the necessary additional external passes to
complete the external weld at the junction of joints 952
and 954. Concurrently, the external welders 948 and 950
are providing the initial external passes for the next
joint while the internal welder 942 is providing the
internal weld passes at the new pipe junction.
The internal welder 942 operation can be
coordinated with that of the external welders 948 and
950, in position, to have the external welders working
into the heat created by the internal welders. This
coordination can provide an improved joint and can
enhance the speed of operation for the overall welding
procedure.

WO 91/10201 PCT/US90/00020
79
The terminal 920 is used for setting initial
conditions for a large number of pipeline welds and is
not typically connected during routine operations. The
computer 922 can be used for monitoring or operating any
of the functions within the system 940. It can further
be used to make a record of all welds for quality
control and record keeping.
In summary, the present invention is a welding
control system which has a plurality of distributed
microprocessor control units which perform different
functions. The control units are interconnected in
parallel by a serial communication link for transferring
commands, signals and data between the control units.
Other features include having a common program in all of
the microprocessors
Although one embodiment of the invention has been
illustrated in the accompanying drawings and described
in the foregoing Detailed Description, it will be
understood that the invention is not limited to the
embodiment disclosed, but is capable of numerous
rearrangements, modifications and substitutions without
departing from the scope of the invention.

Dessin représentatif
Une figure unique qui représente un dessin illustrant l'invention.
États administratifs

2024-08-01 : Dans le cadre de la transition vers les Brevets de nouvelle génération (BNG), la base de données sur les brevets canadiens (BDBC) contient désormais un Historique d'événement plus détaillé, qui reproduit le Journal des événements de notre nouvelle solution interne.

Veuillez noter que les événements débutant par « Inactive : » se réfèrent à des événements qui ne sont plus utilisés dans notre nouvelle solution interne.

Pour une meilleure compréhension de l'état de la demande ou brevet qui figure sur cette page, la rubrique Mise en garde , et les descriptions de Brevet , Historique d'événement , Taxes périodiques et Historique des paiements devraient être consultées.

Historique d'événement

Description Date
Le délai pour l'annulation est expiré 2003-01-06
Lettre envoyée 2002-01-04
Accordé par délivrance 1999-03-30
Inactive : Taxe finale reçue 1998-12-10
Préoctroi 1998-12-10
Un avis d'acceptation est envoyé 1998-09-21
Un avis d'acceptation est envoyé 1998-09-21
month 1998-09-21
Lettre envoyée 1998-09-21
Inactive : Dem. traitée sur TS dès date d'ent. journal 1998-09-15
Inactive : Renseign. sur l'état - Complets dès date d'ent. journ. 1998-09-15
Inactive : Approuvée aux fins d'acceptation (AFA) 1998-08-17
Lettre envoyée 1997-12-23
Exigences pour une requête d'examen - jugée conforme 1996-12-16
Toutes les exigences pour l'examen - jugée conforme 1996-12-16
Demande publiée (accessible au public) 1991-07-05

Historique d'abandonnement

Il n'y a pas d'historique d'abandonnement

Taxes périodiques

Le dernier paiement a été reçu le 1998-12-16

Avis : Si le paiement en totalité n'a pas été reçu au plus tard à la date indiquée, une taxe supplémentaire peut être imposée, soit une des taxes suivantes :

  • taxe de rétablissement ;
  • taxe pour paiement en souffrance ; ou
  • taxe additionnelle pour le renversement d'une péremption réputée.

Les taxes sur les brevets sont ajustées au 1er janvier de chaque année. Les montants ci-dessus sont les montants actuels s'ils sont reçus au plus tard le 31 décembre de l'année en cours.
Veuillez vous référer à la page web des taxes sur les brevets de l'OPIC pour voir tous les montants actuels des taxes.

Historique des taxes

Type de taxes Anniversaire Échéance Date payée
Enregistrement d'un document 1997-07-10
TM (demande, 8e anniv.) - générale 08 1998-01-05 1997-12-17
Pages excédentaires (taxe finale) 1998-12-10
Taxe finale - générale 1998-12-10
TM (demande, 9e anniv.) - générale 09 1999-01-04 1998-12-16
TM (brevet, 10e anniv.) - générale 2000-01-04 1999-12-29
TM (brevet, 11e anniv.) - générale 2001-01-04 2000-12-21
Titulaires au dossier

Les titulaires actuels et antérieures au dossier sont affichés en ordre alphabétique.

Titulaires actuels au dossier
CRC-EVANS PIPELINE INTERNATIONAL INC.
Titulaires antérieures au dossier
PAUL A. TEWS
Les propriétaires antérieurs qui ne figurent pas dans la liste des « Propriétaires au dossier » apparaîtront dans d'autres documents au dossier.
Documents

Pour visionner les fichiers sélectionnés, entrer le code reCAPTCHA :



Pour visualiser une image, cliquer sur un lien dans la colonne description du document (Temporairement non-disponible). Pour télécharger l'image (les images), cliquer l'une ou plusieurs cases à cocher dans la première colonne et ensuite cliquer sur le bouton "Télécharger sélection en format PDF (archive Zip)" ou le bouton "Télécharger sélection (en un fichier PDF fusionné)".

Liste des documents de brevet publiés et non publiés sur la BDBC .

Si vous avez des difficultés à accéder au contenu, veuillez communiquer avec le Centre de services à la clientèle au 1-866-997-1936, ou envoyer un courriel au Centre de service à la clientèle de l'OPIC.


Description du
Document 
Date
(yyyy-mm-dd) 
Nombre de pages   Taille de l'image (Ko) 
Description 1994-05-06 74 2 619
Dessins 1994-05-06 17 548
Page couverture 1999-03-23 2 74
Dessin représentatif 1999-03-23 1 15
Revendications 1994-05-06 16 534
Page couverture 1994-05-06 1 14
Abrégé 1995-08-16 1 55
Dessin représentatif 1999-01-27 1 10
Avis du commissaire - Demande jugée acceptable 1998-09-20 1 166
Avis concernant la taxe de maintien 2002-02-03 1 179
Correspondance 1998-09-20 1 102
Correspondance 1998-12-09 1 39
Taxes 1996-12-17 1 67
Taxes 1995-12-17 1 58
Taxes 1994-12-18 1 56
Taxes 1994-01-03 1 44
Taxes 1992-12-17 1 34
Taxes 1992-01-01 1 36
Rapport d'examen préliminaire international 1991-09-03 17 621
Correspondance de la poursuite 1996-12-15 1 38
Courtoisie - Lettre du bureau 1991-10-10 1 27