SLC 5/04 & Modbus

Labotska

Member
Join Date
Apr 2010
Location
Denver, CO
Posts
3
Hello all,

Existing application:
SLC 5/04 OS401 FRN 10 RSLogix 500 8.1
Accutech BR10 base radio (modbus slave) with 3 remote wireless pressure transmitters.

I have configured "Chan 0 System" for Modbus RTU Master and programmed MSG for "03 Read Holding Registers (4xxxx)". The process value from base radio is two consecutive 16-bit registers. Is there a function in SLC that will take these two registers and create a float value?

I have tried a MSG with this modbus data populating Floating Point (32-bit) registers without success.
 
Hi,

are you sure that the FRN that you're using supports Modbus ?

I think that you need Series C FRN 11 for Modbus Master on Channel 0

regards
Dave
 
SLC 5/03 (OS30x), SLC 5/04 (OS40x) and SLC 5/05 (OS50x) Firmware History
Publication 1747-RM001G-EN-P - November 2008

OS401, Series C, FRN 11
released: June 2008​
Enhancements​
•​
Modbus RTU Master capability on RS232 Channel 0
Modbus RTU Master capability is added to RS232 Channel 0

communication.
 
It is the latest firmware upgrade of 1747-OS401 C installed April 2010. I am getting data from the Accutech BR10 base radio with the modbus msg "03 Read Holding Registers (4XXXXX)".

I know what registers to look for from the radio. These registers are two 16-bit registers that need to be converted somehow to a floating point value.
 
Use the copy instruction.

Important:



But if either the source or the destination is a different data type, the number of elements of the destination determines how much data is transferred by the COP instruction.

For example: if the source was an Integer and the Destination was a Floating Point element, the COP instruction would take two integers from the source for every one Floating Point element in the destination.

COP for example can be used to convert floating point, received from a device that sends data in integer format, into an actual float in an SLC/PLC/CLX:

COP N7:0 F8:0 2 Which would do a byte for byte (well, word for word) copy of two N7 elements into a single F8 element.

http://www.plctalk.net/qanda/showthread.php?t=24467&highlight=copy+floating+point
 
Last edited:
Each device had Modbus registers 40005 & 40006 for data. Each 16-bit. Messaged them to N7:54 & N7:55 respectively. Then move N7:55 into N7:154 and N7:54 into N7:155 (reversing the order). COP N7:154 to F8:50 Length 1. Success.

This reversing was dependent on IEEE version of data handling. It didn't work with the sequential data so I reversed data order.

Reference AB Knowledge Base technote #18912
 
Each device had Modbus registers 40005 & 40006 for data. Each 16-bit. Messaged them to N7:54 & N7:55 respectively. Then move N7:55 into N7:154 and N7:54 into N7:155 (reversing the order). COP N7:154 to F8:50 Length 1. Success.

This reversing was dependent on IEEE version of data handling. It didn't work with the sequential data so I reversed data order.

Reference AB Knowledge Base technote #18912


Yup, see link below for more on the subject.

http://www.google.com/search?q=litt...s=org.mozilla:en-US:official&client=firefox-a
 

Similar Topics

A quick question: How many slaves can be supported by SLC 5/05 modbus master configuration? I am using CH0 RS-232 port.
Replies
11
Views
2,832
Hi! Please share the MODBUS protocol code for the subject Regards
Replies
10
Views
2,410
Hey guys! I've been dabbling with getting a RS-485 device that uses modbus protocol into my SLC 5/05. I've steered towards buying a Modbus...
Replies
2
Views
1,290
Hello all! I am currently trying to read some temp values from a M2B+ controller (link...
Replies
38
Views
13,168
Hi, I'm trying to work out if I can use Channel 0 of my SLC CPUs (configured as Modbus Master) to talk to other manufacturers PLCs. I'm using...
Replies
1
Views
1,502
Back
Top Bottom