RSL 5k Edit Description

kpguy

Member
Join Date
May 2008
Location
Here
Posts
13
I seem to have a bug(feature) that is in V16 of 5000. If I have a program that is V15 and have an xic on a rung that is defined to an input (Local:1:I.Data.0), you can right click on that xic and have the "Edit Main Operand Description", but in V16 this selection is grayed out. The reason this is somewhat of a problem is because the colors also get changed for this description. If my normal rung descriptions are blue background with white text, the ones that dont have the edit option get turned to a light gray with my white text. This only seems to happen if you try to work with a controller tag to a card, if you define a controller tag you still get the edit option. V15 and V17 let you have this edit option, but V16 does not. Any clues?

Thanks
 
Interesting... Just tried it here, (on 16), and also cannot edit a description for a physical I/O point.

I guess I never noticed, as we never use the physical points, just alias references to them.
 
Yea, aliases are fine and dandy, if the previous person did it in a neat manner. I don't see the need to alias inputs and outputs when you can type a clear text description in for that IO point and it follows it everywhere in the code.
 
The tech Note doesn't show a fix as such (fixed in V17). But it only suggests going to the tag editor and do the change there.

Yes you can just do it in the tag editor, but then it displays in a color in the rung editor that you have no control over. I've been programming for several years and have got quite attached to the way my colors display in the ladder for the different things.
 
Yea, aliases are fine and dandy, if the previous person did it in a neat manner. I don't see the need to alias inputs and outputs when you can type a clear text description in for that IO point and it follows it everywhere in the code.

Aliases used for I/O have a number of benefits, including...

1> You can write your code, test and debug it, before the control panel set-up is finalised. I have had instances where the locationOn of I/O is changed during plant design. I have even had panels added/deleted at design time. I/O points created as Internal tags can easily be changed to alias tags at a later stage, without involving any editing of the code.

2> You don't need descriptions at all if the alias tag-name conveys sufficient meaning. Handy for the occasional time when you need to, or have to, go online without the .ACD file, the upload will show your I/O points clearly. It's better than nothing at all.

3> The ladder display shows the alias information (if the option is turned on), in such a way that it is immediately obvious which of your code is referencing I/O data, and which are internal tags.

4> Once defined, I do not care where my I/O physically is, but I do care what my I/O does, so I prefer to reference it as a tag-names, rather than arbitrary addresses, leaving me the freedom to attach descriptive text or not, most times there is no need.

5> Wiring changes are easily handled, just by editing the tag alias information, there is no need to do Search/Replace operations through the logic, which is time-consuming on large projects.

IMHO there are no benefits in not using them, and I make it a rule to never reference I/O directly in any code I write.
 
You cant alias a tag into a user defined structure. I have UDT's setup for different devices/machines and give them the proper name of the device so that all important points associated with that device can be found. So I would have a I/O point aliased to a tag then transferred to a tag in my UDT, extra steps that are not needed. I have UDT's for FVNR motors, FVR motors, VFD's, conveyors, valves, analog input scaling/alarming/filtering and so on. This was all created before AOI's came about and JSR's are used to pass data to a subroutine to handle devices. I haven't had the time yet to convert everything to AOI's yet, but that still wouldnt change aliasing an input/output into a structure.
 
From what you have written, I get the feeling you are looking at this backwards.

You don't alias an I/O tag to another tag, you alias another tag to an I/O tag.

see the two pics below - I prefer the second one...

direct.jpg aliases.jpg
 
As an example of efficiency using alias tags for I/O, consider I have two or more identical machines being controlled by one controller. The conveyor start/stop from above can be used to represent my 5000 rungs of code for each machine....

If I put the code in for Machine_1, using generic tags as I have shown (i.e. not referring them to "Machine_1", that is implicit by it being in Machine_1's program), I would put my alias tags in the Program tag database, aliasing to the real I/O tags in the Controller tag database.

After fully testing the code for Machine_1, I would then Copy the whole program, and paste it back into the task to replicate it for the other machines, renaming the programs accordingly.

Then all I have to do is edit the aliases for the new machines to point to the other control I/O points.

I could do that in-house (off-line, of course), or I could export the tags into excel.csv and do them there.

Job done, create as many machines as you like in a few minutes, and no code needs to be edited.
 
Last edited:
Yes you can - and,
No it isn't -

Look at the data type of MyAlias (Post #10). It is a DINT, it reflects the data type of what it is an alias for, namely the .ACC of the Timer in the UDT called Structure.

MyAlias is not an alias for the whole structure at all, just a sub-sub-element of it.
 
I could do that in-house (off-line, of course), or I could export the tags into excel.csv and do them there.

Job done, create as many machines as you like in a few minutes, and no code needs to be edited.

Which is basically exactly what I do, I have two rungs that would need copied over and over to add as many devices that I would need. The subroutine is tested and proven beforehand.

I can add a new device with the csv file and the two rungs in the code in a few minutes.

1.jpg 2.jpg
 
In your JSR you could alias to your I/O points....

more specifically, Motor_Status and Motor_Start would be called Cooler_Fan_Status and Cooler_Fan_Start

jsr.jpg
 

Similar Topics

Is anyone using RSL 5k V32? Any issues? My standard version for new projects up to now has been v28. I have a new project that I am working...
Replies
5
Views
2,406
When I do an online edit of a FBD with a PIDE in it, sometimes, after an online edit, the Autotune tag assignment simply disappears...and returns...
Replies
0
Views
1,045
Hi Everyone, I have developed a program for a customer that is running on a MicroLogix 1400. The customer has asked me to make some changes...
Replies
5
Views
1,638
Hi Everyone, Working on a program for a ML1400 B but don't have the processor with me. Is there a way to tell how much memory is used and left...
Replies
3
Views
2,981
I had a PLC class 7 years ago and I want to relearn it by building my own PLC. I have been collecting modules, CPU, power supply, and rack. The...
Replies
17
Views
5,474
Back
Top Bottom