Sunteți pe pagina 1din 233

G.

D SpA Bologna

GDL
PHASE 7

REFERENCE MANUAL

G.D SpA Bologna

15AD51M1710

G.D SpA Bologna


1. INTRODUCTION

This reference manual is meant to be an instrument for quick consultation to be used with the GDL User Manual, which instead contains a detailed description of the basic concepts which are to be used to properly proceed in writing a program in GDL Language. Chapter 2 of this manual contains a brief description of the structure of a GDL program. Chapter 3 contains all the information describing the GDL objects supported by version 7 of the language. The end of the manual provides the tables containing the listing of the types of GDL objects and the list of the reserved GDL keywords.

15AD51M1710

G.D SpA Bologna


2. BASICS OF THE GDL LANGUAGE

In the following chapters an overview of the basic concepts of the GDL language is given in schematic form; this assumes that you are already familiar with these concepts, explained in detail in the GDL User Manual. 2.1. STRUCTURE OF THE MODULE MODULE <module name>;

OBJECT$SECTION; .............. END$OBJECT$SECTION;

PROCEDURE$SECTION; ................. END$PROCEDURE$SECTION;

END$MODULE;

< module name > = max 40 characters Each file must contain only one module. The section with the objects must always be present, and must contain at least one object. The section with the procedures is not obligatory. However, when this section is included, it must contain at least one procedure. 2.2. IDENTIFIERS AND COMMENTS

< object name > = max 40 characters

< string > = ' max 40 characters '

< comment > = | .......................... |

15AD51M1710

G.D SpA Bologna


2.3. OBJECT DECLARATION

DECLARE < object name > DECLARE < object name >

< object type >; < object type > { <parameter 1>, <parameter 2>, . . . <parameter n> }; < object type >;

USE < object name >

2.4.

PROCEDURES

PROCEDURE < procedure name > ;

ACTIVATORS { < activator 1 > , ... , < activator n > } ; ............... ...............

END;

< procedure name > = max 40 characters; max 255 activators in ACTIVATORS list.

15AD51M1710

G.D SpA Bologna


2.5. GLOBAL ACTIVATORS

ANY$OBJECT$INPUT is automatically expanded in the list of all the activators connected with changes in the status of all the objects declared in the module using a DECLARE statement, except the activators EDGE OF < name > PHASE$MATCH OF < name > which are not included in the list. No activator related to the diagnosis status of the objects is included in the list. ANY$DIAGN$STATUS is automatically expanded in the list of all the activators connected with changes in the diagnosis status of all the objects declared in the module using a DECLARE statement; no other activator is included in the list.

2.6.

FLOW CONTROL INSTRUCTIONS THEN ....... ; ....... ; ....... ; ELSE ....... ; ....... ; ....... ;

IF < expression >

ENDIF;

WHILE < expression >

LOOP ....... ; ....... ; ....... ;

ENDWHILE ;

RETURN;

2.7.

OPERATORS

15AD51M1710

G.D SpA Bologna

< operator keyword > < operator keyword >

< object name > ; < object name > { < parameter 1 > , < parameter 2 > , . . . < parameter n > };

2.8.

PROCEDURE EXECUTION PRIORITY

1 - UNINTERRUPTIBLE PROCEDURES ACTIVATED BY:

PHASE$MATCH OF < ADV$PHASE$MATCH$DETECTOR > PHASE$MATCH OF < MLT$PHASE$MATCH$DETECTOR > PHASE$MATCH OF < PHASE$MATCH$DETECTOR >

2 - PROCEDURES ACTIVATED BY NON-DIAGNOSTIC EVENTS

3 - PROCEDURES ACTIVATED BY DIAGNOSTIC EVENTS

4 - UPDATING PARAMETERS:

STATUS OF < DIGITAL$PARAMETER > VALUE OF < INTEGER$PARAMETER >

15AD51M1710

G.D SpA Bologna


3. GDL OBJECTS

This chapter contains the description of all the various types of GDL objects available. The following conventions are assumed: T P V O A N indicates the type of object and is the keyword to be used when declaring each object; the object type is supported starting from the language version indicated in the second column indicates the group of parameters of the object declaration indicates the status variables for the object indicates the operators available indicates the activators for the object contains eventual notes and comments regarding the correct way to use the object.

All the reserved words are written in capital letters. The type of access for the status variables have the following coding: (r) (w) (rw) read-only: access possible only for reading write-only: access possible only for writing read-write: access possible both for reading and writing (update).

The symbol 'f' accompanied by the access code type (e.g. <rwf>) indicates that the variable can also be forced by means of the GDL Debugger.

15AD51M1710

G.D SpA Bologna


3.1. ABSOLUTE ENCODER

T:

ABSOLUTE$ENCODER

GDL V 4

P:

ABS ENCODER BOARD NAME NUMBER RESOLUTION SPEED FILTER THRESHOLD CLOCK GENERATION CONTROL CLOCK CHANNEL SELECTOR

name set integer integer integer set set

CH01 360 | 720 | 1440 | 2880 ms < 255 rpm ENABLED | DISABLED CH01 | ... | CH04

V:

DIAGN$STATUS OF <name>

set (r)

OK | OUTSIDE$FAILURE | FAULTY STOPPED | RUNNING$FWD | RUNNING$BKWD degrees rpm IDLE | READY | RUNNING integer (r)

OPERATING$CONDITION OF <name>

set (r)

PHASE OF <name> SPEED OF <name> CFG$STATUS OF <name> STEP OF <name>

integer (r) integer (r) set (r) integer (r)

O:

LOAD$ENCODER$CFG <name> DELETE$ENCODER$CFG <name> START$ENCODER$CFG <name> STOP$ENCODER$CFG <name>

A:

DIAGN$STATUS OF <name> OPERATING$CONDITION OF <name> CFG$STATUS OF <name> CFG$UPDATE$REQUEST OF <name>

15AD51M1710

G.D SpA Bologna

N: SPEED FILTER is the speed measurement filter. THRESHOLD is the limit, expressed in rpm's, below which level the measurement of the encoder phase becomes significant and is displayed on the eventually associated absolute encoder meter. CLOCK$GENERATION$CONTROL enables transmission to the rack bus of the impulses corresponding to the least significant bit on the encoder. CLOCK$CHANNEL$SELECTOR selects the channel on the rack bus to which these impulses are sent. The encoder configuration regards the information concerning the value of all the pmd's. CFG$STATUS is the status of the encoder configuration and can have the following values: IDLE READY RUNNING status in which the encoder configuration is not defined. status in which the encoder configuration is defined, but is not yet active. status in which the encoder configuration is defined and is active (assumed at power-up ).

All the functions associated with the encoder, e.g. STEP OF, PHASE OF, SPEED OF, (including the functions related to EDGE$DETECTOR, ABS$ENCODER$LATCH$INPUT, and the other associated PHASE$MATCH$DETECTOR), are operational only when CFG$STATUS on the encoder is in RUNNING status. As regards the operators which have an effect on the configuration status, the following comments apply: STOP$CFG DELETE$CFG LOAD$CFG START$CFG deactivates the configuration and trips the transition from RUNNING status to READY status. cancels the configuration and trips the transition from READY status to IDLE status. loads the configuration and trips the transition from IDLE status to READY status. activates the configuration and trips the transition from READY status to RUNNING status.

The CFG$STATUS event takes place when there is a change in the status of the configuration following a call of one of the previous operators. The CFG$UPDATE$REQUEST event takes place when a change is made in a parameter associated with any ADV$PHASE$MATCH$DETECTOR or MLT$PHASE$MATCH$DETECTOR or PHASE$MATCH$DETECTOR associated with the encoder.

15AD51M1710

G.D SpA Bologna


3.2. ABSOLUTE ENCODER ADDENDUM

T:

ABSOLUTE$ENCODER$ADDENDUM

GDL V 6

P:

ABSOLUTE$ENCODER NAME MAXIMUM SPEED MEMBER OF SPEED LEVEL FOR DELAY COMPENSATION

name integer integer

0< rpm < 65535 2 .... 16

V:

MIN$STEP$DURATION OF <name> PHASE OF <name>

integer (r) integer (r)

0 .... 255 microsec. 0 .... 359 degrees

O:

none

A:

none

N: none MAXIMUM SPEED is the highest rotation velocity allowed for the associated encoder expressed in "revolutions per minute" ; this variable is used to make the calculations necessary for the compensation of the activation delay as a function of the speed. NUMBER OF SPEED LEVEL FOR DELAY COMPENSATION is the number of speed levels into which the field ( 0 .. Vmax ) is divided with the aim of compensating the activation delay. MIN$STEP$DURATION is the minimum duration of the encoder step detected by the board from when it is turned on ; this variable is initialised at 255 microseconds and shows durations below this value . PHASE$MATCH is the phase (degrees) of the most recent event phase$match on an object PHASE$MATCH$DETECTOR connected to the same absolute encoder. The value of PHASE$MATCH could be used only on procedure activated by event phase$match of PHASE$MATCH$DETECTOR connected to the same absolute encoder. To an object of type "ABSOLUTE$ENCODER" it is possible to link only one object of type "ABSOLUTE$ENCODER$ADDENDUM" .

15AD51M1710

10

G.D SpA Bologna


3.3. ABSOLUTE ENCODER BOARD

T:

ABS$ENCODER$BOARD

GDL V 4

P:

RACK NAME SLOT SUBASSY1 SUBASSY2

name set set set

SLOT01 | ...... | SLOT16 PRESENT PRESENT | NOT$PRESENT

V:

DIAGN$STATUS OF <name>

set (r)

OK | OUTSIDE$FAILURE | FAULTY

O:

none

A:

DIAGN$STATUS OF <name>

N: SUBASSY1 selects the presence of ABSOLUTE$ENCODER which, however, must always be physically present (it is indispensable that the ABSOLUTE$ENCODER is declared). SUBASSY2 selects the presence of the input hybrid which carries 8 channels from CH01 to CH08. These channels can be used to define the following types of objects: ABSOLUTE$ENCODER$LATCH$INPUT DIGITAL$INPUT EDGE$DETECTOR

15AD51M1710

11

G.D SpA Bologna


3.3.1. ABSOLUTE ENCODER BOARD OBJECT STRUCTURE

HW/FW VERSIONS OF THE BOARD ENCODER In the course of its development the encoder board has appeared in 3 hw/fw versions which from the point of view of the controller are distinct as regards the value of the F.V couple; each of the versions supports a different set of objects : 1. 15,AD46 Fw F.V >= 4.0 in this case the objects foreseen in Phase 4 are supported : 1.1. absolute encoder board 1.2. absolute encoder latch input 1.3. absolute encoder 1.4. phase match detector 1.5. advanced phase match detector 1.6. multiple phase match detector 15,AD86H0000 Fw F.V >= 6.0 in this case the objects foreseen in the document phase 6 update should be added to those listed above : 2.1. absolute encoder addendum 2.2. delay compensator 15,AD86H0001 Fw F.V >= 6.5 in this case the objects foreseen in the document phase 6 update bis should be added to the previous ones : 3.1. virtual space reference generator 3.2. space reference output 3.3. virtual absolute encoder addendum

2.

3.

N.B. : the compiler is not able to check that the objects "absolute encoder" and "virtual space reference generator" linked to the same "virtual absolute encoder addendum" object are defined on the same encoder board i.e. linked to the same "encoder board" object; this check is delegated to the Cnt in the execution phase of the Gdl application.

15AD51M1710

12

G.D SpA Bologna


3.4. ABSOLUTE ENCODER DELAY COMPENSATOR

T:

DELAY$COMPENSATOR

GDL V 6

P:

ABSOLUTER$ENCODER$ADDENDUM NAME name DELAY INTEGER PARAMETER NAME name

V:

none

O:

none

A:

none

N:

none

The object DELAY$COMPENSATOR is connected to an ABSOLUTE$ENCODER$ADDENDUM object and thus connected to an ABSOLUTE$ENCODER object. This serves to introduce the value of the delay to compensate ; this value is represented by the current value of the whole associated parameter , DELAY INTEGER PARAMETER NAME , expressed in microseconds. When the value of this parameter changes, the event "cfg$update$request" of the associated encoder takes place and thus the application has to carry out the correct procedure to change the configuration of the encoder. Delay compensation will be converted in degrees: DV = maximum speed absolute$encoder$addendum / number of speed level absolute$encoder addendum. reference velocity is: Vr (i) = i * DV i = 0 .. N-1 1 degree time duration is: TAU(0) = infinity TAU(i) = {{[60/Vr(i)] * 1000}*1000}/360 i = 1 .. N-2

15AD51M1710

13

G.D SpA Bologna

It means that degrees delay compensation : DF(0) = 0 DF(i) = DELAY / TAU(i) i = 1 .. N-2

15AD51M1710

14

G.D SpA Bologna


3.5. ABSOLUTE ENCODER LATCH INPUT

T:

ABS$ENCODER$LATCH$INPUT

GDL V 4

P:

ABS ENCODER BOARD NAME NUMBER POLARITY

name set set

CH01 | ... | CH08 DIRECT | REVERSE

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE

STATUS OF <name> LATCHED$PHASE OF <name> CONTROL$STATUS OF <name> EDGE OF <name>

digital (r) integer (r) set (rw) set (rw)

encoder steps ENABLED | DISABLED RISING | FALLING

O:

none

A:

DIAGN$STATUS OF <name> EDGE OF <name>

N: This type of object can only be defined on an ABSOLUTE$ENCODER$BOARD The EDGE OF < name > activator must be the only one in the list of a procedure, and it is not included in the list automatically generated by the global activator ANY$OBJECT$INPUT The status variable LATCHED$PHASE OF < name> can only be read by the procedures which have EDGE OF < name > as their activator.

15AD51M1710

15

G.D SpA Bologna


3.6. ABSOLUTE ENCODER METER

T:

ABS$ENCODER$METER

GDL V 4

P:

SYNOPTIC NAME AE NAME LOCATION X LOCATION Y SIZE X SIZE Y LABEL P LABEL S

name name integer integer integer integer string string

V:

none

O:

none

A:

none

N: LOCATION X and LOCATION Y are the upper, lefthand corner coordinates. If the encoder is stopped, its phase value is displayed expressed in degrees. If the encoder is in movement at a speed which is lower than its THRESHOLD, the direction of rotation is displayed along with the phase, expressed in degrees. If the encoder is in movement at a speed which is higher than the THRESHOLD, the direction of rotation is displayed along with the speed, expressed in rpm's.

15AD51M1710

16

G.D SpA Bologna


3.7. ABSOLUTE ENCODER METER ADDENDUM

T:

ABS$ENC$METER$ADDENDUM

GDL V 6

P:

ABSOLUTE ENCODER METER NAME

name

V:

THRESHOLD SAMPLE$NUMBER

integer (rw) integer (rw)

0< n 100; default = 8 2 < n < 32 default = 30

O:

none

A:

none

N:

none

In phase 6 it is possible to connect to the object "abs$encoder$meter" the new object "abs$enc$meter$addendum" via which it is possible to specify the parameters of the filter used for displaying the velocity . The variable " threshold" is the threshold expressed in percentage of the variation of the velocity ; variations above the threshold are instantly reflected output at the filter while variations equal to or below the threshold are filtered. The variable "sample$number" represents the number of samples used in the calculation of the average which the filter implements; the value of the velocity is sampled every second. If this object is not defined , or if the variables are not modified with respect to their default value, the same filter as phases 4 and 5 of the Fw of the Cnt is applied.

15AD51M1710

17

G.D SpA Bologna


3.8. ABSOLUTE ENCODER SPACE REFERENCE OUTPUT

T:

SPACE$REFERENCE$OUTPUT

GDL V 6

P:

ABSOLUTE$ENCODER$BOARD NAME CHANNEL SPACE REFERENCE INPUT SELECTOR

name set set

CH01 physical | virtual

V:

none

O:

none

A:

none

N:

none

To an object of type "absolute$encoder$board" it is possible to connect only one object of type "space$reference$output" on the only channel available, CH01 . This object controls the incremental encoder channel output at the encoder board. If the variable "space reference input selector " takes on the values: "physical" - then the space reference obtained from the physical encoder is output , "virtual" - then the space reference obtained from the object "virtual space reference generator" is output and in this case must be defined . This object is run only by the encoder boards with F.V.R >= 6.5.0; if the board does not support the object then Board Diagnosis Status = FAULTY.

15AD51M1710

18

G.D SpA Bologna


3.9. ABSOLUTE ENCODER VIRTUAL ABSOLUTE ENCODER ADDENDUM

T:

VRT$ABS$ENCODER$ADDENDUM

GDL V 6

P:

name ABSOLUTE$ENCODER NAME VIRTUAL$SPACE$REFERENCE$GENERATOR NAME name RESOLUTION FACTOR integer

1|2|4

V:

none

O:

LOAD$POSITION of <name> { <initial position> } GET$POSITION of <name>

integer

0 ... resolution -1

A:

none

N:

none

It is possible to connect only one object of type "virtual$abs$encoder$addendum" to the pair of objects "absolute$encoder" and "virtual$space$reference$generator" defined on the same encoder board. This object serves to have the functions of the "Absolute Encoder" object available using the position provided by the virtual position generator constituted by the object "Virtual Space Reference Generator" in place of the position of a physical encoder. It is important to underline that the generation of the impulses on the M2 bus associated with the "absolute encoder" object is always linked to the physical encoder even when the "absolute encoder" object has been virtualized by defining the object "virtual absolute encoder addendum" .

15AD51M1710

19

G.D SpA Bologna

The resolution of the virtual absolute encoder, which is equal to : ( resolution factor ) x ( absolute encoder object resolution ) where "resolution factor" is a parameter of the object "virtual$abs$encoder$addendum" and "resolution", is a parameter of the object "absolute encoder" . The operators "load$position" and "get$position" serve to initialize the position of the virtual absolute encoder. This variable must be initialized by the GDL application to allow the determination of the absolute position by the space reference of incremental type coming from the object "virtual space reference generator" . The operator "load$position" initializes the position with the value supplied by the GDL application while the operator "get$position" initializes the position with the position value of the physical encoder. This object is run only by encoder boards with F.V.R >= 6.5.0 ; if the board does not support the object then Board Diagnosis Status = FAULTY. The compiler can not check that 0 < load position < resolution - 1 ; this check is delegated run time to the fw of the Cnt .

15AD51M1710

20

G.D SpA Bologna


3.10. ABSOLUTE ENCODER VIRTUAL SPACE REFERENCE GENERATOR

T:

VRT$SPACE$REFERENCE$GNRT

GDL V 6

P:

ABSOLUTE$ENCODER$BOARD NAME CHANNEL EXTERNAL INCREMENTAL ENCODER INPUT TYPE EXTERNAL INCREMENTAL ENCODER INPUT RATIO FACTOR N EXTERNAL INCREMENTAL ENCODER INPUT RATIO FACTOR D MAX VELOCITY MAX ACCELERATION CLOCK GENERATION CONTROL CLOCK CHANNEL SELECTOR

name set set integer integer integer integer set set

CH01 Up , Down , UpDown >0 >0 0 < step/sec < 500000 step/sec2 enabled , disabled CH01 ...... CH04

V:

INTERNAL$REFERENCE of <name> REFERENCE$SELECTOR of <name> CONTROL$STATUS of <name> VELOCITY$MONITOR of <name> ACCELERATION$MONITOR of <name>

integer (rw) set (rw) set (rw) set (r) set (r)

step/sec > 0 internal , extrnl enabled , disabled normal , limited normal , limited

O:

RES$MONITORS$VRT$GNRT <name>

A:

VELOCITY$MONITOR OF <name>

N:

none

This object can be defined on the "abs$encoder$board" board in which only channel CH01 is available. The variable "external incremental encoder input type" serves to select which impulses of the incremental encoder input must be counted : "Up" indicates that only UP impulses are counted "Down" indicates that only DOWN impulses are counted

15AD51M1710

21

G.D SpA Bologna


"UpDown" indicates that both UP and DOWN impulses are counted The variables "external incremental encoder input ratio factor N" and "external incremental encoder input ratio factor D" are the numerator and denominator of the transmission ratio which ties the output impulses to the generator to the input impulses coming from the external incremental encoder according to the following formula : output steps = ( input steps * N ) / D The variables "max velocity" and "max acceleration" are the maximum values at which the speed and the acceleration of the output impulses become saturated respectively. The variable "clock generation control" is the variable which controls the transmission on the M2 bus of the output impulses, while variable "clock channel selector" selects the channel on the M2 bus to which these impulses are sent. When the variable "reference$selector" takes on the value "internal", the variable "internal$reference" controls the rotation speed of the virtual internal incremental encoder and it is used for the generation of the impulses. When the variable "reference$selector" takes on the value "external" the impulses are generated starting from the external encoder taking account of the transmission ratio. When the variable "control$status" takes on the value "enable" the impulses are generated starting from the selected input , while when it takes on the value "disable" the impulses are not generated independently of what occurs on the selected input . The variable "velocity$monitor" represents the state of the speed and takes on the values: "normal" in normal conditions, "limited" if the speed has been limited at its maximum value; this value stays in memory until the call from the operator "reset$monitors$vrt$gnrt". The variable "acceleration$monitor" represents the state of the acceleration which takes on the values: "normal" in normal conditions, "limited" if the acceleration has been limited at its maximum value; this value stays in memory until the call by the operator "reset$monitors$vrt$gnrt". This object is run only by the encoder boards with F.V.R >= 6.5.0 ; if the board does not support the object then the Board Diagnosis Status = FAULTY.

15AD51M1710

22

G.D SpA Bologna


3.11. ADVANCED DIGITAL CAM EDGE

T:

ADV$DIGITAL$CAM$EDGE

GDL V 5

P:

DIGITAL CAM NAME NUMBER INTEGER FLAG NAME EDGE STATUS

name integer name digital

1 ... 10 integer flag name ON | OFF

V:

none

O:

none

A:

none

N: For each cam, it is possible to define a maximum of 10 edges. NUMBER represents the identifier of the advanced digital cam edge object inside the cam. The value assumed by the INTEGER$FLAG whose name is assigned by means of the parameter INTEGER FLAG NAME must be within the programming angle for the associated cam. A change in this parameter automatically, but not immediately, changes into a variation in the profile of the corresponding cam.

15AD51M1710

23

G.D SpA Bologna


3.12. ADVANCED DIGITAL INPUT BOARD

T:

ADV$DIGITAL$INPUT$BOARD

GDL V 6

P:

RACK NAME SLOT

name set

SLOT01 ...... SLOT16

V:

DIAGN$STATUS OF <name>

set (r)

OK OUTSIDE$FAILURE FAULTY

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

This board supports 48 digital input channels. On the generic input channel objects of type "digital$input" and "edge$detector" can be defined ; these objects are assumed to be of "pnp" type as a default. This module does not implement the forcing of the input circuit so the state of diagnosis of the linked objects "digital$input" and "edge$detector" can NOT take on the value "FAULTY".

15AD51M1710

24

G.D SpA Bologna


3.13. ADVANCED DIGITAL OUTPUT BOARD

T:

ADV$DIGITAL$OUTPUT$BOARD

GDL V 6

P:

RACK NAME SLOT

name set

SLOT01 ...... SLOT16

V:

DIAGN$STATUS OF <name>

set (r)

OK OUTSIDE$FAILURE FAULTY

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

This board supports 48 digital output channels on which it is possible to define objects of type "digital$output" and "pwm$output". This board does not implement the diagnosis of the output circuit so the state of diagnosis of the linked objects can NOT take on the value "FAULTY".

15AD51M1710

25

G.D SpA Bologna


3.14. ADVANCED PHASE MATCH DETECTOR

T:

ADV$PHASE$MATCH$DETECTOR

GDL V 4

P:

ENCODER NAME INTEGER PARAMETER NAME DIRECTION

name name set

FORWARD | BACKWARD

V:

none

O:

none

A:

PHASE$MATCH OF <name>

N: The activator PHASE$MATCH OF <name> must be the only one present in the list of a procedure and is not included in the list automatically generated by the global activator ANY$OBJECT$INPUT. The current value of the integer parameter associated is used as the coincidence value for implementing the ADV$PHASE$MATCH$DETECTOR. When the value of this parameter changes, this trips the CFG$UPDATE$REQUEST event on the associated encoder. Consequently, the application must undertake the necessary encoder configuration change procedure.

15AD51M1710

26

G.D SpA Bologna


3.15. ADVANCED STEPPER MOTOR GEAR

T:

ADV$STP$GEAR

GDL V 6

P:

STEPPER MOTOR BOARD NAME MOTOR CHANNEL SLAVE RATIO FACTOR N

name name integer

CH01 .... CH08 n > 0 same direction n < 0 opposite direction |n| <32767 0 < d < 32767 u. s / sec > 0 u. s / sec2 > 0 u. s / sec > 0 CH01 .... CH04 n > 0 same direction n < 0 opposite direction |n| 32767 0 < d 32767 u. s u. s

SLAVE RATIO FACTOR D START / STOP VELOCITY MAXIMUM ACCELERATION MAXIMUM VELOCITY MASTER CHANNEL MASTER RATIO FACTOR N

integer integer integer integer set integer

MASTER RATIO FACTOR D POSITION LOWER LIMIT POSITION UPPER LIMIT

integer integer integer

V:

DIAGN$STATUS OF <name>

set(r)

OK | FAULTY | OUTSIDE$FAILURE DISENGAGED | HOMING | ENGAGING | SLIPPING | DISENGAGING | ENGAGED ENABLED | DISABLED n > 0 same direction n < 0 opposite direction |n| 32767 0< d 32767 u. s

OPERATING$CONDITION OF <name>

set (r)

CONTROL$STATUS OF <name> RATIO$FACTOR$N OF <name>

set (rwf) integer (r)

RATIO$FACTOR$D OF <name> POSITION OF <name>

integer (r) integer (r)

15AD51M1710

27

G.D SpA Bologna

O:

LOAD$PST$ADV$STP$GEAR <name> { <position> } LOAD$RT$ADV$STP$GEAR <name> { <ratio factor n>

f integer u. s lower limit u. s upper limit

f integer n > 0 same direction n < 0 opposite direction |n| 32767 0< d 32767

<ratio factor d> } LD$ED$ACC$ADV$STP$GEAR <name> { <engage acceleration> <disengage acceleration> } LD$S$ACC$ADV$STP$GEAR <name> { <slip acceleration> } ENGAGE$ADV$STP$GEAR <name> { <engage type> } DISENGAGE$ADV$STP$GEAR <name> SLIP$ADV$STP$GEAR <name> { <slip velocity> <slip space > }

integer f integer integer

u. s / sec2 -1 u. s / sec2 -1

f integer f set f f integer integer u. s / sec > 0 u. s NORMAL | COMPENSED u. s / sec2 0

A:

