PL1000E Communication ECM Modbus Interface Overview
The PL1000E supports a subset of the common Modbus Function Codes that are used for data transfer. Table 1 documents the Function Codes and the addressing ranges which are supported by the PL1000E. The specific Modbus Registers in each application will vary depending on the configuration in the Parameter Translation Editor (PTE).
Function Code | Description | Modbus Address Range |
3 | Read Holding Registers | 40001 through 42000 inclusive |
6 | Preset Single Register | 40001 through 42000 inclusive |
16 | Preset Multiple Registers | 40001 through 42000 inclusive |
Modbus Parameter Translation Data Location and Formats
The PL1000E Communication ECM provides parameter translations of Cat Data Link and J1939 data to Modbus.
The data that is provided on the Modbus Communication Link has the same scaling as the source data link. The Modbus application can use the scaling information in order to transform the data to a value that can be displayed.
Each parameter that is defined in the PCL file has a starting Modbus Register. Each parameter that is defined in the PCL file has an associated number of registers that are required to house the data.
The data is housed according to the source data link definition and according to the data length definition. The process to house the data applies to all of the parameters with the exception of Events and Diagnostics.
The next section covers the format, length, and definition of the Event and Diagnostic data as the data is presented to the Modbus interface.
Events and Diagnostics
Event and Diagnostic information is internally retrieved and tabulated by the PL1000E if the Event and Diagnostic parameter translations were included in the PCL file. Event or Diagnostic parameter translations can also be defined independently. Therefore, the user can only configure translations for diagnostics that are desired.
Event and Parameter Translations – Cat Data Link Event and Diagnostic Codes
Different versions of ECMs that are on Cat Data Link and J1939 are capable of transmitting the event and diagnostic information in multiple versions of communication protocols.
The different communication protocols are managed internally by the PL1000E. The Modbus application does not need to be aware of these communication differences. The PL1000E determines the appropriate communication method from the source data link. The PL1000E presents a list of event and diagnostic data that is consistent regardless of the source data link communication method.
The tables for each type of code are very similar. However, there is some additional information that is available or required for certain codes. The additional information dictated minor differences in the table format and content. The events and diagnostics are available in the following form beginning at the starting Modbus Register as defined in the PCL file.
If the CDL Event Translations were configured in the PCL file to begin at Modbus Register 40,207, then referring to Table 5, offset zero (0) would be available at Modbus Register 40,207. Offset 1 would be available at 40,208.
Cat Data Link Events | ||
Modbus Register Offset | Contents | Comments |
0 | Count of active events | Most Significant Byte (MSB): Count of active events |
Least Significant Byte (LSB): Maximum table size | ||
1 | Event retrieval status | MSB: Bit mapped status indicator Bits 8 through 3: Reserved Bit 2: 1= table is being updated, 0= table is not being updated Bit 1: 1= data is stale, 0= data is not stale Bit 0: 1= overflow, 0= no overflow (1) |
LSB: Reserved | ||
2 | Negotiated update rate | MSB: update rate (HI byte) |
LSB: update rate (LO byte). The rate in milliseconds that the source ECM sends updates of the “Event Code” table to the PL1000E. | ||
3 | First Event Identifier (EID) | MSB: Event Identifier 1 |
LSB: Reserved | ||
4 | Additional Event Identifier information | MSB: Bits 8 through 4: Reserved Bits 3 through 1: Warning Category Indicator (WCI) WCI values: 0 or 1 = Warning, 2 = Service, 3 = Shut Down |
LSB: Reserved |
( 1 ) | Overflow status means that there are more DTCs present than the table can contain. |
Register offsets 3 and 4 are repeated for each event reported by the source device. The “Cat Data Link Events Table” that is shown above, will hold a maximum of 20 event entries. Refer to the explanation that is in the footnote (2) of Table 2 for overflow in status bytes when more than 20 events are active on a device.
Cat Data Link Diagnostics | ||
Modbus Register Offset | Contents | Comments |
0 | Count of active diagnostics | Most Significant Byte (MSB): Count of active diagnostics |
Least Significant Byte (LSB): Maximum table size | ||
1 | Diagnostics retrieval status | MSB: Bit mapped status indicator Bits 8 through 3: Reserved Bit 2: 1= table is being updated, 0= table is not being updated Bit 1: 1= data is stale, 0= data is not stale Bit 0: 1= overflow, 0= no overflow (1) |
LSB: Reserved | ||
2 | Negotiated update rate | The minimum update rate at which the source ECM can provide diagnostic code updates to the PL1000E in milliseconds. (MSB first) |
3 | First Component Identifier (CID) | MSB: Component Identifier 1 |
LSB: Reserved | ||
4 | Additional Component Identifier Information | MSB Bits 8 through 6: Warning Category Indicator (WCI) WCI values: 0 or 1 = Warning, 2 = Service, 3 = Shut Down Bits 5 through 1: Failure Mode Identifier (FMI) |
LSB: Reserved |
( 1 ) | Overflow status means that there are more DTCs present than the table can contain. |
Register offsets 3 and 4 are repeated for each diagnostic reported by the source device. The “Cat Data Link Diagnostics Table” that is shown above, will hold a maximum of 20 diagnostic entries. Refer to the explanation that is in the footnote (2) of Table 3 for overflow in status bytes when more than 20 events are active on a device.
Event and Parameter Translations – J1939 Diagnostic Trouble Codes (DTC)
When the Conversion Method (CM) of all DTC’s reported by a device is set to 1, the pairs of DTC Modbus Registers will be sorted in ascending order by SPN. There will be two instances of Table 4 for each device for which diagnostic retrieval has been configured in the PCL file. The two tables will be contiguously located in the Modbus Register ranges beginning with the starting register as defined in the PCL file. The first table will contain all DTCs that are reported by the device. The second table will contain all emission related DTCs that are reported by the device. Non-emission related DTCs will not appear in the table.
J1939 Diagnostic Trouble Codes (DTCs) and Emissions Related DTCs | ||
Modbus Register Offset | Contents | Comments |
0 | Count of active DTC | Most Significant Byte (MSB): Count of active DTCs |
Least Significant Byte (LSB): Maximum table size | ||
1 | DTCs retrieval status | MSB: Bit mapped status indicator Bits 8 through 4: Reserved Bit 3: 1 = Non-standard format, 0 = Standard format (1) Bit 2: 1= table is being updated, 0= table is not being updated Bit 1: 1= data is stale, 0= data is not stale Bit 0: 1= overflow, 0= no overflow (2) |
LSB: Reserved | ||
2 | Lamp status | MSB: Bits 8-7: Malfunction indicator lamp status Bits 6-5: Red stop lamp status Bits 4-3: Amber warning lamp status Bits 2-1: Protect lamp status |
LSB: Bits 8-1: Reserved for SAE assignment lamp status For each pair of bits, the following values represent the associated status: 00 = Lamp is OFF, 01 = Lamp is ON |
||
3 | First two bytes of the first Suspect Parameter Number (SPN) | MSB (When CM has a value of 1): SPN bits (18 through 11) |
LSB (When CM has a value of 1): SPN bits (10 through 3) | ||
MSB (When CM has a value of 0): Indeterminate | ||
LSB (When CM has a value of 0): Indeterminate | ||
4 | Lower order bits of the first SPN Failure Mode Identifier (FMI) Conversion Method (CM) Occurrence Count (OC) |
MSB (When CM has a value of 1): Bits 8 through 6: SPN bits (2 through 0) Bits 5-1: Failure Mode Identifier |
LSB (When CM has a value of 1): Bit 8: Conversion Method Bits 7-1: Occurrence Count |
||
MSB (When CM has a value of 0): (3) Indeterminate | ||
LSB (When CM has a value of 0): Indeterminate |
( 1 ) | Non-standard format – ECM’s that implement the J1939 DTC transmission method prior to 1996 may format data in any of three unidentifiable formats. These formats can not be dependably translated for display. |
( 2 ) | Overflow status means that there are more DTCs present than the table can contain. |
( 3 ) | For details on implementations of the DTC communication methods where CM is 0, please refer to SAE J1939-73. |
Register offsets 3 and 4 are repeated for each SPN reported by the source device. The J1939 DTC’s and Emissions Related DTC’s Table will hold a maximum of 20 DTC entries. See explanation in table of overflow in status byte when more than 20 are active on a device. Refer to the explanation that is in the note of Table 4 for overflow in status bytes when more than 20 DTC events are active on a device.
Note: Some devices may have implemented both CMs, so some of the DTCs may be in the appropriate format while some remain indeterminate.
PL1000E Communication ECM Default Status Modbus Registers
The PL1000E Communication ECM has been designed to support a set of default status Modbus Registers that can be used to verify initial connectivity and status of the ECM communications. The registers and associated data are listed in the table shown in Table 5.
Default Status Modbus Registers | ||
Starting Register | Modbus Register Contents | Format and Length |
40,001 | ECM Part Number | String 5 registers (10 ASCII bytes) |
40,006 | ECM Serial Number | String 5 registers (10 ASCII bytes) |
40,011 | Personality Module (Software) Part Number | String 5 registers (10 ASCII bytes) |
40,016 | Module Release Date (Application Date Code) string | String 3 registers (5 ASCII bytes) (MM MY Yx) Where MM M is the month (JAN, FEB, etc.) and Y Y is the last two digits of the year (2005 would be 05) |
40,019 | Reserved | 2 registers (4 bytes) |
40,021 | Module Description | String 13 registers (26 ASCII bytes) |
40,034 | PCL file status (0 = Initializing, 1 = OK, 2 = error or not present) | 1 register (1 byte LSB) PCL file status (0 = Initializing, 1 = OK, 2 = error or not present) |
40,035 | ECM Lifetime Clock | 2 registers (4 bytes) Hours (MSB) |
40,037 | Reserved | 4 registers (8 bytes) |
40,041 | CDL Received Messages | (MSB) 2 registers |
40,043 | CDL Received Errors | (MSB) 2 registers |
40,045 | CDL transmitted messages | (MSB) 2 registers |
40,047 | CDL transmitted errors | (MSB) 2 registers |
40,049 | Reserved | 2 registers (4 bytes) |
40,051 | J1939 received messages | (MSB) 2 registers |
40,053 | J1939 received errors | (MSB) 2 registers |
40,055 | J1939 transmitted messages | (MSB) 2 registers |
40,057 | J1939 transmitted errors | (MSB) 2 registers |
40,059 | Reserved | 2 registers (4 bytes) |
40,061 | RS-232 Port 1 received Modbus – RTU messages | (MSB) 2 registers |
40,063 | RS-232 Port 1 received Modbus – RTU errors | (MSB) 2 registers |
40,065 | RS-232 Port 1 transmitted Modbus – RTU messages | (MSB) 2 register |
40,067 | RS-232 Port 1 transmitted Modbus – RTU errors | (MSB) 2 registers |
40,069 | Reserved | 2 registers (4 bytes) |
40,071 | RS-232 Port 2 received Modbus – RTU messages | (MSB) 2 registers |
40,073 | RS-232 Port 2 received Modbus – RTU errors | (MSB) 2 registers |
40,075 | RS232 Port 2 transmitted Modbus – RTU messages | (MSB) 2 registers |
40,077 | RS232 Port 2 transmitted Modbus – RTU errors | (MSB) 2 registers |
40,079 | Reserved | 2 registers (4 bytes) |
40,081 | RS422/485 Port 4 received Modbus – RTU messages | (MSB) 2 registers |
40,083 | RS422/485 Port 4 received Modbus – RTU errors | (MSB) 2 registers |
40,085 | RS422/485 Port 4 transmitted Modbus – RTU messages | (MSB) 2 registers |
40,087 | RS422/485 Port 4 transmitted Modbus – RTU errors | (MSB) 2 registers |
40,089 | Reserved | 2 registers (4 bytes) |
40,091 | Ethernet received Modbus – TCP messages | (MSB) 2 registers |
40,093 | Ethernet received Modbus – TCP errors | (MSB) 2 registers |
40,095 | Ethernet transmitted Modbus – TCP messages | (MSB) 2 registers |
40,097 | Ethernet transmitted Modbus – TCP errors | (MSB) 2 registers |
40,099 | number of Modbus – TCP connections | (MSB) 1 register |
40,100 | Reserved | 100 registers (200 bytes) |
40,201 | ECM Mapping – Number of Entries (30 entries or 15 pairs) | (MSB) 1 register |
40,202 | ECM Address (from) | (MSB) 2 registers |
40,204 | ECM Type and Port | 1 register high byte = Type low byte = Port |
40,205 | ECM Address (to) | (MSB) 2 registers |
40,207 | ECM Type and Port | 1 register MSB = Type LSB = Port |
Description of Default Status Data
All sample messaging in the following table assumes that the Modbus slave address, that is also referred to as the “Device ID”, of the PL1000E is set to $15. The default address is 254 ($FE). In order to retrieve the status data from the PL1000E, use the Modbus slave address or “Device ID” that was defined in the Cat ET configuration screen for the respective Modbus object.
The following sample messages do not include the checksum. The checksum would be the last two bytes in a request or a response.
ECM Part Number
The Caterpillar part number of the PL1000E communication module
Sample Message:
- Request from Modbus Master 15 03 00 00 00 05
- Response from PL1000E Slave 15 03 0A 32 35 38 34 38 2D 30 31
- Data = 2584548-01
ECM Serial Number
The serial number of the PL1000E communication module in the standard Caterpillar serial numbering format.
Sample Message:
- Request from Modbus Master 15 03 00 05 00 05
- Response from PL1000E Slave 15 03 0A 30 35 30 35 42 30 30 31 48 55
- Data = 0505B001HU
Personality Module Part Number
The application software flash file part number currently programmed into the PL1000E communication module.
Sample Message:
- Request from Modbus Master 15 03 00 0A 00 05
- Response from PL1000E Slave 15 03 0A 32 35 38 36 38 30 36 2D 30 30
- Data = 2586806
Application Date Code
The month and year (last two digits) of the application software flash file release.
Sample Message:
- Request from Modbus Master 15 03 00 0F 00 03
- Response from PL1000E Slave 15 03 06 41 55 47 30 38 00
- Data = AUG08
Personality Module Description
Text description of the PL1000E communication module as it is identified in the Service Tool. This is the same description seen on the “ECM Summary” screen in Service Tool.
Sample Message:
- Request from Modbus Master 15 03 00 14 00 0D
- Response from PL1000E Slave 15 03 1A 50 4C 31 30 30 30 45 20 43 6F 6D 6D 75 6E 69 63 61 74 69 6F 6E 20 45 43 55 00
- Data = PL1000E Communication ECU
PCL File Status
Each time the PL1000E is powered on, it searches for a new PCL file. If the PCL is present in the “NEW” directory, then the PL1000E will process the PCL file and the PL1000E will assume the configuration that is contained within the PCL file.
Sample Message:
- Request from Modbus Master 15 03 00 21 00 01
- Response from PL1000E Slave 15 03 02 00 01
- Data = 01 (Refer to the following note.)
Note: Data = 01 means “PCL File OK”.
Refer to Table 5 for the definitions of the possible data values.
ECM Lifetime Clock
An internal timer that indicates the amount of time that the PL1000E has been in operation over its lifetime. The ECM lifetime clock is NOT the service meter hours. The ECM lifetime clock is an independent accumulation of operation hours of the PL1000E device itself.
Sample Message:
- Request from Modbus Master 15 03 00 22 00 02
- Response from PL1000E Slave 15 03 04 00 00 00 B2
- Data = 178 hours
- Scale = 1 hour/bit
CDL Received Messages
An accumulator that indicates the number of messages that have been successfully received on CDL. Use this information as an indicator of whether or not the PL1000E is receiving data on CDL. The value is reset each time that the PL1000E has the power removed and then has the power turned back on. The accumulator value is not a lifetime total. If power to the PL1000E is left on for an extended amount of time, then the accumulator value can roll over and will begin to increment from zero once again.
Sample Message:
- Request from Modbus Master 15 03 00 28 00 02
- Response from PL1000E Slave 15 03 04 00 00 50 1D 24
- Data = 5,250,340 messages
CDL Received Errors
An accumulator that indicates the number of errors that have been received on CDL. Received errors can indicate incorrect system wiring or incorrectly configured parameter translation. The accumulator value is reset each time that the PL1000E has the power removed and then has the power turned back on. The accumulator value is not a lifetime total. If power to the PL1000E is left on for an extended amount of time, then the accumulator value can roll over and will begin to increment from zero once again.
Sample Message:
- Request from Modbus Master 15 03 00 2A 00 02
- Response from PL1000E Slave 15 03 04 00 00 00 00
- Data = 0 errors
- Scale = 1 error message/bit
CDL Transmitted Messages
An accumulator that indicates the number of messages that have been successfully transmitted by the PL1000E over CDL. The value is reset each time that the PL1000E has the power removed and then has the power turned back on. The accumulator value is not a lifetime total. If power to the PL1000E is left on for an extended amount of time, then the accumulator value can roll over and will begin to increment from zero once again.
Sample Message:
- Request from Modbus Master 15 03 00 2C 00 02
- Response from PL1000E Slave 15 03 04 00 50 1D 24
- Data = 4436 messages
- Scale = 1 message/bit
CDL Transmitted Errors
An accumulator that indicates the number of errors that have occurred while the PL1000E was attempting to transmit a CDL message. Transmitted errors can indicate incorrect or faulty system wiring. The accumulator value is reset each time that the PL1000E has the power removed and then has the power turned back on. The accumulator value is not a lifetime total. If power to the PL1000E is left on for an extended amount of time, then the accumulator value can roll over and will begin to increment from zero once again.
Sample Message:
- Request from Modbus Master 15 03 00 2E 00 02
- Response from PL1000E Slave 15 03 04 00 00 00 00
- Data = 0 errors
J1939 Received Messages
An accumulator that indicates the number of messages that have been successfully received on J1939. Use this information as an indicator of whether or not the PL1000E is receiving data on J1939. The value is reset each time that the PL1000E has the power removed and then has the power turned back on. The accumulator value is not a lifetime total. If power to the PL1000E is left on for an extended amount of time, then the accumulator value can roll over and will begin to increment from zero once again.
Sample Message:
- Request from Modbus Master 15 03 00 32 00 02
- Response from PL1000E Slave 15 03 04 00 50 1D 24
- Data = 5,250,340 messages
- Scale = 1 message/bit
J1939 Received Errors
An accumulator that indicates the number of errors that have been received on J1939. Received errors can indicate incorrect or faulty system wiring or incorrectly configured parameter translation. The accumulator value is reset each time that the PL1000E has the power removed and then has the power turned back on. The accumulator value is not a lifetime total. If power to the PL1000E is left on for an extended amount of time, then the accumulator value can roll over and will begin to increment from zero once again.
Sample Message:
- Request from Modbus Master 15 03 00 34 00 02
- Response from PL1000E Slave 15 03 04 00 00 00 00
- Data = 0 errors
- Scale = 1 error message/bit
J1939 Transmitted Messages
An accumulator that indicates the number of messages that have been successfully transmitted by the PL1000E over J1939. The value is reset each time that the PL1000E has the power removed and then has the power turned back on. The accumulator value is not a lifetime total. If power to the PL1000E is left on for an extended amount of time, then the accumulator value can roll over and will begin to increment from zero once again.
Sample Message:
- Request from Modbus Master 15 03 00 36 00 02
- Response from PL1000E Slave 15 03 04 00 00 11 54
- Data = 4436 messages
J1939 Transmitted Errors
An accumulator that indicates the number of errors that have occurred while the PL1000E was attempting to transmit a J1939 message. Transmitted errors can indicate incorrect or faulty system wiring. The accumulator value is reset each time that the PL1000E has the power removed and then has the power turned back on. The accumulator value is not a lifetime total. If power to the PL1000E is left on for an extended amount of time, then the accumulator value can roll over and will begin to increment from zero once again.
Sample Message:
- Request from Modbus Master 15 03 00 38 00 02
- Response from PL1000E Slave 15 03 04 00 00 00 00
- Data = 0 errors
- Scale = 1 transmit error/bit
RS-232 Port 1 Received Modbus-RTU Messages
An accumulator that indicates the number of modbus messages that have been successfully received on RS-232 Port 1. Use this information as an indicator of whether or not the PL1000E is receiving modbus requests on RS-232 Port 1. The value is reset each time that the PL1000E has the power removed and then has the power turned back on. The accumulator value is not a lifetime total. If power to the PL1000E is left on for an extended amount of time, then the accumulator value can roll over and will begin to increment from zero once again.
Sample Message:
- Request from Modbus Master 15 03 00 3C 00 02
- Response from PL1000E Slave 15 03 04 00 50 1D 24
- Data = 5,250,340 messages
- Scale = 1 message/bit
RS-232 Port 1 Received Modbus-RTU Errors
An accumulator that indicates the number of modbus errors that have been received on RS-232 Port 1. Received errors can indicate incorrect or faulty system wiring or incorrectly formatted modbus messages that are being sent by another modbus device. The accumulator value is reset each time that the PL1000E has the power removed and then has the power turned back on. The accumulator value is not a lifetime total. If power to the PL1000E is left on for an extended amount of time, then the accumulator value can roll over and will begin to increment from zero once again.
Sample Message:
- Request from Modbus Master 15 03 00 3E 00 02
- Response from PL1000E Slave 15 03 04 00 00 00 00
- Data = 0 errors
- Scale = 1 error message/bit
RS-232 Port 1 Transmitted Modbus-RTU Messages
An accumulator that indicates the number of modbus messages that have been successfully transmitted by the PL1000E over RS-232 Port 1. The value is reset each time that the PL1000E has the power removed and then has the power turned back on. The accumulator value is not a lifetime total. If power to the PL1000E is left on for an extended amount of time, then the accumulator value can roll over and will begin to increment from zero once again.
Sample Message:
- Request from Modbus Master 15 03 00 40 00 02
- Response from PL1000E Slave 15 03 04 00 00 11 54
- Data = 4436 messages
- Scale = 1 message/bit
RS-232 Port 1 Transmitted Modbus-RTU Errors
An accumulator that indicates the number of errors that have occurred while the PL1000E was attempting to transmit a modbus message over RS-232 Port 1. Transmitted errors can indicate incorrect or faulty system wiring or incorrect baud rate settings. The accumulator value is reset each time that the PL1000E has the power removed and then has the power turned back on. The accumulator value is not a lifetime total. If power to the PL1000E is left on for an extended amount of time, then the accumulator value can roll over and will begin to increment from zero once again.
Sample Message:
- Request from Modbus Master 15 03 00 42 00 02
- Response from PL1000E Slave 15 03 04 00 00 00 00
- Data = 0 errors
- Scale = 1 transmit error/bit
RS-232 Port 2 Received Modbus-RTU Messages
An accumulator that indicates the number of modbus messages that have been successfully received on RS-232 Port 2. Use this information as an indicator of whether or not the PL1000E is receiving modbus requests on RS-232 Port 2. The value is reset each time that the PL1000E has the power removed and then has the power turned back on. The accumulator value is not a lifetime total. If power to the PL1000E is left on for an extended amount of time, then the accumulator value can roll over and will begin to increment from zero once again.
Sample Message:
- Request from Modbus Master 15 03 00 46 00 02
- Response from PL1000E Slave 15 03 04 00 50 1D 24
- Data = 5,250,340 messages
- Scale = 1 message/bit
RS-232 Port 2 Received Modbus-RTU Errors
An accumulator that indicates the number of modbus errors that have been received on RS-232 Port 2. Received errors can indicate incorrect or faulty system wiring or incorrectly formatted modbus messages that are being sent by another modbus device. The accumulator value is reset each time that the PL1000E has the power removed and then has the power turned back on. The accumulator value is not a lifetime total. If power to the PL1000E is left on for an extended amount of time, then the accumulator value can roll over and will begin to increment from zero once again.
Sample Message:
- Request from Modbus Master 15 03 00 48 00 02
- Response from PL1000E Slave 15 03 04 00 00 00 00
- Data = 0 errors
- Scale = 1 error message/bit
RS-232 Port 2 Transmitted Modbus-RTU Messages
An accumulator that indicates the number of modbus messages that have been successfully transmitted by the PL1000E over RS-232 Port 2. The value is reset each time that the PL1000E has the power removed and then has the power turned back on. The accumulator value is not a lifetime total. If power to the PL1000E is left on for an extended amount of time, then the accumulator value can roll over and will begin to increment from zero once again.
Sample Message:
- Request from Modbus Master 15 03 00 4A 00 02
- Response from PL1000E Slave 15 03 04 00 00 11 54
- Data = 4436 messages
- Scale = 1 message/bit
RS-232 Port 2 Transmitted Modbus-RTU Errors
An accumulator that indicates the number of errors that have occurred while the PL1000E was attempting to transmit a modbus message over RS-232 Port 2. Transmitted errors can indicate incorrect or faulty system wiring or incorrect baud rate settings. The accumulator value is reset to zero each time that the PL1000E has the power removed and then has the power turned back on. The accumulator value is not a lifetime total. If power to the PL1000E is left on for an extended amount of time, then the accumulator value can roll over and will begin to increment from zero once again.
Sample Message:
- Request from Modbus Master 15 03 00 4C 00 02
- Response from PL1000E Slave 15 03 04 00 00 00 00
- Data = 0 errors
- Scale = 1 transmit error/bit
RS-422 and RS-485 Port 4 Received Modbus-RTU Messages
An accumulator that indicates the number of modbus messages that have been successfully received on RS-422 and RS-485 Port 4. Use this information as an indicator of whether or not the PL1000E is receiving modbus requests on RS-422 and RS-485 Port 4. The value is reset each time that the PL1000E has the power removed and then has the power turned back on. The accumulator value is not a lifetime total. If power to the PL1000E is left on for an extended amount of time, then the accumulator value can roll over and will begin to increment from zero once again.
Sample Message:
- Request from Modbus Master 15 03 00 50 00 02
- Response from PL1000E Slave 15 03 04 00 50 1D 24
- Data = 5,250,340 messages
- Scale = 1 message/bit
RS-422 and RS-485 Port 4 Received Modbus-RTU Errors
An accumulator that indicates the number of modbus errors that have been received on RS-422 and RS-485 Port 4. Received errors can indicate incorrect or faulty system wiring or incorrectly formatted modbus messages that are being sent by another modbus device. The accumulator value is reset to zero each time that the PL1000E has the power removed and then has the power turned back on. The accumulator value is not a lifetime total. If power to the PL1000E is left on for an extended amount of time, then the accumulator value can roll over and will begin to increment from zero once again.
Sample Message:
- Request from Modbus Master 15 03 00 52 00 02
- Response from PL1000E Slave 15 03 04 00 00 00 00
- Data = 0 errors
- Scale = 1 error message/bit
RS-422 and RS-485 Port 4 Transmitted Modbus-RTU Messages
An accumulator that indicates the number of modbus messages that have been successfully transmitted by the PL1000E over RS-422 and RS-485 Port 4. The value is reset to zero each time that the PL1000E has the power removed and then has the power turned back on. The accumulator value is not a lifetime total. If power to the PL1000E is left on for an extended amount of time, then the accumulator value can roll over and will begin to increment from zero once again.
Sample Message:
- Request from Modbus Master 15 03 00 54 00 02
- Response from PL1000E Slave 15 03 04 00 00 11 54
- Data = 4436 messages
- Scale = 1 message/bit
RS-422 and RS-485 Port 4 Transmitted Modbus-RTU Errors
An accumulator that indicates the number of errors that have occurred while the PL1000E was attempting to transmit a modbus message over RS-422 and RS-485 Port 4. Transmitted errors can indicate incorrect or faulty system wiring or incorrect baud rate settings. The accumulator value is reset to zero each time that the PL1000E has the power removed and then has the power turned back on. The accumulator value is not a lifetime total. If power to the PL1000E is left on for an extended amount of time, then the accumulator value can roll over and will begin to increment from zero once again.
Sample Message:
- Request from Modbus Master 15 03 00 56 00 02
- Response from PL1000E Slave 15 03 04 00 00 00 00
- Data = 0 errors
- Scale = 1 transmit error/bit
Ethernet Received Modbus-TCP Messages
An accumulator that indicates the number of modbus messages that have been successfully received on the Ethernet port. Use this information as an indicator of whether or not the PL1000E is receiving modbus requests on the Ethernet port. The value is reset to zero each time that the PL1000E has the power removed and then has the power turned back on. The accumulator value is not a lifetime total. If power to the PL1000E is left on for an extended amount of time, then the accumulator value can roll over and will begin to increment from zero once again.
Sample Message:
- Request from Modbus Master 15 03 00 5A 00 02
- Response from PL1000E Slave 15 03 04 00 50 1D 24
- Data = 5,250,340 messages
- Scale = 1 message/bit
Ethernet Received Modbus-TCP Errors
An accumulator that indicates the number of modbus errors that have been received on the Ethernet port. Received errors can indicate incorrect or faulty system wiring or incorrectly formatted modbus messages that are being sent by another modbus device. The value is reset to zero each time that the PL1000E has the power removed and then has the power turned back on. The accumulator value is not a lifetime total. If power to the PL1000E is left on for an extended amount of time, then the accumulator value can roll over and will begin to increment from zero once again.
Sample Message:
- Request from Modbus Master 15 03 00 5C 00 02
- Response from PL1000E Slave 15 03 04 00 00 00 00
- Data = 0 errors
- Scale = 1 error message/bit
Ethernet Transmitted Modbus-TCP Messages
An accumulator that indicates the number of modbus messages that have been successfully transmitted by the PL1000E over the Ethernet port. The value is reset to zero each time that the PL1000E has the power removed and then has the power turned back on. The accumulator value is not a lifetime total. If power to the PL1000E is left on for an extended amount of time, then the accumulator value can roll over and will begin to increment from zero once again.
Sample Message:
- Request from Modbus Master 15 03 00 5E 00 02
- Response from PL1000E Slave 15 03 04 00 00 11 54
- Data = 4436 messages
- Scale = 1 message/bit
Ethernet Transmitted Modbus-TCP Errors
An accumulator that indicates the number of errors that have occurred while the PL1000E was attempting to transmit a modbus message over the Ethernet port. Transmitted errors can indicate incorrect or faulty system wiring or incorrect Ethernet configuration. The accumulator value is reset to zero each time that the PL1000E has the power removed and then has the power turned back on. The accumulator value is not a lifetime total. If power to the PL1000E is left on for an extended amount of time, then the accumulator value can roll over and will begin to increment from zero once again.
Sample Message:
- Request from Modbus Master 15 03 00 60 00 02
- Response from PL1000E Slave 15 03 04 00 00 00 00
- Data = 0 errors
- Scale = 1 transmit error/bit
Number of Modbus-TCP Connections
The number of modbus TCP connections that are currently recognized by the PL1000E.
Sample Message:
- Request from Modbus Master 15 03 00 62 00 01
- Response from PL1000E Slave 15 03 02 00 01
- Data = 1 Modbus TCP Connection
- Scale = 1 Modbus TCP Connection / bit
ECM Mapping
The ECM mapping registers contain a summary of the parameter translation (PCL) file that is currently loaded into the PL1000E. Each mapping contains:
- A pair of ECM’s, that is, a “FROM ECM” and a “TO ECM”
- The ECM type
- The PL1000E port that is used to communicate to the ECM
The ECM mapping modbus registers are capable of containing a configuration summary for up to 15 pairs of ECM’s for a maximum total of 90 registers.
The following example shows a configuration for a parameter translation from three ECM’s, that are on Cat Data Link, to a “Modbus Master” that is communicating with the PL1000E on RS-232 port 1. The PL1000E is configured with a “Modbus Slave” at address of 0x10 on RS232 Port 1.
- Engine Controller (CDL address 0x24)
- ICSM#1 (CDL address 0x6D)
- ICSM#2 (CDL Address 0x6E)
- To: Modbus Master on RS-232 Port 1
Note: The default “Status Registers” and the “Parameter Translation Registers” are located at different modbus slave addresses on the same physical port. Refer to the “Object – Modbus ECM” section that is located within the “Parameter Translation Configuration”. The “Object – Modbus ECM”section contains information on assigning the appropriate modbus slave address for “Parameter Translation Registers”.
Sample Message:
- Request from Modbus Master 15 03 00 C8 00 10
- Response from PL1000E Slave 15 03 20 00 24 01 10 00 10 02 20 00 6D 01 10 00 10 02 20 00 6E 01 10 00 10 02 20 00 00 00 00 00 00 00 00
- Data = Refer to Table 6
Translation Pair # 1 | |||
byte# | data | 00 24 01 10 (From ECM) | |
1-2 | 00 24 | ECM Address (Engine Controller MID 0x24) | |
3 | 01 | ECM Type (Cat Data Link ECM) | |
4 | 10 | ECM Port (Cat Data Link Port) | |
byte# | data | 00 10 02 20 (To ECM) | |
5-6 | 00 10 | ECM Address (Modbus Slave address 0x10) | |
7 | 02 | ECM Type (Modbus ECM) | |
8 | 20 | ECM Port (Modbus-RTU RS232 Port 1) | |
Translation Pair # 2 | |||
byte# | data | 00 6D 01 10 (From ECM) | |
9-10 | 00 6D | ECM Address (ICSM#1 MID 0x6D) | |
11 | 01 | ECM Type (Cat Data Link ECM) | |
12 | 10 | ECM Port (Cat Data Link Port) | |
byte# | data | 00 10 02 20 (To ECM) | |
13-14 | 00 10 | ECM Address (Modbus Slave address 0x10) | |
15 | 02 | ECM Type (Modbus ECM) | |
16 | 20 | ECM Port (Modbus-RTU RS232 Port 1) | |
Translation Pair # 3 | |||
byte# | data | 00 6E 01 10 (From ECM) | |
17-18 | 00 6E | ECM Address (ICSM#2 MID 0x6E) | |
19 | 01 | ECM Type (Cat Data Link ECM) | |
20 | 10 | ECM Port (Cat Data Link Port) | |
byte# | data | 00 10 02 20 (To ECM) | |
21-22 | 00 10 | ECM Address (Modbus Slave address 0x10) | |
23 | 02 | ECM Type (Modbus ECM) | |
24 | 20 | ECM Port (Modbus-RTU RS232 Port 1) | |
Remaining Bytes | |||
byte# | data | 00 00 00 00 00 00 00 00. .. | |
25-90 | 00 | end of list of mapped ECMs |
Note: All of the remaining registers that are requested by the modbus master, that exceed the total number of ECM mapping pairs, are set to zero.
ECM Mapping Fields – Valid Values
- ECM Address
- ECM Type
- ECM Port
ECM Address – Any value in the range of 1 through 254. This value will represent either an ECM on a datalink, or a “Modbus Slave” address that is assigned to the PL1000E by the system integrator.
ECM Type – Refer to Table 7 for definitions of valid values.
ECM Port (of the PL1000E Communication Module) – Refer to Table 8 for definitions of valid values.
ECM Type identifier | PL1000E Port |
0 | J1939 ECM |
1 | Cat Data Link ECM |
2 | Modbus ECM |
ECM Port identifier | PL1000E Communications Port |
01 | CAN Port 1 |
10 | Cat Data Link Port |
20 | Modbus-RTU RS-232 Port 1 |
21 | Modbus-RTU RS-232 Port 2 |
23 | Modbus-RTU RS-422 / RS-485 Port 4 |
30 | Modbus-TCP Ethernet |