00755958-g - A - SW1B Spot Welding
00755958-g - A - SW1B Spot Welding
A_SW2
Any reproduction, even partial is forbidden without previous written authorisation from COMAU SYSTEMS
S.p.A..
COMAU SYSTEMS reserves the right to modify without previous warning, the characteristics of the product
presented in this manual.
In this issue of the manual, with respect to the previous one, changes to technical contents have
been performed due to the product updating. The modified sections are listed below.
01/0598 - Back - -
02/1000 - Back - -
A 03/0301
This page has been left intentionally blank
03/0301 B
C3G Plus SUMMARY
SUMMARY
This manual includes:
Page
CHAPTER 1 – FEATURES
Description ...............................................................................................................................................1-1
Memory occupied ....................................................................................................................................1-1
Cards and I/O used ............................................................................................................................1-1
Program "startup.cod"..............................................................................................................................1-2
Initial installation procedure .....................................................................................................................1-2
Preliminary checks on application ......................................................................................................1-3
Checks permanently on......................................................................................................................1-5
Window management ..............................................................................................................................1-5
Routine to enable a new card to be displayed on the A_SW1B
spot welding application program ............................................................................................................1-6
chapter 3-instructions
Welding instructions common to all application programs ......................................................................3-1
Statements for messages and alarms .....................................................................................................3-2
Instructions for $WORD management.....................................................................................................3-3
Management of instructions in EZ environment ......................................................................................3-4
02/1000 i
SUMMARY C3G Plus
Page
CHAPTER 4 – CONFIGURATIONS
Configurations..........................................................................................................................................4-1
Application parameter configuration ........................................................................................................4-1
Application hardware configuration .........................................................................................................4-1
Automatic configuration of Hand 1 and Hand 2.......................................................................................4-3
A_SW1B parameters configuration file....................................................................................................4-4
A_SW1B hardware configuration file.......................................................................................................4-5
I/O connections ......................................................................................................................................4-14
APPENDIX A
A_SW1B application program ................................................................................................................ A-1
Specific items in the status window for A_SW1B .............................................................................. A-1
Specific instructions for A_SW1B...................................................................................................... A-1
List of predefined alarms and messages in A_SW1B ............................................................................ A-8
Application A_SW1B alarm codes..................................................................................................... A-8
A_SW2 application program ................................................................................................................... A-9
Specific items in the status window for A_SW2 ................................................................................ A-9
Specific instructions for A_SW2 ........................................................................................................ A-9
A_SW2 parameters configuration file .............................................................................................. A-11
A_SW2 hardware configuration file ................................................................................................. A-11
List of predefined alarms and messages in A_SW2 ....................................................................... A-12
I/O connections................................................................................................................................ A-12
Application A_SW2 alarm codes ..................................................................................................... A-16
Error messages .................................................................................................................................... A-16
Installation........................................................................................................................................ A-16
Communication Boards ................................................................................................................... A-17
Boards ............................................................................................................................................. A-17
General ............................................................................................................................................ A-18
Technological................................................................................................................................... A-19
Information messages .......................................................................................................................... A-20
Examples of tip change management in different cases of "Integrated spot" ...................................... A-21
ii 02/1000
A_SW Spot Welding
C3G Plus Applications
FEATURES 1-1
FEATURES
USER INTERFACE 2-1
INSTRUCTIONS 3-1
CONFIGURATIONS 4-1
DIALOGUE WITH WELDING TIMER 5-1
APPENDIX A A-1
SUMMARY
Paragraph Page
Description 1-1
Memory occupied 1-1
Cards and I/O used 1-1
Program "startup.cod" 1-2
Initial installation procedure 1-2
Preliminary checks on application 1-3
Checks permanently on 1-5
Window management 1-5
Routine to enable a new card to be displayed on the A_SW1B
spot welding application program 1-6
A_SW Spot Welding
Applications C3G Plus
DESCRIPTION
The application provides management of a spot welding station comprising a COMAU robot, C3G Plus
controller and welding timer.
Spot welding application programs can be divided into two main groups:
1) application programs with one timer per arm;
2) application programs with two timers per arm.
The A_SW1B application program belongs to the first group, the A_SW2 to the second.
The meaning of the names is shown below:
+--------------------------------- application
| ---+----------------------------- spot
| ---| +---------------------- welding
| ---| | +---------------- single timer
| ---| | | +---------- type B
| ---| | | |
A_S W 1 B
Welding control is provided by four instructions for use within the robot work programs and described in the
"WELDING INSTRUCTIONS" section.
Another five instructions described in the "INSTRUCTIONS" chapter may also be used in the robot work programs.
A number of station diagnostic functions are managed while there is also provision for management of
specific user-defined functions.
The application may be used to:
- select one of the timer welding programs with associated welding parameters;
- produce welding gun cycles, bypassing the welding timer with other parameters set by the user in
tables in the application;
- display user-defined alarms and messages;
- perform diagnosis of specific processes by way of programs generated by the user from
appropriate specifications;
- display the status of remote signals and system signals;
- display the status of user-defined $BIT.
The application is compatible with the EZ programming environment.
The following are required by the application:
- Software CONDITIONS from 33 to 99;
- CONDITION in the case of electric guns the application package also reserves conditions 200 to 256;
- TIMERS from 17 to 32 (from 1 to 16 available to the user).
MEMORY OCCUPIED
(A) From 160 Kb to 220 Kb must be available on the ram disk for files, depending on system configuration,
plus 50 Kb of buffer. In working memory approximately 350 Kb must be available for programs and 25 Kb
of buffer.
(B) If the application program is also used on the TP it requires an additional 10 Kb and 20 Kb respectively compared
to point (A).
(C) If the integrated SPOT application is used, it requires an additional 40 Kb and 60 Kb respectively
compared to point (A).
(D) 55 KB must be available on the ram disk and 80 KB in the working memory for files regarding
management of the electric gun and EDIT screen pages.
☞
The CONDITIONS and TIMERS mentioned above must never be used/modified by PDL2 user
programs implementing the instructions of the application..
PROGRAM "STARTUP.COD"
If this program has not already been created by the user, the default program must be loaded from diskette
when installing the application. This program activates the application program and the EZ environment (if
installed) at each re-start of the C3G Plus.
This program must also be used to run work programs written by the user.
☞ If the procedure is implemented after the application has already been installed application
customization are not lost.
2) I/O
Check that the cards the application requires are present inside the C3G Plus control unit.
In cases of error, the transfer does not start, an error message is displayed and the TP red alarm lamp
comes on.
The input and output groups required for the type of application and welding timer are configured.
Es: SX001_00.CNF
SX: prefix for application software
001: number associated with the hardware configuration file type _00: version of file
5) System language
The application is written in the same language as the system.
CHECKS PERMANENTLY ON
1) C3G Plus status: PROGRAM + DRIVES OFF
To be able to perform installation, the C3G Plus must be in the PROGRAM + DRIVES OFF status.
If it is not, the application will send a wait for correct status message and interrupt the installation procedure.
It will start again from where it was interrupted when the correct status is obtained.
2) Device: diskette + programs present
The installation is suspended if there is an error in the transfer from floppy disk or PC to ram-disk.
The error may be due to:
- no floppy disk present/PC;
- file not found on floppy disk/PC;
- communication error (Kermit, PCINT, cable, etc.).
In such cases, an error message is displayed and the procedure is interrupted until such time as the "SHIFT
+ SCRN" keys are pressed.
If the error conditions are removed, installation will continue from the point where it was interrupted.
If the installation procedure is completed, a number of settings needed for the application are made and the
startup program will be declared (see the "STARTUP.COD" sample program).
The user must then perform a "Configure Cntrler Restart Cold". The application will start automatically.
The display will always appear on the PC video or, but only in the case of this not being connected, on the
teach pendant display.
From this point on, all the instructions and functions in the application menu may be used.
WINDOW MANAGEMENT
The window modification programs "WINSPLIT.EXE" and "WINBACK.EXE" for personal computers included
on the application diskette may be used to modify the address comment strings on window files when
performing window personalization. The windows that may be modified are all those with extension ".win ".
WINSPLIT.EXE
Generates two files, "abc.att" and "abc.txt", from a window file "abc.win".
The only input required is the name of the file (the extension need not be specified as it will always be
".win"). The "abc.txt" file generated is an ascii file that can be modified using any of the usual ascii editors.
WINBACK.EXE
Produces the new window file "abc.win" from the modified "abc.txt" file and the "abc.att" generated
previously.
The only input required is the name of the ascii file (the extension need not be specified as it will always be
".txt").
FEATURES 1-1
USER INTERFACE
USER INTERFACE 2-1
INSTRUCTIONS 3-1
CONFIGURATIONS 4-1
DIALOGUE WITH WELDING TIMER 5-1
APPENDIX A A-1
SUMMARY
Paragraph Page
PRESENTATION OF APPLICATION
The application is presented in the form of screens displayed in a dedicated window; this leaves the USER
window and the SYSTEM window still available for the user.
Pressing the SCRN key, takes you from the USER window to the SYSTEM window to the application window
and vice versa.
Example of a display screen on PC video or teach pendant display:
A_SW1B 5.4X State:READY Weld:2 P:2 W:N T:36.2 ¤:N Arm:1
<area dedicated to messages, warnings or alarms>
Tool Parameter
Edit View Utility Arm Swap Egun Help
The application screens are divided into three parts (as with the operating system):
1) the top part contains information on status of the application;
2) the middle part is used for display of the presentation screen (as in the figure), for entry or display of the
tool data, or to provide the user with help information (varies according to the menu selected);
3) the bottom part is used for the application menu.
There are other “fields” that differ depending on which Spot Welding application is being used.
A description of these fields will be found in the APPENDIX to this manual.
If the application is opened on the TP, some items are abbreviated and some fields are not present because
of the reduced number of columns (40 instead of 80).
MENU COMMANDS
There are a number of functions devised to make the application easy for the User to use.
All the commands are laid out in menus, as close in structure as possible to the operating system menu.
The menu structure is as follows:
From To
☞ The Tool data Edit, View and Copy commands are only available in the EZ environment.
"Edit" COMMAND
Tool Parameter
Edit View Utility Arm Swap Help
The Edit command is only enabled when the system is in programming mode and there are no alarms
pending.
After the instruction is selected, a page will be displayed with all the values of data items that it is possible to
modify.
At this point, a prompt is displayed asking for a value to be entered; the range of values that will be accepted
is also displayed.
After writing the new value, confirm by pressing ENTER.
If the value entered is inside the accepted range of values, the old value will be replaced by this new one.
If the value entered is outside the range, the message 'invalid data' will be displayed.
If you press ENTER without entering any value, the message 'no data entered' will be displayed.
It is possible to exit at any time by pressing the TOP/PREV or CTRL_C keys, in which case you will be asked
if the current data values are to be confirmed.
- Tool
Option available in EZ environment.
- Parameter
In this environment you can enter or modify some of the technological parameters, for example:
- Time_dress: duration of tip dressing. Time expressed in milliseconds, with a default of 500. The
acceptable values for this parameter range from 500 to 5000.
This parameter is not managed by functions of the application, but can be used in user programs
as it is provided by the variable exported from the application "SXwi_time_dress"
VAR SXwi_ time_dress: ARRAY[2] OF INTEGER EXPORTED FROM sx_appl
- Time_hand: length of time the welding gun is closed in cycles with the timer excluded. In the
cycles where the timer is excluded, it is the application that closes the gun at the welding spot,
leaving it closed for a time "Time_hand" and opening it again after this time is up. Time expressed
in milliseconds, with a default of 0. The acceptable values range from 0 to 3000.
- Weld
A variable of the application program can be used to select the meaning of the first Weld routine parameter.
This parameter can indicate:
1) the welding timer program to be used on that spot (sbvi_weld_par = 0);
2) the ‘name’ of the welding spot shown on the Weld screen (sbvi_weld_par = 1).
In this case when Weld (n, FALSE) is requested the values will be set in correspondence with point n on the
application package screen page.
Function only enabled with sbvi_weld_par = 1 and with the transfer technological parameters from
SWIM timer disabled.
- Egun
Below are the commands that can be selected from the Weld and Egun screen pages.
"View" COMMAND
Tool Parameter I/O Bit User Comm Close
Edit View Utility Arm Swap Help
Slot..: displays logic address, status of the input/output and type of card in the slot.
In the case of a communication card, the application displays a pair of words (input and output) for each
page indicating the status of each word bit.
The application requests the user to define which pair of words must be displayed, indicating the range of
acceptable values according to the type of configuration.
- Bit
This command is used to display the status and comment strings of the $BIT defined by the user in file
SB_BIT.DAT of the application.
There are 7 pages available with this command, each with a display capacity of 32 $BIT.
To establish which $BIT to display, edit the file:
(command on C3G Plus: Filer Edit <SX_BIT.DAT>).
Enter the index of the $BIT and the comment string (maximum length 23 characters) to be displayed on the
same line.
At the end, perform an "EXIT" to save contents of the file
The first 32 lines typed in (comments excluded) will be displayed on page 1, the next 32 on page 2 and so
on. This short procedure can be executed with the application running as the personalizations will be read on
the next View Bit command from the application menu.
After personalization, the new SX_BIT.DAT file should be saved on an external device:
(command on C3G Plus: Filer Copy <SX_BIT.DAT>).
- Comm
Allows the communication card configuration data to be displayed.
- RIO: displays the RIO card data if present;
- Pfdp: displays the Annex C3G-Profibus DP card data if present;
- Ibs-Slave: displays the C3G EIN card data if present;
- DeviceNet: displays the C3G-EDN DeviceNet Slave card data if present;
- Swim: displays the C3G-SWIM card data if present.
If the operator has personalized the application program in order to display the words of the network
cards, after reconfiguring these, the application program must be reinstalled to create the windows
that correspond to the words declared in the new configuration.
- User
Users wishing to personalize the application with pages of diagnostics for the specific application on their station
can generate PDL2 programs which can be called up from the application menu using the 'View User' command.
Any such programs are generated in accordance with the following rules:
a) Names of programs:
The programs are named "SX_USER?.COD" (? = number of the arm the program refers to) and
are run in function of the arm (item in application status window) from which the 'View User"
command was executed.
b) Operations on PC video or teach pendat display:
The application provides the user with a window in which his data can be displayed. The window is
named as follows:
- for application A_SW1B: 'cb21:'
- for application A_SW2: 'c221:'
If the user wishes to display information also when the application is opened on the TP, the
sxru_refresh_tp routine must be declared in the "SX_USER?.COD" program as follows:
ROUTINE sxru_refresh_tp EXPORTED FROM sx_appl.
The sxru_refresh_tp routine must be called in the program each time the TP window is to be
refreshed with the new data of window 'cy21:'.
All the programs are de-activated as soon as another command is executed from the menu.
- Close
Used to close any open page of the application, automatically bringing the presentation page back on
display.
"Utility" COMMAND
Print Load Copy
Edit View Utility Arm Swap Help
In this environment it is possible to print, transfer to working memory or copy the values of the parameters of
the arm (item in the application status window) from which the command was run.
Copy and print operations are executed with a default of 9600 baud. It is possible to modify the speed of
transmission (see the "CONFIGURATIONS" chapter).
Utility functions:
- Print
Used to print the A_TOOL values and the parameter values on a printer.
Simply connect a printer on the COM1: port of the C3G Plus unit control to use this command.
The printer must be configured as indicated by the application in the screen displayed on entering the
environment.
To modify configuration of the serial communication port, the procedure set by the operating system must be
executed (use the commands from the system menu).
If the COM1: communication port is used to communicate with the welding timer, the application will redirect
the command to port COM0: displaying the configuration of this.
- Load
Used to transfer the parameter values.
Useful when wishing to check the new data values after data is transferred from an external device to the
ram disk of the control unit.
- Copy
Used to copy parameter values from C3G Plus to an external device (COPY TO), or from an external device
to C3G Plus (COPY FROM).
To be able to use this command, you will need:
- Integrated floppy disk: in this case the port is FD:;
or
- Personal Computer with COMP: port (use of PCINT);
or
- Personal Computer with COMP: port (use of KERMIT protocol);
"Arm" COMMAND
Comment
Edit View Utility Arm Swap Help
The "Arm" command makes it possible to enter the application environment dedicated to the other arm.
The status window of the application program displays the information relating to the other arm, if this exists.
All data written on the status window of the arm that is not displayed are stored and are displayed when the
"Arm" command is sent.
The application program automatically displays data relating to the other arm when an alarm occurs on the
arm that is not currently available.
In case of an alarm on both arms, the most recent alarm is displayed; when this is reset, the status window
of the other arm is automatically displayed if the alarm condition still exists.
Any user pages opened with the "View User" application command are automatically closed.
"Swap" COMMAND
Comment
Edit View Utility Arm Swap Help
The Swap command can be used only when the TP option of the application has been requested during the
installation procedure. The Swap command is used to transfer the application from one device to the other
(e.g. from PC video to teach pendant display or from teach pendant display to PC video).
When the Swap command is performed, the commands associated with the U1, U2, U3, U4 pushbuttons are
transferred, while the indications of LEDs U1, U2, U3, U4 remain active on the teach pendant (if present).
Any alarms displayed in the status window are transferred to the device which receives the application.
All open pages are closed automatically on completion of the Swap command. Activation of the command is
preceded by display of a confirmation prompt.
There is a ten second wait before execution of the command.
"Egun" COMMAND
All commands that come under the Egun title regard management/characterization/testing of the electric gun
and are explained in the specific manual (“ELECTRIC ACTUATOR TYPE WELD GUN MANAGEMENT
MANUAL”).
"Help" COMMAND
Key Routine Menu
Edit View Utility Arm Swap Help
The Help command displays information to help the User.
Help functions:
- Key
Displays a help screen explaining the functions associated with the pushbuttons and leds (U1, U2, U3, U4) of
the teach pendant.
- Routine
Displays help screens on how to use the application instructions. There are 2 pages available with this
command. Type in the number of the page you wish to have displayed - the first page concerns welding
technology instructions and the second general instructions (tools, alarms, messages, etc.).
The command cannot be used when the application is opened on the TP.
- Menu
Displays a help screen explaining how the application menu is laid out.
The command cannot be used when the application is opened on the TP.
1) from the command menu of the application using the SWAP command (see 'MENU COMMANDS'
section);
2) if the active device is disconnected (COMP: port dismount).
The application will display a prompt asking for confirmation of device swapping (press the ENTER key on
the inactive device).
The application behaves as follows in the various cases:
a) swapping between different devices.
This causes loss of the situation of the user interface; regardless of the state of the old device, the
initial screen of the application and the first menu level will be displayed on the new device.
Information on application status (alarms outstanding, etc.) is not lost.
b) swap on identical device.
The application program is restored to the situation prior to disconnection.
As the windows cannot be displayed in a single page, the application creates an imaginary box of the
dimensions of the teach pendant display being used that can be scrolled in the window that is loaded when
the application is opened on PC video (20 lines x 80 columns).
In this way, any page on teach pendant display will display only part of all the information.
To display the entire window and therefore to read all the information, the user must move the imaginary box
several times using the commands given in the application menu and those listed below:
The commands required are enabled in the menu according to the information to be displayed.
In some screens, the box that scrolls on the data is smaller than the maximum dimensions of the TP in that
data heading parts are displayed.
A_SW1B A_SW2
INTEGRATED TIMER /SWIM EXTERNAL TIMER
U1 Inclusion/Exclusion Incl./Excl. ARM1 Incl./Excl. timer 1 and 2 ARM1
U2 Weld yes/Weld no Incl./Excl. ARM2 Incl./Excl. timer 1 and 2 ARM2
U3 Reset fault Reset fault ARM1 Reset fault timer 1 and 2 ARM1
U4 Reserved (5.01 version) Reset fault ARM2 Reset fault timer 1 and 2 ARM2
Bypass water control (5.02
version with electric gun)
A_SW1B A_SW2
INTEGRATED TIMER /SWIM EXTERNAL TIMER
U1 Inclusion/Exclusion Inclusion/Excl. ARM1 Incl./Excl. timer 1 and 2 ARM1
U2 Weld yes/Weld no Incl./Excl. ARM2 Incl./Excl. timer 1 and 2 ARM2
U3 No fault No fault ARM1 No fault timer 1 and 2 ARM1
U4 Reserved (5.01 version) No fault ARM2 No fault timer 1 and 2 ARM2
Bypass in progress (5.02
version)
If the A_SW2 application is used, LED U1 indicates the status of both timers. The LED is on when
one or both timers are included (LED U2 is not used).
In some applications, LED U4 is dedicated to indicating welding gun positions as well as the normal
retracted and closed positions, indicated by LEDs T1 and T2.
(*) In case of the A_SW2 application program, the incl./excl. timer signals are passed to the $DIN[n] defined
by the user.
OUTPUT
A_SW1B A_SW2
SIM RIO INTEGRATED EXTERNAL TIMER
TIMER
U1 $SDOUT[13] $SDOUT[150] Inclusion/Exclusion Inclusion/Exclusion ARM1 (*) ARM1
U2 $SDOUT[14] $SDOUT[151] Weld yes/Weld no Inclusion/Exclusion ARM2 (*) ARM2
U3 $SDOUT[15] $SDOUT[152] No fault No fault ARM1 No alarm timer 1
and 2 ARM1
U4 $SDOUT[16] $SDOUT[153] Reserved No fault ARM2 No alarm timer 1
and 2 ARM2
(*) In case of the A_SW2 application, the incl./excl. timer signals are passed to the $DOUT[n] defined by the user.
With Input assigned to ON the welding timer is excluded. With Output assigned to ON the welding
timer is included.
MANAGEMENT OF A1, A2
The application handles these keys to allow the user to access and exit the application opened on the TP.
If the application program manages a single arm:
A1 makes it possible to pass from the system screen page to the application screen page and vice versa.
If the application program manages two arms:
A1 makes it possible to pass from the system screen page to the application screen page (forcing
display of the data of the first arm) and vice versa.
A2 makes it possible to pass from the system screen page to the application screen page (forcing
display of the data of the second arm) and vice versa.
If more than one application program is present on the control, A1 selects the A_SW1B application screen page.
FEATURES 1-1
INSTRUCTIONS
USER INTERFACE 2-1
INSTRUCTIONS 3-1
CONFIGURATIONS 4-1
DIALOGUE WITH WELDING TIMER 5-1
APPENDIX A A-1
SUMMARY
Paragraph Page
Operation in detail:
When called, the BEFORE_HAND checks that:
- the calling program belongs to an arm enabled for welding;
- the advance/delay time is within a preset range from -1000 to 100 (default, see also application
parameter configuration). If out of range, the “BEFORE_HAND value out of range x..y” alarm is
output.
WELD
The description of the WELD instruction is available in the APPENDIX to this handbook.
PRESS
The description of the PRESS instruction is available in the APPENDIX to this handbook.
WELD_NOW
The description of the WELD_NOW instruction is available in the APPENDIX to this handbook.
SWING
The description of the SWING instruction is available in the APPENDIX to this handbook.
DEC_GLOBAL
The description of the DEC_GLOBAL instruction is available in the APPENDIX to this handbook.
NO_DEC
The description of the NO_DEC instruction is available in the APPENDIX to this handbook.
INCL_APPL
The description of the INCL_APPL instruction is available in the APPENDIX to this handbook.
LARGE_OPEN
The description of the LARGE_OPEN instruction is available in the APPENDIX to this handbook.
A_MESSAGE('x')
where x represents a user-defined message string.
Example:
PROGRAM test
ROUTINE a_message(as_message_code: STRING) EXPORTED FROM sx_appl
BEGIN
a_message('WAITING FOR STROBE FROM PLC')
END test
The messages do not interrupt execution of the work program and do not produce an application alarm. A
number of predefined messages are available with the application and may be used with the A_MESSAGE
statement called with an x value ranging 1 to 10. A list of these messages for each single application is given
in the APPENDIX to this manual.
Where both statements are called with an x 10, an error will be signalled.
☞ The following instructions are only available in the A_SW1B and A_SW2 application programs in
configurations that foresee the use of a communication board, for example RIO, SINEC L2/DP.
Operations can be executed on single $WORD bits by means of three instructions supplied by the
application program.
SET_WORD(x,y,z)
Enables a specific bit of a specific $WORD to be assigned to the required value.
x = $WORD address
y = $WORD BIT from 1 to 16
z = BIT status (ON or OFF)
Example:
PROGRAM test
ROUTINE set_word(ai_w,ai_b: INTEGER; ab_v: BOOLEAN) EXPORTED FROM sx_appl
BEGIN
-- to assign bit 7 of $WORD 18 to OFF
set_word(18,7,OFF)
END test
WAIT_WORD(x,y,z)
Waits for a specific bit of a specific $WORD to move to the required status.
x = $WORD address
y = $WORD BIT from 1 to 16
z = BIT status (ON or OFF)
Example:
PROGRAM test
ROUTINE wait_word(ai_w, ai_b: INTEGER; ab_v: BOOLEAN) EXPORTED FROM sx_appl
BEGIN
-- waits until bit 4 of $WORD 17 is ON
wait_word(17,4,ON)
END test
WORD_BIT(x,y)
Returns the status of a specific bit of a specific $WORD.
x = $WORD address
y = $WORD BIT from 1 to 16
Example:
PROGRAM test
ROUTINE word_bit(ai_w,ai_b: INTEGER) EXPORTED FROM sx_appl
BEGIN
to test the value of bit 12 of $WORD 19
IF word_bit (19,12) THEN
-- bit to ON
ELSE
-- bit to OFF
ENDIF
END test
If these routines are called using an 'x' value outside the correct range or with a 'y' value not ranging
from 1 to 16, an error is signalled.
WELD_NOW
The WELD_NOW instruction is available with the EZ menu commands:
"Ins" "Appl" "wNow"
Enter the welding program that is to be called (the range of acceptable values varies depending on the
welding timer), the value -1 indicates that welding is to be performed with the currently selected welding
program.
BEFORE_HAND(x)
The BEFORE_HAND instruction is available with the EZ menu commands:
"Ins" "Appl" "Bhnd"
Enter the time by which welding is to be advanced or delayed, taking into account that the acceptable default
values range from -1000 to 100.
EZ will enter the instruction directly into the program open at the line on which the cursor is positioned.
PRESS
Enter the welding program to be called (the range of acceptable values varies depending to the welding
timer).
EZ will enter the instruction directly into the program open at the line on which the cursor is positioned.
A_ALARM(x)
The A_ALARM instruction is available with the EZ menu commands:
"Ins" "Appl" "Diag" "Alrm"
Enter the number of the alarm to be called, taking into account that acceptable values range from 1 to 10. EZ
will enter the instruction directly into the program open at the line on which the cursor is positioned. In the EZ
environment it is not possible to enter the instruction with an alarm string defined by the user.
A_MESSAGE(x)
The A_MESSAGE instruction is available with the EZ menu commands:
"Ins" "Appl" "Diag" "Mess"
Enter the number of the message that is to be called, taking into account that acceptable values range from
1 to 10. EZ will enter the instruction directly into the program open at the line on which the cursor is
positioned. In the EZ environment it is not possible to enter the instruction with a message string defined by
the user.
☞ The following instructions are available on the EZ menu for A_SW1B and A_SW2 Spot Welding
applications.
A_WARNING(x)
The A_WARNING instruction is available with the EZ menu commands:
"Ins" "Appl" "Diag" "Warn"
Enter the number of the warning that is to be called, taking into account that acceptable values range from 1
to 10. EZ will enter the instruction directly into the program open at the line on which the cursor is positioned.
In the EZ environment it is not possible to enter the instruction with an alarm string defined by the user.
SWING(x)
The SWING instruction is available with the EZ menu commands:
"Ins" "Appl" "Gun" "Swng"
Enter ON / OFF according to whether the additional gun movement must be activated / deactivated respectively.
DEC_GLOBAL(x)
The DEC_GLOBAL instruction is available with the EZ menu commands:
"Ins" "Appl" "Gun" "Dec" "Glbl"
Enter ON / OFF according to whether the sticking electrode control function must be activated / deactivated
respectively on all welding points.
NO_DEC
The NO_DEC instruction is available with the EZ menu commands:
"Ins" "Appl" "Gun" "Dec" "No"
LARGE_OPEN
The LARGE_OPEN instruction is available with the EZ menu commands:
"Ins" "Appl" "Gun" "Lopn"
FEATURES 1-1
CONFIGURATIONS
USER INTERFACE 2-1
INSTRUCTIONS 3-1
CONFIGURATIONS 4-1
DIALOGUE WITH WELDING TIMER 5-1
APPENDIX A A-1
SUMMARY
Paragraph Page
Configurations 4-1
Application parameter configuration 4-1
Application hardware configuration 4-1
Automatic configuration of Hand 1 and Hand 2 4-3
A_SW1B parameters configuration file 4-4
A_SW1B hardware configuration file 4-5
I/O connections 4-14
A_SW Spot Welding
Applications C3G Plus
CONFIGURATIONS
The package can be personalized for its specific application by way of some configurations.
☞
Always consult the version notes.
These are files with .DOC extension held on the application program diskette. To consult only the
configurations, read the file SB_READ.ME.
f) rename the file "SBHW.COD" SB..._00.CNF ( ... must be a three-digit number above 500)
(Filer Rename <SXHW.COD> <SX..._00.CNF>);
g) create a file SB..._00.ANM containing a comment string for the .CNF file (maximum length of string: 23
characters)
(Filer Edit <SX..._00.ANM>);
h) copy both files on to the application diskette
(Filer Copy <SX..._00.*>);
i) repeat installation of the application, this time with the new "SB..._00.CNF" file.
The "APPENDIX" chapter contains a general description of the contents of the hardware configuration files
for each application. For further details, read the sx_read.me file on your version disk.
To make the A_SW1B application software independent of the numerous applications in which it is used and
make it more flexible to suit different requirements, new hardware configuration files will only contain the
definition of the inputs/outputs that are essential to the application and the configuration flags assigned to
default values.
This file is always loaded in ramdisk with the name SBHW.COD. To personalize the application program
according to the specific application, the user can copy SBHW.COD into the SBHWUSER.COD file, and
make the modifications or additions considered necessary. For example selecting, at application program
installation time, the SB200_00 configuration file for the «C3G Plus spot Medium Frequency» (which is
renamed SBHW.COD in the ram disk), the inputs of the IOM in slot 4 will be defined as:
-- IOM 4 $DIN
sbwi_din_ev_ok[1] := 1
-- sbwi_din_tot_open[1] := 2 -- OPTION
-- sbwi_din_gun_open[1] := 3 -- OPTION
-- sbwi_din_gun_close[1] := 4 -- OPTION
-- sbwi_din_trafo_temp[1] := 5 -- OPTION
This means that the proportional solenoid valve OK input is on $DIN[1] and the $DIN for the welding gun fully
open, welding gun open, welding gun closed and welding transformer thermostat can also be assigned
optionally. Indices are shown to suggest which $DIN should be used.
After copying the SBHW.COD file into SBHWUSER.COD, the user can make the modifications required. He
may, for example, indicate that there is a welding gun open proximity switch and the welding transformer
thermostat:
-- IOM 4 $DIN
sbwi_din_ev_ok[1] := 1
-- sbwi_din_tot_open[1] := 2 -- OPTION
sbwi_din_gun_open[1] := 3 -- OPTION
-- sbwi_din_gun_close[1] := 4 -- OPTION
sbwi_din_trafo_temp[1] := 5 -- OPTION
Should the user wish to go back, it is possible to re-comment the line or set the variable to zero.
For standard predefined applications, the SBHWUSER.COD file is already prepared by the application
program. There is no need, therefore, to create it but it can be modified. See for example the files of the
application diskette SB200_00.C01 and SB200_00.C02 associated with the basic file SB200_00.CNF.
After modifying the SBHWUSER.COD file, a Configure Controller Restart Cold should be executed.
Should the modifications concern the definition of the I/O units or the cards inserted, the application
package must be reinstalled.
Parameters list:
After modifying the SBHWUSER.COD file, a Configure Controller Restart Cold should be executed.
☞ Should the modifications concern the definition of the I/O units, the cards inserted or the Hand
parameters, the A_SW1B application package must be reinstalled.
CONST ki_num_weld_prog
-- number of welding programs
VAR sbvi_num_arms: INTEGER
-- number of arms controlled by the application (1 or 2)
VAR sbwi_an: ARRAY[2] OF INTEGER
-- number of the first arm (and of the second arm if sbvi_num_arms = 2)
VAR sbws_name: ARRAY[2] OF STRING[40]
-- name of the application
VAR sbws_rack_slot: ARRAY[9] OF STRING[5]
-- name of cards used from the fourth to the ninth slot
VAR sbwi_set: ARRAY[2] OF INTEGER
-- group of U keys used: 1 - U1, U3; 2 - U2, U4
VAR sbwi_din_ev_ok: ARRAY[2] OF INTEGER
-- index of the $DIN port for proportional solenoid valve ok
VAR sbwi_din_tot_open: ARRAY[2] OF INTEGER
-- index of the $DIN port for welding gun fully open prx
VAR sbwi_dout_start: ARRAY[2] OF INTEGER
-- index of the $DOUT port for welding start
VAR sbwi_din_fk: ARRAY[2] OF INTEGER
-- index of the $DIN port for end of welding sequence
VAR sbwi_gout_idx_wp: ARRAY[2] OF INTEGER
-- index of the $GOUT port for welding program
VAR sbwi_sp_wp: ARRAY[2] OF INTEGER
-- index of the $GOUT port for welding program
VAR sbwi_len_wp: ARRAY[2] OF INTEGER
-- number of $DOUT ports belonging to the above group
VAR sbvi_first_weld_prog: INTEGER
-- number of the first welding program
VAR sbvi_last_weld_prog: INTEGER
-- number of the last welding program
VAR sbwi_weld_code: ARRAY[2] OF INTEGER
-- coding of welding programs
VAR sbvb_spr: BOOLEAN
-- enables calculation of cycle time and program selection.
In case of the INTEGRATED SPOT the value of some of the above variables is 1 instead of 2; new variables
have been introduced for the BOSCH welding timer:
VAR sbvi_intwt_code: INTEGER
-- code to identify the type of welding timer integrated in the C3G Plus cabinet or in the Application Box
VAR sbvb_gun_open_check: BOOLEAN
-- flag to indicate testing of the gun open micro before moving the robot after welding
VAR sbvb_gun_close_check: BOOLEAN
-- flag to indicate testing of the gun closed micro before moving the welding robot
VAR sbvb_local_weld_yn: BOOLEAN
-- flag to indicate enabling of the WELD YES/NO command from teach pendant
VAR sbwi_din_gun_open: ARRAY[1] OF INTEGER
-- index of the $DIN port for gun open micro
VAR sbwi_din_gun_close: ARRAY[1] OF INTEGER
-- index of the $DIN port for gun close micro
VAR sbwi_din_trafo_temp: ARRAY[1] OF INTEGER
-- index of the $DIN port for thermostat on welding transformer
VAR sbwi_din_water_flow: ARRAY[1] OF INTEGER
-- index of the $DIN port for gun electrode cooling water flow switch
VAR sbwi_din_air_press: ARRAY[1] OF INTEGER
-- index of the $DIN port for proportional solenoid valve air pressure switch
VAR sbwi_din_tele_close: ARRAY[1] OF INTEGER
-- index of the $DIN port for welding power contactor contact open/closed
VAR sbwi_din_prot_scr: ARRAY[1] OF INTEGER
-- index of the $DIN port for auxiliary contact of welding circuit breaker
VAR sbwi_din_pre_tip_change: ARRAY[1] OF INTEGER
-- index of the $DIN port for tip change pre-alarm from timer
VAR sbwi_din_alrm_tip_change: ARRAY[1] OF INTEGER
-- index of the $DIN port for tip change alarm from timer
VAR sbwi_din_weld_yn: ARRAY[1] OF INTEGER
-- index of the $DIN port for WELD YES/NO status from timer
VAR sbwi_gin_tmr_alrm: ARRAY[1] OF INTEGER
-- index of the $GIN port for timer alarm code reading
VAR sbwi_sp_in_tmr_alrm: ARRAY[1] OF INTEGER
-- index of the first $DIN port belonging to the group sbwi_gin_tmr_alrm
VAR sbwi_dout_tele: ARRAY[1] OF INTEGER
-- index of the $DOUT port to invoke closing of the power contactor
VAR sbwi_dout_ksr_reset: ARRAY[1] OF INTEGER
-- index of the $DOUT port for current alarm reset to timer
VAR sbwi_dout_gen_reset: ARRAY[1] OF INTEGER
-- index of the $DOUT port for general alarm reset to timer
VAR sbwi_dout_weld_yn: ARRAY[1] OF INTEGER
-- index of the $DOUT port for WELD YES/NO command to timer
VAR sbwi_dout_pre_tip_change: ARRAY[1] OF INTEGER
-- index of the $DOUT port to indicate tip change pre-alarm to the field
VAR sbwi_dout_alrm_tip_change: ARRAY[1] OF INTEGER
-- index of the $DOUT port to indicate tip change alarm to the field
VAR sbwi_gout_tmr_alrm: ARRAY[1] OF INTEGER
-- index of the $GOUT port to indicate timer alarm code to the field
VAR sbwi_word_pre_tip_change: ARRAY[1] OF INTEGER
-- index of the $WORD port to indicate change pre-alarm to the field
VAR sbwi_bit_pre_tip_change: ARRAY[1] OF INTEGER
-- index of the bit of the $WORD port to indicate change pre-alarm to the field
VAR sbwi_word_alrm_tip_change: ARRAY[1] OF INTEGER
-- index of the $WORD port to indicate tip change alarm to the field
VAR sbwi_bit_alrm_tip_change: ARRAY[1] OF INTEGER
-- index of the bit of the $WORD port to indicate tip change alarm to the field
VAR sbwi_word_tmr_alrm: ARRAY[1] OF INTEGER
-- index of the $WORD port to indicate timer alarm code to the field
VAR sbwi_len_tmr_alrm: ARRAY[1] OF INTEGER
-- number of bit to indicate the timer alarm code to the field
VAR sbwi_sp_out_tmr_alrm: ARRAY[1] OF INTEGER
-- index of the first bit of the $WORD sbwi_word_tmr_alrm
VAR sbwi_dout_ready: ARRAY[1] OF INTEGER
-- index of the $DOUT port to indicate the status of the welding timer to the field
VAR sbwi_din_weld_repeat: ARRAY[ki_num_arms] OF INTEGER
-- index of the $DIN port to select whether welding is to be repeated after a welding alarm
VAR sbvb_cntrl_hand_1: BOOLEAN
-- flag to enable invoking of gun closing/opening by robot control during welding
VAR sbvb_cntrl_hand_2: BOOLEAN
The following variables have been introduced for the FASE 332 integrated welding timer:
VAR sbwi_din_alrm_1: ARRAY[1] OF INTEGER
-- index of the $DIN port for faulty welding alarm from timer
VAR sbwi_din_alrm_2: ARRAY[1] OF INTEGER
-- index of the $DIN port for hardware alarm from timer
VAR sbwi_din_low_cu: ARRAY[1] OF INTEGER
-- index of the $DIN port for excess current alarm from timer
VAR sbwi_word_alrm_1: ARRAY[1] OF INTEGER
-- index of the $DIN port for insufficient current alarm from timer
VAR sbwi_word_alrm_1: ARRAY[1] OF INTEGER
-- index of the $WORD port to inform the field of faulty welding alarm from timer
VAR sbwi_bit_alrm_1: ARRAY[1] OF INTEGER
-- index of the bit of the $WORD port to inform the field of faulty welding alarm from timer
VAR sbwi_word_alrm_2: ARRAY[1] OF INTEGER
-- index of the $WORD port to inform the field of hardware alarm from timer
VAR sbwi_bit_alrm_2: ARRAY[1] OF INTEGER
-- index of the bit of the $WORD port to inform the field of hardware alarm from timer
VAR sbwi_word_high_cur: ARRAY[1] OF INTEGER
-- index of the $WORD port to inform the field of excess current alarm from timer
VAR sbwi_bit_high_cur: ARRAY[1] OF INTEGER
-- index of the bit of the $WORD port to inform the field of excess current alarm from timer
VAR sbwi_word_low_cur: ARRAY[1] OF INTEGER
-- index of the $WORD port to inform the field of insufficient current alarm from timer
VAR sbwi_bit_low_cur: ARRAY[1] OF INTEGER
-- index of the bit of the $WORD port to inform the field of insufficient current alarm from timer
The following variables have been introduced for the SWIM integrated welding timer:
VAR sbwi_sp_word_swim: ARRAY[2] OF INTEGER
st
-- index of 1 word exchanged with SWIM
VAR sbwi_len_word_swim: ARRAY[2] OF INTEGER
-- number of I/O words with SWIM
VAR sbwb_swim: ARRAY[2] OF BOOLEAN EXPORTED FROM sb_hw
-- flag to indicate management of SWIM cards by application
VAR sbwb_wpar_from_swim: BOOLEAN EXPORTED FROM sb_hw
-- flag to indicate reading of technological parameters from SWIM
VAR sbwi_w_thickness: ARRAY[2] OF INTEGER EXPORTED FROM sb_hw
-- index $WORD sheet thickness from SWIM to C3G Plus
VAR sbwi_w_weld_force: ARRAY[2] OF INTEGER EXPORTED FROM sb_hw
-- index $WORD welding pressure from SWIM to C3G Plus
VAR sbwi_w_trafo_temp: ARRAY[2] OF INTEGER EXPORTED FROM sb_hw
-- index $WORD input of transformer on gun thermostat
VAR sbwi_b_trafo_temp: ARRAY[2] OF INTEGER EXPORTED FROM sb_hw
-- index BIT input of transformer on gun thermostat
VAR sbwi_w_ev_ok: ARRAY[2] OF INTEGER EXPORTED FROM sb_hw
-- index $WORD input of digital feedback of digital solenoid valve
VAR sbwi_b_ev_ok: ARRAY[2] OF INTEGER EXPORTED FROM sb_hw
-- index BIT input of digital feedback of digital solenoid valve
VAR sbwi_w_air_press: ARRAY[2] OF INTEGER EXPORTED FROM sb_hw
-- index $WORD for air pressure switch on media panel
VAR sbwi_b_air_press: ARRAY[2] OF INTEGER EXPORTED FROM sb_hw
-- index BIT for air pressure switch on media panel
VAR sbwi_w_water_flow: ARRAY[2] OF INTEGER EXPORTED FROM sb_hw
-- index $WORD input of water flow switch on media panel
VAR sbwi_b_water_flow: ARRAY[2] OF INTEGER EXPORTED FROM sb_hw
-- index BIT input of water flow switch on media panel
I/O CONNECTIONS
The I/O required by the application and how they are mapped vary depending on the hardware configuration
selected:
Inputs
$DIN[35]: Circuit breaker fault (sbwi_din_prot_scr[1])
$DIN[36]: Air present pressure switch (sbwi_din_air_press[1])
$DIN[37]: Cooling water flow switch (sbwi_din_water_flow[1])
$DIN[65]: End of welding timer sequence (sbwi_din_fk[1])
$DIN[66]: Timer Weld Yes/No status (sbwi_din_weld_ynn[1])
$DIN[67]: Timer ready (sbwi_din_ready[1])
$DIN[68]: Failed welding from timer (sbwi_din_weld_fault[1])
$DIN[69]: Minor welding fault (sbwi_din_warning[1])
$DIN[71]: Tip change pre-alarm (sbwi_din_pre_tip_change[1])
$DIN[72]: Tip change alarm (sbwi_din_alrm_tip_change[1])
$GIN[14]:
$DIN[33]: Position welding power contactor contacts
(sbwi_gin_tele[1]
sbwi_sp_gin_tele[1]
sbwi_len_gin_tele[1])
$GIN[15]:
$DIN[45..48]: Inverter alarm code (sbwi_gin_mfpsu_alrm[1]
sbwi_sp_mfpsu_alrm[1]
sbwi_len_mfpsu_alrm[1])
Outputs
$DOUT[51]: Reset inverter fault (sbwi_dout_mfpsu_reset[1])
$DOUT[52]: Stop inverter current (sbwi_dout_mfpsu_stop[1])
$DOUT[81]: Start welding (sbwi_dout_start[1])
$DOUT[91]: Weld Yes/No command (sbwi_dout_weld_yn[1])
$DOUT[92]: Timer alarm reset (sbwi_dout_reset[1])
$DOUT[93]: Timer alarm reset and End of Welding (sbwi_dout_reset_fk[1])
$DOUT[94]: Timer alarm reset and Repeat Welding (sbwi_dout_reset_repeat[1])
$GOUT[1]:
$DOUT[82..90]: Welding program code (sbwi_gout_idx_wp[1])
(sbwi_sp_wp[1])
(sbwi_len_wp[1])
$GOUT[14]:
$DOUT[57]: Welding power contactor command (sbwi_gout_tele[1])
(sbwi_sp_gout_tele[1])
(sbwi_len_gout_tele[1])
Inputs
$DIN[2]: Welding gun fully open prx (sbwi_din_tot_open[1])
$DIN[5]: Weld transformer thermostat (sbwi_din_trafo_temp[1])
$DIN[37]: Cooling water flow switch (sbwi_din_water_flow[1])
Inputs
$DIN[2]: Welding gun fully open prx (sbwi_din_tot_open[1])
$DIN[3]: Welding gun open prx (sbwi_din_gun_open[1])
$DIN[5]: Weld transformer thermostat (sbwi_din_trafo_temp[1])
$DIN[37]: Cooling water flow switch (sbwi_din_water_flow[1])
$DIN[41]: Request gun close from Maintenance Box
(sbwi_din_close_gun[1])
Outputs
$DOUT[53]: Cooling water circuit solenoid valve
(sbwi_dout_water_flow[1])
$DOUT[59]: Request tip change (Pre-alarm OR Alarm)
(sbwi_dout_pre_tip_change[1])
(sbwi_dout_alrm_tip_change[1])
Inputs
$DIN[1]: Proportional sv digital response (sbwi_din_ev_ok[1])
$DIN[5]: Weld transformer thermostat (sbwi_din_trafo_temp[1])
$DIN[35]: Circuit breaker fault (sbwi_din_prot_scr[1])
$DIN[36]: Air present pressure switch (sbwi_din_air_press[1])
$DIN[37]: Cooling water flow switch (sbwi_din_water_flow[1])
$DIN[65]: End of welding timer sequence (sbwi_din_fk[1])
$DIN[66]: Timer Weld Yes/No status (sbwi_din_weld_yn[1])
$DIN[67]: Timer ready (sbwi_din_ready[1])
$DIN[68]: Failed welding from timer (sbwi_din_alrm1[1])
$DIN[69]: Hardware alarm (sbwi_din_alrm2[1])
$DIN[71]: Tip change pre-alarm (sbwi_din_pre_tip_change[1])
$DIN[72]: Tip change alarm (sbwi_din_alrm_tip_change[1])
$DIN[74]: Excess current (sbwi_din_high_cur[1])
$DIN[75]: Insufficient current (sbwi_din_low_cur[1])
$GIN[14]:
$DIN[33]: Position welding power contactor contacts
(sbwi_gin_tele[1]
sbwi_sp_gin_tele[1]
sbwi_len_gin_tele[1])
Outputs
$DOUT[29]: Proportional sv electronics powered (sbwi_dout_alim_ev_prop[1])
$DOUT[81]: Start welding (sbwi_dout_start[1])
$DOUT[91]: Weld Yes/No command (sbwi_dout_weld_yn[1])
$DOUT[92]: Timer alarm reset (sbwi_dout_gen_reset[1])
$GOUT[1]:
$DOUT[82..88]: Welding program code (sbwi_gout_idx_wp[1])
(sbwi_sp_wp[1])
(sbwi_len_wp[1])
$GOUT[14]:
$DOUT[57]: Welding power contactor command (sbwi_gout_tele[1])
(sbwi_sp_gout_tele[1])
(sbwi_len_gout_tele[1])
Inputs
$DIN[43]: Welding transformer thermostatic switch (sbwi_din_trafo_temp[1])
Outputs
$DOUT[61]: Gun balancing solenoid valve (sbwi_dout_balance[1])
ON: Status of balancing solenoid valve
during welding (sbwb_dout_balance_in_weld[1])
In case of electric gun, the following I/Os are then eliminated:
Proportional sv digital response (sbwi_din_ev_ok[1])
Proportional sv electronic supply (sbwi_dout_alim_ev_prop[1])
Inputs
$DIN[2]: Gun open prx (sbwi_din_gun_open)
$DIN[3]: Welding gun fully open prx (sbwi_din_tot_open)
A new type of proportional solenoid valve has been introduced and the following I/Os have been eliminated:
Proportional sv digital response (sbwi_din_ev_ok[1])
Inputs
$DIN[1]: Proportional sv digital response (sbwi_din_ev_ok[1])
$DIN[35]: Weld transformer thermostat (sbwi_din_prot_scr[1])
$DIN[36]: Air present pressure switch (sbwi_din_air_press[1])
$DIN[37]: Cooling water flow switch (sbwi_din_water_flow[1])
$DIN[65]: End of welding timer sequence (sbwi_din_fk[1])
$DIN[66]: Timer Weld Yes/No status (sbwi_din_weld_yn[1])
$DIN[67]: Timer ready (sbwi_din_ready[1])
$DIN[68]: Failed welding from timer (sbwi_din_weld_fault[1])
$DIN[69]: Minor welding fault (sbwi_din_warning[1])
$DIN[71]: Tip change pre-alarm (sbwi_din_pre_tip_change[1])
$DIN[72]: Tip change alarm (sbwi_din_alrm_tip_change[1])
$GIN[14]:
$DIN[33]: Position welding power contactor contacts
(sbwi_gin_tele[1]
sbwi_sp_gin_tele[1]
sbwi_len_gin_tele[1])
Outputs
$DOUT[29]: Proportional sv electronics powered (sbwi_dout_alim_ev_prop[1])
$DOUT[81]: Start welding (sbwi_dout_start[1])
$DOUT[91]: Weld Yes/No command (sbwi_dout_weld_yn[1])
$DOUT[92]: Timer alarm reset (sbwi_dout_reset[1])
$DOUT[93]: Reset timer fault & End of welding (sbwi_dout_reset_fk[1])
$DOUT[94]: Reset timer fault & Repeat welding (sbwi_dout_reset_repeat[1])$GOUT[1]:
$DOUT[82..90]: Welding program code (sbwi_gout_idx_wp[1])
(sbwi_sp_wp[1])
(sbwi_len_wp[1])
$GOUT[14]:
$DOUT[57]: Welding power contactor command (sbwi_gout_tele[1])
(sbwi_sp_gout_tele[1])
(sbwi_len_gout_tele[1])
Inputs
$DIN[1]: Proportional sv digital response (sbwi_din_ev_ok[1])
$DIN[5]: Weld transformer thermostat (sbwi_din_trafo_temp[1])
$DIN[35]: Circuit breaker fault (sbwi_din_prot_scr[1])
$DIN[36]: Air present pressure switch (sbwi_din_air_press[1])
$DIN[37]: Cooling water flow switch (sbwi_din_water_flow[1])
$DIN[65]: End of welding timer sequence (sbwi_din_fk[1])
$DIN[66]: Timer Weld Yes/No status (sbwi_din_weld_yn[1])
$DIN[67]: Timer ready (sbwi_din_ready[1])
$DIN[68]: Welding fault (sbwi_din_alrm1[1])
$DIN[69]: Hardware alarm (sbwi_din_alrm2[1])
$DIN[71]: Tip change pre-alarm (sbwi_din_pre_tip_change[1])
$DIN[72]: Tip change alarm (sbwi_din_alrm_tip_change[1])
$DIN[74]: Excess current (sbwi_din_high_cur[1])
$DIN[75]: Insufficient current (sbwi_din_low_cur[1])
$GIN[14]:
$DIN[33]: Position welding power contactor contacts
(sbwi_gin_tele[1]
sbwi_sp_gin_tele[1]
sbwi_len_gin_tele[1])
Outputs
$DOUT[29]: Proportional sv electronics powered (sbwi_dout_alim_ev_prop[1])
$DOUT[81]: Start welding (sbwi_dout_start[1])
$DOUT[91]: Weld Yes/No command (sbwi_dout_weld_yn[1])
$DOUT[92]: Timer alarm reset (sbwi_dout_gen_reset[1])
$GOUT[1]:
$DOUT[82..88]:Welding program code (sbwi_gout_idx_wp[1])
(sbwi_sp_wp[1])
(sbwi_len_wp[1])
$GOUT[14]:
$DOUT[57]: Welding power contactor command (sbwi_gout_tele[1])
(sbwi_sp_gout_tele[1])
(sbwi_len_gout_tele[1])
Inputs
$DIN[2]: Gun open prx (sbwi_din_gun_open)
$DIN[3]: Gun fully open prx (sbwi_din_tot_open)
Outputs
$DOUT[20]: Gun balancing solenoid valve (sbwi_dout_balance)
ON: Status of gun balancing sv during welding (sbwi_dout_balance_in_weld)
A new type of proportional solenoid valve has been introduced and the following I/Os have been eliminated:
Proportional sv digital response (sbwi_din_ev_ok[1]:=0)
Proportional sv electric supply (sbwi_dout_alim_ev_prop[1]:=0)
Inputs
$DIN[1]: Proportional sv digital response (sbwi_din_ev_ok[1])
$DIN[35]: Circuit breaker fault (sbwi_din_prot_scr[1])
$DIN[36]: Air present pressure switch (sbwi_din_air_press[1])
$DIN[37]: Cooling water flow switch (sbwi_din_water_flow[1])
$DIN[65]: End of welding timer sequence (sbwi_din_fk[1])
$DIN[66]: Timer Weld Yes/No status (sbwi_din_weld_yn[1])
$DIN[67]: Timer ready (sbwi_din_ready[1])
$DIN[70]: Request tip dressing
$DIN[71]: Tip change pre-alarm (sbwi_din_pre_tip_change[1])
$DIN[72]: Tip change alarm (sbwi_din_alrm_tip_change[1])
$GIN[14]:
$DIN[33]: Position welding power contactor contacts
(sbwi_gin_tele[1]
(sbwi_sp_gin_tele[1]
(sbwi_len_gin_tele[1])
$GIN[16]:
$DIN[75..80]: Timer alarms code (sbwi_gin_tmr_alrm[1]
(sbwi_sp_tmr_alrm[1]
(sbwi_len_tmr_alrm[1])
Outputs
$DOUT[29]: Proportional sv electronic supply (sbwi_dout_alim_ev_prop[1])
$DOUT[81]: Start welding (sbwi_dout_start[1])
$DOUT[91]: Weld Yes/No command (sbwi_dout_weld_yn[1])
$DOUT[92]: Timer alarm reset (sbwi_dout_gen_reset[1])
$DOUT[93]: Welding current alarm reset (sbwi_dout_ksr_reset[1])
$DOUT[95]: Tip dressing
$DOUT[96]: Tip change carried out
$GOUT[1]:
$DOUT[82..87]: Welding program code (sbwi_gout_idx_wp[1])
(sbwi_sp_wp[1])
(sbwi_len_wp[1])
$GOUT[14]:
$DOUT[57]: Welding power contactor command (sbwi_gout_tele[1])
(sbwi_sp_gout_tele[1])
(sbwi_len_gout_tele[1])
Configuration
11 (SWIM-FASE): Integrated timer code (sbvi_intwt_code)
2 (bus-VME): Type of interface to timer (sbvi_timer_interface)
ON: SWIM management enabled (sbwb_swim[1])
st
100: Address 1 $WORD dialogue with SWIM (sbwi_len_word_swim)
8: Number of $WORD exchanged with SWIM (sbwi_len_word_swim)
OFF: Read technological parameters from SWIM (sbvb_wpar_from_swim)
Inputs
$DIN[2]: Gun open prx (sbwi_din_gun_open)
$DIN[5]: Transformer on gun thermostats (sbwi_din_trafo_temp)
Inputs
$WORD[110], BIT 10: Main Ap Box circuit breaker released (sbwi_w_prot_scr)
(sbwi_b_prot_scr)
$WORD[110], BIT 1: Air pressure switch (sbwi_w_air_press)
(sbwi_b_air_press)
$WORD[110], BIT 2: Water pressure switch (sbwi_w_water_flow)
(sbwi_b_water_flow)
$WORD[110], BIT 3: Welding power contactor closed (sbwi_w_inp_tele)
(sbwi_b_inp_tele)
Outputs
$WORD[110], BIT 8: Close welding power contactor command (sbwi_w_out_tele)
(sbwi_b_out_tele)
SWIM
Input
$WORD[109], BIT 1: End of welding sequence (sbwi_w_fk)
(sbwi_b_fk)
$WORD[109], BIT 2: Weld Yes/No status (sbwi_w_weld_yn)
(sbwi_b_weld_yn)
$WORD[109], BIT 3: Timer ready (sbwi_w_ready)
(sbwi_b_ready)
$WORD[109], BIT 4: General welding fault (sbwi_w_weld_fault)
(sbwi_b_weld_fault)
$WORD[109], BIT 5: Request tip dressing (sbwi_w_req_tip_dress)
(sbwi_b_req_tip_dress)
$WORD[109], BIT 6: Tip change pre-alarm (sbwi_w_pre_tip_change)
(sbwi_b_pre_tip_change)
$WORD[109], BIT 7: Tip change alarm (sbwi_w_tip_change)
(sbwi_b_tip_change)
$WORD[112]: SWIM alarm code (sbwi_w_swim_fault)
$WORD[113]: Index $WORD to echo SWIM program code (sbwi_w_prog_echo[1])
Outputs
$WORD[101], BIT 1: Start welding (sbwi_w_start)
(sbwi_b_start)
$WORD[101], BIT 2: Weld YES/NO command (sbwi_w_weld_yn)
(sbwi_b_weld_yn)
$WORD[101], BIT 3: Reset general alarm (sbwi_w_reset)
(sbwi_b_reset)
$WORD[101], BIT 4: Reset faults and end of sequence (sbwi_w_reset_fk)
(sbwi_b_reset_fk)
$WORD[101], BIT 5: Reset faults and repeat spot (sbwi_w_reset_repeat)
(sbwi_b_reset_repeat)
Output groups
$WORD[101]: Select welding program (sbwi_w_idx_wp)
8: First bit of program selection group (sbwi_sp_wp)
9: Number of bit of program selection group (sbwi_len_wp)
Configuration
FALSE: Reading of technological parameters from SWIM (sbvb_wpar_from_swim)
Inputs
$WORD[26], BIT 8: Input cycle without workpiece (sbwi_inp_word_no_piece)
(sbwi_inp_bit_no_piece)
Outputs
$WORD[18], BIT 1: Tip change pre-alarm from timer (sbwi_word_pre_tip_change)
(sbwi_bit_pre_tip_change)
18, 2: Request tip change from timer (sbwi_word_tip_change)
(sbwi_bit_tip_change)
18, 16: Cycle without workpiece active (sbwi_out_word_no_piece)
(sbwi_out_bit_no_piece)
18, 8: Welding fault from timer (sbwi_word_weld_fault)
(sbwi_bit_weld_fault)
Input
$WORD[109], BIT 12: Weld transformer thermostat input (sbwi_w_trafo_temp[1])
(sbwi_b_trafo_temp[1])
Output
$WORD[102], BIT 2: Pneumatic gun balancing SV output (sbwi_w_out_balance[1])
(sbwi_b_out_balance[1])
OFF: Status of balancing SV during welding (sbwb_dout_balance_in_weld[1])
SUMMARY
Paragraph
Page
Management 5-1
A_SW Spot Welding
Applications C3G Plus
MANAGEMENT
The ? in SX_arm? indicates the arm to which the program refers. SX_arm1 is therefore the program
that manages arm 1.
SX_arm? is a NOHOLD program referring to arm 1 activated when the WELD_INIT call is made. It provides
management of the welding gun. The program starts up when the welding spot is reached, or n milliseconds
before, and acts as follows:
1) Stores robot current position:
if a cycle is interrupted, on return to the cycle a check is made that the robot is still in the position
stored with a tolerance defined by the application parameter configuration variables: SXvr_lin_delta
and SXvr_jnt_delta (depending on the type of robot axes). If the robot is no longer in the point stored,
the following warning is given: "Robot not in welding position" and the controller returns to the
movement program.
2) Before proceeding to give the welding start, it checks the following in order:
2.a) the timer is included;
2.b) the timer is ready (if the function is provided);
2.c) the welding program is included in the preset range;
2.d) the solenoid valve OK Input is ON;
2.e) the gun is retracted (if furnished with the specific micro);
2.f) the end of welding sequence Input is not ON;
2.g) there has not been a cycle stop.
The following tests are carried out in the INTEGRATED SPOT (according to the hardware configuration file):
air present for proportional solenoid valve;
overtemperature of welding transformers;
gun cooling water present;
welding circuit breaker closed.
3) One of the following events can occur after the welding start has been given:
3.a) the end of sequence is received;
3.b) the cycle is interrupted (HOLD);
3.c) after n milliseconds, neither 3.a and nor 3.b has occurred
(n milliseconds is the "SXwi_tmr_fk" variable of the application parameters configuration file).
The INTEGRATED SPOT can receive the serious welding timer alarm.
In case of a minor alarm (current alarm) in the INTEGRATED SPOT, "START WELDING" is
maintained and a "RESET CURRENT ALARM" is given simultaneously to generate an "END OF
WELDING SEQUENCE".
APPENDIX A
FEATURES 1-1
USER INTERFACE 2-1
INSTRUCTIONS 3-1
CONFIGURATIONS 4-1
DIALOGUE WITH WELDING TIMER 5-1
APPENDIX A A-1
SUMMARY
Paragraph Page
Parameters:
x -- > INTEGER: welding program
What it does:
Selects a welding channel; the timer adapts to the new selection and sets the relative pressure.
When to use it:
To set the pressure values that correspond to the welding program; to advance selection of the welding
program (see example of gun retraction).
Operation in detail:
When PRESS is called it checks that:
the program that called it belongs to an arm enabled for welding;
the previous welding channel is within the predefined range. If it is outside the range the: "PRESS
value outside x..y limits" alarm is sent.
After selecting the welding channel it waits for a time, "sbwi_delay_pr" (default 50 [ms], see
configuration of A_SW1B parameters) and then tests the solenoid valve Input OK. If within the time
"sbwi_time_pr" (see configuration of A_SW1B parameters) the Input is not = ON, the "prop. sv = OFF,
gun pressure not OK" alarm is sent. After resetting the alarm it repeats the test.
WELD_NOW(ai_wprog)
Example of call:
PROGRAM prog_1
ROUTINE weld_now(ai_wprog : INTEGER) EXPORTED FROM sb_appl
BEGIN
...
MOVE TO pnt0001p
weld_now(3) -- Selects program 3 and welds.
MOVE TO pnt0002p
weld_now(-1) -- Welds with program 3.
...
END prog_1
Parameters:
ai_wprog : INTEGER welding program
What it does:
Selects the welding program and sends the start welding command.
When to call it:
To start welding at any point of the work program or in the user routine.
Operation in detail:
It selects the welding program (indicated in its parameter) by calling the routine of the PRESS application,
so that the pressure associated with the previous welding program is set and reached. If the value of the
parameter received is -1, PRESS is not called; welding is started using the last program that was
selected.
DEC_GLOBAL(ab_b : BOOLEAN)
Example of call:
PROGRAM prog_1
ROUTINE dec_global(ab_b : BOOLEAN) EXPORTED FROM sb_appl
BEGIN
...
dec_global(ON) -- Enable sticking electrode control function.
...
dec_global(OFF) -- Disable sticking electrode control function.
...
END prog_1
Parameters:
ab_b : BOOLEAN
What it does:
Enables/disables the sticking electrode control function.
When to use it:
It is generally used to enable/disable the sticking electrode control function for all welding spots of the
work program or part thereof.
Operation in detail:
It sets the application program so that the sticking electrode control is executed or not at each welding
spot. At the end of welding, before starting to move away from the welding spot, a digital input to enable
continuation is tested; if the input is OFF, the gun close and re-open command is sent to try to «unstick»
the tip. If it stays OFF the sticking electrode alarm is sent. If it moves to ON, a tips no longer «stuck»
message is sent.
NO_DEC
Example of call:
PROGRAM prog_1
ROUTINE no_dec : INTEGER EXPORTED FROM sb_appl
BEGIN
...
MOVE TO pnt0001p,
WITH CONDITION[weld(1, FALSE)],
WITH CONDITION[no_dec]
ENDMOVE
...
END prog_1
Parameters:
none.
What it does:
Locally disables the sticking electrode control on one welding spot.
When to use it:
When, with the sticking electrode control enabled for all welding spots, a few odd points on which the
control function is to be disabled must be distinguished in the program.
Operation in detail:
It sets the application program so that the sticking electrode control is not executed on the corresponding
welding spot. At the end of welding, the digital input to enable continuation is not tested.
SWING(ab_sts)
Example of call:
PROGRAM prog_1
ROUTINE swing(ab_sts : BOOLEAN) EXPORTED FROM sb_appl
BEGIN
...
swing(ON)
...
END prog_1
Parameters:
ab_sts : BOOLEAN
What it does:
swing(ON) --> activates extra movement of the welding gun
swing(OFF) --> deactivates extra movement of the welding gun
When to use it:
To activate/deactivate an extra welding gun movement in addition to the retract and close movements
invoked by the CLOSE HAND x instructions. The extra movement may be, for instance, the swinging of a
gun arm.
Operation in detail:
Having ensured that the gun is fully open, it invokes the extra movement of the welding gun. If the
movement is not executed within 2 seconds (position proximity switch reading), an alarm is sent.
WELD(x,y)
Example of call:
PROGRAM prog_1
ROUTINE weld(ai_prog : INTEGER; ab_before: BOOLEAN) EXPORTED FROM sb_appl
BEGIN
...
MOVE JOINT TO pnt0001p,
WITH CONDITION[weld(2, FALSE)],
ENDMOVE
...
END prog_1
Parameters:
x --> INTEGER: welding program
y --> BOOLEAN: FALSE -> does not advance, TRUE -> advances start time
What it does:
Before starting the movement, it sets the welding program to the timer and defines the condition to be
used to advance or otherwise the start time of welding when point pnt0001p is reached.
When to use it:
On MOVEs to welding points.
If the advance welding start time is used, the $TERM_TYPE of the movement must only be
NOSETTLE. The use of FINE or COARSE would be a contradiction, requiring precise positioning
on the point before welding while advancing the start of welding.
If the advance welding start time is not used, any $TERM_TYPE can be used because in this case
the start is sent at the theoretical end of the NOSETTLE movement, or at the real end in case of
COARSE or FINE.
Operation in detail:
When WELD is called it checks that:
the previous welding channel is within the predefined range. If it is outside the range, a “WELD value
outside x..y value" is sent; when the robot reaches the welding point, it does not weld.
Depending on the FALSE or TRUE parameter, it returns the type of condition to be used. In case of
FALSE the condition will be WHEN AT END DO, i.e. it welds at the end of the movement, whether this
is the theoretical end ($TERM_TYPE:=NOSETTLE) or real end ($TERM_TYPE:=COARSE or FINE
according to the tolerance required). In case of TRUE, it advances or delays, in relation to the
theoretical end of the movement, the time defined in the last BEFORE_HAND routine that was called.
INCL_APPL(ab_sts: BOOLEAN)
Only available with the "integrated spot" configurations.
Example of call:
PROGRAM prog_1
ROUTINE incl_appl(ab_sts : BOOLEAN) EXPORTED FROM sb_appl
BEGIN
.....
incl_appl(OFF)
..
..
..
incl_appl(ON)
END progr_1
Parameters:
ab_sts -----> BOOLEAN: status of application program
What it does:
Includes/excludes the application program hardware (welding switch, water closing solenoid valve) and all
the relative controls.
When to use it:
During automatic tool change to disconnect the current to the tool change plates.
During maintenance to prevent cooling water from flowing on tips.
Operation in detail:
When INCL_APPL is called:
if ab_sts is ON:
- enables the application program in the «included» status by activating the power contactor and
the water if allowed by the current condition.
if ab_sts is OFF:
- enables the application program in the «excluded» status by opening the power contactor and
excluding the flow of cooling water by means of the closing solenoid valve. During exclusion, all
controls of hardware devices, such as the timer, power contactor and flow switch are disabled.
LARGE_OPEN
Example of call:
PROGRAM prog_1
ROUTINE large_open: INTEGER EXPORTED FROM sb_appl
BEGIN
...
MOVE TO pnt0001p,
WITH CONDITION[weld(1, FALSE)],
WITH CONDITION[large_open],
ENDMOVE
...
END prog_1
Parameters:
none
What it does:
Opens the welding gun fully at the end of welding.
REOPEN
Example of call:
PROGRAM prog_1
ROUTINE reopen (ar_reopen_quote:REAL): INTEGER EXPORTED FROM sb_appl
BEGIN
...
MOVE LINEAR TO xtn0001x,
WITH CONDITION[weld(1, OFF)],
WITH CONDITION[reopen(50)],
ENDMOVE
...
END prog_1
Parameters:
ar_reopen_quote (REAL) : required opening quote [mm].
What it does:
This function is used to bring the tips of the electric gun to a different quote compared to the initial one at
the end of a welding point.
When to use it:
It can only be used on welding moves associated with the WELD routine
Alarms
A_ALARM('1') - Parity bit incongruity
A_ALARM('2') - Wrong program coding
A_ALARM('3') - Robot not in rest position
A_ALARM('4') - Welding gun tot. open prx out of order
Messages
A_MESSAGE('1') - Wait for "robot program start" = ON from PLC
A_MESSAGE('2') - Received "robot program start" = ON from PLC
Parameters:
x --> INTEGER: first gun welding program
Y --> INTEGER: second gun welding program
What it does:
Selects a welding channel for each gun; the timers adapt to the new selection and set the corresponding
pressure values. To modify the program of only one gun, set the other to –1.
When to use it:
To set the pressure values that correspond to the welding program; to advance selection of the welding
program (see example for gun retraction).
Operation in detail:
When PRESS is called it checks that:
the program that called it belongs to an arm enabled for welding;
the previous welding channels are within the predefined range. If they are outside the range the: "PRESS
value outside x..y limits" alarm is sent.
One welding channel at a time waits for a time "s2wi_delay_pr" (default 50 [ms], see configuration of
A_SW2 parameters) and then tests the solenoid valve Input OK. If within the time "s2wi_time_pr" (see
configuration of A_SW2 parameters) the Input is not = ON, the "prop. sv = OFF, gun pressure not OK"
alarm is sent. After resetting the alarm it repeats the test.
WELD(x,y,z)
Example of call:
PROGRAM prog_1
ROUTINE weld(ai_wprog1, ai_wprog2:INTEGER; ab_before:BOOLEAN)
EXPORTED FROM s2_appl
BEGIN
...
MOVE JOINT TO pnt0001p,
WITH CONDITION[weld(2, 1, FALSE)],
ENDMOVE
...
END prog_1
Parameters:
x --> INTEGER: first gun welding program
y --> INTEGER: second gun welding program
z --> BOOLEAN: FALSE -> does not advance, TRUE -> advances start time
What it does:
Before starting the movement it sets the welding programs to the timer and defines which condition must
be used to advance or otherwise the start time of welding when reaching point pnt0001p. If welding is to be
executed with just one gun, set the other to –1.
When to use it:
On MOVEs to welding spots.
If the advance welding start time is used, the $TERM_TYPE of the movement must only be
NOSETTLE. The use of FINE or COARSE would be a contradiction, requiring precise positioning on
the point before welding while advancing the start of welding.
If the advance welding start time is not used, any $TERM_TYPE can be used because in this case
the start is sent at the theoretical end of the NOSETTLE movement, or at the real end in case of
COARSE or FINE.
Operation in detail:
When WELD is called it checks that:
the previous welding channel is within the predefined range. If it is outside the range, a “WELD value
outside x..y value" is sent; when the robot reaches the welding point, it does not weld.
Depending on the FALSE or TRUE parameter, it returns the type of condition to be used. In case of FALSE
the condition will be WHEN AT END DO, otherwise: WHEN TIME x BEFORE END DO, where x is the time
defined in BEFORE_HAND. When one of these conditions occurs (at the end of the MOVE or x milliseconds
before), the motion program enables programs "s2_arm1" and "s2_arm2" and waits for these to manage the
guns according to the system status and then enable program execution to restart.
Messages
A_MESSAGE('1') - Wait for "start robot program" = ON from PLC
A_MESSAGE('2') - Received "start robot program" = ON from PLC
I/O CONNECTIONS
The I/O required by the application and how they are mapped vary depending on the hardware configuration
file selected:
Input
$DIN[1]: Proportional sv digital response 1
$DIN[2]: Gun 1 prx fully open
$DIN[5]: Proportional sv digital response 2
$DIN[6]: Gun 2 prx fully open
$DIN[7]: End of welding sequence timer 1
$DIN[8]: Timer ready 1
$DIN[33]: Select robot program 1
$DIN[34]: Select robot program 2
$DIN[35]: Select robot program 4
$DIN[36]: Select robot program 8
$DIN[37]: Select robot program 16
$DIN[38]: Robot program odd parity
$DIN[39]: Robot program start
$DIN[40]: Exclude timer 1
$DIN[41]: Exclude timer 2
$DIN[42]: End of welding sequence timer 2
$DIN[43]: Timer ready 2
$SDIN[15]: Reset application alarm (remote U3)
Output
$DOUT[17]: Gun closing sv 1
$DOUT[21]: End robot program ***
$DOUT[22]: Gun closing sv 2
$DOUT[24]: Start welding timer 1
$DOUT[25]: Select program timer 1 weight 0
*** this Output signal is not invoked by the application program; it must be managed by the work
program in this position as the application must be able to read it.
Input
$DIN[1]: Proportional sv digital response 1
$DIN[2]: Gun 1 prx fully open
$DIN[5]: Proportional sv digital response 2
$DIN[6]: Gun 2 prx fully open
$DIN[7]: End of welding sequence timer 1
$DIN[33]: Select robot program 1
$DIN[34]: Select robot program 2
$DIN[35]: Select robot program 4
$DIN[36]: Select robot program 8
$DIN[37]: Select robot program 16
$DIN[38]: Odd parity
$DIN[39]: Robot program start
$DIN[40]: Exclude timer 1
$DIN[41]: Exclude timer 2
$DIN[42]: End of welding sequence timer 2
$SDIN[15]: Reset application alarm (remote U3)
Output
$DOUT[17]: Gun closing sv 1
$DOUT[21]: End of robot program***
$DOUT[22]: Gun closing sv 2
$DOUT[24]: Start welding timer 1
$DOUT[25]: Select program timer 1 weight 0
$DOUT[26]: Select program timer 1 weight 1
$DOUT[27]: Select program timer 1 weight 2
*** this Output signal is not invoked by the application program; it must be managed by the work
program in this position as the application must be able to read it.
Input
$DIN[1]: Proportional sv digital response 1
$DIN[2]: Gun 1 prx fully open
$DIN[5]: Proportional sv digital response 2
$DIN[6]: Gun 2 prx fully open
$DIN[7]: End of welding sequence timer 1
$DIN[8]: End of welding sequence timer 2
$DIN[13]: Exclude timer 1
$DIN[14]: Exclude timer 2
$SDIN[15]: Reset application alarm (remote U3)
Output
$DOUT[17]: Closing sv gun 1
$DOUT[19]: Select program timer 2 weight 0
$DOUT[20]: Select program timer 2 weight 1
$DOUT[21]: Select program timer 2 weight 2
$DOUT[22]: Select program timer 2 weight 3
$DOUT[24]: Start welding timer 1
$DOUT[25]: Select program timer 1 weight 0
$DOUT[26]: Select program timer 1 weight 1
$DOUT[27]: Select program timer 1 weight 2
$DOUT[28]: Select program timer 1 weight 3
$DOUT[29]: Closing sv gun 2
$DOUT[30]: Start welding timer 2
$SDOUT[15]: Not robot application alarm (remote U3)
Input
$DIN[7]: End of welding sequence timer 1
$DIN[8]: Timer 1 ready
$DIN[9]: Exclude timer 1
$DIN[10]: Exclude timer 2
$DIN[33]: Select program robot 1
$DIN[34]: Select program robot 2
$DIN[35]: Select program robot 4
$DIN[36]: Select program robot 8
$DIN[37]: Select program robot 16
$DIN[38]: Odd parity
$DIN[39]: Robot program start
$DIN[43]: End of welding sequence timer 2
$DIN[44]: Timer 2 ready
$SDIN[15]: Reset application alarm controller 1 (remote U3)
$SDIN[16]: Reset application alarm controller 2 (remote U3)
Output
$DOUT[3]: Timer 1 not excluded
$DOUT[5]: Timer 2 not excluded
$DOUT[17]: Closing sv gun 1
$DOUT[18]: Closing sv gun 2
$DOUT[20]: End of robot program ***
$DOUT[24]: Start welding timer 1
$DOUT[25]: Select program timer 1 weight 0
$DOUT[26]: Select program timer 1 weight 1
$DOUT[27]: Select program timer 1 weight 2
$DOUT[28]: Select program timer 1 weight 3
$DOUT[29]: Select program timer 1 weight 4
$DOUT[30]: Even parity
$DOUT[49]: Select program timer 2 weight 0
$DOUT[50]: Select program timer 2 weight 1
$DOUT[51]: Select program timer 2 weight 2
$DOUT[52]: Select program timer 2 weight 3
$DOUT[53]: Select program timer 2 weight 4
$DOUT[54]: Even parity
$DOUT[55]: Start welding timer 2
$DOUT[15]: Not application alarm robot controller 1 (remote U3)
$SDOUT[16]: Not application alarm robot controller 2 (remote U4)
*** this Output signal is not invoked by the application program; it must be managed by the work
program in this position as the application must be able to read it.
ERROR MESSAGES
Whenever the application detects a status preventing it from operating correctly, an error situation is
generated and the application waits for the alarm to be reset.
The error situation results in:
- immediate interruption of the procedure currently in progress;
- switching-off of green light U3 or U4 on the C3G Plus and on the TP (if 16-line type);
- a signal to the outside world of the error condition: the not alarm output is set to OFF;
- the PC video status screen becomes red and the error message appears;
- the error message is recorded in the C3G Plus ERROR.LOG file.
The alarm number and message vary according to the application that is being used.
The alarm number is the same for all installation and RIO alarms. Depending on the application being used it
is:
INSTALLATION
43299 A_SW1B
43299 A_SW2
RAMDISK full
Indicates that there is not enough space on the RAM DISK to copy the application programs from the
diskette to the ram disk (min. space required: 130 kbytes).
Check the ram disk and delete any files that are no longer needed. Press keys "SHIFT + SCRN" on the
keyboard and the procedure will start again from where it was interrupted.
Device error
The diskette is missing or cannot be read.
Check the diskette and press keys "SHIFT + SCRN" to continue the procedure.
COMMUNICATION BOARDS
BOARDS
Board not configured in slot
Configuration of the logical table does not match that of the physical table. Execute the PDL2 TOOL for I/O
configuration and reset the alarm with the "SHIFT + SCRN" keys on the keyboard to continue.
Board not present in slot
The card in the slot indicated is not the right one. Insert the cards required according to the hardware
configuration file chosen during the initial installation procedure and reset the alarm by pressing the "SHIFT
+ SCRN " keys on the keyboard to continue.
I/O configuration not allowed
The cards required by the application are not present or are faulty.
Check that the cards required are present and function correctly according to the selected configuration file.
Logical table and physical table configuration must match.
Restart the procedure from the beginning.
Only the text, causes and remedies are given in the description of the general alarms, technological
☞ alarms and information messages that follows. The alarm number will differ according to the spot
welding application and is given in the APPENDIX chapter, remembering that the reference between
text and alarm number is the letter preceding each of the alarms.
GENERAL
There are two categories of general alarms:
1) SYS_CALL failed alarms with the following structure:
- alarm number (same for all alarms)
- application name (e.g.: A_SW1B)
- SYS_CALL operation (e.g.: 'ML')
- SYS_CALL arguments (e.g.: 'sb_menu')
- error comment (e.g.: 'Insufficient memory')
Example:
43299 : A_SW1B ('ML', 'sb_menu'). Insufficient memory.
2) WIN_LOAD failed alarms with the following structure:
- alarm number (same for all alarms)
- application name (e.g.: A_SW1B)
- window file name (e.g.: 'sb_rack.scr')
- load line and column (e.g.: 5,0)
- window in which to load (e.g.:'cb21:')
- error comment (e.g.: 'File does not exist')
Example:
A_SW1B WIN_LOAD('sb_rack.scr' , 5, 0, 'cb21:'). File does not exist.
a) File: x not found
Application file x is not on the ramdisk.
Load file x from the application diskette to the ramdisk and reset the alarm by pressing the "SHIFT +
SCRN" keys. The application will start again from where it was interrupted.
b) Not enough space on ramdisk for file: x
There is not enough space on the ramdisk.
Delete any files that are no longer needed and reset the alarm by pressing keys "SHIFT + SCRN" on
the keyboard. The application will start up again from where it was interrupted.
c) Not enough space in memory or file: x not found
There is not enough memory to load file x or file x is not on the ramdisk.
Check whether file x is actually on the ramdisk (if not, copy it from the application diskette) and if there
is enough space to load it into memory (if not, delete files that are no longer needed). Reset the alarm
by pressing keys "SHIFT + SCRN" on the keyboard and the application will start again from where it
was interrupted.
d) Not enough space memory for loading: x
There is not enough memory to copy file x.
Delete any files no longer needed from the memory and press "SHIFT + SCRN" to reset the alarm -
the application will start up again from where it was interrupted.
e) Failed activation of: x
It is not possible to activate file x.
Find out why it does not activate by trying to activate the file x using the C3G Plus command:
(Program Go <x>).
f) $NUM_TIMER < 34 MUST BE >= 34
This alarm indicates that the value of system variable $NUM_TIMER is < 34.
Set $NUM_TIMER to a value ≥ 34, save the configuration and restart the system.
g) $NUM_LUNS < 20 MUST BE >= 20
This alarm indicates that the value of system variable $NUM_LUNS is < 20.
Set the $NUM_LUNS variable to a value ≥ 20, save the configuration and restart the system.
h) $NUM_DEVICES < 20 MUST BE >= 20
This alarm indicates that the value of system variable $NUM_DEVICES is < 20.
Set the $NUM_DEVICES variable to a value ≥ 20, save the configuration and restart the system.
Reset the alarm and restart the application program by pressing keys "SHIFT + SCRN" on the keyboard.
TECHNOLOGICAL
a) fk missing from timer
The time for the end of sequence from the welding timer has expired.
Check:
- the hardware connection between C3G Plus and welding timer;
- welding timer faults.
b) WELD parameter out of range
A call to the WELD statement has been made with a non-existent welding channel.
Modify the program, make the call correctly and reset the alarm (U3 or U4).
c) fk = ON before welding start
The end of welding sequence is ON before the application has given the welding start.
Check:
- the hardware connection between C3G Plus and welding timer;
- welding timer faults.
d) BEFORE_HAND parameter out of range
A call has been made to the BEFORE_HAND statement with a welding start advance time that is out
of range.
Modify the program, make the call correctly and reset the alarm (U3 or U4).
e) Solenoid valve = OFF, welding gun pressure not OK
The solenoid valve OK input is not ON and the welding gun pressure therefore may not be OK.
Check:
- the hardware connection between C3G Plus and welding gun;
- operation of the proportional solenoid valve.
f) PRESS parameter out of range
A call has been made to the PRESS statement with a parameter out of the accepted limits.
Modify the program, make the call correctly and reset the alarm (U3 or U4).
g) Welding gun tot. open prx = ON
The welding gun fully open input is ON and the gun therefore has not been closed.
Modify the program, making the call to the WELD statement after closing the welding gun and reset
the alarm (U3 or U4).
h) Wrong parameter: $WORD 17-32, bit 1-16
A call has been made to the $WORD control statements of the RIO with wrong parameters.
Modify the program, make the call correctly and reset the alarm (U3 or U4).
i) Timer ready = OFF, timer not ready
The timer ready input is OFF and a welding sequence cannot therefore be started.
Check:
- the hardware connection between C3G Plus and welding timer;
- welding timer faults.
l) Wrong parameter or out of range 1-10
Indicates that a call has been made to the
A_ALARM and A_MESSAGE statements with an index > 10.
Modify the program, make the call correctly and reset the alarm (U3 or U4).
si1) $DIN[...]=ON, weld transformer over temperature
Indicates an overtemperature of the weld transformer on gun board.
INFORMATION MESSAGES
The information messages appear only on the screen of the C3G Plus system. They do not generate an
alarm and merely indicate a number of situations specific to the application.
a) Application ready
Indicates that the application is ready for use.
b) Alarm reset on armx
Indicates that an alarm has been reset from a remote position or by U3 (in PROG or LOCAL) on armx.