Definitions
The following section describes some basic terminology relating to the multi-timestamp function. This is based on the explanatory notes on the technology page, which must be referred to for guidance.
Channel
The EL1259, for example, has 8 input and 8 output channels. Every channel can operate independent of the other channels and has its own buffer and its own settings in the CoE (channel-oriented programming is supported).
Notwithstanding the channel-based parameterization (CoE, PDO), the settings for all channels are implemented together in the terminal.
Cyclic process data/PDO
Each channel has 2 different types of cyclic PDO:
- Diagnostics/status/control values created specifically for the buffer
- The actual "values" as time-stamped Boolean data in the form of an array. The array should be set to a suitable size in the configuration. It cannot be changed during runtime.
See also PDO overview on the commissioning pages and the following sections.
Parameter data/CoE
In the CoE each channel has a parameter range 0x80n0:ff with suitable settings for configuring the buffer or the input/output behavior, for example.
See also information in the commissioning pages.
Buffer
Each channel has its own buffer (memory) for 32 events, based on the FIFO principle. It is served via channel-specific PDOs - see PDO overview on the commissioning pages.
- For inputs: The channel state is queried for its switching state 0/1 based on the microcycle. Any changes that are detected are stored in the buffer. Depending on the configured multi-timestamp factor for the channel (MTSF), the buffer content is retrieved by the controller/PLC via EtherCAT, either in its entirety or in several steps.
The behavior in case of a buffer overflow can be configured; an overflow of the buffer is indicated in the process data. If necessary the buffer can be emptied by the controller. - For outputs: The controller loads switching orders into the buffer, depending on the configured MTSF. In each microcycle a check is performed to determine whether the highest entry in the buffer is to be executed. The behavior in the case of ‘outdated’ timestamps can be configured. If necessary the buffer can be emptied by the controller.
Note: The current FW supports a buffer for 32 events. Other sizes on request.
Event
An "event" is defined as a changing signal edge at the input or output. Therefore, for an input channel an event is the change in input state from 0->1 or 1->0. This consists of the information timestamp of the event and state 0/1 after the change.
For an output channel an event is a switching order, similarly consisting of two items of information: timestamp of the event and state 0/1 after the desired change.
Timestamp
In its original state the EtherCAT distributed clocks time has the following properties: Starting time 1.1.2000 00:00, 64-bit range with 1 ns resolution (~ 584 years). In order to avoid redundant process data, the multi-timestamp terminals operate with a reduced timestamp width of 32 bits (~ 4.29 sec.). Thus switching orders can be specified up to 4.29 seconds in the future – input events must be processed within 4.2 seconds, as otherwise an overflow occurs and the actually recorded time is no longer secured. Within the framework of this documentation, a function block FB is also provided that accomplishes the filling up of 32-bit input timestamps to the currently valid 64 bits in the PLC.
MTSF
Multi-timestamp factor, currently 1..10, higher on request
In the configuration each channel can be configured to a fixed, maximum number of events that can be transferred per EtherCAT cycle. In other words, this is the maximum number of events (switching orders for outputs or events for input terminals) that can be exchanged with the control/PLC. These process data are to be understood as placeholders, which are not all to be filled at all times. This means for
- Inputs:
The number of input events placed in the process data for the controller by the channel matches the number of events that arrived at the input during the last cycle OR are still in the buffer. - Outputs:
The events predefined by the controller are transferred to the channel buffer, which is then processed based on the FIFO principle.
Macrocycle
The terminal requires a certain time for internal cyclic processing of the operations. Depending on the number of active channels and configured MTSF, the internal processing time for the terminal is in the range of several 100 µs, see table below.
The macrocycle time resulting from the actual configuration can be read online from the CoE 0xF900:08.
This time should be regarded as the absolute lower limit for the EtherCAT communication. The EtherCAT task cycle time applied to this terminal should be chosen 10..20 % higher, depending on system performance. The macrocycle times listed in the table below have been determined empirically and should be regarded as guide values. The actual macrocycle time occurring in the system should be verified during commissioning in the CoE object referred to above.
EL1258 macrocycle [µs, typical] |
MTSF 1 |
MTSF 2 |
MTSF 5 |
MTSF 10 |
---|---|---|---|---|
1 channel |
130 |
140 |
160 |
170 |
2 channels |
130 |
140 |
160 |
170 |
4 channels |
130 |
140 |
170 |
200 |
8 channels |
130 |
160 |
190 |
290 |
EL1259 macrocycle [µs, typical] |
MTSF 1 |
MTSF 2 |
MTSF 5 |
MTSF 10 |
---|---|---|---|---|
1 in / 1 out channel |
160 |
160 |
170 |
180 |
2 in / 2 out channels |
170 |
190 |
210 |
270 |
4 in / 4 out channels |
180 |
230 |
260 |
360 |
8 in / 8 out channels |
240 |
320 |
360 |
540 |
EL2258 macrocycle [µs, typical] |
MTSF 1 |
MTSF 2 |
MTSF 5 |
MTSF 10 |
---|---|---|---|---|
1 channel |
90 |
90 |
100 |
120 |
2 channels |
90 |
90 |
100 |
120 |
4 channels |
140 |
150 |
180 |
230 |
8 channels |
150 |
170 |
210 |
290 |
Times for other configurations are best determined via xF900:08.
Microcycle
The microcycle is the internal constant cycle of the terminal, during which sampling of the inputs and testing of the switching orders for outputs takes place. This value depends on the number of active channels, but not on the MTSF value. The corresponding values can be found are in the following table.
The distributed clock in the terminal is controlled via EtherCAT to the standard accuracy of <<1 µs. However, the internal processing microcycle results in a 'coarsening' of the time resolution that can be achieved with the multi-timestamp terminals in practice, as described below.
The microcycle time resulting from the actual configuration can be read online from the CoE 0xF900:09.
The following applies for the sequence:
- For inputs: A switching edge arriving from outside at an input channel at any time is picked up during the next microcycle and placed into the buffer. The time inaccuracy for the acquisition is therefore approx. -x/+0 µs (with x = microcycle time).
- For outputs: A switching order is executed in a microcycle, if it falls into this microcycle for the first time "after" the execution time. It is then immediately deleted from the buffer.
EL1258 |
Microcycle time [µs, typical] |
---|---|
1 channel |
7 |
2 channels |
10 |
4 channels |
14 |
8 channels |
23 |
EL1259 |
Microcycle time [µs, typical] |
---|---|
1 channel |
10 |
2 channels |
14 |
4 channels |
22 |
8 channels |
39 |
EL2258 |
Microcycle time [µs, typical] |
---|---|
1 channel |
7 |
2 channels |
9 |
4 channels |
13 |
8 channels |
21 |
Times for other configurations are best determined via 0xF900:09.