DIAGN$STATUS OF <name> OPERATING$CONDITION OF <name>

N:

none

The symbol "u.s" indicates the unit of measurement used to represent the position of the slave while symbol "p.s" indicates the steps of the motor i.e. the impulses which are

15AD51M1710

28

G.D SpA Bologna

generated by the board ; the variables "slave ratio factor n" and "slave ratio factor d" are the transmission ratios between u.s and p.s as per the following formula: p.s = ( u.s * n ) / d The factor d must always be a positive, non-zero number while factor n can be a negative number since it is assumed that: 1. n > 0 indicates that the CW impulses increment the position while CCW impulses decrease it 2. n < 0 indicates that the CW impulses decrease the position while CCW impulses increment it. The variable "start/stop velocity" is the motor starting and stopping speed i.e. the velocity below which the board makes instantaneous variations of velocity without using acceleration ramps; for higher velocities acceleration ramps are used whose gradient is fixed by the accelerations relative to the various movements. The variables "maximum acceleration" and "maximum velocity" are the maximum values respectively of the acceleration and velocity of the motor ; these values are never exceeded, the board , if necessary, proceeds with the saturation of the velocity and acceleration at their maximum value; the acceleration is not saturated when the speed is lower than the velocity of start/stop . The variable "master channel" selects the encoder channel to follow out of the 4 available on the bus. The symbol "u.m" indicates the unit of measurement used to represent the position of the master encoder while the symbol "p.m" indicates the encoder steps; the variables "master ratio factor n" and "master ratio factor d" are the transmission ratios between u.m and p.m as per the following formula: p.m = ( u.m * n ) / d The factor d must always be a positive, non-zero number while factor n can also be a negative number as it is assumed that: 1. n > 0 indicates that the UP impulses increment the position while DOWN impulses decrease it 2. n < 0 indicates that UP impulses decrease the position while DOWN impulses increase it. The variables "position lower limit" and "position upper limit" represent the limits of the work range of the slave. The position of the slave is a position of the rotational type which can take on values within the pre-set range with an effect of re-circulation of the position, i.e. when one of the extremes has been exceeded, it returns inside the interval from the other side.

15AD51M1710

29

G.D SpA Bologna

The variable "diagn$status" represents the state of diagnosis of the motor which takes on the value "faulty" when the driver goes into diagnosis and the value "outside$failure" when the board goes into diagnosis. The variable "operating$condition" represents the state of the slave which can assume the following values : 1. disengaged : indicates that the slave is disconnected from the master 2. engaging : indicates that the procedure of engage of the slave to the master is in progress 3. slipping : indicates that a slipping movement of the slave with respect to the master is in progress 4. disengaging : indicates that the disconnection of the slave from the master is in progress 5. homing : indicates that the home procedure is in progress 6. engaged : indicates that the slave is connected to the master . The variable "control status" represents the state of the driver which takes on the values: 1. enabled when the driver is on; 2. disabled when the driver is off. The variables "ratio$factor$n" and "ratio$factor$d" represent the current value of the transmission ratios which link the position of the slave to the position of the master as per the following formula : u.s = ( u.m * n ) / d At the start-up of the GDL application, the board automatically takes the default values n=0 and d=1 on for these transmission ratios; these values can be modified run time via the operator "load$ratio$adv$stp$gear". The factor d must always be positive; factor n can also be negative. A positive value for factor n indicates that the slave must move in the same direction as the master while a negative value for factor n indicates that the slave must move in the opposite direction to the master . The variable "position of " represents the current position of the slave ; this position can be initialised via the operator "load$pst$adv$stp$gear" or via a home cycle on the linked input "adv$stp$home$input". The variables eng$acc , diseng$acc and slip$acc are the accelerations with which the movements of engage , disengage and slip respectively are made; these accelerations are initialised by the board to the maximum acceleration value.

15AD51M1710

30

G.D SpA Bologna

The variables eng$acc , diseng$acc may be changed at runtime via the operator ld$ed$acc$adv$stp$gear; if it is desired to change just one of the two accelerations , the user should set the value -1 for the one which is not to be changed; if both the accelerations take the value -1 the command has no effect. The variable "slip$acc" can be changed in runtime via the operator ld$s$acc$adv$stp$gear . The operator "engage$adv$stp$gear" is used to begin the engage procedure of the slave to the master ; the parameter "engage type" specifies the type of engage required: 1. "engage type" = "normal" specifies a normal engage in which any space lost due to an acceleration ramp is not recovered 2. "engage type" = "compensed" specifies a compensated engage in which any space lost due to an acceleration ramp is recovered at the end with an overshoot of velocity If a home cycle is in progress the operator "engage$adv$stp$gear" is not accepted . The operator "disengage$adv$stp$gear" carries out a disengage of the slave from the master causing, if necessary, the stop of the motor ; this also applies if a slip or a home movement is in progress. The operator "slip$adv$stp$gear" carries out a slipping movement of the slave with respect to the master ; if the slave is disengaged from the master, the movement specified is done; if the slave is engaged to the master, the movement specified is superimposed on the one set by the master ; if a home cycle is in progress the operator "slip$adv$stp$gear" is not accepted .

15AD51M1710

31

G.D SpA Bologna


3.16. ADVANCED STEPPER MOTOR GEAR HOME INPUT

T:

ADV$STP$GEAR$HOME$INPUT

GDL V 6

P:

STEPPER MOTOR BOARD NAME INPUT NUMBER POLARITY ADVANCED STP MOTOR GEAR NAME HOME POSITION

name set set name integer

CH01 .... CH08 DIRECT | REVERSE u.s lower limit u.s upper limit u.s / sec start/stop velocity

HOME VELOCITY

integer

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE

STATUS OF <name> HOME$STATUS OF <name>

digital (r) set (r)

INACTIVE | LOCKED | HOMING

O:

HOME$ADV$STP$GEAR <name> { <direction>, <edge> }

f set set FORWARD | BACKWARD RISING | FALLING

A:

DIAGN$STATUS OF <name> STATUS OF <name> HOME $STATUS OF <name>

N:

none

This input serves to carry out the zeroing cycle of the object of type "adv$stp$gear" connected ; to every object of type "adv$stp$gear" only one object of type "adv$stp$gear$home$input" can be connected.

15AD51M1710

32

G.D SpA Bologna

The variable "home position" is the position which is assumed at the end of the zeroing cycle and must necessarily lie within the work field of the associated object of type "adv$stp$gear"; the variable "home velocity" is the velocity at which the zeroing cycle is made; its value must be less than or equal to the start/stop speed. The variable "home$status" represents the state of the linked slave from the point of view of the home cycle and in particular : 1. home$status = locked indicates that the slave is not available to carry out a home cycle as it is busy with another movement . 2. home$status = inactive indicates that the slave is available to carry out a home cycle 3. home$status = homing indicates that the slave is carrying out a home cycle The operator "home$adv$stp$gear" is accepted only if "home$status" = "inactive" and serves to start the zeroing cycle on the linked gear; the movement starts seeking the specified front in the direction specified; the movement is carried out at the velocity specified in the variable "home velocity" ; at the end of the cycle the position specified in the variable "home position" is taken up .

15AD51M1710

33

G.D SpA Bologna


3.17. ADVANCED STEPPER MOTOR GEAR STOP INPUT

T:

ADV$STP$GEAR$STOP$INPUT

GDL V 6

P:

STEPPER MOTOR BOARD NAME INPUT CHANNEL POLARITY ADVANCED STEPPER MOTOR GEAR NAME STOP TYPE

name set set name set

CH01 .... CH08 DIRECT | REVERSE NORMAL | COMPENSED

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE

STATUS OF <name> LATCHED$POSITION OF <name> CONTROL$STATUS OF <name> EDGE OF <name>

digital (r) integer (r) set (rw) set (rw)

u.s ENABLED | DISABLED RISING | FALLING

O:

none

A:

DIAGN$STATUS OF <name> EDGE OF <name>

N:

none

This input serves to stop the "adv$stp$gear" object connected on a front of the input "adv$stp$gear$stop$input"; to every object of type "adv$stp$gear" only one object of type "adv$stp$gear$stop$input" can be connected. The variable "stop type " which represents the type of stop made can take on the following values : 1) "normal" in this case an immediate stop is carried out:

15AD51M1710

34

G.D SpA Bologna


if the current velocity is less than or equal to the velocity start/stop an immediate stop is made if the current velocity is greater at the start/stop speed, a ramp stop is made with a gradient equal to the maximum acceleration

1)

2) "compensed" in this case a compensated stop is made which guarantees that the space which there is between the front of the input and the motor stop point is always constant independently of the speed and equal to Vmax 2 Stop Space = 2*Amax

The activator edge$of of <name> must be the only activator present in the list of a procedure and it is not inserted in the list generated automatically by the global activator any$objects$input. The variable "latched$position" can be read only in the ambit of the procedure which has "edge of" as its only activation condition.

15AD51M1710

35

G.D SpA Bologna


3.18. ANALOG INPUT

T:

ANALOG$INPUT

GDL V 4

P:

AIO BOARD NAME NUMBER FILTER LOWER RANGE LIMIT UPPER RANGE LIMIT

name set integer integer integer

CH01 | .. | CH32 ms < 255 >=-10900 <=10900 " "

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE

VALUE OF <name>

integer (r)

O:

none

A:

DIAGN$STATUS OF <name>

N: LOWER RANGE LIMIT is the value desired for VALUE OF <name> when there is an input frequency of 1khz. UPPER RANGE LIMIT is the value desired for VALUE OF <name> when there is an input frequency of 2khz. The analog input associated with a thermocouple must be configured to read in millivolts and must thus have: lower range limit = 0 upper range limit = 10000.

15AD51M1710

36

G.D SpA Bologna


3.19. ANALOG INPUT OUTPUT BOARD

T:

ANALOG$INPUT$OUTPUT$BOARD

GDL V 4

P:

RACK NAME SLOT SUBASSY1 ......... SUBASSY8

name set set .... set

SLOT01 |..| SLOT16 PRESENT | NOT$PRESENT ..................... PRESENT | NOT$PRESENT

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE

O:

none

A:

DIAGN$STATUS OF <name>

N: SUBASSY1 .. SUBASSY8 are the subassemblies available. Each of these subassemblies carries 4 channels, subdivided as follows: SUBASSY1 SUBASSY3 SUBASSY5 SUBASSY7 CH01 .. CH04 CH09 .. CH12 CH17 .. CH20 CH25 .. CH28 SUBASSY2 SUBASSY4 SUBASSY6 SUBASSY8 CH05 .. CH08 CH13 .. CH16 CH21 .. CH24 CH29 .. CH32

On the generic analog channel, it is possible to define the following types of objects: ANALOG$INPUT ANALOG$OUTPUT FREQUENCY$INPUT FREQUENCY$OUTPUT SQUARE$WAVE$GENERATOR PULSE$COUNTER

15AD51M1710

37

G.D SpA Bologna


3.20. ANALOG OUTPUT

T:

ANALOG$OUTPUT

GDL V 4

P:

AIO BOARD NAME NUMBER LOWER RANGE LIMIT UPPER RANGE LIMIT

name set integer integer

CH01 | .. | CH32 >= -10900 <=10900 " "

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE

VALUE OF <name>

integer (rwf)

O:

none

A:

DIAGN$STATUS OF <name>

N: LOWER RANGE LIMIT is the value of VALUE OF <name> which in meant to correspond to a frequency of 1 kHz at the output of the conversion module. UPPER RANGE LIMIT is the value of VALUE OF <name> which in meant to correspond to a frequency of 3 kHz at the output of the conversion module.

15AD51M1710

38

G.D SpA Bologna


3.21. ARC

T:

ARC

GDL V 4

P:

SYNOPTIC NAME CENTER X CENTER Y RADIUS X1 Y1 X2 Y2 COLOR

name integer integer integer integer integer integer integer set

RED | YELLOW | BLUE | GREEN | MAGENTA | CYAN | WHITE

V:

none

O:

none

A:

none

N: Draws an arc which, lying on the circle centered in (CENTER X, CENTER Y) and with radius RADIUS, is inside the rectangle which has an upper, lefthand corner (X1,Y1) and a lower, righthand corner (X2, Y2).

15AD51M1710

39

G.D SpA Bologna


3.22. CABINET ID

T:

CABINET$ID

GDL V 5

P:

CABINET ID STRING

string

max 16 characters

V:

none

O:

none

A:

none

N: The cabinet id string is the identification string of the GDELock device installed in the machine cabinet. During the download of the application the two strings are compared and any mismatch is recorded; if this object is not declared within the application a mismatch is recorded.

15AD51M1710

40

G.D SpA Bologna


3.23. CIRCLE

T:

CIRCLE

GDL V 4

P:

SYNOPTIC NAME CENTER X CENTER Y RADIUS COLOR

name integer integer integer set

RED | YELLOW | BLUE | GREEN | MAGENTA | CYAN | WHITE

V:

none

O:

none

A:

none

N:

none

15AD51M1710

41

G.D SpA Bologna


3.24. COUNTER

T:

COUNTER

GDL V 4

P:

FUNCTION NAME CLASS NAME LABEL P LABEL S

name name string string

V:

none

O:

INCREMENT$COUNTER <name> {<units> }

integer

>0

A:

none

N:

none

15AD51M1710

42

G.D SpA Bologna


3.25. COUNTER CLASS

T:

COUNTER$CLASS

GDL V 4

P:

LABEL P LABEL S

string string

V:

none

O:

none

A:

none

N:

none

15AD51M1710

43

G.D SpA Bologna


3.26. DC MOTOR AXIS

T:

DC$MOTOR$AXIS

GDL V 4

P:

DC MOTOR BOARD NAME NUMBER RATIO FACTOR N RATIO FACTOR D LOWER TRAVEL LIMIT UPPER TRAVEL LIMIT HOME POSITION MAXIMUM ACCELERATION MAXIMUM VELOCITY SEARCH SPEED SEARCH OFFSET BACKLASH OFFSET PROPORTIONAL GAIN INTEGRAL GAIN SPEED GAIN

name set integer integer integer integer integer integer integer integer integer integer integer integer integer

CH01 | .. | CH02 0 < N < 32767 0 < D < 32767 u.a u.a u.a u.a/sec2 u.a/sec u.a/sec u.a u.a 1/sec (hundredths) 1/sec (thousandths) u.a/sec

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE STOPPED$IN$RANGE STOPPED$AT$LOWER$LIMIT STOPPED$AT$UPPER$LIMIT RUNNING

OPERATING$CONDITION OF <name>

set (r)

POSITION OF <name> CONTROL$STATUS OF <name>

integer (r) set (rwf)

ENABLED | DISABLED

O:

ABSOLUTE$MOVE$DCAX <name> {<position> } INCREMENTAL$MOVE$DCAX <name> {<step> } HOME$CYCLE$DCAX <name> STOP$DCAX <name>

integer

f u.a f u.a f f

integer

LOAD$VELOCITY$DCAX <name> {<velocity> } LOAD$ACCELERATION$DCAX <name>

integer

f u.a/sec f

15AD51M1710

44

G.D SpA Bologna


{<acceleration> } integer u.a/sec2

A:

DIAGN$STATUS OF <name> OPERATING$CONDITION OF <name>

N: The symbol 'u.a' indicates the unit of measure used to represent the position of the axis. The symbol 'p.e' indicates the "encoder steps". This unit of measure is used internally to represent the position of the axis. RATIO FACTOR N , RATIO FACTOR D are the transmission ratios for u.a and p.e, based on the following formula: p.e = ( u.a * N ) / D The following relation must always be checked as regards the lower limit, the upper limit and the zero-point position: LOWER TRAVEL LIMIT <= HOME POSITION <= UPPER TRAVEL LIMIT As regards the direction of the axis, the following convention is valid: the UP impulses increment the position the DOWN impulses decrement the position. As regards the polarity of the reference voltage to the driver, the following is assumed: a positive references moves the encoder in the UP direction a negative references moves the encoder in the DOWN direction. Slack is taken up when the positioning takes place in the negative direction, meaning when: arrival position < starting position SPEED GAIN is the speed in u.a/sec, measured when 10 volts are put to the driver. If the operators are not used to load the speed and acceleration, the board automatically assumes the maximum value for these entities. The "home" cycle is handled at the current speed and with the current acceleration. Once the input edge of "home" is visible, zero-setting takes place using the zero impulse of the encoder at the search speed.The search speed must be set so that the zero-pulse lasts longer than 100 microseconds. In all cases, zero-setting takes place in the direction of incrementing values. As regards the various gains, the following values can be recommended: Brushless motor proportional gain: 4000 integral gain: 20 speed gain: 51200 (1024 steps per rev.) D.C. motor proportional gain: 2000 integral gain: 5 speed gain: ? ( depending on the mechanics and on the encoder )

15AD51M1710

45

G.D SpA Bologna


3.27. DC MOTOR AXIS HOME INPUT

T:

DC$MOTOR$AXIS$HOME$INPUT

GDL V 4

P:

DC MOTOR BOARD NAME INPUT NUMBER POLARITY DC MOTOR AXIS NAME

name set set name

CH01 | ... | CH08 DIRECT | REVERSE

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE

STATUS OF <name>

digital (r)

O:

none

A:

DIAGN$STATUS OF <name> STATUS OF <name>

N: This input is used to handle the zero-set cycle for the associated axis. At the start of the zero-set cycle, this input is read in; if the value is ON, the cycle begins the search in the direction of the decreasing values, if the value is OFF, the cycle begins the search in the direction of the increasing values.

15AD51M1710

46

G.D SpA Bologna


3.28. DC MOTOR AXIS STOP INPUT

T:

DC$MOTOR$AXIS$STOP$INPUT

GDL V 4

P:

DC MOTOR BOARD NAME INPUT NUMBER POLARITY DC MOTOR AXIS NAME

name set set name

CH01 | ... | CH08 DIRECT | REVERSE

V:

DIAGN$STATUS OF <name> STATUS OF <name> LATCHED$POSITION OF <name> CONTROL$STATUS OF <name> EDGE OF <name>

set (r) digital (r) integer (r) set (rw) set (rw)

OK | FAULTY | OUTSIDE$FAILURE u.a ENABLED | DISABLED RISING | FALLING

O:

none

A:

DIAGN$STATUS OF <name> EDGE OF <name>

N: The activatro EDGE$OF OF <name> must be the only one present in the list of a procedure and is not included in the list automatically generated by the global activator ANY$OBJECT$INPUT. The status variable LATCHED$POSITION OF <name> can only be read within the procedure which has as its unique activation condition EDGE OF <name>.

15AD51M1710

47

G.D SpA Bologna


3.29. DC MOTOR BOARD

T:

DC$MOTOR$BOARD

GDL V 4

P:

RACK NAME SLOT SUBASSY1 ........ SUBASSY3

name set set ... set

SLOT01 | ... | SLOT16 PRESENT | NOT$PRESENT ..................... PRESENT | NOT$PRESENT

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE

O:

none

A:

DIAGN$STATUS OF <name>

N: SUBASSY1 selects the presence of the subassembly which supports the 1st motor, i.e CH01. SUBASSY2 selects the presence of the subassembly which supports the 2nd motor, i.e CH02. On these channels, it is possible to define objects of the types: DC$MOTOR$AXIS DC$MOTOR$GEAR SUBASSY3 selects the presence of the input hybrid which carries 8 channels from CH01 to CH08. These channels can be used to define the following types of objects: DC$MOTOR$AXIS$HOME$INPUT DC$MOTOR$AXIS$STOP$INPUT DC$MOTOR$GEAR$STOP$INPUT DIGITAL$INPUT EDGE$DETECTOR

15AD51M1710

48

G.D SpA Bologna


3.30. DC MOTOR GEAR

T:

DC$MOTOR$GEAR

GDL V 4

P:

DC MOTOR BOARD NAME MOTOR NUMBER MASTER CHANNEL NUMBER MAXIMUM ACCELERATION MAXIMUM VELOCITY PROPORTIONAL GAIN INTEGRAL GAIN SPEED GAIN

name set set integer integer integer integer integer

CH01 | ... | CH02 CH01 | ... | CH04 | EXT p.s/sec2 p.s/sec 1/sec (hundredths) 1/sec (thousandths) p.s/sec

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE STOPPED | RUNNING p.s ENABLED | DISABLED

OPERATING$CONDITION OF <name> POSITION OF <name> CONTROL$STATUS OF <name>

set (r) integer (r) set (rwf)

O:

LOAD$RATIO$DCGR <name> {<factor N>, <factor D>} ENGAGE$DCGR <name> {<direction>, <step> } INCREMENTAL$MOVE$DCGR <name> {<step> } STOP$DCGR <name> LOAD$VELOCITY$DCGR <name> {<velocity> }

integer integer

f 0 <= N < 32767 0 < D < 32767 f SAME | OPPOSITE p.s f p.s f f p.s/sec f

set integer

integer

integer

LOAD$ACCELERATION$DCGR <name> {<acceleration> }

integer

p.s/sec2

15AD51M1710

49

G.D SpA Bologna

A:

DIAGN$STATUS OF <name> OPERATING$CONDITION OF <name>

N: The symbol 'p.s' indicates the "slave encoder steps". This unit of measure is used internally to represent the position of the slave axis. The symbol 'p.m' indicates the "master encoder steps". This unit of measure is used internally to represent the position of the master axis. Factor N , factor D are the transmission ratios for p.s and p.m, on the basis of the following formula: p.s = ( p.m * N ) / D As regards the polarity of the reference voltage to the driver, the following is assumed: a positive references moves the encoder in the UP direction a negative references moves the encoder in the DOWN direction The operators which load the speed and the acceleration refer to incremental movements. SPEED GAIN is the speed in ps/sec of the slave when 10 volts are put to the driver. When an "engage" command is issued, the position of the slave starts from 0. As regards the <step> parameter in the ENGAGE$DCGR operator, the following comments are valid: if <step> = 0, an unlimited engage is carried out; if <step> other than 0, an engage limited to the number of slave steps indicated is carried out. The incremental movements are cumulative, meaning that the value of the steps specified are instantaneously summed to the reference position, even in the case that the previous incremental movement was not completed. As regards the various gains, the following values can be recommended:

Brushless motor DC motor

proportional gain: 4000 integral gain: 20 proportional gain: 2000 integral gain: 5

speed gain: 51200 (1024 steps per rev.) speed gain: ?

( depending on the mechanics and on the encoder )

15AD51M1710

50

G.D SpA Bologna


3.31. DC MOTOR GEAR STOP INPUT

T:

DC$MOTOR$GEAR$STOP$INPUT

GDL V 4

P:

DC MOTOR BOARD NAME INPUT NUMBER POLARITY DC MOTOR GEAR NAME

name set set name

CH01 | ... | CH08 DIRECT | REVERSE

V:

DIAGN$STATUS OF <name> STATUS OF <name> LATCHED$POSITION OF <name> CONTROL$STATUS OF <name> EDGE OF <name>

set (r) digital (r) integer (r) set (rw) set (rw)

OK | FAULTY | OUTSIDE$FAILURE p.s ENABLED | DISABLED RISING | FALLING

O:

none

A:

DIAGN$STATUS OF <name> EDGE OF <name>

N: The activator EDGE$OF OF <name> must be the only one present in the list of a procedure and is not included in the list automatically generated by the global activator ANY$OBJECT$INPUT. The status variable LATCHED$POSITION OF <name> can only be read within the procedure which has as its unique activation condition EDGE OF <name>.

15AD51M1710

51

G.D SpA Bologna


3.32. DIGITAL CAM

T:

DIGITAL$CAM

GDL V 4

P:

DIGITAL CAM BOARD NAME NUMBER POLARITY PROGRAMMED ANGLE

name set set integer

CH01 | ... | CH32 DIRECT | REVERSE 2 ... 360 degree

V:

none

O:

none

A:

none

N: The declaration parameter PROGRAMMED ANGLE represents the angle at which the output variations are programmed. This value must be an integer sub-multiple of 360. If the value is less than 360, the profile is automatically repeated for the subsequent fractions until 360 degrees are completed.

15AD51M1710

52

G.D SpA Bologna


3.33. DIGITAL CAM BOARD

T:

DIGITAL$CAM$BOARD

GDL V 4

P:

RACK NAME SLOT MASTER CHANNEL SELECTOR MASTER ENCODER RESOLUTION

name set set integer

SLOT01 | ... | SLOT16 CH01 | ... | CH04 1440 | 2880

V:

DIAGN$STATUS OF <name>

set (r)

OK | OUTSIDE$FAILURE | FAULTY IDLE | READY | RUNNING

CFG$STATUS OF <name>

set (r)

O:

LOAD$CAM$CFG <name> {<steps } DELETE$CAM$CFG <name> START$CAM$CFG <name> STOP$CAM$CFG <name>

integer

0 ... resolution - 1

A:

DIAGN$STATUS OF <name> CFG$STATUS OF <name>

N: This board supports DIGITAL CAM objects. In the case of the cam generator, the configuration consists in notifying the board the initial position (in steps) of the associated master encoder. Lacking this information, the board cannot operate. CFG$STATUS is the status of the cam generator configuration and can assume the following values: IDLE: READY: status in which the cam generation configuration is not defined (assumed automatically at power-up) status in which the cam generator configuration is defined, but is not active.

15AD51M1710

53

G.D SpA Bologna


RUNNING: status in which the cam generator configuration is defined and is active.

All the functions associated with the cam generator are only operational when CFG$STATUS is in RUNNING status. As regards the operators which have an effect on the configuration status, the following comments apply: STOP$CFG DELETE$CFG LOAD$CFG START$CFG deactivates the configuration and trips the transition from RUNNING status to READY status. cancels the configuration and trips the transition from READY status to IDLE status. loads the configuration and trips the transition from IDLE status to READY status. activates the configuration and trips the transition from READY status to RUNNING status.

15AD51M1710

54

G.D SpA Bologna


3.34. DIGITAL CAM EDGE

T:

DIGITAL$CAM$EDGE

GDL V 4

P:

DIGITAL CAM NAME NUMBER EDGE PHASE VALUE EDGE STATUS

name integer name digital

1 ... 10 integer parameter name ON | OFF

V:

none

O:

none

A:

none

N: For each cam, it is possible to define a maximum of 10 edges. NUMBER represents the identifier of the digital cam edge object inside the cam. The value assumed by the INTEGER$PARAMETER whose name is assigned by means of the parameter EDGE PHASE VALUE must be within the programming angle for the associated cam. A change in this parameter automatically, but not immediately, changes into a variation in the profile of the corresponding cam.

15AD51M1710

55

G.D SpA Bologna


3.35. DIGITAL CAM OFFSET

T:

DIGITAL$CAM$OFFSET

GDL V 5

P:

DIGITAL CAM NAME INTEGER PARAMETER NAME

name name

