Company News

CAN Communication Timeout in Mobile Machinery

Modern mobile machinery depends on CAN networks to exchange data between controllers, engine ECUs, sensors, HMI displays, and remote I/O modules.But what happens when an expected CAN message suddenly stops arriving?

A controller should not continue using outdated data indefinitely. Instead, it needs to detect the communication timeout, mark the data as invalid, and decide how the machine should respond.

A typical process is:

ECU / Sensor / Remote I/O
         ↓
     CAN Message
         ↓
  Mobile Controller
            ↓
  Timeout Monitoring
     ↙         ↘ Message OK    Timeout
                ↓
         Fault Handling
                ↓
     Warning / Safe Action

Communication timeout handling is therefore an important part of reliable mobile machinery control.





What Is a CAN Communication Timeout?

Many CAN devices transmit messages at regular intervals.

For example, an engine ECU may send engine speed every 100 ms, while a CAN sensor may periodically transmit pressure or position data.

The receiving controller monitors the time between messages.

If a new message does not arrive within a predefined period, the controller identifies a communication timeout.








CAN Communication Timeout in Mobile Machinery




For example:

Expected Message: Every 100 ms

Message Received → Data Valid

No Message for 500 ms → Timeout

Timeout → Data Invalid

The timeout value depends on the application, message frequency, and importance of the data.





What Causes CAN Message Timeouts?

A timeout does not necessarily mean that the CAN bus itself has completely failed.

Common causes include:

  • ECU or sensor power loss

  • Broken CAN wiring

  • Loose connectors

  • Incorrect CAN configuration

  • Device reset

  • CAN bus errors

  • Failed remote I/O module

  • Software or communication faults

Because different failures can produce the same symptom, the controller should record useful diagnostic information for troubleshooting.






Why Outdated CAN Data Can Be Dangerous

Consider a pressure sensor that sends its value over CAN.

The last received value is:

Hydraulic Pressure = 180 bar

If communication is lost, the controller may still have 180 bar stored in memory.

But this does not mean the actual pressure is still 180 bar.

Continuing to use the old value as current machine data could result in incorrect control decisions.

For this reason, CAN data should normally have both a value and a validity status.

Pressure = 180 bar
Status = Valid

After a timeout:

Pressure = Last Received Value
Status = Invalid

The application logic can then respond appropriately.




J1939 Message Timeout Monitoring

Timeout detection is especially important when a mobile controller receives engine information through J1939.

Examples include:

  • Engine speed

  • Engine load

  • Coolant temperature

  • Oil pressure

  • Diagnostic information

A simplified process is:

Engine ECU
   ↓
J1939 Message
   ↓
Mobile Controller
   ↓
Timeout Monitoring

If an expected engine message disappears, the controller can generate an Engine ECU Communication Fault and prevent outdated engine information from being used as valid data.




Remote I/O Communication Loss

Distributed mobile machinery systems often use remote I/O modules connected through CAN.

If communication with a remote I/O module is lost, the main controller may also lose access to several sensors and actuators at the same time.

For example:

Sensors / Valves
      ↓
  Remote I/O
      ↓
     CAN
      ↓
Main Controller

The controller should detect the missing remote I/O communication and execute a predefined fault strategy.

This may include disabling affected functions and notifying the operator.





Should the Controller Use the Last Valid Value?

There is no single answer for every application.

For some non-critical information, temporarily displaying the last valid value may be acceptable.

For control-related signals, however, continuing to use old data can create problems.

Possible strategies include:

  • Marking the value as invalid

  • Using a predefined fallback value

  • Limiting the affected function

  • Disabling an output

  • Entering a degraded operating mode

The correct strategy depends on what the data controls and the machine's risk assessment.





HMI Warnings and Diagnostics

When a communication timeout occurs, the controller can send fault information to the HMI.

The operator may see messages such as:

  • Engine ECU Communication Lost

  • CAN Sensor Timeout

  • Remote I/O Offline

  • CAN Device Not Responding

Useful diagnostics can also record:

  • Device or node

  • Message identifier

  • Time of failure

  • Fault status

  • Number of occurrences

This information can make field troubleshooting much faster.






What Happens When Communication Returns?

Communication recovery also needs to be considered.

The controller should verify that valid messages have resumed before returning to normal operation.

A simple strategy may be:

Communication Lost
       ↓
Timeout Fault Active
       ↓
Valid Messages Resume
       ↓
Data Validated
       ↓
Fault Cleared
       ↓
Normal Operation

For some machine functions, several consecutive valid messages may be required before the system considers communication stable again.





Setting the Right Timeout Value

A timeout should not be too short or too long.

If it is too short, normal network delays may create unnecessary faults.

If it is too long, the controller may continue using outdated information for too much time.

OEM engineers should consider:

  • Normal message cycle time

  • Importance of the signal

  • CAN network load

  • Expected communication delays

  • Required machine response time

  • Failure strategy

For example, a message normally transmitted every 100 ms may use a timeout longer than one message cycle to avoid triggering a fault because of a single missed message.





Conclusion

CAN communication timeout handling is an important part of mobile machinery control system design.

When an ECU, sensor, or remote I/O module stops transmitting expected data, the controller should detect the missing messages, mark affected data as invalid, generate diagnostic information, and execute an appropriate fault strategy.

A well-designed timeout strategy prevents outdated CAN data from being treated as current machine information and helps improve system reliability and troubleshooting.