Help - Search - Members - Calendar
Full Version: How to set up DF1 msging in ControlLogix?
Forums.MrPLC.com > PLCs and Supporting Devices > Allen Bradley
Scooty Puff Jr
Hello all,

I'm hoping some of you can point me to the right direction on this task I'm facing. This is WAY too deep for me so any little help/ links to webpages/ pdf documents is much appreciated! wacko.gif

Basically, I need to set up messaging via the DF1 port on a ControlLogix L62 processor to a slave unit (a Miri Telemetry base station). The Slave unit communicates via PLC5 message type to the L62 processor.

What I have done so far is go to "Controller Properties"->"System Protocol" Tab and set "Protocol" to "DF1 Master" (Polling mode: slave cannot initiate messages)

Now, do I need to set up a DF1 driver in RS-Linx for messaging to work?

Also, messaging is a concept that is totally foreign to me (coming from projects which only ever had produce/ consume comms). I have a list of data that I'm supposed to be polling for from the slave unit. Below is just a sample:

DF1 PLC5-Page DF1-PLC5 Word Bit Description
N-001 001 Start
N-001 002 Stop
N-001 003 Reset

What I don't understand is how do I actually poll for these bits of information? Is it just as simple as setting the "Message Type" to "PLC5 word range READ" and off she goes?
Surely I have to tell the message to poll from the DF1 port, so how do I go about configuring it so that it reads data from the DF1 port?

I also see that under the "Logic" menu in RSLogix 5000 there is -> "Map PLC/SLC Messages". I guess I will have to use this tool but the "File Number" sure does confuse me!

If anyone can link me to an "AB messaging 101" help page or "DF1 for Dummies" that would be most delightful!! smile.gif
BobLfoot
I maybe underthinking this but you should need 3 simple steps.

1. Set the serial port of CLGX to DF1

2. Map a CLGX DINT or SINT Tag to file number 7.

3. Configure your telemetry base unit to use N7 under the PLC 5 scheme.

with a serial cable between the CLGX and the Telemetry unit comms should be more or less automatic.
Ken Roach
The general instruction set reference does a pretty good job of explaining the function and use of the MSG instruction itself, but an overview of DF1 messaging and how the Logix emulates and interfaces with PLC/SLC data types can be useful.

Because you are initiating the messaging from the ControlLogix, you don't need the Map PLC/SLC Data Table feature. That's only for telling the Logix how to handle incoming messages in the PLC/SLC style.

Instead you're going to set up a PLC-5 Word Range Read type message addressed to the telemetry unit. You're going to trigger that MSG instruction to execute periodically, likely by using the DN bit of a self-reseting timer. Don't forget to prevent the MSG instruction from executing again if it hasn't completed (to avoid filling up the buffer).

You need to determine if the telemetry unit supports DF1 Full Duplex protocol or DF1 Half Duplex protocol. This makes a difference in how you configure the ControlLogix serial port.

When a ControlLogix is peforming a PLC-5 Typed Read, the data table address in the target device is noted in ordinary "PLC-5" addressing format: a file type letter, a file number, and an element number. In your case, it will be N1:0.

The destination tag in ControlLogix should be an INT type, to match the 16-bit integer types that PLC-5 data tables use.

The addressing of "N1" is unusual; usually the first integer data table in a PLC-5 controller is data file N7, so let's double-check that telemetry device documentation.
Scooty Puff Jr
Thanks for your responses. I have since downloaded the "Logix5000 Controllers General Instructions" manual for further reference and I think I am getting most of this.

QUOTE(Ken Roach @ Nov 28 2008, 03:57 PM) [snapback]76310[/snapback]

The addressing of "N1" is unusual; usually the first integer data table in a PLC-5 controller is data file N7, so let's double-check that telemetry device documentation.


With regards to the above addressing of N1, the telemetry system is definitely stating it as the range N001:000 - N001:999 for an array of 1000 INT elements of "PLC5 typed Writes" (Outputs to the telemetry system).

As for the "PLC5 typed Reads" (Inputs from the Telemetry system) that has been assigned to the range N002:000 - N002:999 array of 1000 INT elements.

I have read from Answer ID 7355 from Rockwell's knowledgebase that the File Number is arbitrary. So maybe the Telemetry Programmers have assumed that since its not an actual PLC5 hardware, it is ok to go with N001?

Either way, I am programming these MSG blocks to write and read from N001:xxx/ N002:xxx because that's what is written in their document to us. lookaround.gif

QUOTE(Ken Roach @ Nov 28 2008, 03:57 PM) [snapback]76310[/snapback]

Don't forget to prevent the MSG instruction from executing again if it hasn't completed (to avoid filling up the buffer).

Is this done thru the monitoring of the .DN bit of the actual MSG block? The "General Instructions" manual is saying that I should monitor the .DN bit from a copy of the MSG.FLAGS word so that's what I've written.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2010 Invision Power Services, Inc.