integer parameter name

V:

none

O:

none

A:

none

N: For each cam, it is possible to define just one DIGITAL$CAM$OFFSET object. The integer parameter associated must assume a value in the range -359 ... +359 , and represents an offset expressed in degrees which is applied to the cam profile.

15AD51M1710

56

G.D SpA Bologna


3.36. DIGITAL CHAIN

T:

DIGITAL$CHAIN

GDL V 4

P:

STEP NUMBER

integer

V:

STATUS OF <name> [ <step number> ]

digital (rw) integer

O:

SHIFT$FWD$DCH <name> SHIFT$BKWD$DCH <name> FILL$DCH <name> { < step status > }

digital

A:

none

N: The status of the digital shift-registers is memorized in the RAM CMOS battery-backup memory. At the very first power-up, the status of the digital shift-registers is initialized to a value different from both ON and OFF.

15AD51M1710

57

G.D SpA Bologna


3.37. DIGITAL CONDITION

T:

DIGITAL$CONDITION

GDL V 4

P:

DIGITAL CONDITION ADDER NAME

name

V:

STATUS OF <name>

digital (rw)

O:

none

A:

none

N:

none

15AD51M1710

58

G.D SpA Bologna


3.38. DIGITAL CONDITION ADDER

T:

DIGITAL$CONDITION$ADDER

GDL V 4

P:

none

V:

STATUS OF <name>

digital (r)

O:

none

A:

STATUS OF <name>

N:

none

15AD51M1710

59

G.D SpA Bologna


3.39. DIGITAL FLAG

T:

DIGITAL$FLAG

GDL V 4

P:

none

V:

STATUS OF <name>

digital (rw)

O:

none

A:

STATUS OF <name>

N:

none

15AD51M1710

60

G.D SpA Bologna


3.40. DIGITAL FLAG METER

T:

DIGITAL$FLAG$METER

GDL V 4

P:

SYNOPTIC NAME FLAG NAME LOCATION X LOCATION Y SIZE X SIZE Y LABEL P LABEL S

name name integer integer integer integer string string

V:

none

O:

none

A:

none

N: LOCATION X and LOCATION Y are the upper, lefthand corner coordinates of the meter.

15AD51M1710

61

G.D SpA Bologna


3.41. DIGITAL INPUT

T:

DIGITAL$INPUT

GDL V 4

P:

BOARD NAME NUMBER POLARITY TRANSDUCER DIAGN FILTER

name set set set integer

CH01 | ... | CH48 DIRECT | REVERSE YES | NO ms < 255

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | TRANSDUCER$FAILURE | OUTSIDE$FAILURE

STATUS OF <name>

digital (r)

O:

none

A:

DIAGN$STATUS OF <name> STATUS OF <name>

N: This object can be defined on various boards using the following assignments: ABSOLUTE$ENCODER$BOARD DC$MOTOR$BOARD DIGITAL$INPUT$BOARD STEPPER$MOTOR$BOARD ADVANCED$DIGITAL$INPUT$BOARD REMOTE$IO$MODULE channels CH01 | .. | CH08 channels CH01 | .. | CH08 channels CH01 | .. | CH32 channels CH01 | .. | CH08 channels CH01 | .. | CH48 channels CH01 | .. | CH16

15AD51M1710

62

G.D SpA Bologna


3.42. DIGITAL INPUT BOARD

T:

DIGITAL$INPUT$BOARD

GDL V 4

P:

RACK NAME SLOT SUBASSY1 ......... SUBASSY4

name set set ... set

SLOT01 | ... | SLOT16 PRESENT | NOT$PRESENT ..................... PRESENT | NOT$PRESENT

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE

O:

none

A:

DIAGN$STATUS OF <name>

N: SUBASSY1 .. SUBASSY4 selects the presence of the 4 input hybrids on which the channels are distributed in the following manner: SUBASSY1 SUBASSY2 SUBASSY3 SUBASSY4 channels channels channels channels CH01 .. CH08 CH09 .. CH16 CH17 .. CH24 CH25 .. CH32

On the generic channel of a digital input board, the following types of objects can be defined: DIGITAL$INPUT EDGE$DETECTOR

15AD51M1710

63

G.D SpA Bologna


3.43. DIGITAL OUTPUT

T:

DIGITAL$OUTPUT

GDL V 4

P:

DIGITAL OUTPUT BOARD NAME NUMBER POLARITY DIAGNOSIS DIAGN FILTER

name set set set integer

CH01 | ... | CH48 DIRECT | REVERSE YES | NO ms < 255

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE

STATUS OF <name>

digital (rwf)

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

This object can be defined on various boards using the following assignments: DIGITAL$OUTPUT$BOARD ADVANCED$DIGITAL$INPUT$BOARD REMOTE$IO$MODULE channels CH01 | .. | CH32 channels CH01 | .. | CH48 channels CH01 | .. | CH16

15AD51M1710

64

G.D SpA Bologna


3.44. DIGITAL OUTPUT BOARD

T:

DIGITAL$OUTPUT$BOARD

GDL V 4

P:

RACK NAME SLOT

name set

SLOT01 | ... | SLOT16

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE

O:

none

A:

DIAGN$STATUS OF <name>

N: The digital output board supports 32 channels, i.e. CH01 ... CH32. On the generic channel of a digital output board, the following types of objects can be defined: DIGITAL$OUTPUT PWM$OUTPUT

15AD51M1710

65

G.D SpA Bologna


3.45. DIGITAL PARAMETER

T:

DIGITAL$PARAMETER

GDL V 4

P:

FUNCTION NAME DEFAULT VALUE LABEL P LABEL S

name digital string string

V:

STATUS OF <name>

digital (r)

O:

none

A:

STATUS OF <name>

N: The value of the digital parameter is memorized on the RAM CMOS battery-backup memory. The default value is loaded at the very first power-up, meaning the first time the GDL applications starts up after a "load" or a "store" operation.

15AD51M1710

66

G.D SpA Bologna


3.46. DIGITAL PARAMETER ENTRY

T:

DIGITAL$PARAMETER$ENTRY

GDL V 4

P:

SYNOPTIC NAME DIGITAL PARAMETER NAME LOCATION X LOCATION Y SIZE X SIZE Y LABEL P LABEL S

name name integer integer integer integer string string

V:

none

O:

none

A:

none

N: LOCATION X and LOCATION Y are the upper, lefthand corner coordinates of the icon for the parameter entry.

15AD51M1710

67

G.D SpA Bologna


3.47. DIGITAL PARAMETER OVERWRITE

T:

DIGITAL$PARAMETER$OVERWRITE

GDL V 7

P:

DIGITAL PARAMETER NAME

name

V:

DEFAULT$STATUS OF <name> STATUS OF <name>

digital (r) digital (w)

O:

none

A:

none

N:

none

This object permits modifying the associated digital$parameter from the GDL software. By means of the status of variable it is possible to write the status of the associated parameter over run time. The default$status variable permits reading the default value of the associated parameter in run time.

15AD51M1710

68

G.D SpA Bologna


3.48. DIGITAL VARIABLE

T:

DIGITAL$VARIABLE

GDL V 4

P:

none

V:

STATUS OF <name>

digital (rw)

O:

none

A:

none

N: The value of the digital variables is memorized on the RAM CMOS battery-backup memory.

15AD51M1710

69

G.D SpA Bologna


3.49. EDGE DETECTOR

T:

EDGE$DETECTOR

GDL V 4

P:

BOARD NAME NUMBER POLARITY

name set set

CH01 | ... | CH48 DIRECT | REVERSE

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE

STATUS OF <name> CONTROL$STATUS OF <name> EDGE OF <name>

digital (r) set (rw) set (rw)

ENABLED | DISABLED RISING | FALLING

O:

none

A:

DIAGN$STATUS OF <name> EDGE OF <name>

N: This object can be defined on various boards using the following assignments: ABSOLUTE$ENCODER$BOARD DC$MOTOR$BOARD DIGITAL$INPUT$BOARD STEPPER$MOTOR$BOARD ADVANCED$DIGITAL$INPUT$BOARD channels CH01 channels CH01 channels CH01 channels CH01 channels CH01 | ... | | ... | | ... | | ... | | ... | CH08 CH08 CH32 CH08 CH48

15AD51M1710

70

G.D SpA Bologna


3.50. ELLIPSE

T:

ELLIPSE

GDL V 4

P:

SYNOPTIC NAME X1 Y1 X2 Y2 COLOR

name integer integer integer integer set

RED | YELLOW | BLUE | GREEN | MAGENTA | CYAN | WHITE

V:

none

O:

none

A:

none

N: X1,Y1 are the upper, lefthand corner coordinates of the rectangle which circumscribes the ellipse. X2,Y2 are the lower, righthand corner coordinates of the rectangle which circumscribes the ellipse.

15AD51M1710

71

G.D SpA Bologna


3.51. EVENT MESSAGE

T:

EVENT$MESSAGE

GDL V 4

P:

FUNCTION NAME LAMP NAME COLOR

name name set

RED | YELLOW | BLUE | GREEN | MAGENTA | CYAN | WHITE

LABEL P LABEL S

string string

V:

none

O:

DISPLAY$MESSAGE <name>

A:

none

N:

none

15AD51M1710

72

G.D SpA Bologna


3.52. EXPANSION RACK

T:

EXPANSION$RACK

GDL V 4

P:

MASTER RACK NAME SLOT

name set

SLOT01 | ... | SLOT07

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE

O:

none

A:

DIAGN$STATUS OF <name>

N: The expansion racks can only be declared if the master rack present in the application has been declared to be EXPANDED.

15AD51M1710

73

G.D SpA Bologna


3.53. FIELD BUS BOARD

T:

FIELD$BUS$BOARD

GDL V 7

P:

RACK NAME SLOT

name set

SLOT01 ...... SLOT16

V:

DIAGN$STATUS OF <name>

set (r)

OK OUTSIDE$FAILURE FAULTY

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

This board has 3 piggyback sockets. Each socket can be used to define the following objects: 1. 2. Object "profibus$master" which implements the Profibus DP Master Object profibus$slave which implements the Profibus DP Slave

15AD51M1710

74

G.D SpA Bologna


3.53.1. FIELD BUS OBJECT STRUCTURE

Field Bus Board 1..3

Profibus Master 1..32 Profibus Remote Slave

Profibus Slave

Profibus Digital Input Profibus Digital Output Profibus Integer Input Profibus Integer Output

Profibus Pwm Output

Profibus Temperature Sensor

Thermostat

In the above structure, the following rules hold true: 1. The object "Field Bus Board" has 3 piggyback sockets. Each socket can be associated with one of the following objects: 1.1. 1.2. 2. Object "profibus$master" which implements the remote I/O Profibus DP Master Object profibus$slave which implements the remote I/O on a Profibus DP Slave module.

Object "Profibus Master" has both input process images ( 512 byte ) and output process images ( 512 byte ) associated to it. All the objects of the following types are allowed to be mapped into the images:

15AD51M1710

75

G.D SpA Bologna

2.1. 2.2. 2.3. 2.4.

Profibus Digital Input Profibus Digital Output Profibus Integer Input Profibus Integer Output

3.

Object "Profibus Slave" has both input process images ( In <= 242 byte ) and output process images ( Out <= 242 byte ) associated to it with the constraint ( i + o <= 368). All the objects of the following types are allowed to be mapped into the images: 3.1. 3.2. 3.3. 3.4. Profibus Digital Input Profibus Digital Output Profibus Integer Input Profibus Integer Output

4. 5.

The mapping of the process images, as per items 2 and 3, must take place in such a way that the single bit/byte of the image is mapped/used by only one object. "Profibus Remote Slave" objects associated to the "Profibus Master" object must be < 32. Each of these associated objects can in turn be associated with objects as described at item 2. The is no limit to the number of these objects, except for the rule regarding the mapping of process images. One and only one "Profibus Pwm Output" object can be associated with a "Profibus Digital Output" object. One and only one "Profibus Temperature Sensor" object can be associated with a "Profibus Integer Input" object Object "Thermostat" can be associated with "Profibus Temperature Sensor" and "Profibus Pwm Output" objects.

6. 7. 8.

15AD51M1710

76

G.D SpA Bologna


3.54. FREQUENCY INPUT

T:

FREQUENCY$INPUT

GDL V 4

P:

AIO BOARD NAME NUMBER FILTER DIAGNOSIS FLAG DIAGNOSIS LOWER LIMIT DIAGNOSIS UPPER LIMIT

name set integer set integer integer

CH01 | ... | CH32 ms < 255 YES | NO Hz Hz

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE Hz, < 10 kHz

VALUE OF <name>

integer (r)

O:

none

A:

DIAGN$STATUS OF <name>

N: This object can operate at frequencies of up to a maximum of 10 kHz.

15AD51M1710

77

G.D SpA Bologna


3.55. FREQUENCY OUTPUT

T:

FREQUENCY$OUTPUT

GDL V 4

P:

AIO BOARD NAME NUMBER

name set

CH01 | ... | CH32

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE Hz, < 10 kHz

VALUE OF <name>

integer (rwf)

O:

none

A:

DIAGN$STATUS OF <name>

N: This object can operate at frequencies of up to a maximum of 10 kHz.

15AD51M1710

78

G.D SpA Bologna


3.56. FUNCTION

T:

FUNCTION

GDL V 4

P:

GROUP NAME LABEL P LABEL S

name string string

V:

OPERATING$CONDITION OF <name> CONTROL$STATUS OF <name>

set (r) set (rw)

RUNNING | STOPPED ENABLED | DISABLED

O:

none

A:

OPERATING$CONDITION OF <name>

N: If CONTROL$STATUS is set to DISABLED, the operating condition of the function is forced to the RUNNING status, regardless of the status of the red messages.

15AD51M1710

79

G.D SpA Bologna


3.57. GD422 INTERFACE BOARD

T:

GD422$INTERFACE$BOARD

GDL V 4

P:

MASTER RACK NAME SLOT

name set

SLOT02 | ... | SLOT16

V:

DIAGN$STATUS OF <name>

set (r)

OK | OUTSIDE$FAILURE | FAULTY

O:

none

A:

DIAGN$STATUS OF <name>

N: This board must necessarily be inserted in the master rack. It supports all the objects in the GD422 family, with the following limitations: GD422$REMOTE$NODE GD422$REMOTE$MACHINE GD422$REMOTE$INPUT$SIGNAL GD422$REMOTE$INPUT$DATA GD422$REMOTE$OUTPUT$DATA max 16 nodes ( 80 ....87, a0 ... a7 hex ) max 16 machines ( 1 ... 16 ) max 1200 signals max 1200 signals max 200 data

These last three limitations are to be understood to be, regardless of all else, as a limitation of the total number on the board. The board handles two communications protocols on two distinct RS-422 loops: first channel second channel OLD-type protocol to collect data from the loop to which up to 8 secondaries can be connected. NEW- or ECMA16-type protocol which controls the exchange of data on the 8 secondaries.

The distinction between the different protocols on the two channels is completely transparent to the GDL programmer and is handled by the board software. The objects are subdivided according to the value of the node address to which they are associated.

15AD51M1710

80

G.D SpA Bologna


3.58. GD422 REMOTE NODE

T:

GD422$REMOTE$NODE

GDL V 4

P:

GD422 INTERFACE BOARD NAME NODE ADDRESS DIAGN AND TEST SELECTOR

name integer set

1 ... 16 YES | NO

V:

DIAGN$STATUS OF <name>

set (r)

OK | OUTSIDE$FAILURE | FAULTY ENABLED | DISABLED ENABLED | DISABLED

DIAGN$CONTROL$STATUS OF <name> TEST$CONTROL$STATUS OF <name>

set (rw) set (rw)

O:

GD422$NODE$DIAGN$RESET <name>

A:

DIAGN$STATUS OF <name>

N: DIAGN STATUS is OK if the node is on the loop, is FAULTY if the node is not on the loop. It is OUTSIDE$FAILURE if the diagnostic status of the slave interface board is not OK. A total of 16 nodes can be addressed by the board. 8 nodes are of the OLD type and are physically connected to the loop connected to the first channel. 8 nodes are of the NEW type and are physically connected to the loop connected to the second channel. The node addresses are considered in the following manner: node address 1-8 9 - 16 serial channel 2 1 new address 80h - 87h old address A0h - A7h

NEW-type nodes: In the declaration for this object, the DIAGN AND TEST SELECTOR parameter distinguishes the two different types of nodes.

15AD51M1710

81

G.D SpA Bologna


DIAGN AND TEST SELECTOR = YES corresponds to a secondary on which the following <set> variables are meaningful: DIAGN$CONTROL$STATUS TEST$CONTROL$STATUS enable or disable self-diagnosis of the equipment connected to the secondary enable or disable of the output test for the output boards present on the secondary.

Also, the operator GD422$NODE$DIAGN$RESET is enabled (reset of the diagnostic messages on the secondary). DIAGN AND TEST SELECTOR = NO corresponds to a secondary on which the variables DIAGN$CONTROL$STATUS and TEST$CONTROL$STATUS have no meaning and the operator GD422$NODE$DIAGN$RESET is not active. The Selcom PLC is a secondary of this type.

OLD-type nodes: In this case, the above variables and the operator have no meaning and the board software does not handle them. The DIAGN AND TEST SELECTOR must be set to NO.

15AD51M1710

82

G.D SpA Bologna


3.59. GD422 REMOTE MACHINE

T:

GD422$REMOTE$MACHINE

GDL V 4

P:

GD422 REMOTE NODE NAME MACHINE CODE

name integer

1 ... 16

V:

CFG$STATUS OF <name>

set (r)

IDLE | READY | RUNNING

O:

LOAD$422MCH$CFG <name> DELETE$422MCH$CFG <name> START$422MCH$CFG <name> STOP$422MCH$CFG <name>

A:

CFG$STATUS OF <name>

N: The board handles up to 16 remote machines. These machines can be associated to any type of node. Multiple remote machines can be declared on the same node up to a maximum of 16 machines. The variable, the operators and the activator of this object have no meaning if the machines are associated to OLD-type nodes. Thus, they must be used only for machines declared on NEW-type nodes. In any case, the board software would not accept them. The configuration of the remote machine associated to a NEW-type node, consists in the value of the output data present on the dual port RAM. These data are communicated to the remote nodes only in the case they are valid. CFG$STATUS is the status of the configuration and can assume the following values: IDLE: READY: RUNNING: status in which the configuration is not defined (automatically assumed at power-up) status in which the configuration is defined, but is not active. status in which the configuration is both defined and active.

All the functions associated with the remote machine as regards the output data, are only operative when CFG$STATUS is in RUNNING status.

15AD51M1710

83

G.D SpA Bologna

As regards the operators which have an effect on the configuration status, the following comments apply: STOP$CFG DELETE$CFG LOAD$CFG START$CFG deactivates the configuration and trips the transition from RUNNING status to READY status. cancels the configuration and trips the transition from READY status to IDLE status. loads the configuration and trips the transition from IDLE status to READY status. activates the configuration and trips the transition from READY status to RUNNING status.

15AD51M1710

84

G.D SpA Bologna


3.60. GD422 REMOTE INPUT SIGNAL

T:

GD422$REMOTE$INPUT$SIGNAL

GDL V 4

P:

GD422 REMOTE MACHINE NAME INPUT SIGNAL GROUP INPUT SIGNAL CODE BOARD CODE CHANNEL CODE

name integer integer integer integer

1... 16 1... 256 1... 255 (256 not used) 1... 255 (256 not used)

V:

STATUS OF <name>

digital (r)

O:

none

A:

STATUS OF <name>

N: A maximum of 1200 GD422$REMOTE$INPUT$SIGNAL objects are admissible and can be associated to any type of node. As regards BOARD CODE and CHANNEL CODE, the following rules apply: they are meaningful (with values from 1 to 255) only in the case of NEW-type nodes (1...8) on the loop, with messages which refer to self-diagnosis and output test. In all the other cases, they must be set to 256 and, in this way, the board will ignore them.

15AD51M1710

85

G.D SpA Bologna


3.61. GD422 REMOTE INPUT DATA

T:

GD422$REMOTE$INPUT$DATA

GDL V 4

P:

GD422 REMOTE MACHINE NAME

name

V:

VALUE OF <name>

integer (r)

O:

none

A:

VALUE OF <name>

N: Up to a maximum of 16, one for each machine belonging to a NEW-type node, can be declared, in the range (1...8).

15AD51M1710

86

G.D SpA Bologna


3.62. GD422 REMOTE OUTPUT DATA

T:

GD422$REMOTE$OUTPUT$DATA

GDL V 4

P:

GD422 REMOTE MACHINE NAME OUTPUT DATA CODE

name integer

1 ... 20 | 1 ... 40

V:

VALUE OF <name>

integer (rw)

O:

none

A:

none

N: A maximum of 200 GD422$REMOTE$OUTPUT$DATA objects are admitted. These objects can only be associated with NEW-type nodes (1...8) and, in the case that the nodes accept messages regarding self-diagnosis and test output, there can only be up to a maximum of 20 per machine (OUTPUT DATA CODE = 1...20). Instead, for the NEW-type node, you can declare up to 40 per machine (OUTPUT DATA CODE = 1...40). In any case, the board will send the total number of parameters to the secondary, and those which are not declared will be set to 0.

15AD51M1710

87

G.D SpA Bologna


3.63. GDAWCS INTERFACE BOARD

T:

GDAWCS$INTERFACE$BOARD

GDL V 4

P:

MASTER RACK NAME SLOT

name set

SLOT02 | ... | SLOT16

V:

DIAGN$STATUS OF <name>

set (r)

OK | OUTSIDE$FAILURE | FAULTY IDLE | READY | RUNNING

CFG$STATUS OF <name>

set (r)

O:

LOAD$AWCS$CFG <name> DELETE$AWCS$CFG <name> START$AWCS$CFG <name> STOP$AWCS$CFG <name>

A:

DIAGN$STATUS OF <name> CFG$STATUS OF <name>

N: This board must necessarily be inserted in the master rack and only one board may be declared in the application ; it supports all the objects of the GDAWCS family. In the case of cigarette weight-checking, the configuration consists in the value of the output data present on the dual port RAM. These data are communicated to the weight control device only if they are valid. CFG$STATUS is the status of the configuration and can assume the following values: IDLE: READY: RUNNING: status in which the configuration is not defined (automatically assumed at power-up) status in which the configuration is defined, but is not active. status in which the configuration is both defined and active.

All the functions associated with cigarette weight-checking as regards the output data, are only operative when CFG$STATUS is in RUNNING status.

15AD51M1710

88

G.D SpA Bologna


As regards the operators which have an effect on the configuration status, the following comments apply: STOP$CFG DELETE$CFG LOAD$CFG START$CFG deactivates the configuration and trips the transition from RUNNING status to READY status. cancels the configuration and trips the transition from READY status to IDLE status. loads the configuration and trips the transition from IDLE status to READY status. activates the configuration and trips the transition from READY status to RUNNING status.

15AD51M1710

89

G.D SpA Bologna


3.64. GDAWCS DIGITAL INPUT

T:

GDAWCS$DIGITAL$INPUT

GDL V 4

P:

GDAWCS INTERFACE BOARD NAME CODE

name integer

1 ... 256

V:

DIAGN$STATUS OF <name>

set (r)

OK | OUTSIDE$FAILURE | FAULTY

STATUS OF <name>

digital (r)

O:

none

A:

DIAGN$STATUS OF <name> STATUS OF <name>

N: DIAGN$STATUS is OK if the object is handled by the board; FAULTY if the object is not handled by the board; OUTSIDE$FAILURE if the diagnostic status of the GDAWCS$ INTERFACE$BOARD is not OK.

15AD51M1710

90

G.D SpA Bologna


3.65. GDAWCS DIGITAL OUTPUT

T:

GDAWCS$DIGITAL$OUTPUT

GDL V 4

P:

GDAWCS INTERFACE BOARD NAME CODE

name integer

1 ... 256

V:

DIAGN$STATUS OF <name>

set (r)

OK | OUTSIDE$FAILURE | FAULTY

STATUS OF <name>

digital (rw)

O:

none

A:

DIAGN$STATUS OF <name>

N: DIAGN$STATUS is OK if the object is handled by the board; FAULTY if the object is not handled by the board; OUTSIDE$FAILURE if the diagnostic status of the GDAWCS$ INTERFACE$BOARD is not OK.

15AD51M1710

91

G.D SpA Bologna


3.66. GDAWCS INTEGER INPUT

T:

GDAWCS$INTEGER$INPUT

GDL V 4

P:

GDAWCS INTERFACE BOARD NAME CODE

name integer

1 ... 256

V:

DIAGN$STATUS OF <name>

set (r)

OK | OUTSIDE$FAILURE | FAULTY

VALUE OF <name>

integer (r)

O:

none

A:

DIAGN$STATUS OF <name> VALUE OF <name>

N: DIAGN$STATUS is OK if the object is handled by the board; FAULTY if the object is not handled by the board; OUTSIDE$FAILURE if the diagnostic status of the GDAWCS$ INTERFACE$BOARD is not OK.

15AD51M1710

92

G.D SpA Bologna


3.67. GDAWCS INTEGER OUTPUT

T:

GDAWCS$INTEGER$OUTPUT

GDL V 4

P:

GDAWCS INTERFACE BOARD NAME CODE

name integer

1 ... 256

V:

DIAGN$STATUS OF <name>

set (r)

OK | OUTSIDE$FAILURE | FAULTY

VALUE OF <name>

integer (rw)

O:

none

A:

DIAGN$STATUS OF <name>

N: DIAGN$STATUS is OK if the object is handled by the board; FAULTY if the object is not handled by the board; OUTSIDE$FAILURE if the diagnostic status of the GDAWCS$ INTERFACE$BOARD is not OK.

15AD51M1710

93

G.D SpA Bologna


3.68. GDAWCS INPUT TRIGGER

T:

GDAWCS$INPUT$TRIGGER

GDL V 4

P:

GDAWCS INTERFACE BOARD NAME CODE

name integer

1 ... 256

V:

DIAGN$STATUS OF <name>

set (r)

OK | OUTSIDE$FAILURE | FAULTY

O:

none

A:

DIAGN$STATUS OF <name> TRIGGER OF <name>

N: DIAGN$STATUS is OK if the object is handled by the board; FAULTY if the object is not handled by the board; OUTSIDE$FAILURE if the diagnostic status of the GDAWCS$ INTERFACE$BOARD is not OK.

15AD51M1710

94

G.D SpA Bologna


3.69. GDAWCS OUTPUT TRIGGER

T:

GDAWCS$OUTPUT$TRIGGER

GDL V 4

P:

GDAWCS INTERFACE BOARD NAME CODE

name integer

1 ... 256

V:

DIAGN$STATUS OF <name>

set (r)

