Sign in to follow this  
Followers 0
Chris Elston

First Compact Logix Look (RS 5000)

68 posts in this topic

geez, I got my first look into a compact logix this week. Man, that's a tough way to think...how you can address your tags, and have structured tags within tags within tags....that's like a triple array!...whew... The guy who programmed this didn't bother with any descriptions in the "memory" tags and his short hand for symbols is a little less than desired.... like this one: "P15ONLT" what the heck does that mean... or "CS" grrr..... It's going to take some time to get use to the "free" reign of "memory allocation" in the PLC and structure it the way you want. I can see an advantage for it, but switching gears from 500 to 5000 is not something my brain can change too over night. Anyone have any other tips they want to share? I kind of didn't see a "used and unused" memory map. I guess you don't really need it. But if you had a tag that was configured as INT, with 16 bits, how do you know which one of those 16 bits you haven't used yet? The tag structure is tough to get a handle on too for me. I guess I will learn it as I go onward. I am just jumping in with both feet and no pointers at this point. The just "wing it" method...

Share this post


Link to post
Share on other sites
I'm a little short on time right now and will try to post more later. But have a look at using the "User Defined" tags to build your structure. It will help, or at least it has helped me. Also, going off the top of my head, I believe it is possible to add a 4th dimension to your array with these User Defined tags though would have to double check that. I'll send you some sample files of user defined arrays tonight

Share this post


Link to post
Share on other sites
You will come to love it.

Share this post


Link to post
Share on other sites
The jump from 500 to 5000 is a definite paradigm shift. Some key elements I've found useful are as follows: 1. The SLC 500 worked as follows ; Read Inputs, Scan and Solve Logic, Write Outputs Handle Overhead, Repeat 2. The 5000 works as follows : CPU 1 Solves logic and instantaneously updates image table continuously, CPU 2 Reads Inputs to Image table and Writes Outputs from Image table continuously. This means that an input can be on in rung 3 and off in rung 4. 3. Tag names can be plain english and 40 or 64 characters long. We use an algorithm that identifies the PLC and machine location in the name of the tag. 4. When you work with redundant PLC's in 5000 FOLLOW THE HANDBOOK. 5. RS500 Find All is RS5000 Cross Reference 6. Don't ignore the destructive column when looking at Cross Ref. It can help you avoid visiting rungs that don't change the value of the tag. 7. Pay attention to Tag Scope. Controller tags can be used anywhere and seen by DDE / OPC clients. Program Tags are only good in their program and cannot be seen by DDE / OPC client {RSView, Wonderware, etc}. 8. Some data like internal system clock are now accessed thru special instructions {SSV GSV for example} Beware of the SSV/GSV instruction it uses 7 to 15 times more processor scan that a mov or cop instruction.

Share this post


Link to post
Share on other sites
I disagree. I think this may be the case with RSView Studio, but not so with RSView32. The RSLinx (classic) OPC server can browse to any scope. There was a problem with RSView32 prior to version 7 because the maximum address length in the tag database was limited. If the CLX tag name and program name and OPC topic name were verbose, they could easily exceed the database limit. With a bit of effort, even controller-scope tags could be too long-winded. I do agree, however, that it is best to make HMI tags controller-scoped

Share this post


Link to post
Share on other sites
My first CLX project is coming up in June, so I'll be watching from the side lines. I've been doing a lot of DCS programming the last few years, which is also tag based, and also has asynchronous I/O updates, but does not have UDT's. I'm hoping the migration will be a little bit easier for me, but you never know. I'm attending a four day Rockwell CLX training class next week, if I learn anything especially note worthy I'll post it here.

Share this post


Link to post
Share on other sites
Not unlike programming in a Object Oriented language like Delphi, C++, etc., you'll find that taken some extra time up front to lay out your data structures can make the programming go easier.

Share this post


