0% found this document useful (0 votes)
18 views9 pages

C-Gate Carola Requirements EN

The document outlines the requirements for the Carola program code, focusing on the integration with C-Gate for overall equipment effectiveness (OEE). It details the necessary procedures and variables for tracking component status, quality, and production steps, while emphasizing the importance of correct index usage and avoiding duplication in program functions. Additionally, it provides instructions for setting up component data and handling multiple robots in production scenarios.

Uploaded by

sumanta.wood
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views9 pages

C-Gate Carola Requirements EN

The document outlines the requirements for the Carola program code, focusing on the integration with C-Gate for overall equipment effectiveness (OEE). It details the necessary procedures and variables for tracking component status, quality, and production steps, while emphasizing the importance of correct index usage and avoiding duplication in program functions. Additionally, it provides instructions for setting up component data and handling multiple robots in production scenarios.

Uploaded by

sumanta.wood
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Carola

requirements

Requirements for the


Carola program code

2024.2.0-DEV
Contents
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 OEE – Overall equipment effectiveness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3


2.1 Determining the actual and OK quantities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.1 Master program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.2 Component program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.3 Simple component program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.4 Complex component program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3 Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2
1 Introduction

For some C-Gate functions, it is necessary for information to be passed to C-Gate from the Carola program. Please refer to
the relevant sections for the necessary blocks and instructions for the appropriate functionality.
If you use the ReadVar data structure or OPCUAVAR command in another context, ensure that the areas used do not
overlap. Please note in addition that the index used in the Carola program is not the same index as on the web interface.
The values are passed to C-Gate by the ReadVar data structure. In the controller, the first index is 1 and the last is 100.
In C-Gate, the first index is 0 and the last one 99. A value that is stored in the controller under index 50 can be accessed in
C-Gate under index 49.
Please note that the Carola code examples explained below might already be stored in full or in part in the master program.
Please compare the sections and adapt them if necessary. A duplication of functions and variables is detected as an error
by the Carola interpreter.
Note: Changes to the QIROX WriteVar variables can influence the Carola program flow.
Note: Please use Adobe Acrobat Reader to open this file if you want to copy the Carola programme code.

2 OEE – Overall equipment effectiveness

2.1 Determining the actual and OK quantities

The following program sections must be stored in the master and component programs respectively to determine the actual
and OK quantities. It is important that the following procedures have exclusive use of index range 94 to 100, and it can not
be used for other purposes. The range might be extended in the future.

2.1.1 Master program

The first lines are necessary so that variables can be imported from other programs and written. They are placed immedi-
ately after the RESTART instruction.

RESTART
! VARIABLE DECLARATION
VAR SEL, ERG
STRING VAR COMPSTAT, COMPQUAL
PUBLIC STRING VAR COMPTYPE,COMPVARI,COMPSERI,COMPSTEP,COMPSEAM

This block defines a procedure that passes to C-Gate the information that a component is starting. The variables used below
must first be set in the component program.

PUBLIC PROC COMPSTART


COMPSTAT := ''
OPCUAVAR(0,96, COMPSTAT,'COMPSTATUS')
WAITM(100)

STRHND(2, COMPTYPE, COMPTYPE, ERG)


IF ERG=0 THEN COMPTYPE:='NODATA'

3
STRHND (0,COMPTYPE,'NODATA',ERG)
IF ERG=1 THEN BEGIN
LOPCUA1:
WRITE ('DO NOT WRITE VARIABLE >COMPTYPE< YET.')
WAITM(500)
PAUSE
JUMP LOPCUA1
END

COMPSTAT := 'START'
COMPQUAL := 'IN_PROGRESS'
COMPSEAM := ''
OPCUAVAR(0,100,COMPTYPE,'COMPTYPE')
OPCUAVAR(0,99, COMPVARI,'COMPVARIANT')
OPCUAVAR(0,98, COMPSERI,'COMPSERNO')
OPCUAVAR(0,97, COMPSTEP,'COMPSTEPNAME')
OPCUAVAR(0,96, COMPSTAT,'COMPSTATUS')
OPCUAVAR(0,95, COMPQUAL,'COMPQUALITY')
OPCUAVAR(0,94, COMPSEAM,'COMPSEAMNAME')
ENDP

This block defines a procedure that passes to C-Gate the information that a component has ended.

! END OF COMPONENT RECORDING


PUBLIC PROC COMPEND
COMPSEAM := ''
COMPSTAT := 'END'
OPCUAVAR(0,94, COMPSEAM,'COMPSEAMNAME')
OPCUAVAR(0,96, COMPSTAT,'COMPSTATUS')
WAITM(100)