OK | OUTSIDE$FAILURE | FAULTY

O:

SEND$AWCS$TRIGGER <name>

A:

DIAGN$STATUS OF <name>

N: DIAGN$STATUS is OK if the object is handled by the board; FAULTY if the object is not handled by the board; OUTSIDE$FAILURE if the diagnostic status of the GDAWCS$ INTERFACE$BOARD is not OK.

15AD51M1710

95

G.D SpA Bologna


3.70. GDFLEX ADVANCED HUB BOARD

T:

GDFLEX$ADV$HUB$BOARD

GDL V 6

P:

RACK NAME SLOT

name set

SLOT02 ...... SLOT16

V:

DIAGN$STATUS OF <name>

set (r)

OK OUTSIDE$FAILURE FAULTY

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

This board, which can be located in any slot of any rack, supports the definition of 1 gdflex$device on communication channel CH01.

15AD51M1710

96

G.D SpA Bologna


3.71. GDFLEX CLUSTER BOARD

T:

GDFLEX$CLUSTER$BOARD

GDL V 6

P:

MASTER RACK NAME SLOT

name set

SLOT02 ...... SLOT16

V:

DIAGN$STATUS OF <name>

set (r)

OK OUTSIDE$FAILURE FAULTY

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

This board, which must of necessity be positioned on the master rack, supports the definition of 4 gdflex$device on the communication channels CH01 ... CH04.

15AD51M1710

97

G.D SpA Bologna


3.72. GDFLEX DEVICE

T:

GDFLEX$DEVICE

GDL V 6

P:

GDFLEX BOARD NAME

name

(* GDFLEX BOARD can be cluster or hub board see text for more details) CH01 ...... CH04 NONE HALF$DUPLEX FULL$DUPLEX 00 ..... 255

COMMUNICATION CHANNEL COMMUNICATION PROTOCOL

set set

GDFLEX DEVICE ID

integer

V:

DIAGN$STATUS OF <name>

set (r)

OK OUTSIDE$FAILURE FAULTY

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

The configuration object "communication channel" can take on: the values CH01 .... CH04 if the "gdflex device" is defined on a "gdflex cluster" board, the value CH01 if the "gdflex device" is defined on a "gdflex hub" board. The configuration object communication protocol can take on: the values half$duplex or full$duplex when the "gdflex device" is defined on a "gdflex cluster" board

15AD51M1710

98

G.D SpA Bologna


the value none when the "gdflex device" is defined on a "gdflex hub" board. The configuration object "gdflex device id" serves to identify the device so as to be able to check if a correct device is connected in the specified position; where this is not the case the gdflex$device object goes into diagnosis like all the objects connected. The object "gdflex device" supports the following types of object : gdflex$digital$input gdflex$integer$input gdflex$input$trigger gdflex$digital$output gdflex$integer$output gdflex$output$trigger id = 1 ... 256 id = 1 ... 256 id = 1 ... 256 id = 1 ... 256 id = 1 ... 256 id = 1 ... 256

15AD51M1710

99

G.D SpA Bologna


3.73. GDFLEX DIGITAL INPUT

T:

GDFLEX$DIGITAL$INPUT

GDL V 6

P:

GDFLEX DEVICE NAME GDFLEX DIGITAL INPUT ID

Name integer

001 ..... 256

V:

DIAGN$STATUS OF <name>

set (r)

OK OUTSIDE$FAILURE FAULTY

STATUS OF <name>

digital (r)

O:

none

A:

DIAGN$STATUS OF <name> STATUS OF <name>

N:

none

A maximum of 256 objects of type "gdflex digital input" are allowed for each "gdflex device" object. DIAGN$STATUS is OK if the object is handled by the board; FAULTY if the object is not handled by the board; OUTSIDE$FAILURE if the diagnostic status of the GDFLEX$DEVICE is not OK.

15AD51M1710

100

G.D SpA Bologna


3.74. GDFLEX DIGITAL OUTPUT

T:

GDFLEX$DIGITAL$OUTPUT

GDL V 6

P:

GDFLEX DEVICE NAME GDFLEX DIGITAL OUTPUT ID DEFAULT STATUS

name integer digital

001 ..... 256

V:

DIAGN$STATUS OF <name>

set (r)

OK OUTSIDE$FAILURE FAULTY

STATUS OF <name>

digital (rw)

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

A maximum of 256 objects of type "gdflex digital output" are allowed for each "gdflex device" object . The configuration object "default status" is the default value of the object at every start-up of the GDL application. DIAGN$STATUS is OK if the object is handled by the board; FAULTY if the object is not handled by the board; OUTSIDE$FAILURE if the diagnostic status of the GDFLEX$DEVICE is not OK.

15AD51M1710

101

G.D SpA Bologna


3.75. GDFLEX HUB BOARD

T:

GDFLEX$HUB$BOARD

GDL V 6

P:

MASTER RACK NAME SLOT

name set

SLOT02 ...... SLOT16

V:

DIAGN$STATUS OF <name>

set (r)

OK OUTSIDE$FAILURE FAULTY

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

This board, which must of necessity be located on the master rack, supports the definition of 1 gdflex$device on communication channel CH01.

15AD51M1710

102

G.D SpA Bologna


3.76. GDFLEX INPUT TRIGGER

T:

GDFLEX$INPUT$TRIGGER

GDL V 6

P:

GDFLEX DEVICE NAME GDFLEX INPUT TRIGGER ID

name integer

001 ..... 256

V:

DIAGN$STATUS OF <name>

set (r)

OK OUTSIDE$FAILURE FAULTY

VALUE OF <name>

integer (r)

O:

none

A:

DIAGN$STATUS OF <name> TRIGGER OF <name>

N:

none

A maximum of 256 objects of type "gdflex input trigger" are allowed for each "gdflex device" object. DIAGN$STATUS is OK if the object is handled by the board; FAULTY if the object is not handled by the board; OUTSIDE$FAILURE if the diagnostic status of the GDFLEX$DEVICE is not OK.

15AD51M1710

103

G.D SpA Bologna


3.77. GDFLEX INTEGER INPUT

T:

GDFLEX$INTEGER$INPUT

GDL V 6

P:

GDFLEX DEVICE NAME GDFLEX INTEGER INPUT ID

name integer

001 ..... 256

V:

DIAGN$STATUS OF <name>

set (r)

OK OUTSIDE$FAILURE FAULTY -32768 .... +32767

VALUE OF <name>

integer (r)

O:

none

A:

DIAGN$STATUS OF <name> VALUE OF <name>

N:

none

A maximum of 256 objects of the type "gdflex integer input" are allowed for each "gdflex device" object. DIAGN$STATUS is OK if the object is handled by the board; FAULTY if the object is not handled by the board; OUTSIDE$FAILURE if the diagnostic status of the GDFLEX$DEVICE is not OK.

15AD51M1710

104

G.D SpA Bologna


3.78. GDFLEX INTEGER OUTPUT

T:

GDFLEX$INTEGER$OUTPUT

GDL V 6

P:

GDFLEX DEVICE NAME GDFLEX INTEGER OUTPUT ID DEFAULT VALUE

name integer integer

001 ..... 256 -32768 .... 32767

V:

DIAGN$STATUS OF <name>

set (r)

OK OUTSIDE$FAILURE FAULTY -32768 .... +32767

VALUE OF <name>

integer (rw)

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

A maximum of 256 objects of type "gdflex integer output" are allowed for each "gdflex device" object.

The configuration object "default value" is the default value of the object at every start-up of the GDL application. DIAGN$STATUS is OK if the object is handled by the board; FAULTY if the object is not handled by the board; OUTSIDE$FAILURE if the diagnostic status of the GDFLEX$DEVICE is not OK.

15AD51M1710

105

G.D SpA Bologna

3.79. GDFLEX OUTPUT TRIGGER

T:

GDFLEX$OUTPUT$TRIGGER

GDL V 6

P:

GDFLEX DEVICE NAME GDFLEX OUTPUT TRIGGER ID

name integer

001 ..... 256

V:

DIAGN$STATUS OF <name>

set (r)

OK OUTSIDE$FAILURE FAULTY

O:

SEND$GDFLEX$TRIGGER <name> { <value> }

integer

A:

DIAGN$STATUS OF <name>

N:

none

A maximum of 256 objects of type "gdflex output trigger" are allowed for each "gdflex device" object. DIAGN$STATUS is OK if the object is handled by the board; FAULTY if the object is not handled by the board; OUTSIDE$FAILURE if the diagnostic status of the GDFLEX$DEVICE is not OK.

15AD51M1710

106

G.D SpA Bologna


3.80. GLUE PATTERN

T:

GLUE$PATTERN

GDL V 5

P:

GLUER NAME

name

V:

POSITION OF <name> SIZE OF <name> DOT$NUMBER OF <name>

integer (rw) integer (rw) integer (rw)

<= 128

O:

none

A:

none

N:

none

15AD51M1710

107

G.D SpA Bologna


3.81. GLUE SEGMENT

T:

GLUE$SEGMENT

GDL V 5

P:

GLUER NAME

name

V:

POSITION OF <name> SIZE OF <name>

integer (rw) integer(rw)

O:

none

A:

none

N:

none

15AD51M1710

108

G.D SpA Bologna


3.82. GLUER

T:

GLUER

GDL V 5

P:

GLUER BOARD NAME CHANNEL POSITION GENERATOR NAME ACTUATOR DELAY

name set name integer

CH01 | ... | CH16 microsec. <= 65535

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE INACTIVE | INITIALIZING | INITIALIZED | UPDATING | UPDATED INACTIVE | DISPENSING | PULSE$CLEANING | FLUSH$CLEANING

DOT$TABLE$STATUS OF <name>

set (r)

OPERATING$CONDITION OF <name>

set (r)

OFFSET OF <name>

integer (rw)

O:

START$DISPENSING <name> STOP$DISPENSING <name> START$PULSE$CLEANING <name> {<frequency> } START$FLUSH$CLEANING <name> STOP$CLEANING <name> UPDATE$DOT$TABLE <name>

integer

f Hz <= 255 f f

A:

DIAGN$STATUS OF <name> DOT$TABLE$STATUS OF <name> OPERATING$CONDITION OF <name>

N:

15AD51M1710

109

G.D SpA Bologna


More than one GLUER can be connected to the same GLUER POSITION GENERATOR. The operator UPDATE$DOT$TABLE updates all the values for the glue dots in the table; it must be called at least one time at power up after the initialization of the related patterns. After the first call it can be called again to change the dot configuration. The variable DOT$TABLE $STATUS assumes the following values: INACTIVE INITIALIZING INITIALIZED UPDATING UPDATED the dot table is not present and the operator UPDATE$DOT$TABLE has never been called before the dot table is being updated the dot table is initialized the dot table is being updated the dot table is completely updated

The new dot table is valid starting from the next position generation. The variable OPERATING$CONDITION assumes the following values: INACTIVE DISPENSING FLUSH$CLEANING PULSE$CLEANING the gluer is inactive, i.e. it does not generate any glue dots the gluer is dispensing according to the current dot table the gluer is active and the output is set to ON without regard to the dot table data and position data currently available the gluer is active and an endless series of pulses is generated independent of the dot table data and position data currently available; the pulse frequency is determined by the operator START$PULSE$CLEANING

As regards the operators the following considerations can be made: START$DISPENSING determines the transition of the status of the GLUER from the INACTIVE to the DISPENSING value and strts the generation of the glue dots determines the transition from the value DISPENSING to the value INACTIVE of the GLUER status , and stops the dot generation determines the transition from the value INACTIVE to the value PULSE$CLEANING of the GLUER status, and starts the generation of the endless series of pulses. It is forceable by means of the GDL Debugger. determines the transition from the value INACTIVE to the value FLUSH$CLEANING of the GLUER status, and sets the output to ON. It is forceable by means of the GDL Debugger. determines the transition from the value CLEANING to the value INACTIVE of the GLUER status, and stops the generation of the endless series of pulses.It is forceable by means of the GDL Debugger.

STOP$DISPENSING

START$PULSE$CLEANING

START$FLUSH$CLEANING

STOP$CLEANING

15AD51M1710

110

G.D SpA Bologna

15AD51M1710

111

G.D SpA Bologna


3.83. GLUER ADDENDUM

T:

GLUER$ADDENDUM

GDL V 6

P:

GLUER NAME

name

V:

ACTUATOR$ON$DELAY OF <name>

integer (rw)

microsec <= 65535

ACTUATOR$OFF$DELAY OF <name>

integer (rw)

microsec <= 65535

O:

none

A:

none

N:

none

To an object of the type "gluer" it is possible to connect only one object of the type "gluer$addendum" . The variables actuator$on$delay and actuator$off$delay represent the delay of activation and deactivation of the actuator respectively expressed in microseconds ; these variables are automatically initialised at the default value expressed by the value of the declaration parameter actuator$delay of the linked gluer object. The value of these variables is sampled by the board at the beginning of the cycle of position generation, thus the modification of the value of these variables, which can be made in run time at any point, is actuated by the board at the next cycle.

15AD51M1710

112

G.D SpA Bologna


3.84. GLUER BOARD

T:

GLUER$BOARD

GDL V 5

P:

RACK NAME SLOT

name set

SLOT02 | ... | SLOT16

V:

DIAGN$STATUS OF <name>

set(r)

OK | OUTSIDE$FAILURE | FAULTY

O:

none

A:

DIAGN$STATUS OF <name>

N: This board supports the following object types: GLUER GLUER$BUS$ENCODER GLUER$EXT$ENCODER GLUER$POSITION$GENERATOR channels channels channels channels CH01 .. CH16 CH01 .. CH04 CH01 .. CH04 CH01 .. CH08

15AD51M1710

113

G.D SpA Bologna


3.85. GLUER BUS ENCODER

T:

GLUER$BUS$ENCODER

GDL V 5

P:

GLUER BOARD NAME CHANNEL

name set

CH01 | ... | CH04

V:

DIAGN$STATUS OF <name>

set(r)

OK | OUTSIDE$FAILURE | FAULTY

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

15AD51M1710

114

G.D SpA Bologna


3.86. GLUER EXT ENCODER

T:

GLUER$EXT$ENCODER

GDL V 5

P:

GLUER BOARD NAME CHANNEL TYPE

name set set

CH01 | ... | CH04 VCC5OR24VOLT | LINEDRIVER485

V:

DIAGN$STATUS OF <name>

set(r)

OK | OUTSIDE$FAILURE | FAULTY

O:

none

A:

DIAGN$STATUS OF <name>

N: The parameter TYPE defines the type of the encoder: VCC5OR24VOLT is for standard encoders with power supply at 5 or 24 Volt, LINEDRIVER485 is for encoders with line driver 485.

15AD51M1710

115

G.D SpA Bologna


3.87. GLUER POSITION GENERATOR

T:

GLUER$POSITION$GENERATOR

GDL V 5

P:

GLUER BOARD NAME CHANNEL POLARITY TYPE GLUER ENCODER NAME RATIO FACTOR N RATIO FACTOR D COMPENSATION TYPE

name set set set name integer integer set

CH01 | ... | CH08 DIRECT | REVERSE NPN | PNP 0 < N <= 65535 0 < D <= 65535 SPEED$ONLY | SPEED$ACCELERATION millisec. <= 255

SPEED/ACCELERATION SAMPLING TIME

integer

V:

DIAGN$STATUS OF <name>

set(r)

OK | OUTSIDE$FAILURE | FAULTY

STATUS OF <name> CONTROL$STATUS OF <name> EDGE OF <name> POSITION OF <name> OFFSET OF <name> OPERATING$CONDITION OF <name>

digital (r) set (rw) set (rw) integer (r) integer (rw) set (r)

ENABLED | DISABLED RISING | FALLING

INACTIVE | OPERATING

O:

none

A:

DIAGN$STATUS OF <name> STATUS OF <name> OPERATING$CONDITION OF <name>

N: The parameter TYPE defines the type of the transducer used.

15AD51M1710

116

G.D SpA Bologna


COMPENSATION TYPE defines the mode to compensate the actuator delay. SPEED/ACCELERATION SAMPLING TIME defines the sampling interval used to read data for the actuator delay compensation. The GLUER ENCODER NAME can be either a BUS encoder or an EXT encoder. The ratio N/D is the transmission ratio used to generate the position value (it is the number of encoder steps conntained in a generatot unit). When the variable CONTROL$STATUS is ENABLED the position values are generated and the glue dots are dispensed, otherwise no dispensing is performed. At power up this variable is forced to the value DISABLED and the variable EDGE is forced to RISING. The latter variable defines the pulse edge used to generate the position. The generation of the position data continues until the last glue dot is dispensed, no matter which status the input assumes. The variable OPERATING$CONDITION is INACTIVE when no position data are generated; is OPERATING while the position data are generated. A variation of the variable OFFSET (set to zero at power up) determines a shift in the position generated, and then in the position of the glue dots. The new value of OFFSET is read only at the start of the position generation operations.

15AD51M1710

117

G.D SpA Bologna


3.88. GLUER POSITION GENERATOR ADDENDUM

T:

GLUER$POS$GEN$ADDENDUM

GDL V 6

P:

GLUER POSITION GENERATOR

name

V:

none

O:

STOP$CYCLE <name>

A:

none

N:

none

To an object of the type Gluer$Position$Generator it is possible to connect only one object of the type Gluer$Pos$Gen$Addendum. The object Gluer$Pos$Gen$Addendum, connected to object Gluer$Position$Generator, implements the operator stop$cycle which immediately stops the generation of the position of the cycle in progress with the relative suspension of the glue supply of the linked gluer objects; the call of this operator causes the transition of the variable operating$condition of the object Gluer$Position$Generator to the value inactive; this operator acts only on the cycle in progress .

15AD51M1710

118

G.D SpA Bologna


3.89. GROUP

T:

GROUP

GDL V 4

P:

MACHINE NAME LABEL P LABEL S

name string string

V:

OPERATING$CONDITION OF <name>

set (r)

RUNNING | STOPPED

O:

none

A:

OPERATING$CONDITION OF <name>

N:

none

15AD51M1710

119

G.D SpA Bologna


3.90. INTEGER CHAIN

T:

INTEGER$CHAIN

GDL V 4

P:

STEP NUMBER

integer

V:

VALUE OF <name> [ < step number > ]

integer (rw) integer

O:

SHIFT$FWD$ICH <name> SHIFT$BKWD$ICH <name> FILL$ICH <name> {<step value > }

integer

A:

none

N: The integer values of the shift-registers is memorized on the RAM CMOS battery-backup memory and is zeroed at the very first power-up.

15AD51M1710

120

G.D SpA Bologna


3.91. INTEGER CONSTANT

T:

INTEGER$CONSTANT

GDL V 4

P:

VALUE

integer

V:

VALUE OF <name>

integer (r)

O:

none

A:

none

N:

none

15AD51M1710

121

G.D SpA Bologna


3.92. INTEGER FLAG

T:

INTEGER$FLAG

GDL V 4

P:

none

V:

VALUE OF <name>

integer (rw)

O:

none

A:

VALUE OF <name>

N:

none

15AD51M1710

122

G.D SpA Bologna


3.93. INTEGER FLAG METER

T:

INTEGER$FLAG$METER

GDL V 4

P:

SYNOPTIC NAME FLAG NAME LOCATION X LOCATION Y SIZE X SIZE Y LABEL P LABEL S

name name integer integer integer integer string string

V:

none

O:

none

A:

none

N: LOCATION X, LOCATION Y are the coordinates of the upper, lefthand corner of the meter.

15AD51M1710

123

G.D SpA Bologna


3.94. INTEGER PARAMETER

T:

INTEGER$PARAMETER

GDL V 4

P:

FUNCTION NAME UNITS P UNITS S MIN VALUE MAX VALUE DEFAULT VALUE LABEL P LABEL S

name string string integer integer integer string string

V:

VALUE OF <name>

integer (r)

O:

none

A:

VALUE OF <name>

N: The value of the integer parameter is memorized on the RAM CMOS. The default value is loaded at the very first power-up, meaning the very first time the GDL application is started after a "load" or after a "store" command.

15AD51M1710

124

G.D SpA Bologna


3.95. INTEGER PARAMETER ENTRY

T:

INTEGER$PARAMETER$ENTRY

GDL V 4

P:

SYNOPTIC NAME INTEGER PARAMETER NAME LOCATION X LOCATION Y SIZE X SIZE Y LABEL P LABEL S

name name integer integer integer integer string string

V:

none

O:

none

A:

none

N: LOCATION X, LOCATION Y are the coordinates of the upper, lefthand corner of the icon for parameter entry.

15AD51M1710

125

G.D SpA Bologna


3.96. INTEGER PARAMETER OVERWRITE

T:

INTEGER$PARAMETER$OVERWRITE

GDL V 7

P:

INTEGER PARAMETER NAME

name

V:

MIN$VALUE OF <name> MAX$VALUE OF <name> DEFAULT$VALUE OF <name> VALUE OF <name>

integer (r) integer (r) integer (r) integer (w)

O:

none

A:

none

N:

None

This object permits modifying the associated integer$parameter from GDL software. By means of the value of variable it is possible to write the value of the associated parameter over run time. The min$value, max$value, default$value variables permit reading the declaration values of the associated entire parameter in run time.

15AD51M1710

126

G.D SpA Bologna


3.97. INTEGER VARIABLE

T:

INTEGER$VARIABLE

GDL V 4

P:

none

V:

VALUE OF <name>

integer (rw)

O:

none

A:

none

N: The value of the integer variable is memorized on the RAM CMOS and this value is zeroed at the very first power-up.

15AD51M1710

127

G.D SpA Bologna


3.98. LAMP

T:

LAMP

GDL V 4

P:

SYNOPTIC NAME LOCATION X LOCATION Y TYPE

name integer integer set

ROUND | SQUARE

V:

none

O:

none

A:

none

N: LOCATION X, LOCATION Y are the coordinates of the center of the lamp.

15AD51M1710

128

G.D SpA Bologna


3.99. LINE

T:

LINE

GDL V 4

P:

SYNOPTIC NAME X1 Y1 X2 Y2 COLOR

name integer integer integer integer set

RED | YELLOW | BLUE | GREEN | MAGENTA | CYAN | WHITE

V:

none

O:

none

A:

none

N:

none

15AD51M1710

129

G.D SpA Bologna


3.100. MACHINE

T:

MACHINE

GDL V 4

P:

LABEL P LABEL S

string string

V:

OPERATING$CONDITION OF <name>

set (r)

RUNNING | STOPPED | READY

O:

RESET$MCH <name> START$MCH <name> SYNOPTIC$SCROLL <name> COLOR$SCROLL <name> MESSAGE$SCROLL <name>

A:

OPERATING$CONDITION OF <name>

N:

none

15AD51M1710

130

G.D SpA Bologna


3.101. MACHINE METER

T:

MACHINE$METER

GDL V 4

P:

SYNOPTIC NAME MACHINE OR REMOTE$MACHINE$INPUT NAME LOCATION X LOCATION Y SIZE X SIZE Y LABEL P LABEL S

name name integer integer integer integer string string REMOTE$MACHINE$INPUT only if GDL V.6

V:

none

O:

none

A:

none

N: LOCATION X, LOCATION Y are the coordinates of the upper, lefthand corner of the meter. If GDL V.6, MACHINE$METER can be connected to a REMOTE$MACHINE$INPUT object.

15AD51M1710

131

G.D SpA Bologna


3.102. MASTER RACK

T:

MASTER$RACK

GDL V 4

P:

TYPE

set

EXPANDED | NOT$EXPANDED

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY

O:

none

A:

DIAGN$STATUS OF <name>

N: In any application, only one object of the MASTER$RACK type can be defined. If the MASTER$RACK object has not been declared to be EXPANDED, no EXPANSION$RACK objects can be defined.

15AD51M1710

132

G.D SpA Bologna


3.103. MINIOPC LAMP

T:

MINIOPC$LAMP

GDL V 5

P:

LAMP NAME MINIOPC SYNOPTIC NAME ROW ID COLUMN ID

name name integer integer

1 ... 8 1 ... 16

V:

none

O:

none

A:

none

N: This objects corresponds to a lamp on a MINIOPC$SYNOPTIC. It is possible to define two or more lamps with the same coordinates; in this case the status of the visible lamp is the result of the OR-ing of all the statuses.

15AD51M1710

133

G.D SpA Bologna


3.104. MINIOPC SYNOPTIC

T:

MINIOPC$SYNOPTIC

GDL V 5

P:

MINIOPC SYNOPTIC CLUSTER NAME MINIOPC SYNOPTIC ID

name integer

1 ... 8

V:

none

O:

none

A:

none

N: MINIOPC SYNOPTIC ID identifies the MINIOPC$SYNOPTIC object; it is non allowed top define more than one of these objects with the same id.

15AD51M1710

134

G.D SpA Bologna


3.105. MINIOPC SYNOPTIC CLUSTER

T:

MINIOPC$SYNOPTIC$CLUSTER

GDL V 5

P:

LINK CONTROL

set

ENABLED | DISABLED

V:

none

O:

none

A:

none

N: This object must be unique in the application. If the LINK CONTROL parameter is ENABLED all the miniopc functions are operating; if DISABLED the functions are not in use. If this object is not defined the miniopc functions are disabled.

15AD51M1710

135

G.D SpA Bologna


3.106. MOTION CONTROL ADJUST INPUT & ADJUST INPUT ADDENDUM

T:

MC$ADJUST$INPUT

GDL V 6

P:

MC$BOARD NAME MC$ADJUST$INPUT$ADDENDUM NAME INPUT CHANNEL POLARITY TRANSDUCER TYPE MC$GEAR NAME or MC$CAM NAME

name name set set set name

CH01 .... CH08 DIRECT | REVERSE NPN | PNP

V:

DIAGN$STATUS OF <name> STATUS OF <name> CENTERING$ERROR OF <name> CONTROL$STATUS OF <name> EDGE OF <name>

set (r) digital(r) integer(r) set (rwf) set (rwf)

OK | FAULTY | OUTSIDE$FAILURE u.gnt ENABLED | DISABLED RISING | FALLING

O:

none

A:

DIAGN$STATUS OF <name> EDGE OF <name>

N:

none

15AD51M1710

136

G.D SpA Bologna

T:

MC$ADJUST$INPUT$ADDENDUM

GDL V 6

P:

none

V:

THEORETIC$POSITION OF<name> TOLERANCE OF <name> ADJUST$POSITION OF <name> ADJUST$SIZE OF <name>

integer (rwf) integer (rwf) integer (rwf) integer(rwf)

u.gnt u.gnt 0 u.gnt u.gnt

O:

none

A:

none

N:

none

