Problems with HMS-EN2SE-R

Good day!

Some time ago, I purchased a communication gateway, the Anybus EN2SE-R Ethernet/IP to Serial device. For various reasons, there was some delay in getting it installed,
but it is finally in place. However, I am having no luck at all in getting it to talk to the Serial device at the other end of the link. The device is a measuring instrument for the local utility natural gas supply meter for the plant. I had the utility
reps come out and confirm the serial settings, and demonstrate that they can talk to their device through this same serial channel with their monitor software, so I know their side, and our wiring, is good. I can connect to the Ethernet side of the device,
no problem. Where it fails is the serial link setup.

The channel is a RS485, 2-wire connection. I have the wires connected to pins 8 & 9 of the DP-9 port, and have tried swapping polarity. The comm parameters are supposed
to be 9600 bps, 8 Data bits, 1 stop bit, no parity. The slave device is supposed to be device ID 1. With all these settings, the gateway always shows a red indicator light for ‘subnet status’, indicating the serial link has a problem, and the configuration
software shows a continually incrementing number in the ‘retransmission error’ field.

Can you offer some assistance, to either get this thing working, or declare it broken so I can replace it?

Thanks,

What protocol is the serial device using? Is it modbus? Can you share the manual? I can help you create a command so that we can test the device.

Hello Kyle!

Yes, the device is Modbus, which is something I am no expert with. And I do not posses a manual for the target device, it is a “black box” to me. I was told to use 9600, 8,N,1 for the serial parameters, and to read registers 1 - 16 to collect the data I want.
I THINK the registers are 16 bits each, as the values I need supposedly span 2 registers each. The person that gave me this information is gas line tech, and doesn’t really understand modbus, either. I am not 100% clear if I should read input registers or
holding registers, and I am not clear if these register groups actually start at physical address 0x0000, or from some offset.

In any case, I have not yet been able to get past the EN2SE-R not recognizing that the node exists on the serial network. I am away from the site today, but if you have suggestions for troubleshooting at this stage, I can probably relay them to someone at the
plant.

Thanks,

Ross

I would recommend trying to just a read a register or 2 first, with a read holding registers command. Make sure you are offline with the PLC.

Make sure you are in Master Mode with these settings:

Click on Query and change the settings for how to poll the device. Here are typical settings for if you want to poll every second:

Right click on the node, click Add Command, and Read Holding Registers.

image

First try Starting address of 0x0000, Quantity of Registers - 2. Under Response, use byte count of 4, data length of 4, and address of 0, no swapping.

image

Next, make sure you right click on Subnetwork, go to Process tags, and create process tags, exit and save. Then Connect and Download to the Communicator, close the ABCM, save, apply, and download to the PLC. Go back to run and then go back into the ABCM.

Click the symbol to start logging, choose either option and let it run for a few seconds and then stop logging to see if you are getting a response.

Share the log file with me and note the LED status.

Thanks for the detailed instructions! Unfortunately, it may be some days before I have a window of opportunity to download to the controller. This system operates a furnace in a steel mill, and with cause the furnace to shut down during a download. Doesn’t
make for happy campers if I do that…

I’ll be in touch as soon as I can arrange to do this.

Thanks again!

Kyle, I had an opportunity to download the changes to the controller yesterday, but something went wrong, and the new config was not saved. I am also having a bit of trouble with the Ethernet link to the device (there is a wireless hop involved). I am looking
into another option that will allow me to make these configuration changes to a controller that isn’t so difficult to access, and perhaps eliminate the wireless link, too. I’ll be back in touch as soon as the situation stabilizes.

Thanks,

Ross

Hi Ross,

It’s important with this device that you connect it directly to the PLC when you download the configuration, because if it has to go through the network, it can have issues.

Also make sure you download to the Anybus first:

image

Refer to:

Kyle

Kyle,

Is this going to require a download to the PLC for every little change I make to the serial network?? That will make this extremely difficult to accomplish in a timely manner.

Is it possible for the module to act as something other than a remote I/O type of module?

Thanks,

Ross

Unfortunately, yes it does require a download to the PLC because the tags are changing and need to match in both the gateway and the PLC.

I’m not exactly sure what you mean, but the device is limited to the way it is configured with Studio 5000. There is no other way to configure it.

I would recommend using a Modbus master simulator, like CAS Modbus Scanner to test all of the transactions (commands) with your Modbus slave, so that you will know exactly what needs to be configured in the linking device. That should save you have to do a bunch of troubleshooting and multiple downloads to the PLC.

Kyle,

Because it is so difficult for me to arrange time for a controller download, I am trying to cover my bases, and just read a large chunk of input registers AND holding registers, hopefully enough to cover all the data I am looking for.