COMPTYPE := ''
COMPVARI := ''
COMPSERI := ''
COMPSTEP := ''
COMPSTAT := ''
COMPQUAL := ''
COMPSEAM := ''
OPCUAVAR(0,100,COMPTYPE,'COMPTYPE')
OPCUAVAR(0,99, COMPVARI,'COMPVARIANT')
OPCUAVAR(0,98, COMPSERI,'COMPSERNO')
OPCUAVAR(0,97, COMPSTEP,'COMPSTEPNAME')
OPCUAVAR(0,96, COMPSTAT,'COMPSTATUS')
OPCUAVAR(0,95, COMPQUAL,'COMPQUALITY')
OPCUAVAR(0,94, COMPSEAM,'COMPSEAMNAME')
WAITM(100)

4
ENDP

This block defines a function that passes to C-Gate the information that a new seam is starting. The name of the seam must
be written to the COMPSEAM variable before the procedure is called.

! SEAM START
PUBLIC PROC SEAMSTRT
OPCUAVAR(0,94, COMPSEAM,'COMPSEAMNAME')
WAITM(100)
ENDP

This block defines a function that passes to C-Gate the information that the current seam has ended.

! SEAM END
PUBLIC PROC SEAMEND
COMPSEAM := ''
OPCUAVAR(0,94, COMPSEAM,'COMPSEAMNAME')
WAITM(100)
ENDP

This block defines a function that asks on the teach pendant whether the component is OK or not. The check is based on a vi-
sual inspection by the worker, and blocks subsequent program flow until something is entered. Wording IS THE COMPONENT OK=1
can be changed to how you want it.

! QUALITY OF COMPONENT RECORDING


PUBLIC PROC COMPQMAN
WREAD ('IS THE COMPONENT OK=1 OR NOK=0 ?', SEL )
IF SEL=1 THEN COMPQUAL := 'OK' ELSE COMPQUAL := 'NOT_OK'
OPCUAVAR(0,95,COMPQUAL,'COMPQUALITY')
WAITM(100)
ENDP

This block defines a function that automatically (without prompting) sets the component quality to OK. This function can be
used if you do not want to record the quality of the OEE dynamically, but still want to have the overall OEE metric calculated
correctly.

! QUALITY OF COMPONENT RECORDING


PUBLIC PROC COMPQAUT
COMPQUAL := 'OK'
OPCUAVAR(0,95,COMPQUAL,'COMPQUALITY')
WAITM(100)
ENDP

2.1.2 Component program

Please import the variables and procedures from the master program.

5
• COMPTYPE : Type of component.
• COMPVARI : Variant of the component.
• COMPSERI Serial number of the component. If no value is set, C-Gate automatically creates a serial number based
on a time stamp.
• COMPSTEP : Name of the production step. The value is important if the component is processed at several stations.
• COMPSEAM : Name of the seam. A seam can consist of several web segments.

2.1.3 Simple component program

Please import the variables and procedures from the master program.

RESTART

! IMPORT OF VARIABLES AND PROCEDURES


EXTERNAL STRING VAR COMPTYPE,COMPVARI,COMPSERI,COMPSTEP,COMPSEAM FROM MASTER
EXTERNAL PROC COMPSTART,COMPEND,COMPQMAN,COMPQAUT,SEAMSTRT,SEAMEND FROM MASTER

MAIN

In the programme flow, set at least the mandatory fields and, if necessary, also the optional fields. As soon as all fields are
set, call the procedure COMPSTART . If you have purchased the module C-Gate.QM, you can additionally define seams
and structure the component record more finely. To do this, use the procedures SEAMSTRT and SEAMEND . As soon as
the part is finished and you want to set part quality from the Carola programme, call either COMPQAUT or COMPQMAN to
transfer the quality data. If you have purchased the module C-Gate.QM, the part quality is automatically determined with
the help of the QIROX SD monitoring. Calling the procedure COMPQAUT or COMPQMAN has no effect on the component
protocol.
To finish the component, call the procedure COMPEND . The order of the calls is important.
Please note that up to one second must elapse between calling COMPEND and restarting a component with COMPSTART ,
as otherwise the end signal may be lost due to a data synchronisation in the controller. It is planned that this limitation will
be removed in one of the upcoming software versions for the robot controller.

! SETTING THE COMPONENT INFORMATION


! MANDATORY FIELD
COMPTYPE := 'CONTROL CABINET'

! OPTIONAL
! COMPVARI := 'XL'

! OPTIONAL
! COMPSERI := '1234567890'

! OPTIONAL
! COMPSTEP := 'FLOOR'