The object "mc$adjust$input" serves to implement the centring function on the linked "gear" or "cam" object; the object "mc$adjust$input$addendum" , must be unique and always defined ; later on, these two objects are considered as a single object . The activator edge of <name> must be the only activator present in the list of a procedure and is not inserted in the list generated automatically by the global activator any$objects$input. The variable "centering$error" can be read only in the ambit of the procedure which has as its unique condition of activation "edge of". The variables of the object "mc$adjust$input$addendum" are relative to the "mc$position$generator" object linked to the object "mc$gear" or "mc$cam" linked to the object "mc$adjust$input" ; this object is indicated later as linked "mc$position$generator" object; the value of these variables must always be contained in the work field of the generator itself. When the selected and enabled input front arrives the following functions are carried out :

15AD51M1710

137

G.D SpA Bologna

1. in the variable "centering$error" , the value of the position of the linked object "mc$position$generator" is sampled and the "edge of" event is generated 2. the value sampled , "centering$error" , is compared with the theoretical value contained in the variable "theoretic$position" thus obtaining the value of the centring error 3. If the absolute value of the centring error is less than or equal to the value of the variable "tolerance", the board proceeds automatically to modify the movement of the linked "gear" or "cam" so as to compensate for the error
4.

the compensation movement is made in a fraction of the generator cycle, starting from the position expressed by the value of the variable "adjust$position" for a length equal to the value of the variable "adjust$size"

5.

the characteristics of the compensation movement are determined automatically by the board so as to distribute the movement in the specified space in the best possible way.

15AD51M1710

138

G.D SpA Bologna


3.107. MOTION CONTROL AXIS

T:

MC$AXIS

GDL V 6

P:

MC$REGULATOR NAME AXIS TYPE POSITION LOWER LIMIT POSITION UPPER LIMIT BACKSLASH OFFSET BACKSLASH APPROACH DIRECTION

name set integer integer integer set

LINEAR | ROTARY u. mtr u. mtr u. mtr INCREASING | DECREASING

V:

POSITION OF <name> THEORETIC$POSITION OF <name> AXIS$STATUS OF <name>

integer (r) integer (r) set (r)

u. mtr u. mtr INACTIVE | MOVING| LOCKED u. mtr / sec2 u. mtr / sec3

PROFILE$ACCELERATION OF <name> PROFILE$JERK OF <name>

integer (r) integer (r)

15AD51M1710

139

G.D SpA Bologna

O:

LOAD$PROFILE$MC$AXIS <name> { <profile acceleration>, <profile jerk> } ABSOLUTE$MOVE$MC$AXIS <name> {<velocity>, <position> } INC$MOVE$MC$AXIS <name> { <velocity>, <incremental space> } HALT$MC$AXIS <name> STOP$MC$AXIS <name> { <profile acceleration>, <profile jerk> } LOAD$POSITION$MC$AXIS <name> { <position> } SLIP$MC$AXIS <name> { <slip velocity>, <slip space> } CAM$HOME$MC$AXIS <name> { <home velocity>,

f integer integer f integer integer f integer integer f f integer integer f integer

u. mtr / sec2 u. mtr / sec3

u. mtr/sec u. mtr

u. mtr / sec u. mtr

u. mtr / sec2 u. mtr/ sec3

u.mtr

integer integer

u.mtr/sec u.mtr

integer

<master position> }

integer

u.mtr/sec if >0 then increasing, if <0 then decreasing u.gnt

A:

AXIS$STATUS OF <name>

N:

none

The variables "position lower limit" and "position upper limit" represent the limits of the work range. The variable "axis type" selects the type of axis which can be either linear or rotary; for axis of the linear type the position can assume values within the work range with a saturation effect of the position which is always limited to within the interval ;

15AD51M1710

140

G.D SpA Bologna


for axis of the rotary type, the position can assume values within the work range with an effect of re-circulation of the position which, when one of the extremes has been exceeded, returns within the interval on the other side. The variable "backlash offset" represents the amount of backlash offset. The variable "backlash approach direction" represents the direction in which the backlash is made; if the variable "backlash offset" is set to the value "0" the backlash is not compensated. The variable "position" represents the real current position of the axis. The variable "theoretic$position" represents the theoretical position; these positions will always lie within the work range of the axis itself. The variable "axis$status" represents the state of the axis which takes on the following values : 1. locked : indicates that the motor is not available to receive commands at axis level because command given at a lower level is being executed ( motor , regulator ) or at a higher level ( gear , cam , home$input , stop$input ) 2. inactive : indicates that no absolute or incremental movements are in progress and the system is ready to carry out a new movement 3. moving : indicates that a movement of absolute or incremental type is in course 4. engaged : indicates that the motor is not available to receive commands at axis level because the motor is busy following the master at a higher level ( gear or cam ) ; in this state it is possible to use the command of "slip mc axis" which in reality acts on the linked gear or cam object to force a slipping movement . The variables "profile$acceleration" and profile$jerk represent the values of the acceleration and jerk with which the movements are made respectively; when jerk = 0 a trapezoidal profile is traced while if jerk 0 an S-Curve profile is made; in both cases the profiles are considered to be symmetrical i.e. with the start the same as the finish. The operator "load$profile$mc$axis" loads the characteristics of the profile of the movements; the characteristics of the profile are the acceleration and jerk ; the board takes on a trapezoidal profile ( jerk = 0 ) automatically at start-up of the GDL application with an acceleration equal to the maximum acceleration of the associated motor ; if the operator "load$profile$mc$axis" is not used to modify the profile, the board carries out the movements with the default profile. The board samples the current profile at the start of the movement which, once begun, cannot be changed ; any change of the current profile during a movement has no effect on the movement in course but is considered at the next movement. The operator "absolute$move$mc$axis" serves to make an absolute movement.

15AD51M1710

141

G.D SpA Bologna

The operator "incremental$move$mc$axis" makes an incremental movement ; both movements are realised with the current profile and the speed specified in the command itself. The value of the absolute position specified in the "position" parameter of the operator "absolute$move$mc$axis" must lie within the work range of the axis; if this is not the case, the board proceeds with its saturation, taking it to a value at one of the two extremes. The value of the incremental position specified in the parameter "incremental space" of the "incremental$move$mc$axis" operator is interpreted differently according to the type of axis : 1. in the case of a linear axis , when the value of the parameter would lead to an arrival point for the movement which is out of the work range of the motor itself , the board proceeds with a saturation of the value of the parameter so that this does not occur and the movement terminates at one of the extremes 2. in the case of a rotational axis , when the value of the parameter leads to an arrival point of the movement which is out of the work range of the motor itself , the board proceeds in any case with the execution of the incremental movement which has an effect of recirculation of the position which, having exceeded one of the extremes from one side, returns inside the interval from the other. The operator "halt$mc$axis" is used to stop the movement in progress with a stop profile which is identical to the profile of the movement already underway ; this operator stops the movement in progress independently of the fact that this be an absolute movement , an incremental movement or a home cycle. The operator "stop$mc$axis" serves to stop the movement in course with a stop profile which is different from the profile of the movement; the parameters "profile acceleration" and "profile jerk" requested by the operator specify the profile with which the board must carry out the motor arrest; this profile is used only for the stop and does not affect the current profile of the movements ; this operator stops the movement in progress independently of the fact that it be an absolute movement , an incremental movement or a home cycle. The operator "load$position$mc$axis" serves to zero the axis without using the input "home$input" ; this operator communicates to the axis its position in that moment ; obviously the position communicated must be within the work interval of the axis . The operator "slip$mc$axis" , which is accepted only if the axis is in the "engaged" state, forces a relative slip of the axis with respect to the position generator according to the profile specified on the linked gear or cam object , which must be in the "engaged" state; as well as the parameters specified in the command, the values of the variables "profile$acceleration"

15AD51M1710

142

G.D SpA Bologna

and "profile$jerk" are used ; the relative slipping movement is superimposed on the movement set by the position generator. The operator "cam$home$mc$axis" , which is only accepted if the axis is in the "inactive" state and the cam in the "disengaged" state, forces a special home movement on the linked cam object; the cam object then goes: to the corresponding slave position, to the current profile , to the master position specified in the command itself in the direction and at the speed specified in the command: during this movement the state of the axis takes on the value "moving" and the state of the cam the value "locked".

15AD51M1710

143

G.D SpA Bologna


3.108. MOTION CONTROL BOARD

T:

MC$BOARD

GDL V 6

P:

RACK NAME SLOT EXTERNAL ENCODER TYPE

name set set

SLOT01 ...... SLOT16 NONE VCC5OR24VOLT LINEDRIVER485

V:

DIAGN$STATUS OF <name>

set (r)

OK OUTSIDE$FAILURE FAULTY

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

EXTERNAL ENCODER TYPE is used to select the type of external incremental encoder taken as a source for the generation of position: "vcc5or24volt" selects normal encoders running on 5 or 24 volts; "linedriver485" selects special encoders using the 485 standard ; "none" must be specified when the external encoder is not used .

15AD51M1710

144

G.D SpA Bologna


3.108.1. MOTION CONTROL BOARD OBJECT STRUCTURE

mc$board ch01 .. mc$motor ch01 .. mc$stop$input mc$home$inpu t mc$latch$input mc$match$detector mc$adjust$input mc$adjust$input$addendu mc$axis mc$cam$shape mc$regulator mc$gear mc$regulator$table mc$cam ch01 ..

ch01 ..

ch01 .. mc$position$generato r

mc$probe

The board "mc$board" has 3 motor channels ch01 .. ch03 on each of which an object of type "mc$motor" can be defined and to which the objects of type "mc$regulator" and "mc$axis" are connected in sequence. An object of type "mc$regulator$table" must necessarily be connected to the object "mc$regulator" The board "mc$board" has 3 "position generator channels ch01 .. ch03 on each of which an object of type "mc$position$generator" may be defined. The board "mc$board" has 12 "position comparer" channels ch01 .. ch12 on each of which an object of type "mc$match$detector" may be defined. The board "mc$board" has 8 "digital input " channels ch01 .. ch08 on each of which objects of type "mc$stop$input" , mc$home$input , mc$latch$input and mc$adjust$input can be defined.

15AD51M1710

145

G.D SpA Bologna

The " mc$board" board has 3 analogue output channels ch01 .. ch03 on each of which an object of type "mc$probe" can be defined. Moreover, to every object of type "mc$axis" an object of type "mc$gear" or "mc$cam" may be linked and to every object "mc$cam" up to 4 objects of type "mc$cam$shape" can be connected. In the definition of the above objects the following limitations must be taken into account : 1. for every object of type "mc$motor" the definition of only one object of type "mc$regulator" is allowed 2. for every object of type "mc$regulator" the definition of a single object of type "mc$regulator$table" is necessary 3. for every object of type "mc$regulator" the definition of only one object of type "mc$axis" is allowed 4. for every object of type "mc$axis" the definition of only one object of type "mc$stop$input"is allowed 5. for every object of type "mc$axis" the definition of only one object of type "mc$home$input" is allowed 6. there is no limitation on the number of objects of type "mc$latch$input" which may be associated to an object of type "mc$axis" or "mc$position$generator" ( max. 8 ) 7. for every object of type "mc$gear" or "mc$cam" the definition of just one object of type "mc$adjust$input" is allowed 8. for every object of type "mc$adjust$input" the corresponding object "mc$adjust$input$addendum " must also be defined and must be unique 9. there is no limitation on the number of objects of type "mc$match$detector" which may be associated with an object of type "mc$axis" or "mc$position$generator" ( max. 12 ) . 10. to an object of type "mc$axis" only one object of type "mc$gear" or "mc$cam" may be connected 11. there is no limit on the number of objects of the type "mc$gear" or "mc$cam" which may be connected to an object of type "mc$position$generator" ( max 3 ) 12. to the object "mc$cam" up to 4 objects "mc$cam$shape" may be connected

15AD51M1710

146

3.109. MOTION CONTROL CAM

T:

MC$CAM

GDL V 6

P:

MC$AXIS NAME MC$POSITION$GENERATOR NAME ACTUATION DELAY

name name integer

millisecond 0

V:

CYCLE$POSITION OF <name> CAM$STATUS OF <name>

integer(rwf) set (r)

u. mst LOCKED | DISENGAGED | ENGAGING | DISENGAGING | ENGAGED | SLIPPING ENABLED | DISABLED NONE | SHAPE$1 ... SHAPE$4 u. mtr / sec2 u. mtr / sec3 0< n 32767 0< d 32767

CYCLE$STATUS OF <name> CURRENT$SHAPE OF <name> ENGAGE$ACCELERATION OF <name> ENGAGE$JERK OF <name> RATIO$FACTOR$N OF <name> RATIO$FACTOR$D OF <name>

set (rwf) set (r) integer (r) integer (r) integer (r) integer (r)

O:

LOAD$ENG$PRF$MC$CAM <name> { <engage profile acceleration>, <engage profile jerk> } ENGAGE$MC$CAM <name> { <cam engage type> } DISENGAGE$MC$CAM <name> { <cam disengage type> } LOAD$RATIO$MC$CAM <name> { <cam ratio factor n>, <cam ratio factor d> }

f integer integer f set f set f integer integer

u. mtr / sec2 u. mtr/ sec3

IMMEDIATE | NEXT$CYCLE | NEXT$TIME IMMEDIATE | NEXT$CYCLE 0< n 32767 0< d 32767

A:

CAM$STATUS OF <name>

15AD51M1610

147

G.D SpA Bologna

N:

none

An object of the type "mc$cam" must be connected to an object of type "mc$axis" and an object of type "mc$position$generator" ; these two objects must both be of the "rotary" type so the position re-circulates in a limited interval. Moreover, the cam object requires the existence of at least one profile i.e. the existence of at least one linked "mc$cam$shape" object; a maximum of 4 profiles may be loaded i.e. 4 objects "mc$cam$shape" connected to the same "cam" object. The declaration parameter "actuation delay" represents the delay of the actuation chain, expressed in milliseconds, which is utilised by the board to anticipate (as a function of the speed of the master ) the start of the profile of the cyclical alternate cams. The variable "cycle$position" is the position of the generator from which it is desired to start/end the generation of the profile ; it must have a value within the cycle of the generator ; at the start-up of the GDL application this variable takes on the value of the variable "generator position lower limit" as its default. The value of the variable "current$shape" indicates the id of the profile currently selected and effected by the cam ; the value "none" which is assumed automatically at start-up indicates that no profile has been selected; the values shape$1 ... shape$4 indicate the other 4 possible linked profiles . The profile is selected via the call of operator "select$mc$shape" on one of the linked objects "mc$shape" . The variable "cycle$status" is used to control the execution of a single cam cycle; in every cycle of the generator this variable is polled; when the position of the generator passes the "cycle position", if the value of the variable "cycle$status" is in the "enabled" state, the profile of the cam is generated else if the value is equal to "disabled" the profile is not generated . The variable "cam$status" represents the state of the cam. This may take on the following values : 1. locked : indicates that the motor is not available to receive commands at the cam level since a command given at a lower level ( motor , regulator , axis , stop$input , home$input ) is being executed 2. disengaged : indicates that the axis is disconnected from the generator 3. engaging : indicates that the procedure of engage for the axis to the generator is in progress 4. disengaging : indicates that the procedure of disengage of the axis from the generator is in progress

15AD51M1710

148

G.D SpA Bologna


5. engaged : indicates that the axis is connected to the generator according to the profile of the cam 6. slipping : indicates that a relative slipping movement of the gear with respect to the position generator is in progress The operator "engage$mc$cam" is used to connect the axis to the generator and begin the creation of the cam profile ; the parameter "engage type" can take on the following values : 1. "immediate" indicates that the board will begin the profile realisation immediately 2. "next$cycle" indicates that the board begins the realisation of the profile the next time the position of the generator passes the "cycle$position" 3. "next$time" indicates that the board begins the realization of the profile the next time the position of the generator passes the value corresponding to the actual position at the moment in which the command was given The operator "disengage$mc$cam" serves to disconnect the axis from the generator and terminate the realization of the cam profile; the parameter "disengage type" can take on the following values: 1. "immediate" indicates that the board terminates the realisation of the profile immediately 2. "next$cycle" indicates that the board terminates the realisation of the profile the next time the position of the generator passes the value "cycle$position" The variables "engage$profile$acceleration" and engage$profile$jerk represent, respectively, the values of acceleration and jerk with which the engage movement is made; if jerk = 0 a trapezoidal profile is made, else if jerk 0 an S-Curve profile is made. The operator "load$eng$prf$mc$cam" is used to load the characteristics of the engage movement profile; the characteristics of the profile are the acceleration and jerk ; the board automatically takes on a trapezoidal profile ( jerk = 0 ) at the start-up of the GDL application with an acceleration equal to the maximum acceleration of the associated motor ; if the operator above is not used to modify the profile, the board carries out the movement with the default profile. The board samples the current profile at the moment the movement starts. Once begun, this can no longer be modified ; any change in the current profile during a movement has no effect at all on the movement in progress but is considered at the next movement. The variables "ratio$factor$n" and "ratio$factor$d" represent the current value of a further transmission ratio which ties the position of the axis to the position of the generator during the generation of the cam profile; precisely at the moment of generation of each segment of the profile, the realized dimension of the axis segment, d.r., is obtained from the programmed dimension d.p according to the following formula : d.r = ( d.p * n ) / d

15AD51M1710

149

G.D SpA Bologna


At the start-up of the GDL application, the board automatically takes on the default values n=1 and d=1 for these transmission ratios; these values can be changed at runtime via the operator "load$ratio$mc$cam" ; this further transmission ration must always be positive . The operator "cam$home$mc$axis" , which is accepted only if the axis is in the "inactive" state and the cam in the "disengaged" state, carries out a particular home movement on the linked cam object; the linked cam goes (in the direction specified in the command), to the slave position corresponding in the current profile to the master position specified in the command itself ; during this movement the axis state takes on the value "moving" and the state of the cam takes on the value "locked".

15AD51M1710

150

G.D SpA Bologna


3.110. MOTION CONTROL CAM SHAPE

T:

MC$CAM$SHAPE

GDL V 6

P:

MC$CAM NAME SHAPE ID

name set

SHAPE$1 .. SHAPE$4

V:

SHAPE$STATUS OF <name>

set (r)

INACTIVE | LOADING UPDATING | UPDATED 01 .. 512

SEGMENT$NUMBER OF <name>

integer (r)

15AD51M1710

151

G.D SpA Bologna

O:

LOAD$MC$SHAPE <name> {< total segment number >} UPDATE$MC$SHAPE <name> {< segment to update number >} SELECT$MC$SHAPE <name> LOAD$AXS$SGM$MC$SHAPE <name> { <segment id>, <segment value> } LOAD$GNT$SGM$MC$SHAPE <name> { <segment id>, <segment value> } LOAD$AXS$VEL$MC$SHAPE <name> { <segment id>, <segment velocity value> OR <velocity scale factor> } LOAD$AXS$ACC$MC$SHAPE <name> { <segment id>, <segment velocity value> OR <velocity scale factor> } LOAD$AXS$JRK$MC$SHAPE <name> { <segment id>, <segment velocity value> OR <velocity scale factor> }

f integer f integer f f integer integer

01 .. 512

01 .. 512

01 .. 512 u.mtr

f integer integer 01 .. 512 u.gnt > 0

f integer integer integer 00, 01 .. 513 u.mtr / sec if id 0 >0 if id = 0

f integer integer integer 00, 01 .. 513 u.mtr / sec2 if id 0 0 if id = 0

f integer integer integer 00, 01 .. 513 u.mtr / sec3 if id 0 >0 if id = 0

15AD51M1710

152

G.D SpA Bologna

A:

SHAPE$STATUS OF <name>

N:

none

The object "mc$cam$shape" must be connected to an object "mc$cam" in as much as this represents one of the 4 possible profiles of the cam itself ; the variable of declaration "shape$id" indicates the profile identifier. The variable "segment$number" represents the number of segments making up the profile ; at startup, it takes on the value 0 . The variable "shape status", which represents the state of the profile , can take on the following values : 1. inactive , assumed automatically at start-up , indicates that the profile is not present , as this has not yet been input 2. loading indicates that the profile is being loaded completely 3. updating indicates that the profile is being modified in real time 4. updated : indicates that the profile is valid and ready to be assumed as the current profile by the linked "cam" object. The term " loading completely signifies the complete introduction of all the information which makes up a profile ; the procedure of complete loading requires the execution of the following sequence of operations by the GDL application: 1) call by operator "load$mc$shape{TotSegNmb}" which must be supplied with the total number of segments which make up the profile as a parameter; the call of this operator causes the transition of the variable "shape$status" to the value "loading" call of the following three operators for the loading of the scale factors of the velocity, acceleration and jerk profiles 3) load$axs$vel$mc$shape { 0 , velocity scale factor } load$axs$acc$mc$shape { 0 , acceleration scale factor } load$axs$jrk$mc$shape { 0 , jerk scale factor }

2)

for all the segments of the profile loading of the generator segment , the axis segment , the velocity , acceleration and jerk ; thus for ( i = 1 ; i <= TotSegNmb ; i++ )

15AD51M1710

153

G.D SpA Bologna


load$gnt$sgm$mc$shape { i , GntSeg[i] } load$axs$sgm$mc$shape { i , AxsSgm[i] } if (velocity scale factor 0 ) load$axs$vel$mc$shape { i , Velocity [i] } if ( acceleration scale factor 0 ) load$axs$acc$mc$shape { i , Acceleration[i] } if ( jerk scale factor 0 ) load$axs$jrk$mc$shape { i , Jerk[i] } 4) with the completion of the sequence described in point 3 the new profile sequence has been entered and so the variable "shape$status" carries out the transition to the value "updated".

The term "modified in real time indicates immediate updating of a certain number of axis segments ; the updating procedure requires the execution on the part of the GDL application of the following sequence of operations: 1) call of operator "update$mc$shape{ToUpSegNmb}" which must be supplied with the number of axis segments which are to be changed as a parameter; the call of this operator causes the transition of the variable "shape$status" to the value "updating" for all the segments to be modified, loading of the axis segment , the velocity , acceleration and of the jerk ; thus for ( i = 1 ; i <= ToUpSegNmb ; i++ ) load$axs$sgm$mc$shape { i , AxsSgm[i] } if (velocity scale factor 0 ) load$axs$vel$mc$shape { i , Velocity [i] if ( acceleration scale factor 0 ) load$axs$acc$mc$shape { i , Acceleration[i] } if ( jerk scale factor 0 ) load$axs$jrk$mc$shape { i , Jerk[i] } 3) with the completion of the sequence described in point 2 the real time updating is complete and so the variable "shape$status" changes its value to "updated" .

2)

The operator "load$mc$shape" , which requires as a parameter the total number of segments of the profile , is used to start a sequence of "complete loading" ; this operator , which is accepted only if

15AD51M1710

154

G.D SpA Bologna


the variable "shape$status" takes on the values "inactive" or "updated" , causes the transition of the value of the variable "shape$status" to the value "loading" to indicate that complete loading of the profile is underway. The call of this operator must be followed by the complete sequence of loading as indicated in the pages above ; at the end of this sequence the transition of the value of the variable "shape$status" to the value "updated" is made. The operator "update$mc$shape" , which requires as a parameter the number of axis segments which are to be modified , is used to start a sequence of "immediate updating" ; this operator , which is accepted only if the variable "shape$status" takes on the value "updated" , causes the transition of variable "shape$status" to the value "updating" to indicate that a sequence of partial modification of the profile is underway. The call of this operator must be followed by the correct immediate modification sequence as indicated in the paragraphs above ; at the end of this sequence the transition of the value of the variable "shape$status" to the value "updated" is made. The operators "load$axs$vel$mc$shape", "load$axs$acc$mc$shape", "load$axs$jrk$mc$shape", which are accepted only if the variable "shape$status" takes on the values "loading" or "updating" , serve two different purposes : 1. if id 0 then they load the values of velocity , acceleration and jerk of the 'ith segment of the profile respectively 2. if id = 0 then they load the scale factors of the corresponding profiles of velocity , acceleration and jerk respectively he operator "select$mc$shape" , which is accepted only if the variable "shape$status" takes on the value "updated" serves to select the profile and making it become the current profile of the linked "cam" object ; the execution of the new profile starts at the cycle immediately after the one underway at the instant in which the command is given. A generic segment is identified by an id which may take on the values 1 .... "segment number" ; by convention, the first segment ( id = 1 ) must start from the position "generator position lower limit" of the generator which the position "axis position lower limit" of the "axis" object connected to the cam corresponds to. The value of the generator segments must always be positive while the value of the segments of the axis can also be negative . The variables "generator position upper limit" of the generator and "axis position upper limit" of the "axis" object connected to the cam are not used to determine the work fields of the generator and the axis. These are determined in the following manner instead: 1. the work field of the generator starts from the position "generator position lower limit" and extends for a length equal to the sum of the width of the generator segments

15AD51M1710

155

G.D SpA Bologna


2. the work field of the axis starts from the position "axis position lower limit" and extends for a length equal to the sum of the width of the axis segments with a positive sign In the case when more than one objects of type "mc$cam" are connected to an "mc$position$generator" object, these must have configurations compatible with the generator segments which must give rise to a unique work field for the generator .

15AD51M1710

156

G.D SpA Bologna


3.111. MOTION CONTROL GEAR

T:

MC$GEAR

GDL V 6

P:

MC$AXIS NAME MC$POSITION$GENERATOR NAME

name name

V:

GEAR$STATUS OF <name>

set (r)

LOCKED | DISENGAGED | ENGAGING | SLIPPING | DISENGAGING | DISCONNECTING | ENGAGED n > 0 same direction n < 0 opposite direction |n| < 32767 0 < d < 32767 u. mtr / sec2 u. mtr / sec3

RATIO$FACTOR$N OF <name>

integer (r)

RATIO$FACTOR$D OF <name> ENGAGE$ACCELERATION OF <name> ENGAGE$JERK OF <name>

integer (r) integer (r) integer (r)

O:

LOAD$RATIO$MC$GEAR <name> { <gear ratio factor n>,

f integer

n > 0 same direction n < 0 opposite direction |n| 32767 0 < d 32767 u. mtr / sec2 u. mtr / sec3

<gear ratio factor d> } LOAD$ENG$PRF$MC$GEAR <name> { <engage profile acceleration>, <engage profile jerk> } ENGAGE$MC$GEAR <name> { <engage type> } DISENGAGE$MC$GEAR <name> DISCONNECT$MC$GEAR <name> { <disconnect profile acceleration> <disconnect profile jerk> }

integer f integer integer f set f f integer integer

NORMAL | COMPENSED

u. mtr / sec2 u. mtr / sec3

15AD51M1710

157

G.D SpA Bologna

A:

GEAR$STATUS OF <name>

N:

none

An object of type "mc$gear" must be connected to an object of type "mc$axis" and an object of type "mc$position$generator".

