Using CommTool

CommTool is Enerdel’s proprietary software for communicating with the traction battery.

Think’s TechCentre diagnostic software will retrieve diagnostic trouble codes and display them in a format that is much easier to interpret than CommTool. However, TechCentre’s interface will tell you that you can clear those battery DTCs; then it will tell you that the codes cleared but that they already reset, but that’s a big fat lie!

And that is the Number One reason that CommTool is essential for Think Technicians: Some DTCs that are set by the battery are stored in non-voltile memory (which means they can’t be cleared just by disconnecting the 12V battery) and will inhibit any further battery operation until they are cleared.

The Number Two reason that CommTool is essential is all of the data that is available. Sometimes it’s just neat to know exactly how many miliVolts every battery cell is charged to, but where it is really important is finding an RLEC that has failed. For example, we have seen a few RLECs that indicate that their circuit board temperature is way too cold to operate (which is obviously untrue). You have to look at the temperature values for all of the RLECs to determine which one is malfunctioning and needs to be replaced.

There is a TON of data that CommTool can get for you. Too much, really, for most everyday purposes. So instead of simply getting every bit of data every time you use CommTool to connect to the battery, you can simply select the data that you want. You specify exactly what data you want using a Master Sequence File (.msf). There are a bunch of MSF files that are included with the installation package for CommTool. All you have to do is select an MSF, by clicking on the “Select Master Sequence File” button and browsing to the folder where they are all saved. There are only 3 that I ever use: Analog.msf (which I use almost all the time), Analog_1_8.msf and Analog_9_16.msf (which I use if I’m looking for specific data about a specific cell or RLEC like in the example above).

When you initially install CommTool on a computer you need to adjust some of the settings. Upon subsequent restarts of the program the setting will remain how you need them. I’ll list the settings as they should be configured starting on the left and moving down and across. If there is a setting that I neglect to mention, I believe it to be inconsequential.

Com Port: COM1
Baud Rate: 38400
Using Conv Box: Checked
Sec 13: Unchecked

[Click on the “Select Master Sequence File” button to browse to the location of your .msf’s, select one, and the field below the button will automatically populate with the path and filename.]

Use CAN: Checked
Rcv Range: 61E and 61F
CAN Kbaud: 500
Device Select: PCAN, USB

One last note for this very brief overview: When you click the green “Get Data” button several narrow windows will appear (or refresh if you have already gotten data once) below the configuration settings. (The number of windows depends on which MSF you have selected.) If the windows are gray with only the parameter names on the left and only ‘~’ on the right, it means that you’re not receiving any data. When CommTool is communicating with the battery correctly the background of the windows will be white and the ‘~’s will be replaced by numeric values.

If you let CommTool sit for awhile without doing anything, the first time you click “Get Data” may turn up several gray windows before it starts getting data. I imagine the issue is something like the CAN bus going to sleep and taking awhile to wake up. Just click “Get Data” again and you should get a complete set of data.

The other important button is “Clear All Malf Codes”. Click it and if there is a battery DTC that is preventing the car from starting you may hear the contactors close or attempt to close. You will see a message like, “Security Passed” or “Security already passed” (if you have already clicked “Get Data”). You can verify that all codes have cleared by clicking “Get Data” and checking that the values in the Diagnostics window are all zeroes (assuming you are using Analog.msf). Just like with getting data, if you let CommTool idle for too long and then go to clear malfunction codes, it might not be awake for your request, but if you try again after a few seconds it probably will be.

Speaking of the Diagnostics window, the various parameters (e.g. Mstr_Malf_Codes1) can be translated from hexidecimal to determine which codes are indicated; each bit set to 1 corresponds to a DTC. But it is usually faster and definitely more reliable to switch back to Think TechCentre (and the VIM rather than the PCAN adapter) and read the code descriptions directly. (There may, however, be a reliability issue with TechCentre DTC descriptions when it comes to identifying Contactor A/B and/or fuse A/B correctly. I once replaced a current sensor only to find that it was the other current sensor that was causing the fault.)

Please let me know if you have any questions!