Yesterday I was present at the official opening of the engine teststand, in which I participated. For this client I have set up a can-bus communication protocol for various electronically controlled diesel engines, so that the engines can be controlled from the control room with a click of the mouse.
Can-bus protocol J1939
For large maintenance and overhaul, the customer gets the complete engines from the machines / boats. In order to ensure that the engines are in good condition after the repartion, the customer wants to have them tested for power output, before they are put back. The old engine test stand no longer met the requirements and could no longer cope with the higher powers, the reason to build a completely new engine test stand. One of the requirements for the new test mode was a simple operation (start / stop and (de-)accelerate) for the various engines. The engines can be controlled mechanically, electrically or via Can-bus communication. In the latter case, the electronically regulated diesel engines are equipped with an ECU, which provides the diesel injection. Advantage of engines with an ECU; they already have several sensors on board for controlling the actuators on the engine, so this sensor-information can also be read via the can bus. The commonly known Can-bus protocol for diesel engines is J1939. It describes various standards that brands of diesel engines use to communicate on the Can bus.
In the old situation, a copy of the original control system was mimicked in the test cell for the electronically controlled engines. Disadvantages of this are: control via a gas trade, no extra emergency stop protections, no live engine data (possibly via diagnosis tool), each type of engine its own hardware + software. For example, for Volvo Penta marine engines, the EVC system is often used to control the engines, but there are several generation and software variants that do not always communicate with each other. Setting up such systems would therefore include many components (duration!) And time. Time for a direct solution: direct control and readout over the CAN bus!
Reverse engineering Can-bus communication
However, not every engine is the same, and not every engine transmits the same data. It is also often the case that brand-dependent data / addresses are used outside the J1939. To find out well by engine, I have read and logged the can-bus system of each type of engine with the aid of a CAN analysis module. I labeled this data via reverse engineering, after which it is usable for the Horiba hardware and software.
It took some evening hours, but the result may be there! A Can bus communication has been set up for various types of electronically controlled motors, and mechanical motors are controlled via an actuator. The actuator is also controlled via Can bus from the Horiba software ‘Stars’.
Do you have a question about Can-bus communication or do you want to know what the possibilities are? Feel free to contact me: firstname.lastname@example.org or +316-42712295