The variable "gear$status" represents the state of the gear which may assume the following values: 1. locked : indicates that the motor is not available to receive commands at a gear level as it is in the course of executing a command given at a lower level (motor , regulator , axis , home$input , stop$input ) 2. disengaged : indicates that the gear is disconnected from the position generator 3. engaging : indicates that the procedure of engage of the gear to the position generator is in progress (this procedure can be a normal or compensated engage) 4. slipping : indicates that a movement of relative slipping of the gear with respect to the position generator is in progress 5. disengaging : indicates that the procedure of disconnection of the gear from the position generator is in progress; this procedure is made with the current profile 6. disconnecting : indicates that the disconnection procedure of the gear from the position generator is in course; this is done with the specified profile 7. engaged : indicates that the gear is connected to the position generator . The variables "ratio$factor$n" and "ratio$factor$d" represent the current value of the transmission ratios which link the position of the gear to the position of the generator according to the following formula : u.mtr = ( u.gnt * n ) / d At the start-up of the GDL application, the board automatically takes on the default values n=0 and d=1 for these transmission ratios; such values may be changed in run time via the operator "load$ratio$mc$gear" . The factor d must always be positive ; n can also be negative. A positive value for n indicates that the gear must move in the same direction as the master while a negative value for factor n indicates that the gear must move in the opposite direction to the master .

15AD51M1710

158

G.D SpA Bologna

The variables "engage$profile$acceleration" , engage$profile$jerk respectively represent the values of acceleration and jerk with which the engage movements are effected; if jerk = 0 a trapezoidal profile is realised else if jerk 0 an S-Curve profile is effected. The operator "load$eng$profile$mc$gear" loads the characteristics of the engage movement profile; the characteristics of the profile are the acceleration and jerk ; the board takes on a trapezoidal profile ( jerk = 0 ) automatically at the start-up of the GDL application with an acceleration equal to the maximum acceleration of the associated motor ; if the above operators are not used to modify the profile, the board makes the movements using the default profile. The board polls the current profile at the start of the movement which, once begun, cannot then be changed ; any change in the current profile during a movement has no effect at all on the movement in course but is considered at the next movement. The operator "engage$mc$gear" serves to start the procedure engaging the gear to the position generator ; the procedure is carried out with the values of the current profile at the operator call; the parameter "engage type" specifies the type of engage requested : 1. "engage type" = normal specifies a normal engage in which any accumulated delay due to the acceleration ramp is not recovered 2. "engage type" = "compensed" specifies a compensated engage in which any accumulated delay due to the acceleration ramp is recovered at the end with an overshoot of velocity. The operator "disengage$mc$gear" carries out a disengage of the gear from the position generator with a stop profile equal to that with which the engage was made . The operator "disconnect$mc$gear" carries out a disengage of the gear from the generator with the stop profile specified ; the parameters "disconnect profile acceleration" and "disconnect profile jerk" specify the profile with which the board must carry out the motor stop; this profile is used only for this stop and does not affect the current profiles. The operator "slip$mc$axis" (relative to the object mc$axis) , is accepted only if the axis is in the "engaged" state and carries out a slip of the axis with respect to the position generator on the linked object gear or cam according to the specified profile ; as well as the parameters specified in the command,. the value of the variables "profile$acceleration" and "profile$jerk" is used; the slipping movement is superimposed on the movement set by the position generator . Both the operators "disengage$mc$gear" and "disconnect$mc$gear" make a motor stop in any case - even if a slip movement engaged by the call of operator "slip$mc$axis" on the linked axis object was underway.

15AD51M1710

159

G.D SpA Bologna


3.112. MOTION CONTROL HOME INPUT

T:

MC$HOME$INPUT

GDL V 6

P:

MC$BOARD NAME INPUT CHANNEL POLARITY TRANSDUCER TYPE MC$AXIS NAME HOME POSITION HOME VELOCITY HOME PROFILE ACCELERATION HOME PROFILE JERK

name set set set name integer integer integer integer

CH01 .... CH08 DIRECT | REVERSE NPN | PNP u. mtr u. mtr / sec u. mtr / sec2 u. mtr / sec3

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE

STATUS OF <name> HOME$STATUS OF <name> EDGE OF <name> EVERY$EDGE$ADJUST OF <name>

digital (r) set (r) set (rwf) set (rwf)

DIRECTED | UNDIRECTED | INACTIVE | LOCKED RISING | FALLING ENABLED | DISABLED

O:

DIRECTED$HOME <name> { <direction>, <velocity> } UNDIRECTED$HOME <name> { <velocity> }

f set integer f integer

INCREASING | DECREASING u. mtr / sec

u. mtr / sec

A:

DIAGN$STATUS OF <name> STATUS OF <name> HOME $STATUS OF <name>

N:

none

15AD51M1710

160

G.D SpA Bologna


This input serves to make the zeroing cycle of the "mc$axis" object connected ; to every object of type "mc$axis" only one object of type "mc$home$input" can be connected. The variable "home position" is the position which is assumed at the end of the zeroing cycle and must necessarily be included in the work field of the associated object of type "mc$axis" . The variable "home velocity" is the velocity with which the last phase of the zeroing cycle in which the position on the front of the input is assumed is made. The variables "home profile acceleration" and home profile jerk represent the values of the acceleration and jerk respectively with which the movement of home is made; if jerk = 0 a trapezoidal profile is realised else if jerk 0 an S-Curve profile is created ; in both cases the profiles are considered as symmetrical i.e. with the start the same as the finish.

The operator "undirected$home" serves to make the zeroing cycle of the associated axis according to the following procedure: 1) at the call of the operator "undirected$home" the state of the input is read and, if the value is on, the cycle starts seeking the front in the direction of the decreasing quotas , if the value is off, the cycle starts seeking the front in the direction of the increasing quotas ; this movement is made with the value of the velocity specified in the command ; once the front has been found, the motor stops 2) at this point the motor again starts seeking the front in the opposite direction with a value of the velocity equal to the variable "home velocity" 3) once the front has been found two things can occur: if the movement in progress is in the opposite direction to the one specified in the variable "backlash approach direction" of the liked "mc$axis" object, then the motor stops and the value of the variable "home position" is assumed as the position value if the movement in progress is in the same direction as that specified in the variable "backlash approach direction" of the linked "mc$axis" object, then it is necessary offset the backlash. Thus the movement proceeds beyond the front for a distance equal to the value of the variable "backlash offset"; at this point the motor starts again seeking the front in the opposite direction with a velocity value equal to the value of the variable "home velocity"; once the front has been found, the motor stops and assumes the value of the variable "home position" as its position value.

15AD51M1710

161

G.D SpA Bologna


The operator "directed$home" is used to perform the zeroing cycle of the associated axis in a manner which differs from that of the "undirected$home" cycle specified above only in the direction in which the cycle starts seeking the front : in this case the cycle starts in the direction specified in the command. All the movements above are made at the velocity specified in the relative command . The variable "home$status" represents the state of the home cycle and can take on the following values: 1. directed : indicates that the zeroing cycle is underway after the call of the operator "directed$home" 2. undirected : indicates that the zeroing cycle is in progress after the call of operator "undirected$home" 3. inactive : indicates that no zeroing cycle is in progress and the system is ready to carry out another cycle 4. locked : indicates that the motor is not available to receive commands at the level of home$input since a command given at a lower level (motor , regulator , axis ) or a higher level ( gear , cam ) is being executed. The variable "edge" represents the front on which the zeroing is to be made; at start-up it takes on the value "rising" as a default. The variable "every edge adjust" controls a particular function of the home input ; when this variable takes on the value "enabled" the position of the axis is appropriately "realigned every time the selected front occurs ; at start-up this variable takes on the value "disabled" as default..

15AD51M1710

162

G.D SpA Bologna


3.113. MOTION CONTROL LATCH INPUT

T:

MC$LATCH$INPUT

GDL V 6

P:

MC$BOARD NAME INPUT CHANNEL POLARITY TRANSDUCER TYPE MC$AXIS NAME or MC$POSITION$GENERATOR NAME

name set set set name

CH01 .... CH08 DIRECT | REVERSE NPN | PNP

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE

STATUS OF <name> LATCHED$POSITION OF <name> CONTROL$STATUS OF <name> EDGE OF <name>

digital (r) integer (r) set (rwf) set (rwf)

u. mtr ENABLED | DISABLED RISING | FALLING

O:

none

A:

DIAGN$STATUS OF <name> EDGE OF <name>

N:

none

This object is used to sample the position of an object of "mc$axis" or "mc$position$generator" type on a certain front of the input in question ; there is no limitation on the number of objects of the type "mc$latch$input" which may be associated with an object of "mc$axis" or "mc$position$generator" type ( max. 8 ) . The activator edge of <name> must be the only activator present on the list of a procedure and it is not inserted in the list generated automatically by the global activator any$objects$input. The variable "latched$position" can be read only in the ambit of the procedure which has as its only condition of activation "edge of".

15AD51M1710

163

G.D SpA Bologna


3.114. MOTION CONTROL MOTOR

T:

MC$MOTOR

GDL V 6

P:

MC$BOARD NAME MOTOR CHANNEL INCREMENTAL ENCODER TYPE

name set set

CH01 .... CH03 VCC5OR24VOLT | LINEDRIVER485 n > 0 up = increase n < 0 up = decrease |n| 32767 0 < d 32767 u. mtr/sec2 u. mtr/sec u.mtr

POSITION FEEDBACK RATIO FACTOR N

integer

POSITION FEEDBACK RATIO FACTOR D MAXIMUM ACCELERATION MAXIMUM VELOCITY MOTOR STATUS THRESHOLD

integer integer integer integer

V:

DIAGN$STATUS OF <name>

set (r)

OK OUTSIDE$FAILURE FAULTY STOPPED | RUNNING ENABLED | DISABLED NORMAL | LIMITED NORMAL | LIMITED u. mtr/sec u. mtr/sec2

MOTOR$STATUS OF <name> DRIVER$STATUS OF <name> ACCELERATION$MONITOR OF <name> VELOCITY$MONITOR OF <name> VELOCITY OF <name> ACCELERATION OF <name>

set (r) set (rwf) set (r) set (r) integer integer

O:

RESET$MONITORS$MC$MTR <name> LOAD$JOG$PRF$MC$MTR <name> { < jog velocity > < jog acceleration> } START$JOG$MC$MTR <name>

f f integer integer f u. mtr/sec u. mtr/sec2

15AD51M1710

164

G.D SpA Bologna

A:

DIAGN$STATUS OF <name> MOTOR$STATUS OF <name> ACCELERATION$MONITOR OF <name> VELOCITY$MONITOR OF <name>

N:

none

The declaration parameter "incremental encoder type" serves to select the type of incremental encoder utilised for the feedback of the position: "vcc5or24volt" selects normal encoders supplied at 5 or 24 volt; "linedriver485" selects special encoders using the 485 standard . The symbol "u.mtr" indicates the unit of measurement used to represent the position of the motor while the symbol "p.mtr" indicates the "motor steps i.e. the impulses which arrive as input to the board . The declaration parameters "position feedback ratio factor n" and "position feedback ratio factor d" are the transmission ratios between u.mtr and p.mtr according to the following formula: p.mtr = ( u.mtr * n ) / d The factor d must always be a positive number other than zero, while factor n can also be a negative number since it is assumed that : 1. n > 0 indicates that the up impulses increase the position while down impulses decrease it 2. n < 0 indicates that the up impulses decrease the position while down impulses increase it . The declaration parameters "maximum acceleration" and "maximum velocity" are the maximum values respectively of the acceleration and speed of the motor ; these values are never exceeded; the board will, if necessary, proceed with the saturation of the velocity and acceleration at their maximum values. The declaration parameter "motor status threshold" is the oscillation band around position reference where variable value motor status is STOPPED.

The variable "diagn$status" represents the state of diagnosis of the motor which takes on the value "faulty" when the driver goes into diagnosis and the value "outside$failure" when the board goes into diagnosis. The variable "motor$status" represents the state of the motor which takes on the value "stopped" when the motor is at a standstill and the value "running" when it is in motion.

15AD51M1710

165

G.D SpA Bologna


The variable "driver status" represents the state of the driver and takes on the values: "enabled" when the driver is on; "disabled" when it is off. The variable "acceleration$monitor" represents the state of the acceleration which takes on the values: "normal" in normal conditions; "limited" if the acceleration has been capped at its maximum value; this value stays in memory until the call from the operator "reset$monitors$mc$mtr". The variable "velocity$monitor" represents the state of the speed which takes on the values: "normal" in normal conditions; "limited" if the speed has been limited at its maximum value; this value stays in memory until the operator call "reset$monitors$mc$mtr". The variables "velocity" and "acceleration" are the current values of speed and acceleration of the motor respectively . The operator "reset$monitors$mc$mtr" resets any conditions memorized in the speed and acceleration monitors. The operator "load$jog$prf$mc$mtr" is used to load velocity and acceleration for a jog movement. Jog movement is started by start$jog$mc$mtr if related MC$AXIS status is "inactive". Axis status is forced to "moving"; movement is stopped by operators "halt$mc$axis" or "stop$mc$axis" .

15AD51M1710

166

G.D SpA Bologna


3.115. MOTION CONTROL POSITION GENERATOR

T:

MC$POSITION$GENERATOR

GDL V 6

P:

MC$BOARD NAME POSITION GENERATOR CHANNEL POSITION SOURCE CHANNEL

name set set

POSITION GENERATOR TYPE POSITION LOWER LIMIT POSITION UPPER LIMIT FX MAX VELOCITY FX MAX ACCELERATION

set integer integer integer integer

CH01 .... CH03 CH01 .... CH04 | EXT | FX| MOT01$RP | .. | MOT03$RP MOT01$TP | .. | MOT03$TP LINEAR | ROTARY u. gnt u. gnt step/sec step/sec2

V:

POSITION OF <name> VELOCITY OF <name> ACCELERATION OF <name> RATIO$FACTOR$N OF <name>

integer (r) integer (r) integer (r) integer (r)

u. gnt u. gnt / sec u. gnt / sec2 n > 0 up = increase n < 0 up = decrease |n| 32767 0 d 32767 step/sec |FX$REFERENCE| <= FV MAX VELOCITY CH01 .... CH04 | EXT | FX | MOT01$RP | .. | MOT03$RP MOT01$TP | .. | MOT03$TP

RATIO$FACTOR$D OF <name> FX REFERENCE OF <name>

integer (r) integer (rwf)

SOURCE$CHANNEL OF <name> O: LOAD$RATIO$MC$GNT <name> { <ratio factor n>,

set (rwf)

f integer

n > 0 up = increase n < 0 up = decrease |n| 32767 |0 d 32767

<ratio factor d> } LOAD$POSITION$MC$GNT <name> { <position> }

integer f integer

u. gnt

15AD51M1710

167

G.D SpA Bologna

A:

none

N:

none

The declaration parameter "position source channel" selects the incremental signal which is used for the generation of the position : 1. CH01...CH04 select one of the 4 encoder channels available on the bus 2. EXT select the real encoder channel
3. 4. 5.

FX selects the virtual encoder channel MOT01$RP .. MOT03$RP selects the real position of motor channel 1 3. MOT01$TP .. MOT03$TP selects the theoretical position of motor channel 1 3.

The variable "source$channel" can be used run time to select different position source channel. It is loaded with "position source channel" value at startup. The symbol "u.gnt" indicates the unit of measurement used to represent the position of the generator while the symbol "p.gnt" indicates the "generator steps" i.e. the impulses which arrive on the incremental signal ; the variables " ratio factor n" and "ratio factor d" are the transmission ratios between u.gnt and p.gnt as per the following formula: u.gnt = ( p.gnt * n ) / d At the start-up of the GDL application, the board automatically takes on the values n = 1 and d = 1 for these transmission ratios ; these values can be changed in runtime using the operator "load$ratio$mc$gnt ; the current value of the transmission ratios is shown in the variables "ratio$factor$n" and "ration$factor$d" . The factor d must always assume positive values while factor n can also take on negative values : 1. n > 0 indicates that the "up" impulses increase the position while "down" impulses decrease it 2. n < 0 indicates that the "up" impulses decrease the position while "down" impulses increase it The variables "position lower limit" and "position upper limit" represent the limits of the work range of the generator. The variable "position generator type" selects the type of generator which may be either linear or rotary;

15AD51M1710

168

G.D SpA Bologna


for generators of linear type the position can take on values inside the work range with a saturation effect on the position which is always limited to within the interval; for generators of rotational type the position can take on values inside the work range with a recirculation effect of the position which, when one of the extremes has been exceeded returns in the interval from the other side. At start-up of the GDL application, the board automatically takes on the value of the variable "position lower limit" as the position of the generator; the position of the generator may be changed runtime via the operator "load$position$mc$gnt" . The variables "fx max velocity" and "fx max acceleration" are respectively the maximum speed and acceleration allowed for the virtual encoder . The speed of rotation of the virtual encoder is controlled by the variable "fx$reference" which at start-up of the GDL application takes on the value 0 automatically . The variables "position" , "velocity" and "acceleration" represent the value of the position , speed and acceleration of the generator respectively.

15AD51M1710

169

G.D SpA Bologna


3.116. MOTION CONTROL POSITION MATCH DETECTOR

T:

MC$MATCH$DETECTOR

GDL V 6

P:

MC$BOARD NAME POSITION MATCH DETECTOR CHANNEL MC$AXIS NAME or MC$POSITION$GENERATOR NAME

name set name

CH01 .... CH12

V:

MATCH$POSITION OF <name> CONTROL$STATUS OF <name> MATCH$DIRECTION OF <name>

integer (rw) set (rw) set (rw)

u. mtr ENABLED | DISABLED INCREASING | DECREASING | BOTH milliseconds 255

COMPENSATION$VALUE OF

integer (rw)

O:

none

A:

POSITION$MATCH OF <name>

N:

none

This object serves to verify the passage of the axis position or the generator connected via a certain value ; there is no limitation on the number of objects of the type "mc$match$detector" which may be associated with an object of the type "mc$axis" or "mc$position$generator" (max. 12 ) . Via the variable "control$status" it is possible to enable/disable the generation of the event "position$match" which , if enabled , occurs every time the position of the axis passes through the value specified in the variable "match$position" in the direction specified in the variable "match$direction" ; the variable "compensation$value contains the value expressed in milliseconds of the fixed delay which is compensated by the board anticipating the value of the position as a function of the increase in velocity. The activator "position$match of <name>" must be the only activator present in the list of a procedure and is not inserted in the list generated automatically by the global activator any$objects$input .

15AD51M1710

170

G.D SpA Bologna


3.117. MOTION CONTROL PROBE

T:

MC$PROBE

GDL V 6

P:

MC BOARD NAME PROBE CHANNEL

name set

CH01 ... CH03

V:

MOTOR$ID OF VARIABLE$ID OF SCALE$FACTOR OF VALUE OF

<name> <name> <name> <name>

set (rw) integer (rw) integer (rw) integer ( r )

CH01 .. CH03 0 .. 255 0 .. 65535

O:

none

A:

none

N:

none

This object serves to send the generic analogue variable selected by the variable "variable$id" relative to the "motor" selected by the variable "motor$id" as output on the analogue channel selected by the declaration variable "probe channel"; the value sent on the analogue channel is also shown in the value of the variable "value of ". The variable "scale$factor" represents the scale factor used to represent the analogue variable selected in the +/- 5 Volt range of the analogue output; in practice the variable "scale$factor" is the value of the analogue variable which it is desired to make correspond to 5 volts output. For information on the traceable analogue variables - refer to the board manual.

15AD51M1710

171

G.D SpA Bologna


3.118. MOTION CONTROL REGULATOR

T:

MC$REGULATOR

GDL V 6

P:

MC$MOTOR NAME MC$REGULATOR$TABLE NAME ERROR THRESHOLD REGULATOR TYPE MEAN LOAD THRESHOLD

name name integer integer integer

u.mtr 1 <= type <= 255 mv <= 10000

V:

REGULATOR$STATUS OF <name>

set (r)

INACTIVE | REGULATING | LOCKED INACTIVE | TUNING | LOCKED ABNORMAL | NORMAL OPEN | CLOSED -10000 <= mv <= 10000 mv <= 10000 ABNORMAL | NORMAL

TUNING$STATUS OF <name>

set (r)

ERROR$MONITOR OF <name> ERROR OF <name> LOOP$STATUS OF <name> OPEN$LOOP$SETPOINT OF <name> MEAN$LOAD OF <name> MEAN$LOAD$MONITOR OF <name>

set (r) integer(r) set(rwf) integer(rwf) integer(r) set(r)

O:

LOAD$MC$RGL <name> TUNE$MC$RGL <name> RESET$MONITOR$MC$RGL <name>

f f f

A:

REGULATOR$STATUS OF <name> TUNING$STATUS OF <name> ERROR$MONITOR OF <name> MEAN$LOAD$MONITOR OF <name>

N:

none

15AD51M1710

172

G.D SpA Bologna


The variable "error threshold" represents the limit at which the check on the adjustment error trips. The variable "regulator type" represents the type of algorithm used for the closure of the adjustment ring; for further details on the algorithms implemented, refer to the board manual.

The variable "mean load threshold" represents the threshold, expressed in mv , at which the check on the average load applied to the motor is tripped. The variable "error$monitor" represents the state of the adjustment error which takes on the values: "normal" in normal conditions; "abnormal" if the error has overstepped the value of the threshold expressed by the variable "error$threshold" ; the value "abnormal" stays memorised until the call from the operator "reset$monitors$mc$rgl". The variable "mean$load$monitor" represents the state of the average load applied to the motor which takes on the values "normal" in normal conditions; "abnormal" if the load has exceeded the threshold value expressed by the variable "mean$load$threshold" ; the value "abnormal" stays in memory until the operator call "reset$monitors$mc$rgl". The operator "reset$monitor$mc$rgl" resets any conditions memorised in the error monitor and the average load monitor . The variable "regulator$status" represents the state of the regulator which takes on the following values: 1. the state of "inactive" ( set automatically at start-up ) indicates that the regulator is inactive as the parameter table has not yet been loaded ; in this state the operator load$mc$rgl is accepted; it causes the loading of the parameter table and the transition to the state regulating; in this state the motor is not able to move and therefore all the other states are placed at the value locked in order to avoid the call from any operator 2. the state "regulating" indicates that the regulator is active as the parameter table has been loaded; in this state the call from the operator load$mc$rgl is allowed to permit the immediate update of the regulator parameters

15AD51M1710

173

G.D SpA Bologna


3. the state "locked" indicates that the regulator is active but is not capable of receiving the command load$mc$rgl since the self tuning process is in progress The variable "tuning$status" , which represents the state of the regulator from the point of view of the self tuning process, can take on the following values : 1. "inactive" which indicates that the self tuning cycle is not in progress ; in this state the operator tune$mc$rgl is accepted and this causes the start of the self tuning cycle and the transition to the tuning state 2. "tuning" which indicates that the self tuning cycle is in progress; in this state the motor is not available to carry out other commands so all the other states at lower or higher levels are placed to the value locked 3. locked indicates the fact that the motor is not capable of carrying out the operator tune$mc$rgl since there are movements commanded at a higher level underway or the parameters of the regulator have not yet been loaded.

The variable "loop status", which represents the state of the adjustment loop, can take on the following values : 1. the value "open" , loaded at start-up , indicates the fact that the adjustment loop is open ; in this case the motor is commanded with the value of the variable "open loop setpoint" 2. the value "closed" indicates that the adjustment loop is closed ; in this case the motor is commanded with the output value at the adjustment loop. The variable "open loop setpoint" represents the value , expressed in millivolts , with which the motor is commanded when the adjustment loop is open ; at start-up this variable takes on the value 0.

15AD51M1710

174

G.D SpA Bologna


3.119. MOTION CONTROL REGULATOR TABLE

T:

MC$REGULATOR$TABLE

GDL V 6

P:

TABLE SIZE

integer

32

V:

VALUE OF <name> { value id }

integer integer (rwf)

1 .... 32

O:

none

A:

none

N:

none

The parameters which the regulator needs to work are contained in the value of the variables of this object; refer to the board manual for the documentation on the physical meaning of the tables.

15AD51M1710

175

G.D SpA Bologna

3.120. MOTION CONTROL STOP INPUT

T:

MC$STOP$INPUT

GDL V 6

P:

MC$BOARD NAME INPUT CHANNEL POLARITY TRANSDUCER TYPE MC$AXIS NAME STOP PROFILE ACCELERATION STOP PROFILE JERK STOP TYPE

name set set set name integer integer set

CH01 .... CH08 DIRECT | REVERSE NPN | PNP u. mtr / sec2 u. mtr / sec3 NORMAL | COMPENSED

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE

STATUS OF <name> LATCHED$POSITION OF <name> CONTROL$STATUS OF <name> EDGE OF <name>

digital (r) integer (r) set (rwf) set (rwf)

u. mtr ENABLED | DISABLED RISING | FALLING

O:

none

A:

DIAGN$STATUS OF <name> EDGE OF <name>

N:

none

This input is used to stop the "mc$axis" object connected on an input front; to each object of type "mc$axis" only one object of type "mc$stop$input" may be connected. The variables "stop profile acceleration" and stop profile jerk which will be labelled as A and J below respectively represent the values of the acceleration and jerk with which the stopping

15AD51M1710

176

G.D SpA Bologna


movement is made ; if jerk = 0 a trapezoidal profile results else if jerk 0 an S-Curve profile is created. The variable "stop type " represents the type of arrest. This can assume the values "normal" or "compensed" ; in the first case a stop is effected according to the specified profile while in the second, a compensated stop is effected which guarantees the fact that the space between the front of the input and the stop point of the motor is always a constant quantity expressed by the following formulae : Vmax 2 Trapezoidal Profile Stop Space =
__________

2*A Vmax 2

Vmax * A + 2*J

S-Curve Profile

Stop Space =

__________

__________________

2*A

These formulae were obtained considering the worst case, which is that in which the input front arrives at the moment in which the motor is moving at its maximum speed . The activator edge$of of <name> must be the only activator present in the list of a procedure and it is not inserted in the list generated automatically by the global activator any$objects$input. The variable "latched$position" may be read only within the ambit of the procedure which has as ts only activation condition "edge of" .

15AD51M1710

177

G.D SpA Bologna

3.121. MULTIPLE PHASE MATCH DETECTOR

T:

MLT$PHASE$MATCH$DETECTOR

GDL V 4

P:

ENCODER NAME INTEGER PARAMETER NAME NUMBER DISTANCE DIRECTION

name name integer integer set

FORWARD | BACKWARD

V:

none

O:

none

A:

PHASE$MATCH OF <name>

