Definition of the memory objects via the StartUp list

The desired structure of the memory objects must be created once only in the status PREOP in the CoE directory in CoE object 0x2F00. This is also possible offline (without connected module) in the System Manager. At startup, the EtherCAT plug-in module EJ6080 checks whether the memory structure has changed and if necessary creates the objects in the memory accordingly.

Notice

Definition of the memory objects via the StartUp list 1:

Data loss in the event of a change in the data structure

If the data structure or the object 0x2F00 is changed, all existing data in the module EJ6080 is deleted.

Procedure short form:

  1. Unlock object 0x2F00 for changes to the structure
    Set index 0xF200:01 = 4 "Unlock Novram objects" (manually in the System Manager or via PLC).
  2. Entering the StartUp command for the CoE object 0x2F00
    Content: number of objects + respective length in bytes.
    Note: complete access, byte alignment, no empty object possible, only possible in P -> S transition, 16-bit entries, max. 127 memory objects.
  3. Reload the configuration.
  4. For control: reload the CoE directory.
  5. Lock object 0x2F00 for changes of the structure
    Set index 0xF200:01 = 2 "Lock Novram objects" (manually in System Manager or via PLC).

Procedure in detail:

To define the desired structure of the memory objects, proceed as follows:

Following startup, the EtherCAT plug-in module EJ6080 contains either an already changed memory structure or the default memory structure. The CoE objects from 0x2000 and 0x2F00 are important in the following. In the following figure, an object of size 1 byte is already created in EJ6080:

Definition of the memory objects via the StartUp list 2:Fig.32: Any start state of the EJ6080 module

Now the EtherCAT plug-in module EJ6080 is to be reconfigured to the memory structure:

i.e. a total of 270 bytes in four memory objects, which can each be accessed acyclically via the CoE.

Entry in the StartUp list

A corresponding entry for this must be made in the EJ6080’s StartUp list. This list is empty for the EJ6080 module in the default state.

1. A new entry is added in the StartUp tab via the New button.
The "Edit CANopen Startup Entry" window opens, in which the new StartUp entry can be defined.
Definition of the memory objects via the StartUp list 3:Fig.33: Definition of a new StartUP entry
Definition of the memory objects via the StartUp list 4:

StartUp list selection dialog

If no CoE entries (see Fig. Definition of the StartUp entry) are offered for selection, this has the following reason: you are working offline (i.e. without a live connected module) and the ESI (EtherCAT Slave Information, XML description) of the EJ6080 EtherCAT plug-in module that you are using does not contain a dictionary.

  • In this case you can also define StartUp entries entirely manually, i.e. enter Index and Subindex manually.
2. Selection of the object
Online:
select object 0x2F00 from the list, so that the correct values already appear in Index/SubIndex and Comment.
Offline:
manual entry via the fields Index (hex) and Sub-index (dec)
3. "P-->S" must be selected in Transition (the value will be loaded to the module EJ6080 during the state transition PREOP-->SAFEOP).
4. CompleteAccess must be activated.
5. In Data (hexbin) enter your desired structure in hex and reverse byte order (byte alignment), in the form "aa aa bb cc cc ...".
aa aa: number of desired memory objects
bb bb, cc cc, ...: respective size definition of the objects

 

Example:

 

 

  • aa aa = 04 00:

4 memory objects are desired.

 

  • bb bb = 01 00:

1st memory object has a size of 1 byte (00 01hex = 1dec).

 

  • cc cc = 0A 00:

2nd memory object has a size of 10 bytes (00 0Ahex = 10dec).

 

  • dd dd = 00 01:

3rd memory object has a size of 256 bytes (01 00hex = 256dec).

 

  • ee ee = 03 00:

4th memory object has a size of 3 bytes (00 03hex = 3dec).

6. Confirm with OK. The new StartUp entry looks like this:
Definition of the memory objects via the StartUp list 5:Fig.34: New StartUp entry

Reloading the configuration

Now this configuration must be loaded to the EJ6080 module and in particular the PREOP-->SAFEOP state transition must be run through as defined in the StartUp entry.
Click the Reload button (Fig. Reload the configuration):

Definition of the memory objects via the StartUp list 6:Fig.35: Reload the configuration

Reload the CoE directory

The old entry is still visible in the CoE-Online tab.

The reason is that TwinCAT primarily only loads the values of CoE objects that are known to the System Manager. If the CoE structure changes on the device, the System Manager has to be instructed to load the new structure, which may differ from the default structure according to XML/Dictionary.

Load the reconfigured CoE directory (Fig. Full reload of the CoE directory):

Definition of the memory objects via the StartUp list 7:Fig.36: Complete reload of the CoE directory

Representation of the new memory objects in the CoE directory

The newly defined memory objects are now visible and enabled, see Fig. Modified CoE directory.

Definition of the memory objects via the StartUp list 8:

Updating the CoE directory

In order to update the display of the CoE directory, use AutoUpdate, UpdateList or the appropriate dialog under Advanced.

Definition of the memory objects via the StartUp list 9:Fig.37: Changed CoE directory
Definition of the memory objects via the StartUp list 10:

Displaying larger CoE objects

In the sample chosen here, the contents of the 3rd memory object in CoE object 0x2010 are not shown in the TwinCAT display, see fig. Changed CoE directory, because the contents are too large for the display. Regardless of that, the contents naturally exist.