Datalogger ESC8816 communication protocol
Supported device types and versions
Communication line configuration
Communication station configuration
I/O tag configuration
Literature
Changes and modifications
Document revisions
Supported device types and versions
The protocol allows reading and writing data from/into the ESC 8816 datalogger.
Implementation was performed and verified according to the ESC Model 8816 – Data Logger Engineering Manual – TIN 96-1169, August 1996 for the datalogger software version 5.02.
Starting with D2000 version 10.0.37, the communication with DLX1 datalogger is supported. For this device, communication on a TCP/IP-TCP line was also implemented.
The protocol is also compatible with a EDL 15 datalogger produced by ECM Monitory for which addressing of channels above 99 is supported.
Communication includes:
Table 1
Measurement type | I/O tag type | Communication function | Documentation |
---|---|---|---|
Current values | AI | Poll Most Recent Instantaneous Reading | Appendix A – A54 |
Current value flags | DI | Poll Most Recent Instantaneous Reading | Appendix A – A54 |
1m averages with flags | AI, DI | Retrieve Averages | Appendix A – A24 |
15m averages with flags | AI, DI | Retrieve Averages | Appendix A – A24 |
30m averages with flags | AI, DI | Retrieve Averages | Appendix A – A24 |
60m averages with flags | AI, DI | Retrieve Averages | Appendix A – A24 |
Custom-period averages with flags | AI, DI | Retrieve Averages | Appendix A – A24 |
Digital inputs | DI | Poll Current Digital Input Status | Appendix A – A19 |
Calibrations | AI | Poll Calibration Results | Appendix A – A22 |
Real-time – read | TOA | Poll Current Time | Appendix A – A56 |
Real-time – write | TOA | Download Current Time | Appendix A – A40 |
Mathematic constants – write | AO | Download Math Pack Constants | Appendix A – A45 |
Relay outputs – write | DOUT | Switch Digital Output Control Relay On/Off | Appendix A – A64 |
Communication line configuration
- Communication line category: Serial, SerialOverUDP Device Redundant, RFC2217 Client, TCP/IP-TCP (for DLX1).
- Baud rate according to the ESC 8816 datalogger settings - System Configuration Screen – Baud Rate – Port 1, Baud Rate – Port 2, or Baud Rate – Port 3 according to the used datalogger port, 1 stop bit, 8 data bits, no parity.
Line protocol parameters
The following line protocol parameters can be defined:
Table 2
Keyword | Full name | Meaning | Unit | Default value |
---|---|---|---|---|
PM | Passive Mode | Enables the passive mode (listening) of the line. It is enough to define the PM parameter for one station on a line. In the passive mode, the communication between ESC 8816 datalogger and other devices is monitored (datalogger's responses to the master are monitored). Listening allows getting the following types of values:
If the passive mode has been enabled (PM=True), to disable it you must either set the parameter PM=False or restart the D2000 KOM process (i.e. deleting the parameter PM=True is not sufficient). | - | - |
PMT | Passive Mode Timeout | Timeout after expiration of which all stations change their states to the error state if the line is in the passive mode (see the Passive Mode parameter). If no data is received within the timeout, all the stations on a line will change their states to the error state. | sec | 10 |
DC | Debug Calibration | Extended debug information for calibration data reading. | - | False |
AC | Acknowledge Calibration Data | Acknowledgment of calibration data will be sent to the datalogger. If the acknowledgment is not sent, the datalogger will repeatedly send all available calibration data. | - | True |
Communication station configuration
- Communication protocol: ESC 8816.
- The station address is a decimal number within the range of 0..255. Station address must be identical with the datalogger setting "System Configuration Screen" – "Logger ID Code".
- The line mode number must correspond to a correctly configured mode.
Station configuration is different from implementation in the versions D2000 v3.XX. The station time parameters (polling parameters) and polling priority are used, one datalogger must be divided into logical stations as follows:
- Current values - the delay at least 1 second, station priority 0. Current measurements of channels and digital inputs are configured at this station. This is a logical station with the lowest priority, the delay parameter may not be less than 1 second.
- 1m averages - the period 1 minute, the offset 5..10 seconds, station priority 1. One-minute averages of channel measurements are configured at this station. This is a logical station with a higher priority, the parameter offset shouldn't be less than 5 seconds - this is the time provided for the datalogger for processing values.
- 30m averages - the period 30 minute, the offset 5..10 seconds, station priority 2. Thirty-minute averages of channel measurements are configured on this station. This is a logical station with even higher priority, the parameter offset shouldn't be less than 5 seconds - this is the time provided for the datalogger for processing values.
- Calibrations – station with a required period for reading calibration results.
- For other than 1m and 30m averages (15m, 60m, or custom period averages), it is necessary to configure the polling parameters according to the custom average.
Note: Time of values acquired from communication is the time of the beginning of a given period. The division into individual stations is necessary to ensure data reading reliability in the required time and not to overload the communication, e.g. by a frequent acquisition of current values blocking the acquisition of interval averages.
Station protocol parameters
The following station protocol parameters can be defined:
Table 3
Keyword | Full name | Meaning | Unit | Default value |
---|---|---|---|---|
RC | Retry Count | The number of request repeats in case of a communication error. | - | 2 |
RT | Retry Timeout | The delay between individual request repeats in case of a communication error. | ms | 1000 ms. |
WFT | Wait First Timeout | The delay after transmitting the request before reading the response. | ms | 500 ms. |
WT | Wait Timeout | The delay between response readings until its finalization. | ms | 400 ms. |
MWR | Max Wait Retry | The number of repeats of response readings until its finalization. | - | 8 |
GSI | Get Stored Interval | The size of the period, for which the archive data from the datalogger are read without interruption. The period is specified in minutes. If the value of the period is e.g. 60 minutes, so all archive data from e.g. 05:00 to 06:00 are read, then data from 06:00 to 07:00, etc. The reading of archive data from this period shouldn't take more than one minute, because otherwise some of the current data, acquired among archive readings, could be lost. | min | 10 |
MHR1 | Max Hist Read 1min | Limit for the depth of reading the history of 1-minute data. The original ESC 8816 dataloggers had an internal memory for one hour of data. Newer devices supporting the ESC 8816 protocol (e.g. EDL15) can store data significantly longer and thus it is possible to read data after a communication failure in up to 14-31 days. | hour | 1 |
MHRO | Max Hist Read Others | Limit for the depth of reading the history of other data (with a period greater than 1 minute). The original ESC 8816 dataloggers had an internal memory for 30 days of data. Newer devices supporting the ESC 8816 protocol (e.g. EDL15) can store data significantly longer, so it is possible to read data after a communication failure in up to 60 days. | hour | 31*24 |
PV | Protocol Variant | A variant of the protocol. Existing variants are:
| - | 0 - ESC8816 |
A string containing the protocol parameters is defined as follows:
Keyword=value;Keyword=value; ...
Example:
RC=1;RT=500;MWR=10;
If a keyword with an invalid value is used in the initialization string, the corresponding default value according to the table 2 will be used.
I/O tag configuration
Support of communication with ESC 8816 comprises acquisition or setting of the following values:
- reading of current values with flags,
- reading of 1m, 15m, 30m, and 60m averages with flags,
- reading of custom period value averages with flags,
- reading of current states of digital inputs,
- reading of calibration results,
- reading the real-time,
- setting the real-time,
- setting mathematic constants,
- setting relay outputs.
Current value configuration
I/O tag is AI type, measurement type is ACTUAL. The channel number is defined as a decimal number within the range of 0..99.
Note: D2000 supports extended channel addressing syntax (current values, averages, calibration results), which allows addressing channels 0-359 (for datalogger EDL 15), with channels 0-99 backward compatible with standard addressing.
Configuration of current value flags
Current value flags are DI type (Digital Input). The measurement type is ACT Flag.
Note: The No missing data <blank> flag can be configured using the character _ (underline) for clarity.
Configuration of 1m, 15m, 30m, and 60m averages
Averages are values of AI type (Analog Input). Measurement type is 1m AV for 1m averages, 15m AV for 15m averages, 30m AV for 30m averages, and 60m AV for 60m averages. A channel number is a decimal number within the range of 0..99 (see the note about channel addressing).
Flag configuration of 1m, 15m, 30m, and 60m averages
Flags of averages are values of DI type (Digital Input). Measurement type is 1mAV Flag for 1m averages, 15mAV Flag for 15m averages, 30mAV Flag for 30m averages, and 60mAV Flag for 60m averages. A channel number is a decimal number within the range of 0..99 (see the note about channel addressing).
Note: The No missing data <blank> flag can be configured using the character _ (underline) for clarity.
Configuration of custom period averages with flags
When you define Custom AV, a custom time period can be defined. The period must be within the range of 1..999 and the type must be "sec", "min", "hour", or "day". The CustomAV Flag flag do not require to define a period, they are corresponding to the AI value (average) setting for required channel (the value must be defined !).
Configuration of digital inputs
Digital inputs are values of the DI type (Digital Input). The measurement type is Digital Input. The Digital input number is a decimal number within the range of 0...999.
Configuration of calibration results
Calibration results are values of the AI type (Analog Input). The measurement type is CALIB Ph1 for acquiring the value of Average During Zero value or CALIB Ph2 for acquiring the value of Average During Span1. The channel number is a decimal number within the range of 0...99 (see the note about channel addressing).
Note:
The value of Average During Span2 is also returned during reading - the value has always been -999 (invalid value) in a specific application. If the value of the parameter is needed by any other application, the protocol needs to be extended.
Real-time I/O tag configuration
For each station (physically one ESC8816 datalogger), one I/O tag containing the real-time of the corresponding station can be configured. The I/O tag is necessary for real-time synchronization computer -> datalogger.
Mathematic constant I/O tag configuration
Mathematic constants are values of the AO type (Analog Output). The measurement type is MATH. A constant number is a decimal number within the range of 0...99.
Warning: Mathematic constants can't be read, so their current value is the value last written or unknown (after D2000 system restart).
Note: D2000 supports extended mathematic constants addressing syntax, which allows addressing mathematic constants 0-359, with mathematic constants 0-99 backward compatible with standard addressing.
Relay output I/O tag configuration
Relay outputs are values of the DOUT type (Digital Output). The measurement type is Relay Output. An output number is a decimal number within the range of 0...999.
Warning: State (value) of relay outputs can't be read, so their current value is the value last written or unknown (after D2000 system restart). Reading values can be enabled by binding relay outputs with digital inputs and then by controlling the state of the relay outputs using the digital inputs.
I/O tag flag assignment
I/O tag flags (from A to P) are set according to the occurrence of datalogger flags for current values, 1m averages, and 30m averages as follows:
Table 3
I/O tag flag | Meaning | Datalogger flag |
---|---|---|
A | Invalid measurement | "<" or „C“, „B“, „M“, „P“ a „D“ |
B | Transient operation | "F" |
C | Calibration | "C" |
D | Malfunction | "B" |
E | Maintenance | "M" |
F | Power cut | "P" |
G | Inactive measurement | "D" |
I | Layoff | "F" |
Acquisition of archived (stored) values
The ESC 8816 datalogger performs local archiving of measured values. The values can be requested automatically when a dispatcher system breakdown is detected or directly by the dispatcher (D2000 HI, D2000 EventHandler) to complete the D2000 dispatcher system archive.
The method described above allows acquiring calibration values, which are 30 days old, 30m averages for the last 31 days, and 1m averages for the last 60 minutes.
Literature
-
Changes and modifications
- November 1998 - Datalogger software version 5.16
Modification – for 30m averages, both the flag "F" (layoff) and ">" (validity of average with missing measurements) can occur, this half-hour is always considered as invalid.
Modification - new "p" flag - layoff. The "F" flag is set in cases of occurrence of the "p" flag for backward compatibility. - August 2000 - implementation of relay outputs writing
- February 2003 - implementation of 15m/60m/Custom period averages
Document revisions
- Ver. 1.2 – February 8th, 2000 – Update of the versions 4.07 and 4.10.
- Ver. 1.3 – August 22nd, 2000 – controlling relay outputs added.
- Ver. 1.4 - February 7th, 2003 - custom-period averages added.
- Ver. 1.5 - March 13th, 2008 - Update of protocol parameters.
- Ver. 1.6 - August 26th, 2015 - Update of protocol parameters (protocol variant for DLX1 implemented).
- Ver. 1.7 - April 30th, 2018 - Enhancement of channel addressing and mathematic constants from 0-99 to 0-359.
Related pages:
Datalogger ESC8816 communication protocol
Supported device types and versions
Communication line configuration
Communication station configuration
I/O tag configuration
Literature
Changes and modifications
Document revisions
Supported device types and versions
The protocol allows reading and writing data from/into the ESC 8816 datalogger.
Implementation was performed and verified according to the ESC Model 8816 – Data Logger Engineering Manual – TIN 96-1169, August 1996 for the datalogger software version 5.02.
Starting with D2000 version 10.0.37, the communication with DLX1 datalogger is supported. For this device, communication on a TCP/IP-TCP line was also implemented.
The protocol is also compatible with a EDL 15 datalogger produced by ECM Monitory for which addressing of channels above 99 is supported.
Communication includes:
Table 1
Measurement type | I/O tag type | Communication function | Documentation |
---|---|---|---|
Current values | AI | Poll Most Recent Instantaneous Reading | Appendix A – A54 |
Current value flags | DI | Poll Most Recent Instantaneous Reading | Appendix A – A54 |
1m averages with flags | AI, DI | Retrieve Averages | Appendix A – A24 |
15m averages with flags | AI, DI | Retrieve Averages | Appendix A – A24 |
30m averages with flags | AI, DI | Retrieve Averages | Appendix A – A24 |
60m averages with flags | AI, DI | Retrieve Averages | Appendix A – A24 |
Custom-period averages with flags | AI, DI | Retrieve Averages | Appendix A – A24 |
Digital inputs | DI | Poll Current Digital Input Status | Appendix A – A19 |
Calibrations | AI | Poll Calibration Results | Appendix A – A22 |
Real-time – read | TOA | Poll Current Time | Appendix A – A56 |
Real-time – write | TOA | Download Current Time | Appendix A – A40 |
Mathematic constants – write | AO | Download Math Pack Constants | Appendix A – A45 |
Relay outputs – write | DOUT | Switch Digital Output Control Relay On/Off | Appendix A – A64 |
Communication line configuration
- Communication line category: Serial, SerialOverUDP Device Redundant, RFC2217 Client, TCP/IP-TCP (for DLX1).
- Baud rate according to the ESC 8816 datalogger settings - System Configuration Screen – Baud Rate – Port 1, Baud Rate – Port 2, or Baud Rate – Port 3 according to the used datalogger port, 1 stop bit, 8 data bits, no parity.
Line protocol parameters
The following line protocol parameters can be defined:
Table 2
Keyword | Full name | Meaning | Unit | Default value |
---|---|---|---|---|
PM | Passive Mode | Enables the passive mode (listening) of the line. It is enough to define the PM parameter for one station on a line. In the passive mode, the communication between ESC 8816 datalogger and other devices is monitored (datalogger's responses to the master are monitored). Listening allows getting the following types of values:
If the passive mode has been enabled (PM=True), to disable it you must either set the parameter PM=False or restart the D2000 KOM process (i.e. deleting the parameter PM=True is not sufficient). | - | - |
PMT | Passive Mode Timeout | Timeout after expiration of which all stations change their states to the error state if the line is in the passive mode (see the Passive Mode parameter). If no data is received within the timeout, all the stations on a line will change their states to the error state. | sec | 10 |
DC | Debug Calibration | Extended debug information for calibration data reading. | - | False |
AC | Acknowledge Calibration Data | Acknowledgment of calibration data will be sent to the datalogger. If the acknowledgment is not sent, the datalogger will repeatedly send all available calibration data. | - | True |
Communication station configuration
- Communication protocol: ESC 8816.
- The station address is a decimal number within the range of 0..255. Station address must be identical with the datalogger setting "System Configuration Screen" – "Logger ID Code".
- The line mode number must correspond to a correctly configured mode.
Station configuration is different from implementation in the versions D2000 v3.XX. The station time parameters (polling parameters) and polling priority are used, one datalogger must be divided into logical stations as follows:
- Current values - the delay at least 1 second, station priority 0. Current measurements of channels and digital inputs are configured at this station. This is a logical station with the lowest priority, the delay parameter may not be less than 1 second.
- 1m averages - the period 1 minute, the offset 5..10 seconds, station priority 1. One-minute averages of channel measurements are configured at this station. This is a logical station with a higher priority, the parameter offset shouldn't be less than 5 seconds - this is the time provided for the datalogger for processing values.
- 30m averages - the period 30 minute, the offset 5..10 seconds, station priority 2. Thirty-minute averages of channel measurements are configured on this station. This is a logical station with even higher priority, the parameter offset shouldn't be less than 5 seconds - this is the time provided for the datalogger for processing values.
- Calibrations – station with a required period for reading calibration results.
- For other than 1m and 30m averages (15m, 60m, or custom period averages), it is necessary to configure the polling parameters according to the custom average.
Note: Time of values acquired from communication is the time of the beginning of a given period. The division into individual stations is necessary to ensure data reading reliability in the required time and not to overload the communication, e.g. by a frequent acquisition of current values blocking the acquisition of interval averages.
Station protocol parameters
The following station protocol parameters can be defined:
Table 3
Keyword | Full name | Meaning | Unit | Default value |
---|---|---|---|---|
RC | Retry Count | The number of request repeats in case of a communication error. | - | 2 |
RT | Retry Timeout | The delay between individual request repeats in case of a communication error. | ms | 1000 ms. |
WFT | Wait First Timeout | The delay after transmitting the request before reading the response. | ms | 500 ms. |
WT | Wait Timeout | The delay between response readings until its finalization. | ms | 400 ms. |
MWR | Max Wait Retry | The number of repeats of response readings until its finalization. | - | 8 |
GSI | Get Stored Interval | The size of the period, for which the archive data from the datalogger are read without interruption. The period is specified in minutes. If the value of the period is e.g. 60 minutes, so all archive data from e.g. 05:00 to 06:00 are read, then data from 06:00 to 07:00, etc. The reading of archive data from this period shouldn't take more than one minute, because otherwise some of the current data, acquired among archive readings, could be lost. | min | 10 |
PV | Protocol Variant | A variant of the protocol. Existing variants are:
| - | 0 - ESC8816 |
A string containing the protocol parameters is defined as follows:
Keyword=value;Keyword=value; ...
Example:
RC=1;RT=500;MWR=10;
If a keyword with an invalid value is used in the initialization string, the corresponding default value according to the table 2 will be used.
I/O tag configuration
Support of communication with ESC 8816 comprises acquisition or setting of the following values:
- reading of current values with flags,
- reading of 1m, 15m, 30m, and 60m averages with flags,
- reading of custom period value averages with flags,
- reading of current states of digital inputs,
- reading of calibration results,
- reading the real-time,
- setting the real-time,
- setting mathematic constants,
- setting relay outputs.
Current value configuration
I/O tag is AI type, measurement type is ACTUAL. The channel number is defined as a decimal number within the range of 0..99.
Note: D2000 supports extended channel addressing syntax (current values, averages, calibration results), which allows addressing channels 0-359 (for datalogger EDL 15), with channels 0-99 backward compatible with standard addressing.
Configuration of current value flags
Current value flags are DI type (Digital Input). The measurement type is ACT Flag.
Note: The No missing data <blank> flag can be configured using the character _ (underline) for clarity.
Configuration of 1m, 15m, 30m, and 60m averages
Averages are values of AI type (Analog Input). Measurement type is 1m AV for 1m averages, 15m AV for 15m averages, 30m AV for 30m averages, and 60m AV for 60m averages. A channel number is a decimal number within the range of 0..99 (see the note about channel addressing).
Flag configuration of 1m, 15m, 30m, and 60m averages
Flags of averages are values of DI type (Digital Input). Measurement type is 1mAV Flag for 1m averages, 15mAV Flag for 15m averages, 30mAV Flag for 30m averages, and 60mAV Flag for 60m averages. A channel number is a decimal number within the range of 0..99 (see the note about channel addressing).
Note: The No missing data <blank> flag can be configured using the character _ (underline) for clarity.
Configuration of custom period averages with flags
When you define Custom AV, a custom time period can be defined. The period must be within the range of 1..999 and the type must be "sec", "min", "hour", or "day". The CustomAV Flag flag do not require to define a period, they are corresponding to the AI value (average) setting for required channel (the value must be defined !).
Configuration of digital inputs
Digital inputs are values of the DI type (Digital Input). The measurement type is Digital Input. The Digital input number is a decimal number within the range of 0...999.
Configuration of calibration results
Calibration results are values of the AI type (Analog Input). The measurement type is CALIB Ph1 for acquiring the value of Average During Zero value or CALIB Ph2 for acquiring the value of Average During Span1. The channel number is a decimal number within the range of 0...99 (see the note about channel addressing).
Note:
The value of Average During Span2 is also returned during reading - the value has always been -999 (invalid value) in a specific application. If the value of the parameter is needed by any other application, the protocol needs to be extended.
Real-time I/O tag configuration
For each station (physically one ESC8816 datalogger), one I/O tag containing the real-time of the corresponding station can be configured. The I/O tag is necessary for real-time synchronization computer -> datalogger.
Mathematic constant I/O tag configuration
Mathematic constants are values of the AO type (Analog Output). The measurement type is MATH. A constant number is a decimal number within the range of 0...99.
Warning: Mathematic constants can't be read, so their current value is the value last written or unknown (after D2000 system restart).
Note: D2000 supports extended mathematic constants addressing syntax, which allows addressing mathematic constants 0-359, with mathematic constants 0-99 backward compatible with standard addressing.
Relay output I/O tag configuration
Relay outputs are values of the DOUT type (Digital Output). The measurement type is Relay Output. An output number is a decimal number within the range of 0...999.
Warning: State (value) of relay outputs can't be read, so their current value is the value last written or unknown (after D2000 system restart). Reading values can be enabled by binding relay outputs with digital inputs and then by controlling the state of the relay outputs using the digital inputs.
I/O tag flag assignment
I/O tag flags (from A to P) are set according to the occurrence of datalogger flags for current values, 1m averages, and 30m averages as follows:
Table 3
I/O tag flag | Meaning | Datalogger flag |
---|---|---|
A | Invalid measurement | "<" or „C“, „B“, „M“, „P“ a „D“ |
B | Transient operation | "F" |
C | Calibration | "C" |
D | Malfunction | "B" |
E | Maintenance | "M" |
F | Power cut | "P" |
G | Inactive measurement | "D" |
I | Layoff | "F" |
Acquisition of archived (stored) values
The ESC 8816 datalogger performs local archiving of measured values. The values can be requested automatically when a dispatcher system breakdown is detected or directly by the dispatcher (D2000 HI, D2000 EventHandler) to complete the D2000 dispatcher system archive.
The method described above allows acquiring calibration values, which are 30 days old, 30m averages for the last 31 days, and 1m averages for the last 60 minutes.
Literature
-
Changes and modifications
- November 1998 - Datalogger software version 5.16
Modification – for 30m averages, both the flag "F" (layoff) and ">" (validity of average with missing measurements) can occur, this half-hour is always considered as invalid.
Modification - new "p" flag - layoff. The "F" flag is set in cases of occurrence of the "p" flag for backward compatibility. - August 2000 - implementation of relay outputs writing
- February 2003 - implementation of 15m/60m/Custom period averages
Document revisions
- Ver. 1.2 – February 8th, 2000 – Update of the versions 4.07 and 4.10.
- Ver. 1.3 – August 22nd, 2000 – controlling relay outputs added.
- Ver. 1.4 - February 7th, 2003 - custom-period averages added.
- Ver. 1.5 - March 13th, 2008 - Update of protocol parameters.
- Ver. 1.6 - August 26th, 2015 - Update of protocol parameters (protocol variant for DLX1 implemented).
- Ver. 1.7 - April 30th, 2018 - Enhancement of channel addressing and mathematic constants from 0-99 to 0-359.
Related pages:
Pridať komentár