Appendix S – EtherCAT Import/Export description template specifiers and variables

Appendix S – EtherCAT Import/Export description template specifiers and variables

specifier name

category

description

${index.address}

description:

numerical number of the main-index.

category:

mandatory

value range:

0x0040 - 0xFFFF

${index.dataType.address}

description:

numerical value of the data type according to /CiA-301/.

category:

mandatory

value range:

0x0001 - 0xFFF

${index.name}

description:

name of the object for the documentation in the ESI file. If no name is specified the Communication Creator builds own names:

·         for data types:

DATATYPE_<index>_T, example: DATATYPE_0040_T

·         for variables: obj_<index>, example: obj_2000

category:

Optional

value range:

String

${index.objectCode}

description:

numerical value of the object code according to /CiA-301/.

Variable value is one of the following:

  • EC_VARIABLE

  • EC_ARRAY

  • EC_RECORD

  • EC_DEFTYPE

  • EC_DEFSTRUCT

category:

mandatory

value range:

0x06 for DEFSTRUCT

0x07 for VAR

0x08 for ARRAY

0x09 for RECORD

${index. createObjName}

description:

defines if the object name will be written to the ec_od.c file.

category:

Optional

value range:

0 – object name is not written to file

1- object name is written to file

 

Default: 1

${index.description}

description:

documentation of the object.

category:

optional

value range:

String

${index.createExtern}

description:

defines if an external declaration shall be generated.

category:

optional

value range:

0 - extern declaration is not generated

1- extern declaration is generated

 

Default: 1

${index.createTypedef}

description:

defines if the C struct for a complex data type shall be generated in C code.

category:

optional

value range:

0 - data type struct is not generated

1- data type struct is generated

 

Default: 1

${index.createVariable}

description:

defines if the variable shall be generated in C code. (not applicable for data types)

 

condition: this attribute must be local changeable (see GUI Line > Standard Settings > Create variable > local changeable

category:

optional

value range:

0 - variable is not generated

1- variable is generated

 

Default: 1

${index.virtualObject}

description:

defines if the object shall be interpreted as virtual or normal object.

 

condition: this attribute must be local changeable (see GUI Line > Standard Settings > Virtual object > local changeable

category:

optional

value range:

0 - normal object

1- virtual object

 

Default: 0

${index.generateESIEntry}

description:

defines if the object is excluded from ESI generation

category:

optional

value range:

0 - object is not generated in ESI

1 - object is not generated in ESI

 

Default: 1

${index.generateDocEntry}

description:

defines if the object is excluded from exported documents generation

category:

optional

value range:

0 - object is not generated in exported documents

1 - object is not generated in exported documents

 

Default: 1

${subindex.address}

description:

numerical number of the sub-index.

category:

mandatory

value range:

0 - 255

${subindex.dataType.address}

description:

numerical value of the data type of the sub-index according to /CiA-301/.

category:

mandatory

value range:

0x0001 - 0x001E

${subindex.name}

description:

name of the sub-index in the ESI file and in the documentation. If no name is specified the name is generated by the Communication Creator as follow:

  1. for object code VAR: The name of the main-index is used, see ${index.name}.

for object Code ARRAY or RECORD: The name is generated: sub_<sub>, example: sub_0C. <sub> is a hexadecimal number with 2 digits.

category:

optional

value range:

String

${subindex.CName}

description:

name of the sub-index used in the generated C code for the element of complex data types. If no name is specified the name is generated by the Communication Creator as follow:

  1. for object code VAR: see ${index.name}.

  2. for object Code ARRAY or RECORD: The name is generated: sub_<sub>, example: sub_0C. <sub> is a hexadecimal number with 2 digits.

category:

optional

value range:

String with C-syntax

${subindex.size}

description:

size of the sub-index. This csv-specifier is relevant for extended data types, e.g.

VISIBLE_STRINGs.

category:

optional

value range:

depends on data type

${subindex.unit}

description:

unit of the object.

category:

optional

value range:

String

${subindex.accessPreOp}

description:

access right of the sub-index in the state PRE-OPERATIONAL.

Variable value is one of the following:

  • EC_READONLY

  • EC_WRITEONLY

  • EC_READWRITE

category:

optional

value range:

RO, RW, WO

 

Default: RO

${subindex.accessSafeOp}

description:

access right of the sub-index in the state SAFE-OPERATIONAL.

Variable value is one of the following:

  • EC_READONLY

  • EC_WRITEONLY

  • EC_READWRITE

category:

optional

value range:

RO, RW, WO

 

Default: RO

${subindex.accessOp}

description:

access right of the sub-index in the state OPERATIONAL.

Variable value is one of the following:

  • EC_READONLY

  • EC_WRITEONLY

  • EC_READWRITE

category:

optional

value range:

RO, RW, WO

 

Default: RO

${subindex.lowerLimit}

description:

lower limit of numerical objects.

category:

optional

value range:

range of numerical data type

${subindex.upperLimit}

description:

upper limit of numerical objects.

category:

optional

value range:

range of numerical data type

${subindex.defaultValue}

description:

value of the object.

category:

optional

value range:

depends on data type

${subindex.pdoAccess}

description:

PDO access right of the sub-index.

Variable value is one of the following:

  • EC_NO_PDO

  • EC_RPDO

  • EC_TPDO

  • EC_RPDO_TPDO

category:

optional

value range:

no - PDO mapping is not allowed

 r – only mappable via RPDO

 t – only mappable via TPDO

tr – mappable in RPDO and TPDO

 

Default: no

${subindex.limitsInESI}

description:

defines if the limit values shall be documented in the ESI files.

category:

optional

value range:

0 - ESI without limits

1 - ESI with limits

 

Default: 1

${subindex.defaultInESI}

description:

defines if the default value shall be documented in the ESI files.

category:

optional

value range:

0 - ESI without default value

1 - ESI with default value

 

Default: 1

${subindex.category}

description:

defines category of the sub-index.

Variable value is one of the following:

  • EC_MANDATORY

  • EC_OPTIONAL

  • EC_CONDITIONAL

category:

optional

value range:

mandatory, optional, conditional

 

Default: mandatory

${subindex.CImpl}

description:

defines C Implementation of the sub-index.

Variable value is one of the following:

  • EC_MANAGED_CONST

  • EC_MANAGED_VAR

  • EC_APPL_VAR

  • EC_APPL_ARRAY

category:

optional

value range:

Managed Constant, Managed Variable, Application Variable, Application Array

 

Default: Managed Constant

${subindex.backupFlag}

description:

defines the Backup property

category:

optional

value range:

0 – object is not restored during device exchange

1 – object is restored during device exchange

 

Default: 0

${subindex.settingFlag}

description:

defines the Setting property

category: