1769-SM2 Modbus RTU Issues

dumbjock

Member
Join Date
Jul 2016
Location
Chattanooga, TN
Posts
5
I am using a 1769-L35e with a 1769-SM2 (latest firmware) to communicate with a MicroMotion transmitter (9739MDV) that automatically detects serial communications parameters. I've verified communications with the transmitter via usb/modbus adapter with my PC. I'm using RSLogix50000 v19.11. I've scheduled a read message to the transmitter once every 100ms, but I'm only getting a response every 3-4 minutes. It typically fails with error code '1e' with extended error code 'fe'. Any thoughts on what might cause this? I actually have three of these cards on hand and they all respond similarly.

Additional details:

Module config slot 1, channel 1:
DSI I/O Cfg 5
RTU Baud Rate 2
RTU Format 0
RTU RX Delay 15
RTU TX Delay 15
Timeout 1
All others 0

MSG Config:
Msg type CIP Generic
Service Type Custom
Service Code 4b
Class 33f
Instance 0
Attribute 0
SourceElement CH1_MSG1_REQ[0]
SourceLength 8 bytes
Destination CH1_MSG1_RESP[0]
Path SM2_01,2,1
Tag CH1_MSG1

CH1_MSG1_REQ:
1
4
246
8
0
0
0
0
0
0


Any assistance would be greatly appreciated.
 
I've verified communications with the transmitter via usb/modbus adapter with my PC.
a) Did you test the communication with the PLC using your adapter (PC as slave)?

b) Try sending a new message when you receive a correct answer, a fault code or reach a timeout (something between 2 and 5 seconds). This is just for testing; you can improve the schedule after the communication is working.
 
I am using a 1769-L35e with a 1769-SM2 (latest firmware) to communicate with a MicroMotion transmitter (9739MDV) that automatically detects serial communications parameters. I've verified communications with the transmitter via usb/modbus adapter with my PC. I'm using RSLogix50000 v19.11. I've scheduled a read message to the transmitter once every 100ms, but I'm only getting a response every 3-4 minutes. It typically fails with error code '1e' with extended error code 'fe'. Any thoughts on what might cause this? I actually have three of these cards on hand and they all respond similarly.

Additional details:

Module config slot 1, channel 1:
DSI I/O Cfg 5
RTU Baud Rate 2
RTU Format 0
RTU RX Delay 15
RTU TX Delay 15
Timeout 1
All others 0

MSG Config:
Msg type CIP Generic
Service Type Custom
Service Code 4b
Class 33f
Instance 0
Attribute 0
SourceElement CH1_MSG1_REQ[0]
SourceLength 8 bytes
Destination CH1_MSG1_RESP[0]
Path SM2_01,2,1
Tag CH1_MSG1

CH1_MSG1_REQ:
1
4
246
8
0
0
0
0
0
0


Any assistance would be greatly appreciated.


This takes me back to a very long nightmare with this card.
There is a trail of tears with this module, and, attempting to coordinate with the manufacturer was a bit of a challenge.
But, one of the many things I ended up doing, which did make a great difference, was to put in a serial communications isolator, between the 1769 module and the Modbus slaves its attempting to talk to.
That is your very first step, based on my experience.
And, yes, a good communications analyser helps as well....I think I used 232COMM, or 232ANALYSER - I don't remember exactly....but I do remember that it came with a USB - to -dual DE-9 serial converter which captured the traffic, and aided in determining who sent what, who received what, and in what order.
Good luck.
 
Gentlemen,
Thank you for the suggestions. I now trigger a new message based on .DN or .ER of the previous message and this alone improved the message success rate from one every 3-4 minutes to one every 2-3 seconds. I then hooked up my usb/rs485 adapter to listen in, and the moment I hooked up the jumpers I began getting 100% success at a rate of 5/sec. Eureka!

Turns out the adapter was reducing the resistance between RS485-A&B and that's what resulted in success. I conclude this base on achieving 100% success without the adapter after removing the 120ohm-1/4 watt terminating resistor I had installed at the transmitter. Apparently, you don't need a terminating resistor if there's only one device on the line--newbie mistake.

jdbrandt, is there a specific serial isolator you would recommend?

Thanks again for the suggestions.
 
The SM2 module has 120 ohm resistors built-in to each channel , but you need to read the user manual very carefully to discover this !

Paul
 
Are you sure the total decreased, not increased? Too low a resistance will 'load' the 485 data lines.

It isn't clear where you put the adapter.

Removing the 120 ohm resistor might have increased the terminating resistance if that end already had an internal terminating resistor (resistors in parallel are a lower resistance than either individual resistor)

Could the terminating resistor that you removed have decreased the 485 data line load by increasing the resistance at that point?
 
I placed the adapter across the terminals on the transmitter which is also were the terminating resistor was located.

Yes danw, you are correct. Removing the resistor actually increases the resistance not reduces it.
 

Similar Topics

Hello everyone. I'm trying to communicate a Controllogix L36ERM with a 1769-SM2 Modbus module to a Schneider-electric Altivar 312 Modbus motor...
Replies
7
Views
2,473
Hi All. I am trying to relocate a simple MODBUS system from a MicroLogix 1400 (on channel 0 set as a Modbus RTU Master) to an CompactLogix SM2...
Replies
1
Views
1,814
Hello! I have a one problem with 1769-SM2 module... I use PLC 1768-L43 and modbus module 1769-SM2. There are 4 devices in modbus net: CH1 - two...
Replies
27
Views
9,270
Hello Everyone. I am using a 1769-SM2 Module to communicate Modbus RTU to a third party device, using the first serial port. I am using MSG...
Replies
0
Views
3,339
Dear all! I am trying to Communicate with one temperature controller(Honeywell DC1040) using Miglogix1500&1769sm2 module via Modbus...
Replies
4
Views
5,704
Back
Top Bottom