Flexlogix to micrologix message

micahg

Member
Join Date
Feb 2007
Location
Georgia
Posts
35
I need to be able to message some data between a number of micrologix 1000s and a flexlogix 5434. I've done a good bit of PLC5 DH+ messaging in the past but the flexlogix format is not familliar to me. The software I have is the RSLogix 5000 MINI which will only work with the flexlogix. I've went thru several of the books, AB's knowledge base and here on line. In the software there are some message examples but they are for the contrologix and will not work with the MINI software. So heres where I'm at. I have an ethernet switch connected to my laptop, on this I have the flexlogix with an ethernet card installed. On the RS232 port of the flexlogix I have a nul modem cable connected to a net-aic+, from the net-aic+ thru the DH485 port I have a cable connected to another net-aic+. At the end of the last aic I have a micrologix 1000 plc. With RSLinx I am able to look thru the flexlogix backplane to the RS232 port which is now set to DH485 and see the micrologix. With RSLogix 500 I am able to upload/download and communicate with the micrologix. My problem is when I try to set up a message in the flexlogix I can't get it to communicate with the micrologix. In the message setup under the communications tab, I have it set for DH+, channel A, destination link 0, source link 1, destination node 0. When I go to set the message path, I click on the browser and all that is selectable is the 1788ENBT\A, flexbuss local, and flexbuss local2. If I select local, I get an error "reply data too large". If I put in say 0,1 or something like this it takes it but then gives an error "connection failure". One thing that might help me is if someone could take the Message sample file and convert it from contrologix to a Flexlogix5434 so I could actually look at it with my MINI software. Any help getting started would be apreciated.
 
By the way, this message I'm using is a SLC typed read, source=N7:0, number of elements=10, destination element=array5. Also the "array5" tag= int(10)and decimal. Thanks..
 
micahg,

First, FlexLogix and ControlLogix messages look pretty much the same. You are not dealing with anything all that unusual. The mini software just won't let you work with ControlLogix PLC's.

Second, do you have any remote IO attached via Ethernet to that 1788-ENBT?? If you do not them delete it from the IO configuration. It does not nead to be there.

Third the path. It will be something like 1,3,2,x

x=the node number of the target MicroLogix. I am not positve about the 3 for the serial port address. I may have this fairly WRONG, we'll see.

Do a search on Rockwell knowledge base for the word "pathing". There is a great document available that defines the numbers in a path.

Your message type will be SLC/PLC types read or write.

I am at home and trying to remember this off the top of my head. I have never done a message accross this exact network and processor type.

Someone will post the definite answer I am sure.

RSL
 
I thought the contrologix and flexlogix were very similar, only I have no experience with either. The examples for the message code are in contrologix and I can't look at them with my MINI software. If someone could help me with converting the sample program from a contrologix processor to a flexlogix processor and send it to me, I could then open it with my Mini software and look at it and maybe learn what I'm missing. Or maybe show me the proper way to put the path in. Thanks..
 
First off, good work on getting the DH485 network configured between the MicroLogix and the FlexLogix. Having the RSLinx browse working correctly assures us that the media and port configurations are correct and we can concentrate on the MSG instruction configuration.

The DH+ and Channel A configuration that you're looking at in the example is strictly for the 1756-DHRIO module in ControlLogix. For this message, we're going to use a CIP type message.

The CIP path is very powerful and elegant once you get used to it. It's just pairs of Port numbers and Address numbers.

In this case, we need to send a message out the Channel 0 serial port of the FlexLogix.

Despite its name, the Channel 0 serial port isn't really Port 0 in a CIP path. On any Logix family controller, Port 1 is the backplane, and Port 2 is the serial port. If you have a two-serial-port controller like the 1769-L31, then the serial ports are Ports 2 and 3.

For a full description of CIP paths, go into RSLogix 5000 and search for "Specifying communication details".

When you browse through the DH485 port of the FlexLogix, what node number does the MicroLogix 1000 appear to be ? That's your target address. If the Micro is Node 3, then your CIP path is "2, 3" to indicate the message goes "out Port 2, to Node 3".
 
Ken, THANK YOU SO MUCH! I changed it to CIP and my micro was node 1 so I put in the Path as 2,1 and it worked great. I went ahead and put in a message SLC typed write and used the same setup and it also worked great. I'v got a lot to learn as I progress into this project including Panelview 600+, but one thing at a time.

On the same subject, since I will be messaging several nodes on the DH485 network, (read and write) how would you set to trigger the messages, maybe once in a while by time, (speed is not necessary) or use the done bit on the write to trigger the enable on the read ect.
 
Boy am I glad you asked that question, because it's a lot easier to learn this right instead of unlearning it later.

First, the bad news. The FlexLogix isn't a communications powerhouse, and DH-485 is often derided as "Data Sidewalk" because of its relatively low throughput compared to modern networks.

My favored method for cyclic collection of data using Message instructions is to trigger a series of MSG instructions using a repeating timer. The first message is triggered by the timer's .DN bit, then each subsequent message is triggered by the .DN bit or the .ERror bit of the preceding message. Make an array of MESSAGE control tags and it's all quite tidy and may even lend itself to iterative subroutines.

There are two common things that many programmers of message instructions overlook, to their detriment.

The first is the timeout mechanism. ControlLogix message instructions have no ladder-settable timeout value. If there isn't a link-layer error (the most common is Connection Error) then a message that is not responded to will remain Enabled forever. I don't know if DH485 provides link-level errors.

The solution to that is manual timeout forcing. Run a timer when the message is Enabled but not Done. If that timer runs to its preset value, then set the .TO bit of the message instruction to manually cause a timeout error.

