RSLogix 5000 - Control Logix

Marcell

Member
Join Date
Nov 2003
Location
Benoni
Posts
17
My Data Types are:
Valve
Drive
ControlValve
Each of these have an amount of members.
I then have a parent datatype(Reactor) that have the above datatypes as members, ie.
Valve[25]
Drive[3]
ControlValve[2]
I then create a controllertag(Reactor_Array) of type Reactor[13]

Now:
Is the only way to actually link the field I/O to my 'variables' by code such as ladder. Surelly there must be another way!!!!
 
Actually, due to the nature of the asynchronous I/O updates in ControlLogix, it is usually a very good idea to do the linking in ladder.

Although I'd love it if there was statement list available to do that. We normally link all inputs at the beginning of a routine scan, and all outputs at the end.

Sometimes, it can make sense to put all of that into an "Input" and an "Output" routine, but generally, I prefer it on a more sectional/modular basis.

A benefit is the easy ability to completely disable all or some outputs for testing, or skip the input scans in order to easily and directly write test values.

Good luck
 
If your I/O is allocated in an equally structured fashion, the program to load up your UDT array shouldn't be too onerous.

Many have asked for the ability to alias UDT members (see Rockwell's forum). I think RSI are working on it, but it is a non-trivial enhancement that you shouldn't hold your breath waiting for.
 
Thank's for all the replies.
One day the programmers of programming software for PLC's will get there act right. It is nice to have a PLC like the Controllogix....just a pity the software doesn't do it justice.

Enjoy the weekend!~
 
Gerry you can't alias UDT members even if they're renamed in tags!

What we ask for is to be able to alias tags that are of type user defined!
As it is now, if you build a data type to imulate your device you cannot easily transfer I/O points (or alias I/O) to points within that topic.
The only method is, as described above, is to copy them.

One method to overcome this down fall is to structure your data types to real I/O and then it's just a copy away.

bitmore
 
The ultimate solution for CLX/Logix5K for me would be for a seperate kind of tag database, a "Link Database".

With just 3 columns:

SOURCE: TYPE: DEST:

Even if the CPU handled that as a seperate and sort of hidden task, that would make linking UDT Defined data-types to physical I/O much simpler. Maybe a fourth column as well, check to force a "Main Task" cyclic transfer of some/all points, yet also allow fully asynchronous operation as well.

A seperate table like this would be easy to edit, could possibly be globally enabled/disabled for testing, and not clutter up the main controller-tag monitor/editor.

This wouldn't even be all that hard for Rockwell to add I would think.

As an aside, I do like CLX, but I really REALLY wish that all physical I/O could be moved from the main Controller-Tag editor, or at least hidden. I alias things for clarity, but searching through dozens or hundreds of I/O module definitions is annoying.
 
rdrast said:
As an aside, I do like CLX, but I really REALLY wish that all physical I/O could be moved from the main Controller-Tag editor, or at least hidden. I alias things for clarity, but searching through dozens or hundreds of I/O module definitions is annoying.

Hey! That WOULD be pretty cool! Those tags are always in my way.

I'd really love an auto-detect feature for I/O modules, too. The software/PLC is smart enough to tell me I've got the wrong module configuration, but it's not smart enough to tell me what's really there??? The SLC could do that.

AK
 
How do you folks sync the scans?

Actually, due to the nature of the asynchronous I/O updates in ControlLogix, it is usually a very good idea to do the linking in ladder.

Hmmmm I haven't read about the newer logix scan issues, figured they are like a slc, what am I missing here?

Do you disable the automatice output processing? and use iot's or what not and what would be done with the inputs?

Thanks
 
Logix family controllers update I/O based on the RPI you request when you add a module to the controller configuration. If you set RPI at 5 msecs the input data table is updated at that rate regardless of scantime. This is a benefit of the "producer/consumer" type communications.

With SLC and PLC controllers I/O is updated once a scan period. You can get some really confusing results if you program without taking into consideration this big difference.

There is a simple way to make Logix act like the older controllers. I think they refer to it as "Buffering I/O in the literature. You simply move the values of all your inputs into tags at the very begining of your ladder, and write to your outputs at the very end of your ladder. I prefer to put these in sub routines and call them accordingly. There are some benefits also in troubleshooting this setup.
 
I was not very specific above. You then would use these "buffered" tags in your logic. Do not reference the "input data" tag in your logic only your buffered tags.

I am not being very clear, hope you are not more confused. The manuals explain this pretty well.
 

Similar Topics

Hi, I am new on RSLogix 5000 programming. Now I am starting a auto machine project and want to control machine process sequentially. I prefer to...
Replies
6
Views
1,594
Hello everyone, I need to control a discharge pressure in our pipeline and there's two ways of doing this: 1. By controlling the speed of the...
Replies
4
Views
2,145
Hello, I'm currently working on a program that requires a PID instruction to keep the level at a set point. Hardware: Solenoid valve (Relay...
Replies
1
Views
1,895
Greetings! I am currently working on an intuitive AOI to perform lead lag pumping operations based on run time. The concept is to...
Replies
7
Views
7,001
I need help with this project, the project has a compact logix L35E processor and a PANELVIEW 1000. AT HMI: an object on a display "control list"...
Replies
0
Views
1,518
Back
Top Bottom