Link to post
Share on other sites
I've taken a step in the other direction lately.. Up until my present job, I've been doing work for auto suppliers, and it seems that just about all of the suppliers have standardized on the SLC 500/Micrologix family. (Those that haven't gone to ControlLogix, that is) But now I'm working on systems that go in the Big-3's assembly plants, and they're still using PLC-5, which to me seems a bit more primitive in terms of addressing.

Share this post


Link to post
Share on other sites
Yeah, assembly plants seem to be a little behind but they don't get new equipment as often as the engine and transmission plants.

Share this post


Link to post
Share on other sites
used bits are Greyed in a Dint this shows the difference between used & unused dint level this feature is available only from V16 this shows how to filer out the unused tags

Share this post


Link to post
Share on other sites
He must of read the link that Panic pointed us to in the past.... "How to write unmaintainable code"

Share this post


Link to post
Share on other sites
maybe the guy was a txt afficianado....substitute "S" for "5" and "I" for "L"

Share this post


Link to post
Share on other sites
OK Here is the Wizards read thru the crystal ball! Control Structure - A UDT which contains all the controls for a given device / unit Other guesses will follow I'm sure.

Share this post


Link to post
Share on other sites
"P15ONLIT" PUMP-15 ON LIGHT "CS" CAM SWITCH

Share this post


Link to post
Share on other sites
Half right: P15ONLT = Pump 15 On Lite CS = Control Switch

Share this post


Link to post
Share on other sites
Just same as symbol in RSL500 with out address

Share this post


Link to post
Share on other sites
The way I see it is you got 40 charactors to describe it, use them P15ONLT = Pump15OnLight And don't even start on how you waste memory by using more charactors. Memory is plentiful in these processors...use it

Share this post


Link to post
Share on other sites
This is why I like you guys....I try and make a serious comment, and everyone tries to have some fun with it...this is great! I think I figured out CS means (Conveyor Start or Started) Geez, you'd think the tag would say: CONV_START instead of CS I still haven't figured out the other one. It's a bit that controls a VFD signal. I am certain P15 means: PALLET 15, though it's a conveyor tag. So it really means CONVEYOR 15 "ON" .....I don't have a clue on the "LT" yet...

Share this post


Link to post
Share on other sites
By any chance is pallet conv 15 bi-directional? If so do you have a P15ONRT in which case LT means left travel and RT means right travel.

Share this post


Link to post
Share on other sites
Yes it is bi-directional! That makes PERFECT sense now...geez it takes mrplc scholars to defunctant someone elses short hand...let that be a lesson to you newbie programmers..... Pallet 15 "ON" Left Travel....I bet your right. Now depending on what side of the conveyor your standing....on the outside loop or inside loop...*sigh*...

Share this post


Link to post
Share on other sites
Ermanco distributors use "P" #s for the conv's. P15 could be conveyor section 15. We use the 15 for all associated devices (M15 motor starter, OL15 overload, DISC15, PE1501 first PE in conv...) CS might also mean Cable Switch. The auto manuf's sometimes use COS for Cable Operated Switch. Most of us call them pull cord

Share this post


Link to post
Share on other sites
Do not attempt the following at home or work unless you are a professional Equipment designer / maintainer. OSHA requires Lockout Tagout Try Procedures be followed any time you will be "in harms way". LOL : Ok now that the legal disclaimers are read. Try standing in the conveyor and face the direction of product flow. THis should give you correct left and right orientation in 99% of reasonably designed machines. LOL Note : respondent is not responsible for actions taken based on this advice. Reader assumes all responsibility for his actions.[/i]

Share this post


Link to post
Share on other sites
You should be able to go into the tag editor and see what the base tag is, this is will let you know what drive parameter is aliased. I just started the level three CLX training yesterday, I skipped levels 1 & 2, and it's still a little slow, but not to bad. This class doesn't start out at the this is a bit stage. Yesterday was the first day, and we are mainly going over recommend project structure, event task, periodic task, udt's and tags in general. Some of the students are having a hard time with the multiple output coils in the same rung, and the produced/consumed I/O updates independent of logic scan. We are using ver. 16 and at least the used addresses are gray out, so you can see what bits/words are used in the program. We will be covering user defined instructions either today or tomorrow. So far, I really like the logix platform, I can see how properly developed code can be used over and over again without much effort. The most powerful platform I've used so far, but the function blocks are very rudimentary compared to a DCS, and the structured text could use some development as well.

Share this post


Link to post
Share on other sites
Hi all, I am new with Control Logix, and I am still trying to get used to the tagnames. I understand than if you can use long tagnames (describing what they are for) use them. But I think we should keep small tagnames when communicating with SCADA packages, to optimise the communications. I found this document very helpful: Publication 1756-PM001I-EN-P - January 2007 (Logix 5000 Controllers Common Procedures) I was really surprised when I read that any tag uses at least 32 bits, and they recommend to use DINT instead INT or SINT; not only from the memory point of view, as well for the resorces used to convert INT into DINT, as many of the calculations use DINT. Do you know where could I find more information how to optimize the programme, the memory, the scan time and the communication? I may not find problems, but I would like to keep the good practises. Thanks, Mushu

Share this post


Link to post
Share on other sites
you can find most of the manuals in the Help online manuals in RSL5K software the memory&the scan time for each instruction Here you get all the manuals for RSL5K http://literature.rockwellautomation.com/i...itQueryForm=%BB

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0