Modbus Interface with AB SLC

semilogical

Member
Join Date
Feb 2007
Location
Kansas
Posts
16
When transferring information from an integer file in a SLC-1100 (or any SLC with modbus capability) is there any impact on the value in the modbus word? I'll give an example of what I'm sending:

I will be sending N7:0 to a modbus location through a CEV module. I'm currently unsure of the offset that will be used but if N7:0 goes to modbus address 401001 and N7:0/0 is 1 will the same bit be a 1 in 401001? (401001.1) I understand the LSB in AB land is 0 but in Modbus land it is 16.

Will my transferred value reside in 401001.1 or in 401001.16?
 
If you had a value of 16 in N7:0 it would appear as (in Binary) 0000000000010000 with N7:0/4 being the only bit on. If this was transferred faithfully to a modbus PLC then 401001 would also contain the decimal value 16. The only bit in 401001 to be on would have to be the 5th least significant, 401001.12 . But this is only my calculated GUESS.
 
For kicks I programmed a Modbus Holding Register Write (Command 06) to Address 40001 from an SLC-5/05 FRN11 controller to a Modbus device at Address 10.

The output of the serial port in hex was:

0A 06 00 00 00 01 49 71

0A is Address 10
06 is the Function code 06
00 00 is the Data Offset. Zero offset means "Modbus Data Address 40001".
00 01 is the data value in N7:0, decimal 1.
4971 is the CRC value


The Modbus serial protocol specification says exactly this about data order:

4.2 Data Encoding
• MODBUS uses a ‘big-Endian’ representation for addresses and data items. This means that when a numerical quantity larger than a single byte is transmitted, the most significant byte is sent first. So for example:
Register size value
16 - bits 0x1234 the first byte sent is 0x12 then 0x34


The data we see sent by the A-B controller complies with this: the most-significant byte, sent first, is 0x00. The least-significant byte, sent last, is 0x01.

This tends to say to me that in a Modicon world, the sending of a value of "1" will still be a "1", but the bit set will be Bit 16 in the Modicon controller.

By the way, DF1 sends data precisely backwards from Modbus; the LSB comes first. Just had to be different, I guess.
 
Also just for kicks

A comparison of Modbus and DF1 data encoding for the same kind of data transfer:

Modbus Writing Holding Register (function 0x06) in Slave Node 10 (dec) with value 0x1234:

0A 06 00 00 12 34 85 C6


DF1 Full Duplex Writing Integer Register N7:0 in Slave Node 10 (dec) with value 0x1234:

10 02 0A 00 0F 00 C0 07 AA 02 07 89 00 00 34 12 10 03 B0 59
 

Similar Topics

I just got an IFM AL1343 IO-Link master with Modbus TCP interface From the manual this thing seems to have a Web Interface(http) for view its...
Replies
3
Views
2,082
We have a SLC5/05 that's acting as the main MTU for our SCADA system. I need to bring in some data from an AutomationDirect CLICK PLC that...
Replies
8
Views
3,383
Hello, I have an Automation Direct Modbus-to-Ethernet Gateway on the same netrwork as an AB NET-ENI Ethernet-to-Serial device. The Modbus has...
Replies
10
Views
2,965
Hello Friends I have a question and would like to have your helps. I have 1 PLC s7-300 and a temparature device that uses the modbus protocol...
Replies
0
Views
1,854
Hi, I need some help to communicate the S7-400 redundant system using CP441 to third party devices on Modbus protocol. We have following...
Replies
0
Views
6,034
Back
Top Bottom