B40 Brick, Host Application Implementation Guide

Hi @bblessing,

If you want to use our product in your device and also have the device pass ODVA compliance for ODVA, then you’ll need to have your own Vendor ID and won’t be able to use the HMS one.

Tim,

While I’m working through the plethora of documentation from ODVA’s website, could you point me in the right direction with respect to getting
modbus working? The separate 16 example works well through the webpage, and I have an app that can scan and see things, but some guidance would be helpful.

Hi @bblessing

Do you have any specific questions about the Modbus setup? Like is there a section of it that you’re confused about?

Actually, it would be nice to know where to start. I figured Modbus TCP would be easier to test, as I have experience with it as well as some decent tools.

The appl_adimap_separate16 example works just fine for me. I can see it through the webpage, change values, and watch the read values update as they should.

As for Modbus TCP, I enabled Ethernet/IP, Modbus, and Ethernet in abcc_obj_cfg.h. I’m using the Baseblock ComTest Pro to test the device. To ensure that the app
is working correctly, I took a known, working Modbus TCP device and did a test read. No problem, it worked as expected. Unfortunately, I always get the following warning from the ComTest Pro app:

Unable to open communication with the select IP address on the selected port. Please select a different IP address and/or port in Step 1.

A step by step guide showing how to get Modbus TCP working on the Compact Com would be very illuminating.

With the CompactCom devices we don’t really have any step by step guides, but if you’d like some training on how to get these devices up and running, we could offer that as a paid service. If you have specific questions or errors we’d be able to give more help about issues you might be encountering.

That being said here’s some sections that we think would help you out.

We recommend taking a looking at these sections of the manual and take a look at the ADI mapping. By default in the separate16 example, each ADI is set to have 32 modbus registers. You should be able to view these on Comtest Pro by entering in the adi location. Ex: for ADI 10 you would need to look at register 10A0.

Ok, this is good. I’m unable to get it to read, even though my settings are identical, save for the IP address. What settings are enabled in abcc_obj_cfg.h in
order to get this example to work? The default? It doesn’t seem like any combination is working for me.

Looking back at older post it looks like you’re using the CompactCom M40 for Ethernet IP

https://www.anybus.com/support/file-doc-downloads/compactcom-40-series-specific/?ordercode=AB6604

Instead of the CompactCom M40 for Modbus TCP

https://www.anybus.com/support/file-doc-downloads/compactcom-40-series-specific/?ordercode=AB6603

If you have the Common Ethernet version, then you could purchase the file to convert it to a Modbus TCP device to do the test you’re trying to do right now.

https://www.anybus.com/support/file-doc-downloads/compactcom-40-series-specific/?ordercode=AB6610

For future support on CompactCom issue though we recommend going through mysupport.hms.se. If you go through the paid support we could help give you some additional example code to help get your setup up and running.

Understood. Answer me this question. Is it the case that if we purchased an Ethernet IP CC M40, then it cannot be used for Modbus TCP. In other words, I cannot have both.

If it is the case that I can’t have both, is there a solution that will allow that? As it stands, we’ll eventually need both. It just seemed like with the example code, that I could add Modbus TCP through abcc_obj_cfg.h file.

With a CompactCom the interface that we interact with is a bit firmware/hardware tied. Unfortunately you’re only able to connect with either Modbus TCP or Ethernet IP. It might be helpful to talk with somebody in sales to determine what might work best for your application.