Cat generator to Modbus ?

TheWaterboy

Lifetime Supporting Member + Moderator
Join Date
May 2006
Location
-27.9679796,153.419016
Posts
1,924
I have a Cat generator that I want to monitor more extensively so I am just starting to investigate the possibility of using the built in modbus. I had the Cat guy out for a different reason and he pointed out the connection and set it up, now the rest is up to me.
The ecmp is v3.2.

I have glanced through some threads and see there was some discussion that the registers that will be available are somehow non-standard (if there is such a thing as a standard) and also the option of using the J-1937 (I might have that number wrong) interface which from what I gather is even more exotic.

What I am looking for today is a primer on making this work. The Cat tech is coming back next week so if there are any configuration options I need him to set up I will have that opportunity then. I'm looking for advice from those who have done this before and it seems there are a few around here.

There are conversion modules available that seem to do all the work taking the modbus right to ethernet in an A/B tag format. Comments on those would be welcome as well.

I don't intent to control the Gen or the ATS, all I really want to do is to monitor its status, outputs and health.

Thanks for the help.
 
I do this regularly - every second generator job I do is a CAT. J1939 has its moments. The EMCP 3.2 does not have the same info as the 3.3 or 4.
Just about every CAT has different information available. The next issue is J1939 - you get a value, a precision and an offset. Requires floating point maths in the PLC to get anything real. Turn all values and constants that you wish to use into floating point - multiply some of the silly values and precisions so you can do the maths, then ad just via the offset - either use as floating point or turn into an integer. The J1939 info comes out via Modbus RTU - you have no choice - you have to do the maths.
I have a standard routine I drop in and when the set is running I see what I get and do not get - just delete what I do not get.
Which PLC? The kW, kVar and kVa readings do not work - they have fixed it in the EMCP 4. Everything else works OK.
 
Hi BobB, I recall your signature from some of the threads I was pouring through.

I have Controllogix PLC nearby that was to receive this data. and I have the flexibility to do just about anything that makes sense.

One of the decisions to be made was to install a modbus module in the Controllogix rack, buy an off the shelf converter such as This or This from MONICO some other solution that is not readily obvious at the moment. So I'm open to anything right now.

It's not good news that the Power and Energy values don't work... How can that be? Wouldn't that be something in the top two items that they would want to get right?

I consulted the Oracle of Google and I gathered that there are 2 ways to get the data, directly off the J1939 bus with some sort of converter, or to use the built in modbus from the EMCP. Is the problem with missing values due to the built in modbus not being implemented correctly or something else?

I also read that there was routinely some difficulty obtaining the documentation for the protocol. Most reported that they had to beg it off the service tech instead of just downloading it from cat.

Our EMCP 3.2 just died and was replaced 2 days ago. The original installer wired the 2 shunt trip breakers directly off the EMCP, no isolating relay- we hit the e-stop and the controller just died from the spike - I wonder if I could have / still can upgrade, or is that too tightly integrated with the genset to change?
 
Last edited:
I would forget trying to get it out on CAN if I were you and just use Modbus RTU - mush easier. The maths are not any easier though - same applies to most of the generators that use CAN J1939 - MTU for example.
I do not use AB these days but use Omron. I can post some of the calcs from a recent job if you wish - it may be helpful to give you an idea.
Unfortunately kW, kVar and kVa never worked properly until the EMCP4. I have not tried it ether so cannot confirm. I normally have a Woodward easYgen on the sets and so just read all the power data from there and just get the mechanical values from the engine.
Let me know if you want some sample code posted.
I also have a spread sheet of values from the EMCP4. They are the same as for the earlier ones with the exception that bus and mains values are added but all the mechanical stuff is the same. Can post that too if you want it. Just let me know.
 
I would be interested in anything that will help me get me familiar with this project and you are willing to share, Thank you. I am eager to see the math required and teh data layout.

When you say the power values never "worked properly", do you mean it gave you wrong information, or none at all? I am just stunned that those values, which can be displayed on their own screen, would not work when output to the data link. Again its not a really big of a deal for my purposes, I am just looking for health and status of the generator, I just find it sadly humorous that of all things to not work it would be that.

Hey, perhaps I can get the power values from the Asco ATS. It looks like it is intelligent as well. Maybe there is a way to extract info from it too.

... Oh man, scope creep it rearing its head now !
 
Wrong info - all over the place. If the Asco has Modbus maybe - but they generally just high speed switch - do not like them personally as I would rather see soft load/unload than load dump. Better for the generator.
Will post some info for you.
 
Here is the Modbus spread sheet of registers for the CAT EMCP 4.
I have the manual too but is over 4 meg zipped - too big to upload here.
 
Here are the calculations in an Omron PLC - everything has to be turned into floating point first. You will also note that there are some fairly largish numbers floated for multiplication/division to get the numbers I wanted. The results are also 'fixed' back to an integer for transmission to another system. 'Fixing' the floating point numbers truncates the decimal places.
Sorry that there is not a lot of documentation - this job was done in a hell of a hurry - all software written onsite. I only put in a few comments so I knew what numbers I was dealing with.
The floating point numbers were used for a touch screen.
Hope the 2 files help.
 
I've previous used an Omron PLC to communicate with an EMCP 3.3 over the Modbus RTU. I was able to get the the Kw KVA KVAr data to display on an Omron screen. The most significant bit and least significant bits were mixed around so had to be rearranged before use. Once on the screen I couldn't get the scaling to work so had to display it as Watts.
 
Interesting, the CAT software wizz kid could not tell me that - just told me it did not work and was fixed in the EMCP 4. How did you sort it? Bit of code perhaps?
 
My solution was definately more basic than yours, I just swapped the words(or the 2 registers that are the KW value) around and applied the offset in the NS touchscreen. When I tried to scale from Watts to KiloWatts it definately didn't work though.

For the original question I wouldn't bother with the J1939 CAN, the same information will be available on the Modbus and the documentation is a bit more available.
 
Hello I am attempting to integrate a 3516 diesel engine worn a epmc 3.3 into a GE Proficy IFIX SCADA. I Have the coms St up and am receiving data. My issue is I am not sure how to set up the registers such as integer or decimal long short etc... Any help would be appreciated. Thanks Howard
 
Integers - read above - you get a value, a precision and an offset and you have to do floating point maths to get what you want. Took me 3 days to figure it out the first time I did it.
 
As BobB said, they come out as integers, some signed, some unsigned. The registers for the double integers may get swapped around as well.
 
If you can get acces to the Cat manual LEBE5255 it has a fair explanation of how the registers are set up
 

Similar Topics

I am using twincat 3 to send some strings over TCP/IP. Where the server is a sensor and my PLC is the client. I noticed that the sensor didnt...
Replies
2
Views
59
I'm trying to control a device via MODBUS RTU and the ModbusRtuMasterV2_PcCOM in Twincat 3. I've configured a device with the right com port and...
Replies
7
Views
221
Hi! I am trying to run the 'SimpleSample' (https://infosys.beckhoff.com/content/1033/TF5100_TC3_NC_I/Resources/3438746891/.zip ) to understand the...
Replies
2
Views
104
I am developing a library in twincat and one of the function uses IID_ITcVnAccess_TcVnPoint2_DINT and the definition of this type is defined in...
Replies
0
Views
71
Sorry if this has been asked before, and apologies if this seems like a trivial issue, but I am new to Beckhoff and have been banging my head...
Replies
2
Views
152
Back
Top Bottom