The second major consideration that is overlooked is that it's better to not send a message to a node that you know is disconnected than it is to send the message and manually time it out. Some networks allow you to determine the connection status because there's also an I/O connection. Other networks maintain an Active Node table that you can check against to be sure the device is still active.

There's still the possibility for a message to be triggered right a the instant that a device is disconnected from the network. That's OK; that is what the manual timeout logic is for. But it's faster to not wait for a timeout and just skip the MSG to a disconnected node.
 
How about this, I used 2 timers one off time of 100ms used its DN bit to start the other timer for say 2 seconds. While the second timer is timing, I enable the first message, when it is done or error I start the second message and so on. Also on all the subsiquent rungs, I use the same timer1.dn bit to allow enable for the 2 seconds. At the end of the timer cycle, I disable all rungs causing all messages to be not enabled and then start the process over again? I'm sure the times are way high but I can watch them work at this speed. I unplugged my micrologix an watched it error the first message and then run the second and it errored. Then 2 seconds later it recycled and did it again and again. When I plugged the micro back up all the errors cleared and the messages went back to work. Does this sound like a good way to do this?
mg
 
I'm not sure precisely what you've coded. I am attaching a file that shows what I had in mind.

I got a little carried away above; I forgot that MSG instruction control tags can't be created as arrays, and that the FlexLogix doesn't have a DH485 Active Node Table.

But the other comments regarding manual timeout rungs and sequencing are still valid !
 
Thanks, I downloaded the file but when I tried to run it I got "file created with a newer version of RSLogix 5000" or something like that. My software has been sitting in its box for a couple of years, I guess I need to go online and update it. I guess a little backgound is in order here. I proposed a similar project to this in 2001 when I started with this company. Pieces were bought and the project put on the shelf several times. Finaly I was told the project would never be done, to replace all the controls in the moldroom with PLCs and to do it as cheap as can be done and have seperate plcs for each machine (50 each). So I removed all the old timers relays etc. and put in nice cheap micrologix processors in each press. That was the end of it for a coule of years. Then all the bosses got fired!. Guess what, the new bosses want this project completed yesterday, use what parts I have and add on from there. Im glad to finally be doing it, but never never means never does it. Thanks again..

mg
 
DH485 for large numbers of nodes

Your note about there being fifty MicroLogix raised a yellow flag for me.

Do all fifty of the MicroLogix controllers have to be networked to one supervisory controller ?

DH-485 protocol will only support 31 nodes on a network, and will be almost unusably slow with more than about 20.

The alternatives I can think of would be DeviceNet and DF1 Half-Duplex. It depends on what sort of speed and distance you're looking for, and whether you've bought isolator/network boxes for the MicroLogix controllers yet.

Is there any wiring infrastructure in place yet ?
 
Actually the plan (as currently layed out) is to have 12 or so micrologix on a DH485 network connected to one flexlogix to be used for a communication relay and data storage. There would be 4 of these flexlogix with seperate DH485 networks. Then the flexlogix would be connected to ports on my ethernet switch and the switch be put on the plant network. (I've already checked with I.T. they gave me a group of addresses I can use.)

Most of the parts to do this with is in a box in my office about 2 or 3 years old now, but still new in the box, including the 4 flexlogix and ethernet cards, 30 of the net-aic's, and 30 or so of the cables, the ethernet switch and the panelview +600. What I have in mind is to use the panelview to set up each individual machine, (about 10 settings) and view these settings. I intended to have the settings as tag database in the flexlogix and then message this data to the micrologix. Then do a read from the micro to the flex and put that data in a tag database to then be read by the panelview. Other than the setup data there would be clock setting data sent to the micros for shift info and production count and rate sent back to the flex to be displayed on the panelview. I intend to group the data into consecutive addresses (like N7:50 thru N7:65) so all the data will be transfered with one message. Do you know of any problems with this, (considering I'm stuck with this hardware), that would prevent this from working, or with my hardware see a better way to do this.

Once this is working, the next step would be to bring that data into a pc on the network and and record the production data with rsviews or factorylink or whatever, (not purchased yet). I've been told that the new management wants this as the end result so if I make the first part work, purchasing the software probably will not be a problem.

Finally my hope is to start bringing other plant areas into the ethernet network and possibly use the RSViews as a data collection point that could be viewed as a web page from the other office computers. This would make the other PLC's avaialble from my office also.

I may be over my head but it's still better than setting on the bank.
 
Ken, I finally upgraded my RSLogix5K (6 hours and 50 minutes on line) and was able to open your file. That looks similar to what I now have. Thanks for the input.

BUT I have another question on this. I tryed to connect several micros on the DH485 with different node numbers and was able to message to the different nodes with the flexlogix okay. My problem was when I tried to look at these other nodes with RSLinx thru the ethernet cable thru the backplane and thru the comm port. I can only see a micro if it's set to node #1. The other nodes are not visable this way. I connected thru my computer comm port to the DH485 and I can see them there but not thru the backplane and comm port on the Flexlogix. What gives?. Am I expecting too much or do I have something set wrong maybe in the Flexlogix. Maybe I also need to upgrade my rslinx.
 

Similar Topics

I'm going to rephrase this question. I have a 1794-L34 controller i need to replace. Is there a better way to do this than to put in a 1769-L30ER...
Replies
6
Views
635
Hi, i've write this AOI to send a ControlValue comes from pid and control a valve. this valve is controlled through analog output. the rang of...
Replies
0
Views
1,008
One of our systems runs on a FlexLogix 1794-L34 processor with a 1788-ENBT for plant network access and a 1788-CNC for remote I/O. The current...
Replies
3
Views
1,523
Hi guys i have a flexlogix 5434 with 1788-enbt. On the processor is a sticker with IP 10.24.230.239 but i have no idea if that's correct. I...
Replies
6
Views
2,172
Back
Top Bottom