26SI Series Alternator – Modbus Master

Limited Modbus Master

The PL1000E can act as a “Modbus Master” in a limited fashion. As a “Modbus Master”, the features of the PL1000E are limited to translating data from CDL or J1939 to “Modbus”. The PL1000E cannot act as a full “Modbus Master”.

Considerations for Designing a Robust System

Modbus is a “Point-to-Point” protocol. Therefore, the PL1000E will send a request message on Modbus and then will wait for a response. In a “Point-to-Point” protocol system that operates properly, the process to send a request and wait for a response is not an issue. If the PL1000E does not receive a response, the PL1000E will wait for 250ms, and then move on to the next request. If some slaves do not respond to the requests of the PL1000E, then system operation will slow due to the wasted time. If this happens with too many messages, then the data may not be received in a timely fashion.

There is another issue that must be considered with the “Point-to-Point” protocol. If too many parameters are being requested within a given time period, there is possibility that the transmit buffer on the PL1000E may become full. If the transmit buffer becomes full, then transmit messages may be dropped. The equation below is a guideline in order to determine the load on the Modbus Link. The equation calculates the total time the system takes to send one request and receive one response.




Illustration 1 g01412383

LengthReqBit = Total Length of the Request Message in Bits.

BaudRate = The Baud rate you system configured.

TotalPropagationTime = Time that it takes the message to reach the destination.

SlaveResponseTime = Time it takes the Modbus slave to respond to the request from PL1000E.

LengthRespBits = Total Length of the Response Message in Bits.

Modbus Load Equation Example

The following values are used in order to provide an example of how to use the equation.

  • The PL1000E has been configured to request 10 registers at rate of 500ms.

  • The PL1000E has been configured for a baud rate of 9,600 bps.

  • The PL1000E can only request one register at a time, so the total length of a Modbus request message is 7 bytes, which is equal to 56 bits.

  • Since the PL1000E can only request one register at a time as a “Master”. The response is a total of 6 bytes, which is equal to 48 bits.

  • The PL1000E is close to the Modbus slave that the PL1000E is requesting information from, therefore, for this example, the propagation time is 0

  • The response from the Modbus slave takes 100ms.

The equation would look like this:




Illustration 2 g01412389

The total time that is required in order to send one request and receive one response from the system is 110.8ms. In theory you should be able to request 9 messages per second. In the example, 20 requests a second are being sent to the transmit buffer, but only 9 messages per second can be sent out. The buffer for the PL1000E will eventually become full because the amount of messages that are being queued per second is more than what is being sent out.

In summary, make sure that the system design makes sense. Make sure that high request rates of the data do not say “rates of speed” because they are the inverse of each other.


Configuring the PL1000E as a Modbus Master

The Table 1 shows what the translation lines mean for the PL1000E as a “Slave”, and compares those to the PL1000E as a “Master”.

Table 1
Translation     PL1000E as Modbus Slave     PL1000 as Modbus Master    
CDL to Modbus     The PL1000E requests data on CDL and holds the data in a Modbus register waiting for a register request from a “Modbus Master”     PL1000E requests data on CDL, then writes the data to a “Modbus Slave”.    
Modbus to CDL     The PL1000E waits for data to be written to it from a “Modbus Master”, then the PL1000E writes the informationon CDL.     Not Supported    
J1939 to Modbus     The PL1000E requests data on J1939 and holds the data in a Modbus register waiting for a register request from a “Modbus Master”.     The PL1000E requests data on J1939 and writes the data in a “Modbus Slave”.    
Modbus to J1939     The PL1000E waits for data to be written to it from a Modbus master, then writes the information on J1939.     PL1000E requests information from a Modbus slave, then the PL1000E writes the information on J1939.    
CDL to Webserver     The PL1000E requests data on CDL, then pases the data to the webserver.     Not Supported    
J1939 to Webserver     The PL1000E requests data on J1939, then pases the data to the webserver.     Not Supported    

The steps to configure the PL1000E as a “Modbus Master” are very similar to those to a “Modbus Slave”. The steps are as follows:

  1. Develop a system block diagram. Refer to the “Quick Start Guide” section of this document.
  1. Obtain information on all the ECMs that are on the data link, Modbus, CDL, and J1939. Refer to the “Quick Start Guide” section of this document.
  1. Configure the PL1000E so it can be accessed with the Ethernet port. refer to the “ECM Configuration”, “LAN Network Ethernet Connection”, or the “Direct Crossover Ethernet Connection” section of this manual.
  1. Configure the serial ports that are on the PL1000E.
  1. Develop a PCL file. Refer to the “Features” section and the “Quick Start Guide” section of this document for “Modbus Master and Modbus Slave” information. In the “Quick Start Guide” section, refer to the “Prepare the PCL File” section. The Modbus Slave section may also provide useful information.
  1. Upload the PCL file.
  1. Test the system in order to ensure proper communications.