Banner DX80 Gateway - Micro 800 PLC Modbus Issue

CCasalie

Member
Join Date
Apr 2013
Location
Attleboro, MA
Posts
10
I am attempting to establish Modbus communications between a Banner DX80 Sure Cross Performance Gateway and a Rockwell Micro 820 PLC using the PLC's built-in RS-485 port.

I have been working with both Banner & Rockwell tech support and have come to an impasse.

I have the PLC as Master and the DX80 as Slave (the Banner cannot be a Modbus Master).

When I trigger a Modbus Read from the PLC, the #2 light on the DX 80 flashes Red indicating it received some traffic, but was unable to understand it. The Modbus command on the PLC gives and error code of 55 which Rockwell tells me is a timeout due to no response from the slave.

I have checked all comm parameters on both devices and everything seems correct.

Rockwell tells me that I don't need termination or biasing resistors on the RS-485 lines.

Anyone with any experience with this particular configuration or with Modbus Communications on the Micro 800 series have any suggestions?
 
The only sure way to solve inter-device Modbus comms problems is to intercept the traffic.

Do you have an RS485 interface that would let you "sniff" the serial traffic ? Even a simple RS485/RS232 interface ought to allow you to just listen to the data.

While I'm a huge fan of the Stratus Engineering EZ-Tap and Versa-Tap, there are plenty of other software and hardware methods for listening to serial data.
 
1) Have you tried swapping the RS-485 A(-) and B(+) lines? Labeling is inconsistent. It should be (+) to (+), (-) to (-), but sometimes the labeling is the other way around.

2) I agree, on the bench it is rare to need termination resistors.

3) Banner gateway default serial comm settings are 19.2k baud, 8-N-1. Are the A-B settings identical? Did you change the comm settings in Gateway?

4) Is the A-B configured for 2 wire, half duplex?

5) Banner uses holding registers only. Is the A-B using function code 03 (read holding registers)?

6) Gateway has registers 40001 through 40016, node 1 has registers 40017 through 40032, node 2 has registers 40033-40048, etc. Node is defined by the rotary switch position. Are you addressing valid registers?

If you used the Banner's USB BWA-HW-006 Converter cable to configure the gateway or nodes, you used Modbus to talk to the Banner Gateway.
 
Dan,

As per your points:

1) Tries swapping lines with no effect. When I swap the lines, the DX80 #2 LED does not flash at all, so I believe that is the incorrect polarity

2) Tried 110 Ohm Terminator just for fun, no effect

3) I have matched baud and 8 N 1 settings

4) The AB PLC Serial Port is set to 'Modbus RTU' protocol, there is no separate Duplex setting available

5) Yes, I am attempting an '03' Holding Register Read

6) I am attempting to read register 40022 (Input 6 on NODE 1). I am not sure whether I need to set my read register in my instruction to 22 or 40022, but I have tried both to no avail.
.
Yes I have used the BWA-UCT-900 (RS485 - USB) cable and the DX80 configuration software on my PC to setup the Gateway, so I know that the gateway does not have any hardware failure.

I am not sure if there is something strange that needs to be done on the PLC side to get this working. Is it possible for 2 Modbus devices from different manufacturers to not be compatible due to some individual quirks in the devices themselves?

Thanks for this insights and suggestions Dan!
 
1) You're positive the node is address 01, zero on the left rotary switch, one on the right hand rotary switch?

A slave will ignore any message not addressed to itself and the master will time out.

2) Micro 820 PLC manual:
pg 54
It appears that the default 'media' setting is RS-232 port, but I suspect that is the embedded port in the controller. It isn't clear where the serial port is defined for the 2080-SERIALISOL module.

3) pg 151
All Micro800 controllers (except the Micro810 12-point models) support
Modbus RTU over a serial port through the embedded, non-isolated serial port.

The 2080-SERIALISOL isolated serial port plug-in module also supports
Modbus RTU.

Are you using the embedded port or the 2080 serial module as RS-485? serial module wiring terminals A1, B4?
A2 GND to Banner M12 terminal 5?

4) pg 152
In order to make it easier to map variables to five-digit Modbus addresses, the
Connected Components Workbench mapping tool checks the number of
characters entered for the Modbus Address. If only five-digits are entered, the
address is treated as a five-digit Modbus address. This means that the Discrete
Inputs are mapped from 00001…09999, Coils are mapped from 10001…19999,
Input Registers are mapped from 30001…39999, and Holding Registers are
mapping from 40001…49999.

Your register 22 shouldn't be affected by 5 or 6 digit addressing.