N: The activator PHASE$MATCH OF <name> must be the only one present in the list of a procedure and is not included in the list automatically generated by the global activator ANY$OBJECT$INPUT. The various MLT$PHASE$MATCH$DETECTOR objects are implemented using the following formula: pmd(i) = parameter + distance * i with i = 0 .... NUMBER - 1.

In any case, the phase of the various pmd's is saturated at 359 degrees. The current value of the INTEGER$PARAMETER object assigned by means of INTEGER PRARAMETER NAME is used as the coincidence value for implementing the MLT$PHASE$MATCH$DETECTOR. When the value of this parameter changes, this trips the CFG$UPDATE$REQUEST event on the associated encoder. Consequently, the application must undertake the necessary encoder configuration change procedure.

15AD51M1710

178

G.D SpA Bologna


3.122. PHASE MATCH DETECTOR

T:

PHASE$MATCH$DETECTOR

GDL V 4

P:

ENCODER NAME PHASE VALUE DIRECTION

name integer set

0 ... 359 FORWARD | BACKWARD

V:

none

O:

none

A:

PHASE$MATCH OF <name>

N: The activator PHASE$MATCH OF <name> must be the only one present in the list of a procedure and is not included in the list automatically generated by the global activator ANY$OBJECT$INPUT.

15AD51M1710

179

G.D SpA Bologna


3.123. POWER UP

T:

POWER$UP

GDL V 4

P:

none

V:

none

O:

none

A:

FIRST$POWER$UP NORMAL$POWER$UP$FIRST$STEP NORMAL$POWER$UP$SECOND$STEP

N: The very first power-up ( FIRST$POWER$UP ) is the first time the GDL application starts following a "load" or "store" command. Given these conditions, the default values of the parameters are loaded. The POWER$UP declaration must be unique in the application.

15AD51M1710

180

G.D SpA Bologna


3.124. PROFIBUS DIGITAL INPUT

T:

PROFIBUS$DIGITAL$INPUT

GDL V 7

P:

PROFIBUS SLAVE NAME/ PROFIBUS REMOTE SLAVE NAME BYTE OFFSET BIT ID POLARITY

name integer integer set

0 511 07 DIRECT, REVERSE

V:

DIAGN$STATUS OF <name>

set (r)

STATUS OF <name>

digital ( r )

OK OUTSIDE$FAILURE FAULTY ON, OFF

O:

none

A:

DIAGN$STATUS OF <name> STATUS OF <name>

N:

none

The "ByteOffset" declared magnitude is the offset in the input process image of the correlated Master of the byte which contains the bit corresponding to the digital input. The "BitId" declared magnitude is the identifier of the bit corresponding to the digital input in the byte of the above item. The "Polarity" declared magnitude permits inverting the input status according to the following diagram: 1. polarity = direct 1.1. 1.2. bit = 1 => status = ON bit = 0 => status = OFF

15AD51M1710

181

G.D SpA Bologna


2. polarity = reverse 2.1. 2.2. bit = 1 => status = OFF bit = 0 => status = ON

15AD51M1710

182

G.D SpA Bologna


3.125. PROFIBUS DIGITAL OUTPUT

T:

PROFIBUS$DIGITAL$OUTPUT

GDL V 7

P:

PROFIBUS SLAVE NAME/ PROFIBUS REMOTE SLAVE NAME BYTE OFFSET BIT ID POLARITY

name integer integer set 0 511 07 DIRECT, REVERSE

V:

DIAGN$STATUS OF <name>

set (r)

STATUS OF <name>

digital ( rwf )

OK OUTSIDE$FAILURE FAULTY ON, OFF

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

The "ByteOffset" declared magnitude is the offset output process image of the correlated Master of the byte which contains the bit relative to the digital output . The "BitId" declared magnitude is the identifier of the bit corresponding to the digital output in the byte mentioned at the previous item. The "Polarity" declared magnitude permits inverting the input status according to the following diagram: 1. polarity = direct 1.1. 1.2. 2. status = ON => bit = 1 status = OFF => bit = 0

polarity = reverse

15AD51M1710

183

G.D SpA Bologna


2.1. 2.2. status = OFF => bit = 1 status = ON => bit = 0

15AD51M1710

184

G.D SpA Bologna


3.126. PROFIBUS INTEGER INPUT

T:

PROFIBUS$INTEGER$INPUT

GDL V 7

P:

PROFIBUS SLAVE NAME/ PROFIBUS REMOTE SLAVE NAME FIRST BYTE OFFSET DATA TYPE ALLOCATION TYPE

name integer set set 0 511 UINT8, INT8, UINT16, INT16, INT32 BIG$ENDIAN , LITTLE$ENDIAN, ORD$2143, ORD$3412

V:

DIAGN$STATUS OF <name>

set (r)

OK OUTSIDE$FAILURE FAULTY

VALUE OF <name>

integer ( r )

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

The "FirstByteOffset" declared magnitude is the offset in the input process image of the correlated Master of the first byte of the data structure which contains the value of the analog input. The "DataType" declared magnitude, namely the expression of the value of the analog input, can be given the following values: 1. 2. 3. 4. 5. uint8 int8 uint16 int16 int32 8-bit integer without sign 8-bit integer with sign 16-bit integer without sign 16-bit integer with sign 32-bit integer with sign

15AD51M1710

185

G.D SpA Bologna


The "AllocationType" declared magnitude, namely the procedure to memorize the data structure mentioned at the previous item can have the following values: 1. 2. 3. 4. big$endian little$endian ord$2143 ord$3412 byte[firstbyteoffset] is the most significant byte byte[firstbyteoffset] is the less significant byte (applicable to int32) (applicable to int32)

namely, given an int32, composed of 4 bytes, of which byte1 is the less significant one and byte4 the most significant one, it follows: byte offset big$endian little$endian ord$2143 ord$3412 0 Byte4 Byte1 Byte2 Byte3 1 byte3 byte2 byte1 byte4 2 byte2 byte3 byte4 byte1 3 byte1 byte4 byte2 byte2

15AD51M1710

186

G.D SpA Bologna


3.127. PROFIBUS INTEGER OUTPUT

T:

PROFIBUS$INTEGER$OUTPUT

GDL V 7

P:

PROFIBUS SLAVE NAME/ PROFIBUS REMOTE SLAVE NAME FIRST BYTE OFFSET DATA TYPE ALLOCATION TYPE

name integer set set 0 511 UINT8, INT8, UINT16, INT16, INT32 BIG$ENDIAN , LITTLE$ENDIAN, ORD$2143, ORD$3412

V:

DIAGN$STATUS OF <name>

set (r)

OK OUTSIDE$FAILURE FAULTY

VALUE OF <name>

integer ( rwf )

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

The "FirstByteOffset" declared magnitude is the offset in the output process image of the correlated Master of the first byte of the data structure which contains the value of the analog output. The "DataType" declared magnitude expresses the value of the analog output and can have the following values: 1. uint8 2. int8 3. uint16 8-bit integer without sign 8-bit integer with sign 16-bit integer without sign

15AD51M1710

187

G.D SpA Bologna


4. int16 5. int32 16-bit integer with sign 32-bit integer with sign

The "AllocationType" declared magnitude, namely the procedure used to memorize the data structure mentioned at the previous item, can have the following values: 5. 6. 7. 8. big$endian little$endian ord$2143 ord$3412 byte[firstbyteoffset] is the most significant byte byte[firstbyteoffset] is the less significant byte (applicable to int32) (applicable to int32)

namely, given an int32, composed of 4 bytes, of which byte1 is the less significant one and byte4 the most significant one, it follows byte offset big$endian little$endian ord$2143 ord$3412 0 Byte4 Byte1 Byte2 Byte3 1 byte3 byte2 byte1 byte4 2 byte2 byte3 byte4 byte1 3 byte1 byte4 byte2 byte2

15AD51M1710

188

G.D SpA Bologna


3.128. PROFIBUS MASTER

T:

PROFIBUS$MASTER

GDL V 7

P:

FIELD BUS BOARD NAME PIGGYBACK CHANNEL ID .SCF FILE NAME

name set name

CH01 ...... CH03

V:

DIAGN$STATUS OF <name>

set (r)

OK OUTSIDE$FAILURE FAULTY

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

Up to 32 "profibus$slave" objects can be associated to this object. Each of these associated objects can in turn be associated with a certain number of other objects: 1. 2. 3. 4. Profibus Digital Input Profibus Digital Output Profibus Integer Input Profibus Integer Output

Object "Profibus Master" is associated to input process images ( 512 byte ) and output ones ( 512 byte ) where all the above objects should be mapped. The mapping in the above process images must take place in such a way that the single bit/byte of the image is mapped/used by only one object.

15AD51M1710

189

G.D SpA Bologna


The SCF file name parameter is a 40-character string. Only the first 8 of them should be used, so as to correspond to the name without extension of the configuration file (*.scf) of the COM DPM Hilsher module present on the board. The meaningful characters cannot have blank spaces before them: they must be MS-DOS characters and can also be less than 8. The correspondence with the configuration file name is not case sensitive. The configuration file (*.scf) does not belong to the application and should be manually entered into the GDL directory of the application after having been generated according to the instructions given in the manual of the FIELDBUS (15,AD83N0100) board. The absence of the .scf file generates an verify error. The presence of .scf files which are not referred to any profibus$master object generates a verify error.

15AD51M1710

190

G.D SpA Bologna


3.128.1. PROFIBUS PWM OUTPUT

T:

PROFIBUS$PWM$OUTPUT

GDL V 7

P:

PROFIBUS DIGITAL OUTPUT NAME PERIOD

name integer

ms

V:

DIAGN$STATUS OF <name>

set (r)

VALUE OF <name>

OK OUTSIDE$FAILURE FAULTY integer ( rwf ) 0 1000

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

This object, which is connected to an object of the "Profibus$Digital$Output" type, is used to control a bit of the output process image of the correlated Master in PWM mode; the system generates a PWM wave form having the same period as the declared magnitude "period" and with the duty cycle indicated by variable "value" . This object can be used directly and as PWM output of the "Termostat" object.

15AD51M1710

191

G.D SpA Bologna


3.129. PROFIBUS REMOTE SLAVE

T:

PROFIBUS$REMOTE$SLAVE

GDL V 7

P:

PROFIBUS MASTER NAME PROFIBUS SLAVE ADDRESS

name set

01 ...... 32

V:

DIAGN$STATUS OF <name>

set (r)

OK OUTSIDE$FAILURE FAULTY

DIAGN$CODE

integer (r)

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

This object permits defining a certain number of objects of the following type: 1. 2. 3. 4. Profibus Digital Input Profibus Digital Output Profibus Integer Input Profibus Integer Output

The correlated "Profibus Master" object is associated to input process images ( 512 byte ) and output ones ( 512 byte ) where all the above objects should be mapped. The mapping in the above process images must take place in such a way that the single bit/byte of the image is mapped/used by only one object. The declared magnitude of a "Profibus Slave Address" locates only a generic IO module by means of its Profibus address which is limited to the 1... 32 range.

15AD51M1710

192

G.D SpA Bologna


3.130. PROFIBUS SLAVE

T:

PROFIBUS$SLAVE

GDL V 7

P:

FIELD BUS BOARD NAME PIGGYBACK CHANNEL ID SLAVE ADDRESS INPUT IMAGE LENGTH OUTPUT IMAGE LENGTH

name set integer integer integer

CH01 ...... CH03 01 32 0 242 0 242

V:

DIAGN$STATUS OF <name>

set (r)

OK OUTSIDE$FAILURE FAULTY

DIAGN$CODE OF <name>

integer ( r )

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

This object permits defining a max 242 byte long input process image and a max 242 byte long output process image. The sum of the two process images must be <= 368. On this object it is possible to define the following objects: 1. Profibus Digital Input 2. Profibus Digital Output 3. Profibus Integer Input 4. Profibus Integer Output

15AD51M1710

193

G.D SpA Bologna


3.131. PROFIBUS TEMPERATURE SENSOR

T:

PROFIBUS$TEMPERATURE$SENSOR

GDL V 7

P:

PROFIBUS INTEGER INPUT NAME CONVERSION FACTOR A CONVERSION FACTOR N CONVERSION FACTOR D

name integer integer integer

V:

DIAGN$STATUS OF <name>

set (r)

VALUE OF <name>

integer ( r )

OK OUTSIDE$FAILURE FAULTY Degree centigrade

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

This object, which is connected to an object of the "Profibus$IntegerInput" type, is used to convert the correlated analog input, which must correspond to a linearized and compensated temperature sensor regarding the value expressed in Celsius degrees. The conversion, which is linear, is expressed by the following formula : value of the TemperatureSensor = A + ( N * value of IntegerInput ) \ D This object can be used directly and as analog input of the "Termostat" object.

15AD51M1710

194

G.D SpA Bologna


3.132. PULSE COUNTER

T:

PULSE$COUNTER

GDL V 5

P:

ANALOG INPUT OUTPUT BOARD NAME NUMBER

name set

CH01 | ... | CH32

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE STOPPED | RUNNING

OPERATING$CONDITION OF <name> VALUE OF <name>

set (r) integer (r)

O:

START$PCN <name> STOP$PCN <name>

A:

DIAGN$STATUS OF <name> OPERATING$CONDITION OF <name>

N: When the counter is RUNNING its function is enabled and its value is not available; the variable VALUE is set to zero. Whe the counter is STOPPED its function is disabled and the variable VALUE contains a valid value that is the count computed. The operator START$PCN resets the value and triggers the transition to the value RUNNING of the status of the counter. The operator STOP$PCN disables the counter function, sets VALUE to the computed value and triggers the transition of the status to STOPPED.

15AD51M1710

195

G.D SpA Bologna


3.133. PWM OUTPUT

T:

PWM$OUTPUT

GDL V 4

P:

DIGITAL OUTPUT BOARD NAME NUMBER POLARITY DIAGNOSIS DIAGN FILTER PERIOD

name set set set integer integer

CH01 | ... | CH48 DIRECT | REVERSE YES | NO ms < 255 ms ms

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE 0 ... 1000

VALUE OF <name>

integer (rwf)

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

This object can be defined on various boards using the following assignments: DIGITAL$OUTPUT$BOARD ADVANCED$DIGITAL$INPUT$BOARD channels CH01 | .. | CH32 channels CH01 | .. | CH48

15AD51M1710

196

G.D SpA Bologna


3.134. RECTANGLE

T:

RECTANGLE

GDL V 4

P:

SYNOPTIC NAME X1 Y1 X2 Y2 COLOR

name integer integer integer integer set

RED | YELLOW | BLUE | GREEN | MAGENTA | CYAN | WHITE

V:

none

O:

none

A:

none

N: X1, Y1 are the upper, lefthand corner coordinates. X2, Y2 are the bottom, righthand corner coordinates.

15AD51M1710

197

G.D SpA Bologna


3.135. REMOTE IO BOARD

T:

REMOTE$IO$BOARD

GDL V 6

P:

RACK NAME SLOT

name set

SLOT01 ...... SLOT16

V:

DIAGN$STATUS OF <name>

set (r)

OK OUTSIDE$FAILURE FAULTY

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

This board supports 8 communication channels on each of which the user may define an object of type "remote$io$channel".

15AD51M1710

198

G.D SpA Bologna


3.136. REMOTE IO CHANNEL

T:

REMOTE$IO$CHANNEL

GDL V 6

P:

REMOTE IO BOARD NAME REMOTE IO CHANNEL ID

name set

CH01 ...... CH08

V:

DIAGN$STATUS OF <name>

set (r)

OK OUTSIDE$FAILURE FAULTY

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

On

this

object

up

to

objects

of

type

"remote$io$module"

may

be

defined.

15AD51M1710

199

G.D SpA Bologna


3.137. REMOTE IO MODULE

T:

REMOTE$IO$MODULE

GDL V 6

P:

REMOTE IO CHANNEL NAME REMOTE IO MODULE ID REMOTE IO MODULE TYPE

name set set

CH01 .... CH08 00 ...... 255

V:

DIAGN$STATUS OF <name>

set (r)

OK OUTSIDE$FAILURE FAULTY

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

This module supports 16 digital input/outputs; on a generic channel objects of type "digital$input", "digital$output" and pwm$output may be defined. The declaration variable remote io module type identifies the particular implementation of the object remote$io$module and is used by the system for run time evaluations. In particular: congruency check which consists of checking that the value of the type present in the declaration of the object GDL is equal to the value of the type of module present in that point of the network ; when a case of incongruence is found, the object remote$io$module is sent into diagnosis. identification of the module to the end of the download of the Fw identification of the characteristics of the module for run time checks on the number and type of channels .

15AD51M1710

200

G.D SpA Bologna


REMOTE IO MODULE ( type = 00 )

This module supports 16 digital input/output channels ; on a generic channel objects of type "digital$input" , "digital$output" and pwm$output can be defined. The objects of type "digital$input" are always considered to be of "pnp" type. This module does not implement the forcing of the input circuit so the state of diagnosis of the linked objects "digital$input" can NOT take on the value "FAULTY

15AD51M1710

201

G.D SpA Bologna


3.138. REMOTE LINK

T:

REMOTE$LINK

GDL V 6

P:

CNT GDLAN ADDRESS

set

C0 .... C7

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

The configuration object "cnt gdlan address " , which can assume the values C0 .... C7 , represents the address of the controller with which it must create the remote link. Within a GDL application the user may define up to 7 objects of the type Remote Link corresponding to the 7 possible controllers other than the controller on which the GDL application itself is running; the definition of the object RemoteLink { ck } in the GDL application which runs on the ck controller is not allowed, and is signalled run time via the state of diagnosis of the object itself . The variable diagn$status can assume the following values : 1) 2) the value ok when the connection is active the value faulty when the connection is not active i.e. if: the controller specified in the definition of the object is not present the controller specified in the definition of the object is present but does not contain the definition of the corresponding Remote Link object the controller specified in the definition of the object is present but is the same as that on which the Gdl application is running

The object remote$link supports in turn the following types of objects : remote$digital$input remote$integer$input remote$digital$output remote$integer$output id = 1 ... 256 id = 1 ... 256 id = 1 ... 256 id = 1 ... 256

15AD51M1710

202

G.D SpA Bologna

3.138.1. REMOTE LINK OBJECT STRUCTURE

Remote link { ck }

Remote link { cj }

Remote digital output { n }

Remote digital input { n }

Remote digital input { n }

Remote digital output { n }

Remote integer output { n }

Remote integer input { n }

Remote integer input { n } Remote machine output { n }

Remote integer output { n } Remote machine input { n }

Remote machine input { n } Cnt Cj

Remote machine output { n } Cnt Ck

The objects of the remote link family implement a communication mechanism between the GDL applications resident on two controllers ; the relations between the various objects of the family are set out in diagrammatic form in the figure above . To put the GDL applications present on the Cj and Ck controller in communication it is necessary to define a Remote Link object in the Cj controller with the Ck controller and a Remote Link object on Ck controller with the Cj controller; at this point, the following rules apply for the other objects of the family defined on the two controllers and connected to the respective Remote Link objects: 1. the state of the objects Remote Digital Output defined on one controller is copied to the state of the corresponding objects Remote Digital Input defined on the other controller 2. the value of the objects Remote Integer Output defined on one controller is copied to the value of the corresponding objects Remote Integer Input defined on the other controller

15AD51M1710

203

G.D SpA Bologna


3. the state of the objects Remote Machine Output defined on one controller is copied to the state of the corresponding objects Remote Machine Input defined on the other controller 4. if, for one object, the corresponding one on the other controller is not defined, the state of diagnosis takes on the value faulty Within a GDL application the user can define up to 7 objects of the type Remote Link corresponding to the 7 possible controllers; the definition of the RemoteLink object { ck } in the GDL application which runs on the ck controller is not allowed ; this error condition is signalled in run time by setting the state of diagnosis of the object itself to the value faulty .

15AD51M1710

204

G.D SpA Bologna


3.139. REMOTE LINK DIGITAL INPUT

T:

REMOTE$DIGITAL$INPUT

GDL V 6

P:

REMOTE LINK NAME REMOTE DIGITAL INPUT ID

name integer

001 .... 256

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE

STATUS OF <name>

digital (r)

O:

none

A:

DIAGN$STATUS OF <name> STATUS OF <name>

N: none A maximum of 256 objects of the type "remote digital input" are allowed for each object "remote link" . The variable "diagn$status" takes on the following values : 1. the value "ok" if the link is active and the corresponding object remote digital output in the connected controller is defined 2. the value "faulty" " if the link is active and the corresponding object remote digital output in the connected controller is not defined 3. the value "outside$failure" if the link is not active . The variable status takes on the following values : 1. the value off if the variable diagn status takes on a value other than ok 2. a value equal to that of the corresponding object remote digital output defined in the connected controller if the variable diagn status takes on the value ok

15AD51M1710

205

G.D SpA Bologna


3.140. REMOTE LINK DIGITAL OUTPUT

T:

REMOTE$DIGITAL$OUTPUT

GDL V 6

P:

REMOTE LINK NAME REMOTE DIGITAL OUTPUT ID

name integer

001 .... 256

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE

STATUS OF <name>

digital (rw)

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

A maximum of 256 objects of the type "remote digital output" are allowed for each object "remote link" . The variable "diagn$status" takes on the following values : 1. the value "ok" if the link is active and the corresponding object remote digital input in the connected controller is defined 2. the value "faulty" " if the link is active and the corresponding object remote digital input in the connected controller is not defined 3. the value "outside$failure" if the link is not active . The variable status at the start-up of the GDL application takes on the value off as its default.

15AD51M1710

206

G.D SpA Bologna


3.141. REMOTE LINK INTEGER INPUT

T:

REMOTE$INTEGER$INPUT

GDL V 6

P:

REMOTE LINK NAME REMOTE INTEGER INPUT ID

name integer

001 .... 256

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE

VALUE OF <name>

integer (r)

O:

none

A:

DIAGN$STATUS OF <name> VALUE OF <name>

N: none A maximum of 256 objects of the type "remote integer input" are allowed for each "remote link" object. The variable "diagn$status" takes on the following values: 1. the value "ok" if the link is active and the corresponding object remote integer output in the connected controller is defined 2. the value "faulty" " if the link is active and the corresponding object remote integer output in the connected controller is not defined 3. the value "outside$failure" if the link is not active . The variable value takes on the following values : 1. the value 0 if the variable diagn status takes on a value other than ok 2. a value equal to that of the corresponding object remote integer output defined in the connected controller if the variable diagn status takes on the value ok

15AD51M1710

207

G.D SpA Bologna


3.142. REMOTE LINK INTEGER OUTPUT

T:

REMOTE$INTEGER$OUTPUT

GDL V 6

P:

REMOTE LINK NAME REMOTE INTEGER OUTPUT ID

name integer

001 .... 256

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE

VALUE OF <name>

integer (rw)

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

A maximum of 256 objects of the type "remote integer output" are allowed for each object "remote link" . The variable "diagn$status" takes on the following values : 1. the value "ok" if the link is active and the corresponding object remote integer input in the connected controller is defined 2. the value "faulty" " if the link is active and the corresponding object remote integer input in the connected controller is not defined 3. the value "outside$failure" if the link is not active . The variable value at the start-up of the GDL application takes on as default the value 0 .

15AD51M1710

208

G.D SpA Bologna


3.143. REMOTE LINK MACHINE INPUT

T:

REMOTE$MACHINE$INPUT

GDL V 6

P:

REMOTE LINK NAME REMOTE MACHINE INPUT ID

name integer

001 .... 256

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE RUNNING | STOPPED READY

OPERATING$CONDITION OF <name>

set (r)

O:

none

A:

DIAGN$STATUS OF <name> OPERATING$CONDITION OF <name>

N:

none

The object Remote Machine Input is used for acquiring the state of the machine object connected to corresponding Remote Machine Output object; a maximum of 256 objects of the type "Remote machine Input" are allowed for each "remote link" object. The variable "diagn$status" takes on the following values : 1. the value "ok" if the link is active and the corresponding object remote machine output in the connected controller is defined 2. the value "faulty" " if the link is active and the corresponding object remote machine output in the connected controller is not defined 3. the value "outside$failure" if the link is not active . The variable operating$conditions takes on the following values :

15AD51M1710

209

G.D SpA Bologna


1. the value stopped if the variable diagn status takes on a value other than ok 2. a value equal to that of the state of the machine connected to the corresponding remote machine output object defined in the connected controller if the variable diagn status takes on the value ok To the object Remote Machine Input a Machine Meter object can be connected to display the state of the remote machine on the appropriate synoptics .

15AD51M1710

210

G.D SpA Bologna


3.144. REMOTE LINK MACHINE OUTPUT

T:

REMOTE$MACHINE$OUTPUT

GDL V 6

P:

REMOTE LINK NAME REMOTE MACHINE OUTPUT ID MACHINE NAME

name integer name

001 .... 256

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE

O:

none

A:

DIAGN$STATUS OF <name>

N:

none

The object Remote Machine Output serves to remote the state of the linked machine which is copied to the state of the corresponding object Remote Machine Input . A maximum of 256 objects of the type "remote machine output" are allowed for each "remote link" object. The variable "diagn$status" takes on the following values : 1. the value "ok" if the link is active and the corresponding object remote machine input in the connected controller is defined
2.

the value "faulty" " if the link is active and the corresponding object remote machine input in the connected controller is not defined

3. the value "outside$failure" if the link is not active .

15AD51M1710

211

G.D SpA Bologna


3.145. SQUARE WAVE GENERATOR

T:

SQUARE$WAVE$GENERATOR

GDL V 5

P:

ANALOG INPUT OUTPUT BOARD NUMBER

name set

CH29 | ... | CH32

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE 0 ... 65535 microsec. 0 ... 65535 microsec.

TIME$ON OF <name> TIME$OFF OF <name>

integer (rwf) integer (rwf)

O:

none

A:

DIAGN$STATUS OF <name>

N: This object generates a square wave signal which is high (24 Volt) for the duration expressed by the TIME$ON variable, and low (0 Volt) for the duration expressed by TIME$OFF. The square wave period is the sum of the durations. If one of the two durations is 0 the output is always at the level corresponding to the non-zero duration. If both durations are zero the output is off.

15AD51M1710

212

G.D SpA Bologna


3.146. STATE MESSAGE

T:

STATE$MESSAGE

GDL V 4

P:

FUNCTION NAME LAMP NAME COLOR

name name set

RED | YELLOW | BLUE | GREEN | MAGENTA | CYAN | WHITE

LABEL P LABEL S

string string

V:

STATUS OF <name>

digital (rw)

O:

none

A:

none

N:

none

15AD51M1710

213

G.D SpA Bologna


3.147. STEPPER MOTOR AXIS

T:

STP$MOTOR$AXIS

GDL V 4

P:

STEPPER MOTOR BOARD NAME NUMBER RATIO FACTOR N RATIO FACTOR D LOWER TRAVEL LIMIT UPPER TRAVEL LIMIT HOME POSITION MAXIMUM ACCELERATION MAXIMUM VELOCITY SEARCH SPEED SEARCH OFFSET BACKLASH OFFSET