6
! START OF THE COMPONENT
CALL COMPSTART

! ***************
! COMPONENT PROGRAM
! ***************

COMPSEAM := 'FILLET WELD 1'


CALL SEAMSTRT

! ***************
! PROGRAMME FILLET WELD 1. FOR EXAMPLE, VARIOUS GC MOVEMENTS.
! ***************

COMPSEAM := 'FILLET WELD 2'


CALL SEAMSTRT

! ***************
! PROGRAMME FILLET WELD 2. FOR EXAMPLE, VARIOUS GC MOVEMENTS.
! ***************

CALL SEAMEND

! DETERMINE THE QUALITY OF THE COMPONENT IN THE CAROLA PROGRAM


! CALL BEFORE COMPEND
CALL COMPQMAN
! OR
! CALL COMPQAUT

! END OF THE COMPONENT


! CALL FOR COMPQMAN OR COMPQAUT
CALL COMPEND

! END OF THE COMPONENT PROGRAM


END

2.1.4 Complex component program

The following Carola programme creates a component with two production steps. The production steps can either be
welded sequentially on one robot or in parallel on several. The prerequisite for this is that the steps are combined in a
protocol:

• Type, variant and serial number must be set the same on all robots.
• The corresponding component template must have the correct minimum number of production steps set. In this
case, two production steps are welded, so the number must be set to at least the value two.

7
RESTART
EXTERNAL STRING VAR COMPTYPE,COMPVARI,COMPSERI,COMPSTEP,COMPSEAM FROM MASTER
EXTERNAL PROC COMPSTART,COMPEND,COMPQMAN,COMPQAUT,SEAMSTRT,SEAMEND FROM MASTER
MAIN

! ***************
! PRODUCTION STEP 1
! ***************

COMPTYPE := 'BOILER'
COMPVARI := '80KW'
COMPSERI := '0042012342'
COMPSTEP := 'FLOOR'

CALL COMPSTART

COMPSEAM := 'FILLET WELD 1'


CALL SEAMSTRT
! PROGRAMME FILLET WELD 1. FOR EXAMPLE, VARIOUS GC MOVEMENTS.

COMPSEAM := 'FILLET WELD 2'


CALL SEAMSTRT
! PROGRAMME FILLET WELD 2. FOR EXAMPLE, VARIOUS GC MOVEMENTS.

CALL SEAMEND
CALL COMPQAUT
CALL COMPEND

! ***************
! PRODUCTION STEP 2
! ***************

COMPTYPE := 'BOILER'
COMPVARI := '80KW'
COMPSERI := '0042012342'
COMPSTEP := 'COVER'

CALL COMPSTART

COMPSEAM := 'FILLET WELD 3'


CALL SEAMSTRT
! PROGRAMME FILLET WELD 3. FOR EXAMPLE, VARIOUS GC MOVEMENTS.

COMPSEAM := 'FILLET WELD 4'

8
CALL SEAMSTRT
! PROGRAMME FILLET WELD 4. FOR EXAMPLE, VARIOUS GC MOVEMENTS.

CALL SEAMEND
CALL COMPQAUT
CALL COMPEND

END

3 Instructions

If you are or have been a PDM or UMS customer and one of the two options is activated in the controller configuration, the
following note must be imperatively be observed! If one of the two options is activated without the robot controller being
connected to the corresponding PC application, this will lead to gaps in the data stream that may last for up to 5 seconds
and falsify the component protocol significantly. Please either connect the robot controller to the PC application or have
the corresponding option removed from the configuration.

If you are working on the same component with multiple robots and would like to merge all data in one component log in
the C-Gate.QM module, please contact CLOOS Service for more information. Otherwise please leave the COMPSERI field
empty or else undesired side effects can occur in the OEE calculation.

4 Variables

You have the option of attaching variables to the component protocol from the Carola programme. To do this, use the
command OPCUAVAR (see example). If the name (last parameter) has the prefix ’COMPVAR_’, the variable is attached to
the component. If the name has the prefix ’STEPVAR_’, the variable is attached to the component step. If the name has the
prefix ’SEAMVAR_’, the variable is attached to the current seam. Only one value can be stored for each selected name. The
last value that was last set with the respective name is stored in the log. The prefix of the name is not stored. The value must
be reset before the seam, step or component is completed. If this is not done, the value is also appended to the following
element. Integers, comma numbers and texts can be saved.

CALL SEAMSTRT
OPCUAVAR(0,1, 'EXAMPLE-VALUE','COMPVAR_SEAM_MEASURE_A')

OPCUAVAR(0,1, '','')
CALL SEAMEND

You might also like