5) I do not know what Banner's Modbus processing rate is, but I worked on another slave device yesterday that choked at a 10x per second read poll rate. When the master's poll rate was slowed to 1x per second, the slave responded perfectly.

6) Is it possible for 2 Modbus devices from different manufacturers to not be compatible due to some individual quirks in the devices themselves?

Not really.
For Modbus RTU to work one needs the
- the serial comm settings to match
- the A/B lines connected properly
- a signal ground that doesn't drive either driver outside of its bias range
- slave node address to match that in the master's poll msg
- the poll to ask for data from a valid register with a recognized function code (not half of a DINT or floating point value, which will likely trigger an exception). 03 function code is definitely a recognized FC by Banner. 40022 is a valid register for a Banner radio that's node 1 and turned on and connected.
- enough valid contiguous registers to comply with the poll request for X bytes
- a valid CRC

I suspect that the 820 calculates how many bytes to request from the 820 tag it will use, where its format is defined. In any case, you need to match the single register Banner value with its compatible format in the 820.

I've had Banners polled by several HMIs. In my opinion, their Modbus is robust.

But it took me over an hour a week ago to get a seldom used Master to talk to a frequently used slave. It was only one setting that kept it from running.

Are you sure you're using the correct com port on the 820?
 
I am using the embedded serial port in the 820. I am quite confident that I have the baud rate, Slave ID and wiring correct, as any change to these and I do not get LED #2 to light up on the Gateway when I execute the Modbus Message command.

I have the MODBUSMSG command set to send a single read request at a time, so I am not overwhelming the Gateway with traffic.

This is the command I am using to communicate with the DX80:

https://drive.google.com/file/d/0B4o2oPQ30VJseHJlSC1XUC1mVlk/view?usp=sharing


Here are my comm port settings:

https://drive.google.com/file/d/0B4o2oPQ30VJsbGgzSzJwUllYZm8/view?usp=sharing

(NOTE: I have tried 'Response Timer' & 'Broadcast Pause' settings of 0, 200 & 10000 mSec, all with the same '55' ErrorID response)


Here are the settings for the MODBUSMSG command:

https://drive.google.com/file/d/0B4o2oPQ30VJsekNfSFAzVnRIVkk/view?usp=sharing


Here are the diagnostics after attempting a single Read command:

https://drive.google.com/file/d/0B4o2oPQ30VJsbV9PV2h5SFdQdmM/view?usp=sharing
 
Last edited:
Hi,

I am trying to set Modbus comms with 2 units - ABmicro820.

I have got similar results as described above: error 55 - message timed out .
I have tried embedded serial port and a plug-in option as well - with a lot of combination (termination, swap cables, different functions: read coil or register, write coil or register, several bauds) - always finieshed with error no55.


Please let us know if anyone has solved the problem.
 
I’d use Modbus poll master and slave (two separate pieces of software). Use Modbus poll master to communicate with your slave device and have your Modbus master (AB Micro) communicate with Modbus poll slave. Once you can get the software to talk with both devices then you know they are capable of communicating and that they are configured correctly. That will eliminate a lot of possible issues. Both pieces of software have evaluation periods. They both will stop running after 10 minutes which can be a pain but you don’t have to spend money on software you may never use again.
 
Change the Banner node to an address higher then 11 on the rotary selector switches.
 
@JeffKiper: this is only valid for Multihop radio modules where the Rotary Dials are equal to the Slave ID.


I would suggest you check the SLID of the DX80 Performance GTW is equal to default = 1
You can use the LCD display to access it.


I don't know if your question is still open? I just bought a Micro820 and I will try to connect it to a DX80 GTW.
Where you have to make it to work? If yes, can you share your sample program?


Have fun,
Frederic
 

Similar Topics

Does anyone have the web page IP login and password to configure this guy with a web browser? Thanks,
Replies
1
Views
3,735
Good DayProgrammers. I have an issue in my banner dx80 multihop..i want to configure the master radio using a third party usb-rs485 converter.. my...
Replies
3
Views
1,871
Hello everyone, I need your help to guide me how to make this screen appear when the alarm is present, I have already configured its size and the...
Replies
5
Views
138
I'm using FactoryTalk ME version 13. I have an alarm banner that is an on top display. Whenever there is an alarm this banner becomes visible to...
Replies
3
Views
890
This is an issue that I noticed we have had recently on this keypad HMI, an alarm will come up and it can be acknowledged by a fault reset button...
Replies
0
Views
553
Back
Top Bottom