HMS AB7007 Comunicate OBC Protocole

Good afternoon.
Someone will have information on how to communicate OBC devices with an HMS AB7007 to Ethernet / IP.
I want to see the information of an EMR4 Veeder-Root device.

thanks greetings!!!

Good afternoon,

Please see the device product page for more information. The AB7007 shares a page with the AB7072 because they are identical except for the number of ethernet ports. The AB7072 has 2 ports instead of one.

What protocol does the Veeder-Root use? Is it a Modbus or generic serial device? I would need to see the user manual (commands and memory map) to determine how it would be configured.

Kyle

Good morning, Kyle.

I wish to communicate an EMR4 module of the Veeder-Root brand, which communicates by OBC protocol (on-board computer) and uses the RS-232 port.

Annex list of command provided by the manufacturer Veeder-Root.

I hope to have some support or help.

Thank you…

OBC Serial Commands Protocol.pdf (382 KB)

I reviewed the pdf and serial commands. This is a proprietary protocol and some of the commands can get fairly complicated. If you look at the Appendix A, it gives some examples:

On page 33 is a simple command to read the meter current product. The page goes into the some more details, but the command ends up being:

7E 01 FF 47 70 49 7E 

and the reply:

7E FF 01 46 70 00 4A 7E

You can create this command in the Anybus Configuration Manager (ABCM). The ‘7E’ at the beginning and end are delimiter flags and then you have 5 other bytes representing the addresses and checksum. If the start and end characters are always used, you can enter those here:

image

The other values can be created individually as or just lump them all together. You can use contestants or variables. A constant you will enter ahead of time because it won’t change, but variable data, you will have to enter from your fieldbus (ethernet) side. For the sake of simplicity, we’ll just use a DWord because we have 4 bytes and a checksum:

image

The response looks like it confirms the source address and destination address, has a checksum and a few more bytes. Those can be the variable that you will read from the Anybus and we’ll store them as 3 bytes starting in byte 0:

image

This is just an example using their example. If all you want to do are simple commands, like read some registers, that shouldn’t be too hard, but you will have to read the documentation to find out where the data is and what commands to use. But there are also complex commands, like the next example in Figure A-1 that are probably not possible:

Please reference our documentation for more examples and instructions:

https://www.anybus.com/support/file-doc-downloads/x-gateway-specific/?orderCode=ab7007

Kyle

Kyle …
I did tests but in module EMR-4 it did not allow to obtain the information, since it is the proprietary protocol of its brand and it was not possible, but it served me as a teaching.

first of all, Thanks…

best regards.

You’re welcome. Thanks for the update.

Good afternoon, Kyle.

I told you that we managed to communicate with the Veeder Root EMR4 and PLC Compactlogix, for this we rely on the AB7007 and a serial port monitor and the EMR4 software.
capture the command and program it to AB7007. and communication of the liters was achieved in real time.

I really appreciate your support and your work team.

I share the backup of Ab7007.

thanks … best regards.

HMS EMR4.rar (710 Bytes)

That’s a great idea, to capture the serial traffic and use it to program the Anybus. Please let me know if you have any other questions.

Thanks!

Kyle

Hi Raul,

Just seen your topic and noticed that might related to my project.
I would like to ask you a suggestion that how can i get the flow rate from EMR4 from RS232 port.
I’m stucking with the command code like
“7E FF 01 46 70 00 4A 7E” and not sure how to write new command to get flow rate.
I have tried it with my aduino uno and received the out put like " 31 32 36 0D 0A…" which is confusing me about the encoding.

In ASCII 31 32 36 0D 0A = 1, 2, 6, Carriage Return, Line feed so 126 would be the value if that’s what you’re looking for.

Good morning Monotet.

If you obtain these data, you have communication with the EMR4. For me at first it was difficult for not understanding how the Rs-232 protocol worked. but with the valuable help of Kyle from HMS I managed to get ahead.

Now that you have the data of your EMR4 in ASCII you will have to develop a code that converts from ASII to decimal.

my conversion code is made in Allen Bradley’s Studio 5000 in case you want me to share it with you.

I hope in advance I have helped.

best regards.

1 Like