My serial ‘subnetwork config’ appears to be valid, but when I download it to the module, and try using the Node Monitor function, all I see are zeros. Does this monitor tool not function if the module is NOT online with the PLC?

Thanks,

Ross

Hi Ross,

You don’t need to be online with the PLC to use the Node Monitor. I would suggest making a log with the Config Mgr or using a Modbus scanner to troubleshoot the Modbus commands and see why you aren’t getting a valid response. You can find the error codes at http://simplymodbus.ca/exceptions.htm

Kyle

Kyle,

Not to hijack or piggyback, but I am having a very similair issue. Can I share my datalog with you and see what we cna do to troubleshoot?

Thanks!

Please share on the other thread:

Kyle,

I have reconfigured this system to use a local CompactLogix CPU to connect to the HMS gateway. The CPU seems to communicate correctly, but I am still having difficulty with the ModBUS side. I used CAS Modbus scanner to connect to the modbus device locally,
and here is the series of messages I received while trying to read coils, inputs regs, holding regs, and status regs:

"[14:16:44] Recv error: Exception Response:

The device responded but with an error instead of data

0x02 - ILLEGAL DATA ADDRESS

The data address sent in the query is not an allowable address for the server (or slave). More specifically, the combination of reference number and transfer length is invalid. For a controller with 100 registers, a request with offset 96 and length 4
would succeed, a request with offset 96 and length 5 will generate exception 02. A request for offset 200 will also produce this exception.

[14:16:11] <= Response: 01 84 02 C2 C1

[14:16:10] => Poll: 01 04 00 00 00 0A 70 0D

[14:16:06] Recv error: Exception Response:

The device responded but with an error instead of data

0x02 - ILLEGAL DATA ADDRESS

The data address sent in the query is not an allowable address for the server (or slave). More specifically, the combination of reference number and transfer length is invalid. For a controller with 100 registers, a request with offset 96 and length 4
would succeed, a request with offset 96 and length 5 will generate exception 02. A request for offset 200 will also produce this exception.

[14:15:59] <= Response: 01 83 02 C0 F1

[14:15:58] => Poll: 01 03 00 00 00 02 C4 0B

[14:15:53] Recv error: Exception Response:

The device responded but with an error instead of data

0x02 - ILLEGAL DATA ADDRESS

The data address sent in the query is not an allowable address for the server (or slave). More specifically, the combination of reference number and transfer length is invalid. For a controller with 100 registers, a request with offset 96 and length 4
would succeed, a request with offset 96 and length 5 will generate exception 02. A request for offset 200 will also produce this exception.

[14:15:46] <= Response: 01 82 02 C1 61

[14:15:46] => Poll: 01 02 00 00 00 02 F9 CB

[14:15:46] Connect to COM 4:9600,N,8,1.0 timeout: 3

[14:15:36] Ready…

[14:15:36] Starting up…"

Can you make any sense of this?

Thanks,

Ross

This message may include restricted, legally privileged, and/or confidential information. If you received this message by mistake please delete it immediately and inform us about it. This message will be considered as originated from Gerdau or its subsidiaries
only when formally confirmed by its officers authorized for that.

Este mensaje puede contener informaciones de uso restringido y/o legalmente protegido. Si usted ha recibido este mensaje por error, por favor eliminelo e informe de tal situación al remitente. Este mensaje solamente será considerado como proveniente de Gerdau
o de sus subsidiarias cuando sea confirmado formalmente a través de los representantes legales debidamente autorizados para tal fin.

Ross,

The good news is that you’re getting a response at least.

It looks like you are reading the wrong registers or using the wrong commands. Do you have a register map from the manufacturer of the slave?

Kyle

Well, not a very clear one. The techs that supply me with info aren’t well-versed in the subject.

I was told that starting with register “1”, I should read 8 data values of 2 registers each. At total of 16 registers, but I have no idea if they are input registers or holding registers.

Register 1-2 = Flow Rate per Hour

Register 3-4 = Flow Accumulated (total)

Register 5-6 = Flow Accumulated Today

Register 7-8 = Flow Accumulated Yesterday

Register 9-10 = Average Flow rate per day

Register 11-12 = Energy rate per day (BTU)

Register 13-14 = Energy today (BTU)

Register 15016 = System Pressure

I hope that helps you more than it does me!

Thanks,

Ross

It looks like you are doing everything correctly and not getting the data. Did you try reading 15016?

I would contact the OEM and ask them why you aren’t getting data back.

What is 15016??

From your previous post:

Oh, sorry. That was a typo. Should read 15-16 = System Pressure. Register 15 and 16 together…