26SI Series Alternator – ECM Modbus Interface

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).

Table 1
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.

Table 2
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.

Table 3
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.

Table 4
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.

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

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.

Table 7
ECM Type identifier     PL1000E Port    
0     J1939 ECM    
1     Cat Data Link ECM    
2     Modbus ECM    
Table 8
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