name set integer integer integer integer integer integer integer integer integer integer

CH01 | ... | CH08 0 < N < 32767 0 < D < 32767 u.a u.a u.a u.a/sec2 u.a/sec u.a/sec u.a u.a

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE STOPPED$IN$RANGE STOPPED$AT$LOWER$LIMIT STOPPED$AT$UPPER$LIMIT RUNNING u.a ENABLED | DISABLED

OPERATING$CONDITION OF <name>

set (r)

POSITION OF <name> CONTROL$STATUS OF <name>

integer (r) set (rwf)

O:

ABSOLUTE$MOVE$SMAX <name> { <position> } INCREMENTAL$MOVE$SMAX <name> { <step> } HOME$CYCLE$SMAX <name> STOP$SMAX <name>

integer

f u.a f u.a f f

integer

LOAD$VELOCITY$SMAX <name> {<velocity> }

integer

f u.a/sec

15AD51M1710

214

G.D SpA Bologna


LOAD$ACCELERATION$SMAX <name> {<acceleration> } f u.a/sec2

integer

A:

DIAGN$STATUS OF <name> OPERATING$CONDITION OF <name>

N: The symbol 'u.a' indicates the unit of measure used to represent the position of the axis. The symbol 'p.m' indicates the "encoder steps". This unit of measure is used internally to represent the position of the axis. RATIO FACTOR N , RATIO FACTOR D are the transmission ratios for u.a and p.m, based on the following formula: p.m = ( u.a * N ) / D The following relation must always be checked as regards the lower limit, the upper limit and the zero-point position: LOWER TRAVEL LIMIT <= HOME POSITION <= UPPER TRAVEL LIMIT As regards the direction of the axis, the following convention is valid: rising position falling position movement: FORWARD ( CW ) movement: BACKWARD ( CCW )

Slack is taken up when the positioning takes place in the negative direction, meaning when: arrival position < starting position. If the operators are not used to load the speed and acceleration, the board automatically assumes the maximum value for these entities. The "home" cycle is handled at the current speed and with the current acceleration. Once the input edge of "home" is visible, zero-setting takes place looking again for the edge, at the search speed. The search speed must be set so that it is less than the start/stop motor speed. In all cases, zero-setting takes place in the direction of incrementing values.

15AD51M1710

215

G.D SpA Bologna


3.148. STEPPER MOTOR AXIS HOME INPUT

T:

STP$MOTOR$AXIS$HOME$INPUT

GDL V 4

P:

STEPPER MOTOR BOARD NAME INPUT NUMBER POLARITY STEPPER MOTOR AXIS NAME

name set set name

CH01 | ... | CH08 DIRECT | REVERSE

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE

STATUS OF <name>

digital (r)

O:

none

A:

DIAGN$STATUS OF <name> STATUS OF <name>

N: This input is used to handle the zero-set cycle for the associated axis. At the start of the zero-set cycle, this input is read in: if the value is ON, the cycle begins the search in the direction of the decreasing values; if it is OFF, the cycle begins the search in the direction of the increasing values.

15AD51M1710

216

G.D SpA Bologna


3.149. STEPPER MOTOR AXIS STOP INPUT

T:

STP$MOTOR$AXIS$STOP$INPUT

GDL V 4

P:

STP MOTOR BOARD NAME INPUT NUMBER POLARITY STP MOTOR AXIS NAME

name set set name

CH01 | ... | CH08 DIRECT | REVERSE

V:

DIAGN$STATUS OF <name> STATUS OF <name> LATCHED$POSITION OF <name> CONTROL$STATUS OF <name> EDGE OF <name>

set (r) digital (r) integer (r) set (rw) set (rw)

OK | FAULTY | OUTSIDE$FAILURE u.a ENABLED | DISABLED RISING | FALLING

O:

none

A:

DIAGN$STATUS OF <name> EDGE OF <name>

N: The activator EDGE$OF OF <name> must be the only one present in the list of a procedure and is not included in the list automatically generated by the global activator ANY$OBJECT$INPUT. The status variable LATCHED$POSITION OF <name> can only be read within the procedure which has as its unique activator EDGE OF <name>. This object trips an immediate motor stop. Thus, in order to avoid losing the steps, i.e. the position, you must only intervene when the motor is turning below the start/stop frequency.

15AD51M1710

217

G.D SpA Bologna


3.150. STEPPER MOTOR BOARD

T:

STP$MOTOR$BOARD

GDL V 4

P:

RACK NAME SLOT SUBASSY1 ......... SUBASSY5

name set set ... set

SLOT01 | ... | SLOT16 PRESENT | NOT$PRESENT ..................... PRESENT | NOT$PRESENT

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE

O:

none

A:

DIAGN$STATUS OF <name>

N: SUBASSY1 ... SUBASSY4 select the presence of the subassemblies which support the various motors in the following manner: SUBASSY1 SUBASSY2 SUBASSY3 SUBASSY4 channels channels channels channels CH01 , CH02 CH03 , CH04 CH05 , CH06 CH07 , CH08

On these channels, it is possible to define the following objects: STEPPER$MOTOR$AXIS STEPPER$MOTOR$GEAR ADV$STP$GEAR SUBASSY5 selects the presence of the input hybrid which carries 8 channels from CH01 to CH08. These channels can be used to define the following types of objects: STEPPER$MOTOR$AXIS$HOME$INPUT STEPPER$MOTOR$AXIS$STOP$INPUT STEPPER$MOTOR$GEAR$STOP$INPUT DIGITAL$INPUT EDGE$DETECTOR ADV$STP$GEAR$HOME$INPUT ADV$STP$GEAR$STOP$INPUT

15AD51M1710

218

G.D SpA Bologna


3.151. STEPPER MOTOR GEAR

T:

STP$MOTOR$GEAR

GDL V 4

P:

STEPPER MOTOR BOARD NAME NUMBER

name set

CH01 | ... | CH08

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE STOPPED | RUNNING$LIMITED | RUNNING$UNLIMITED ENABLED | DISABLED

OPERATING$CONDITION OF <name>

set (r)

CONTROL$STATUS OF <name>

set (rwf)

O:

SELECT$FREQUENCY$SMGR <name> { <channel> } LOAD$PRESCALER$SMGR <name> { <prescaler> } START$LIMITED$SMGR <name> {<direction>, <step number> } START$UNLIMITED$SMGR <name> {<direction> } STOP$SMGR <name>

set

f CH01 | ... | CH04 | FX f

integer

>= 4 <= 65535 f FORWARD | BACKWARD p.m f FORWARD | BACKWARD f

set integer

set

A:

DIAGN$STATUS OF <name> OPERATING$CONDITION OF <name> none

N:

15AD51M1710

219

G.D SpA Bologna


3.152. STEPPER MOTOR GEAR STOP INPUT

T:

STP$MOTOR$GEAR$STOP$INPUT

GDL V 4

P:

STEPPER MOTOR BOARD NAME INPUT NUMBER POLARITY STEPPER MOTOR GEAR NAME

name set set name

CH01 | ... | CH08 DIRECT | REVERSE

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE

STATUS OF <name> STEPS$LEFT OF <name> CONTROL$STATUS OF <name> EDGE OF <name>

digital (r) integer (r) set (rw) set (rw)

p.m ENABLED | DISABLED RISING | FALLING

O:

none

A:

DIAGN$STATUS OF <name> EDGE OF <name>

N: The status variable STEPS$LEFT OF <name> can only be read in the procedures which have EDGE OF <name> as their unique activators and it is meaningful only in the case that the motor is carrying out a defined movement.

15AD51M1710

220

G.D SpA Bologna


3.153. SYNOPTIC

T:

SYNOPTIC

GDL V 4

P:

SIZE X SIZE Y LABEL P LABEL S

integer integer string string

V:

none

O:

none

A:

none

N: If you wish to take advantage of all the space available on the display for the visualization of the synoptic, you must verify that: SIZE X / SIZE Y = 1.87

15AD51M1710

221

G.D SpA Bologna


3.154. SYNOPTIC ENTRY

T:

SYNOPTIC$ENTRY

GDL V 6

P:

SYNOPTIC NAME

name

V:

none

O:

SELECT <name>

A:

none

N:

none

A call by the "select" operator of the object "sinoptic$entry" causes the immediate display of the associated synoptic . To each object of the "synoptic" type it is possible to link only one object of the type "synoptic$entry".

15AD51M1710

222

G.D SpA Bologna


3.155. TEMPERATURE SENSOR

T:

TEMPERATURE$SENSOR

GDL V 4

P:

ANALOG INPUT NAME

name

V:

DIAGN$STATUS OF <name> TEMPERATURE OF <name>

set (r) integer (r)

OK | OUTSIDE$FAILURE degrees centigrade

O:

none

A:

DIAGN$STATUS OF <name>

N: The analog input must be connected to a thermocouple module and set to read in millivolts (0 , 10000).

15AD51M1710

223

G.D SpA Bologna


3.156. TEXT

T:

TEXT

GDL V 4

P:

SYNOPTIC NAME X Y SIZE FONT COLOR

name integer integer set set set

SMALL | MEDIUM | LARGE FONT01 | ... | FONT03 RED | YELLOW | BLUE | GREEN | MAGENTA | CYAN | WHITE

LABEL P LABEL S

string string

V:

none

O:

none

A:

none

N:

none

15AD51M1710

224

G.D SpA Bologna


3.157. THERMOSTAT

T:

THERMOSTAT

GDL V 4

P:

ANALOG INPUT NAME PWM OUTPUT NAME WORK RANGE WORK RANGE FILTER RESPONSE ADJUST MAX TEMP MAX TEMP VARIATION MAX TIME ON MAX TIME OFF

name name integer integer integer integer integer integer integer

% of setpoint sec degrees centigrade degr. centigrade / sec sec sec

V:

DIAGN$STATUS OF <name>

set (r)

OK | FAULTY | OUTSIDE$FAILURE WITHIN$RANGE | OUT$OF$RANGE ENABLED | DISABLED degrees centigrade degrees centigrade

OPERATING$CONDITION OF <name>

set (r)

CONTROL$STATUS OF <name> SETPOINT OF <name> TEMPERATURE OF <name>

set (rw) integer (rw) integer (r)

O:

UPDATE$PWM$OUTPUT <name> { <pwm value> }

integer

thousandths

A:

DIAGN$STATUS OF <name> OPERATING$CONDITION OF <name>

N: The analog input must be connected to a thermocouple module and set to read in millivolts (0 , 10000). The operator UPDATE$PWM$OUTPUT, which is only executed if the thermostat has been enabled, intervenes directly on the pwm output of the thermostat itself. It is not allowed to connect more than one thermostat to the same ANALOG$INPUT object or the same PWM$OUTPUT object.

15AD51M1710

225

G.D SpA Bologna


3.158. THERMOSTAT METER

T:

THERMOSTAT$METER

GDL V 4

P:

SYNOPTIC NAME THERMOSTAT NAME LOCATION X LOCATION Y SIZE X SIZE Y LABEL P LABEL S

name name integer integer integer integer string string

V:

none

O:

none

A:

none

N: LOCATION X and LOCATION Y are the upper, lefthand corner coordinates of the meter.

15AD51M1710

226

G.D SpA Bologna


3.159. THERMOSTAT METER PILOT

T:

THERMOSTAT$METER$PILOT

GDL V 6

P:

none

V:

DIAGN$STATUS OF <name> OPERATING$CONDITION OF <name> CONTROL$STATUS OF <name> SETPOINT OF <name> TEMPERATURE OF <name>

set (rw) set (rw) set (rw) integer (rw) integer (rw)

OK | FAULTY WITHIN$RANGE | OUT$OF$RANGE ENABLED | DISABLED degree centigrade degree centigrade

O:

none

A:

none

N:

none

In phase 6 it is possible to define this object to which the object "thermostat$meter" can be connected; this object is useful when the user wishes to utilize the object "thermostat$meter" to display on a synoptic the state of a thermostat which is NOT implemented using the object "thermostat" ( for example sealing wheels) . Via the writing of the variables made available by the object "thermostat$meter$pilot" the GDL application can directly control what is displayed on the linked object "thermostat$meter".

15AD51M1710

227

G.D SpA Bologna


3.160. TIMER

T:

TIMER

GDL V 4

P:

TYPE BASE

set set

SINGLE$SHOT | REPETITIVE MILLISECOND | SECOND | MINUTE | HOUR

V:

OPERATING$CONDITION OF <name>

set ( r )

RUNNING | EXPIRED

O:

START$TMR <name> { <period> } STOP$TMR <name> DELETE$TMR <name>

integer

A:

TIME$OUT OF <name>

N: When BASE is set to MILLISECOND, the resolution is 10 msec. The period is calculated by rounding off the value to the next higher number. The command START$TMR is not executed if the status of the timer is RUNNING.

15AD51M1710

228

G.D SpA Bologna

3.161. WAIT TO START

T:

WAIT$TO$START

GDL V 6

P:

WAIT TIME VALUE

integer

0 seconds 3600

V:

none

O:

none

A:

none

N:

none

This object is used to introduce a programmable delay at the start-up of the GDL application; the appropriate rules are as follows: if the object is not defined, the delay at the start-up of the GDL application is the default of phases 4 and 5 ( approx. 50 Sec ) if the object is defined, the delay at the start-up of the GDL application is that specified in the declaration ( 0 ==> no delay )

15AD51M1710

229

G.D SpA Bologna

SUMMARY
1. 2. INTRODUCTION ................................................................................................................................................... 1 BASICS OF THE GDL LANGUAGE ................................................................................................................... 1 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 2.7. 2.8. 3. STRUCTURE OF THE MODULE ................................................................................................................. 1 IDENTIFIERS AND COMMENTS ................................................................................................................ 1 OBJECT DECLARATION ............................................................................................................................. 1 PROCEDURES ............................................................................................................................................... 1 GLOBAL ACTIVATORS ............................................................................................................................... 1 FLOW CONTROL INSTRUCTIONS............................................................................................................. 1 OPERATORS .................................................................................................................................................. 1 PROCEDURE EXECUTION PRIORITY....................................................................................................... 1

GDL OBJECTS ....................................................................................................................................................... 1 3.1. ABSOLUTE ENCODER................................................................................................................................. 1 3.2. ABSOLUTE ENCODER ADDENDUM......................................................................................................... 1 3.3. ABSOLUTE ENCODER BOARD .................................................................................................................. 1 3.3.1. ABSOLUTE ENCODER BOARD OBJECT STRUCTURE ......................................................................... 1 3.4. ABSOLUTE ENCODER DELAY COMPENSATOR .................................................................................... 1 3.5. ABSOLUTE ENCODER LATCH INPUT...................................................................................................... 1 3.6. ABSOLUTE ENCODER METER .................................................................................................................. 1 3.7. ABSOLUTE ENCODER METER ADDENDUM .......................................................................................... 1 3.8. ABSOLUTE ENCODER SPACE REFERENCE OUTPUT ........................................................................... 1 3.9. ABSOLUTE ENCODER VIRTUAL ABSOLUTE ENCODER ADDENDUM ............................................. 1 3.10. ABSOLUTE ENCODER VIRTUAL SPACE REFERENCE GENERATOR................................................. 1 3.11. ADVANCED DIGITAL CAM EDGE ............................................................................................................ 1 3.12. ADVANCED DIGITAL INPUT BOARD ...................................................................................................... 1 3.13. ADVANCED DIGITAL OUTPUT BOARD .................................................................................................. 1 3.14. ADVANCED PHASE MATCH DETECTOR ................................................................................................ 1 3.15. ADVANCED STEPPER MOTOR GEAR ...................................................................................................... 1 3.16. ADVANCED STEPPER MOTOR GEAR HOME INPUT ............................................................................. 1 3.17. ADVANCED STEPPER MOTOR GEAR STOP INPUT.............................................................................. 1 3.18. ANALOG INPUT............................................................................................................................................ 1 3.19. ANALOG INPUT OUTPUT BOARD ............................................................................................................ 1 3.20. ANALOG OUTPUT........................................................................................................................................ 1 3.21. ARC ................................................................................................................................................................. 1 3.22. CABINET ID................................................................................................................................................... 1 3.23. CIRCLE ........................................................................................................................................................... 1 3.24. COUNTER ...................................................................................................................................................... 1 3.25. COUNTER CLASS ......................................................................................................................................... 1 3.26. DC MOTOR AXIS .......................................................................................................................................... 1 3.27. DC MOTOR AXIS HOME INPUT................................................................................................................. 1 3.28. DC MOTOR AXIS STOP INPUT................................................................................................................... 1 3.29. DC MOTOR BOARD ..................................................................................................................................... 1 3.30. DC MOTOR GEAR......................................................................................................................................... 1 3.31. DC MOTOR GEAR STOP INPUT ................................................................................................................. 1 3.32. DIGITAL CAM ............................................................................................................................................... 1 3.33. DIGITAL CAM BOARD ................................................................................................................................ 1 3.34. DIGITAL CAM EDGE.................................................................................................................................... 1 3.35. DIGITAL CAM OFFSET................................................................................................................................ 1 3.36. DIGITAL CHAIN............................................................................................................................................ 1 3.37. DIGITAL CONDITION .................................................................................................................................. 1 3.38. DIGITAL CONDITION ADDER ................................................................................................................... 1 3.39. DIGITAL FLAG.............................................................................................................................................. 1 3.40. DIGITAL FLAG METER ............................................................................................................................... 1

15AD51M1710

230

G.D SpA Bologna


3.41. DIGITAL INPUT ............................................................................................................................................ 1 3.42. DIGITAL INPUT BOARD ............................................................................................................................. 1 3.43. DIGITAL OUTPUT ........................................................................................................................................ 1 3.44. DIGITAL OUTPUT BOARD ......................................................................................................................... 1 3.45. DIGITAL PARAMETER ................................................................................................................................ 1 3.46. DIGITAL PARAMETER ENTRY.................................................................................................................. 1 3.47. DIGITAL PARAMETER OVERWRITE........................................................................................................ 1 3.48. DIGITAL VARIABLE .................................................................................................................................... 1 3.49. EDGE DETECTOR......................................................................................................................................... 1 3.50. ELLIPSE.......................................................................................................................................................... 1 3.51. EVENT MESSAGE......................................................................................................................................... 1 3.52. EXPANSION RACK....................................................................................................................................... 1 3.53. FIELD BUS BOARD .................................................................................................................................... 74 3.53.1. FIELD BUS OBJECT STRUCTURE............................................................................................................ 1 3.54. FREQUENCY INPUT..................................................................................................................................... 1 3.55. FREQUENCY OUTPUT................................................................................................................................. 1 3.56. FUNCTION ..................................................................................................................................................... 1 3.57. GD422 INTERFACE BOARD........................................................................................................................ 1 3.58. GD422 REMOTE NODE ................................................................................................................................ 1 3.59. GD422 REMOTE MACHINE......................................................................................................................... 1 3.60. GD422 REMOTE INPUT SIGNAL................................................................................................................ 1 3.61. GD422 REMOTE INPUT DATA ................................................................................................................... 1 3.62. GD422 REMOTE OUTPUT DATA ............................................................................................................... 1 3.63. GDAWCS INTERFACE BOARD .................................................................................................................. 1 3.64. GDAWCS DIGITAL INPUT .......................................................................................................................... 1 3.65. GDAWCS DIGITAL OUTPUT ...................................................................................................................... 1 3.66. GDAWCS INTEGER INPUT ......................................................................................................................... 1 3.67. GDAWCS INTEGER OUTPUT ..................................................................................................................... 1 3.68. GDAWCS INPUT TRIGGER ......................................................................................................................... 1 3.69. GDAWCS OUTPUT TRIGGER ..................................................................................................................... 1 3.70. GDFLEX ADVANCED HUB BOARD .......................................................................................................... 1 3.71. GDFLEX CLUSTER BOARD ........................................................................................................................ 1 3.72. GDFLEX DEVICE .......................................................................................................................................... 1 3.73. GDFLEX DIGITAL INPUT............................................................................................................................ 1 3.74. GDFLEX DIGITAL OUTPUT........................................................................................................................ 1 3.75. GDFLEX HUB BOARD ................................................................................................................................. 1 3.76. GDFLEX INPUT TRIGGER........................................................................................................................... 1 3.77. GDFLEX INTEGER INPUT........................................................................................................................... 1 3.78. GDFLEX INTEGER OUTPUT....................................................................................................................... 1 3.79. GDFLEX OUTPUT TRIGGER...................................................................................................................... 1 3.80. GLUE PATTERN............................................................................................................................................ 1 3.81. GLUE SEGMENT........................................................................................................................................... 1 3.82. GLUER............................................................................................................................................................ 1 3.83. GLUER ADDENDUM.................................................................................................................................... 1 3.84. GLUER BOARD ............................................................................................................................................. 1 3.85. GLUER BUS ENCODER................................................................................................................................ 1 3.86. GLUER EXT ENCODER................................................................................................................................ 1 3.87. GLUER POSITION GENERATOR................................................................................................................ 1 3.88. GLUER POSITION GENERATOR ADDENDUM........................................................................................ 1 3.89. GROUP............................................................................................................................................................ 1 3.90. INTEGER CHAIN........................................................................................................................................... 1 3.91. INTEGER CONSTANT .................................................................................................................................. 1 3.92. INTEGER FLAG............................................................................................................................................. 1 3.93. INTEGER FLAG METER .............................................................................................................................. 1 3.94. INTEGER PARAMETER ............................................................................................................................... 1 3.95. INTEGER PARAMETER ENTRY................................................................................................................. 1 3.96. INTEGER PARAMETER OVERWRITE................................................................................................... 126 3.97. INTEGER VARIABLE ................................................................................................................................... 1 3.98. LAMP .............................................................................................................................................................. 1 3.99. LINE ................................................................................................................................................................ 1

15AD51M1710

231

G.D SpA Bologna


3.100. MACHINE....................................................................................................................................................... 1 3.101. MACHINE METER ........................................................................................................................................ 1 3.102. MASTER RACK ............................................................................................................................................. 1 3.103. MINIOPC LAMP ............................................................................................................................................ 1 3.104. MINIOPC SYNOPTIC.................................................................................................................................... 1 3.105. MINIOPC SYNOPTIC CLUSTER ................................................................................................................. 1 3.106. MOTION CONTROL ADJUST INPUT & ADJUST INPUT ADDENDUM ................................................ 1 3.107. MOTION CONTROL AXIS ........................................................................................................................... 1 3.108. MOTION CONTROL BOARD....................................................................................................................... 1 3.108.1. MOTION CONTROL BOARD OBJECT STRUCTURE ......................................................................... 1 3.109. MOTION CONTROL CAM............................................................................................................................ 1 3.110. MOTION CONTROL CAM SHAPE .............................................................................................................. 1 3.111. MOTION CONTROL GEAR.......................................................................................................................... 1 3.112. MOTION CONTROL HOME INPUT ............................................................................................................ 1 3.113. MOTION CONTROL LATCH INPUT........................................................................................................... 1 3.114. MOTION CONTROL MOTOR ...................................................................................................................... 1 3.115. MOTION CONTROL POSITION GENERATOR ......................................................................................... 1 3.116. MOTION CONTROL POSITION MATCH DETECTOR ............................................................................. 1 3.117. MOTION CONTROL PROBE........................................................................................................................ 1 3.118. MOTION CONTROL REGULATOR............................................................................................................. 1 3.119. MOTION CONTROL REGULATOR TABLE............................................................................................... 1 3.120. MOTION CONTROL STOP INPUT .............................................................................................................. 1 3.121. MULTIPLE PHASE MATCH DETECTOR................................................................................................... 1 3.122. PHASE MATCH DETECTOR........................................................................................................................ 1 3.123. POWER UP ..................................................................................................................................................... 1 3.124. PROFIBUS DIGITAL INPUT .................................................................................................................... 181 3.125. PROFIBUS DIGITAL OUTPUT ................................................................................................................ 183 3.126. PROFIBUS INTEGER INPUT ................................................................................................................... 185 3.127. PROFIBUS INTEGER OUTPUT ............................................................................................................... 187 3.128. PROFIBUS MASTER ..................................................................................................................................... 1 3.129. PROFIBUS REMOTE SLAVE ................................................................................................................... 192 3.130. PROFIBUS SLAVE .................................................................................................................................... 193 3.131. PROFIBUS TEMPERATURE SENSOR .................................................................................................... 194 3.132. PULSE COUNTER ......................................................................................................................................... 1 3.133. PWM OUTPUT............................................................................................................................................... 1 3.134. RECTANGLE.................................................................................................................................................. 1 3.135. REMOTE IO BOARD..................................................................................................................................... 1 3.136. REMOTE IO CHANNEL................................................................................................................................ 1 3.137. REMOTE IO MODULE.............................................................................................................................. 200 3.138. REMOTE LINK .............................................................................................................................................. 1 3.139. REMOTE LINK DIGITAL INPUT................................................................................................................. 1 3.140. REMOTE LINK DIGITAL OUTPUT............................................................................................................. 1 3.141. REMOTE LINK INTEGER INPUT................................................................................................................ 1 3.142. REMOTE LINK INTEGER OUTPUT............................................................................................................ 1 3.143. REMOTE LINK MACHINE INPUT .............................................................................................................. 1 3.144. REMOTE LINK MACHINE OUTPUT .......................................................................................................... 1 3.145. SQUARE WAVE GENERATOR.................................................................................................................... 1 3.146. STATE MESSAGE ......................................................................................................................................... 1 3.147. STEPPER MOTOR AXIS............................................................................................................................... 1 3.148. STEPPER MOTOR AXIS HOME INPUT...................................................................................................... 1 3.149. STEPPER MOTOR AXIS STOP INPUT ....................................................................................................... 1 3.150. STEPPER MOTOR BOARD .......................................................................................................................... 1 3.151. STEPPER MOTOR GEAR ............................................................................................................................. 1 3.152. STEPPER MOTOR GEAR STOP INPUT ...................................................................................................... 1 3.153. SYNOPTIC...................................................................................................................................................... 1 3.154. SYNOPTIC ENTRY ....................................................................................................................................... 1 3.155. TEMPERATURE SENSOR ............................................................................................................................ 1 3.156. TEXT ............................................................................................................................................................... 1 3.157. THERMOSTAT .............................................................................................................................................. 1 3.158. THERMOSTAT METER................................................................................................................................ 1

15AD51M1710

232

G.D SpA Bologna


3.159. 3.160. 3.161. THERMOSTAT METER PILOT.................................................................................................................... 1 TIMER............................................................................................................................................................. 1 WAIT TO START........................................................................................................................................... 1

15AD51M1710

233

S-ar putea să vă placă și