Tag Based Programming PLC

OMRON CX-programmer
Strangely enough I sometimes wish you could turn the tag base off and go to I/O number based. I came up the old way when tags were only for information and evrything was done by numbers. Still work that way.
 
BobB said:
Strangely enough I sometimes wish you could turn the tag base off and go to I/O number based. I came up the old way when tags were only for information and evrything was done by numbers. Still work that way.

Same here ! Something to do with the way my brain works, i can always remember numbers, IO, Phone Numbers etc etc, never remember names!
 
Same here ! Something to do with the way my brain works, i can always remember numbers, IO, Phone Numbers etc etc, never remember names!
Sounds like you may be an old bloke too - or a young bloke with an old bloke's brain!!!
 
Schneider (Modicon) Concept and Unity are tag based. Concept lets you program Momentum, Compact and Quantum PLC's, and Unity programs Quantum and Premium PLC's.
 
Sergei Troizky said:
OMRON CX-programmer

I think CX-Programmer is of providing comment to their internal relays & registers. Meaning the internal bits/registers are mapped/fixed to certain area of memory. Just like the convetional PLC programming.
 
Giddings & Lewis or G&L PicPro has been tagged based even in the earlier DOS versions. They are probably better known for their CNC machines but their PLC is the best I've used. www.glcontrols.com
 
PLC programming software which have the specification of IEC61131-3 will be have the Tag based program

That does not preclude any manufacturer from putting in a switch to turn the d**n thing off!!!
 
This is the spec for data tables by IEC​
The IEC61131-3 specification provides access to memory through the​
creation of named variables. IEC61131-3 names for variables consist of a
minimum of six characters (RSLogix5000 programming software supports a
minimum of 1 character) starting with an underscore ._. or an alpha character
(A-Z), followed by one or more characters consisting of an underscore ._.,
alpha character (A-Z) or a number (0-9). Optionally, lower case alpha
characters (a-z) can be supported as long as they are case insensitive (A = a,
B = b, C = c .). Logix5000 controllers provide full compliance with this
definition, support the lower case option, and extend the name to support up
to 40 character names.
 
[font=&quot]Step7 lets you use names most of the time.[/font]

rPraveenkum said:
IEC61131-3 names for variables consist of a minimum of six characters​
The specification does not say that. It says the compilers must support 6 characters of uniqueness. A compiler that supports only 6 characters of uniqueness would not be ablt to tell the difference between variables named ABCDEF0 and ABCDEF1.

The IEC specification allows one to access memory locations predefined addresses such as %MD0 which is similar to Omron's DM0.

BobB, when you need to change the address of a register, do you have to change both the location of the register AND the ladder logic? If so this is a big waste of time. In tag based programming you really don't care where the data is allocated.
Do you have to print out the symbollic names for register locations just to keep track of where everything is. If so you are wasting time and mental energy.

I have been programming in assembly language since Moby Dick was a minnow. Assembly langauge lets use use symbollic names for everyting and for the most part you don't care where the variables are located. If you do care then you must take an extra step to locate or specifically define a variable to be at a particular location.

In the end it all depends on how you look at memory. If you think of memory as a linear array of fixed sized registers then you will probably see things the way BobB does. I see memory as a place to put variables. A varaible has a name, type and location but the compiler takes care of assigning the location, not me.

BTW, who came up with the name 'tag'. Back in the dark ages there were symbol tables. Debuggers that used symbols were called symbollic debuggers.

Compilers, DSP and microcontrollers have progressed to the point now where I avoid assembly language as much as possible now.
 
I do not care what the IEC standard says, it does NOT preclude the manufacturer providing a switch to turn it off. As long as the software complies, the manufacturer can add anything they want.

For example, Omron have something like 190 actions that can be allocated to short cut keys. Beats the heck out of drag and drop and getting RSI from using the mouse all the time I can assure you. Much faster too. If you use Excel a lot I would strongly recommend you find out what the short cut keys are - saves time and pain in the wrist from using the mouse all the time.

BobB, when you need to change the address of a register, do you have to change both the location of the register AND the ladder logic?

No Peter, just change the address of a bit or register in the symbol table and it changes automatically all the way through the ladder. The bit or word number travels with the symbol.

I see memory as a place to put variables. A varaible has a name, type and location but the compiler takes care of assigning the location, not me.

Yep!! You can have automatic allocation with Omron with the exception, of course, with anything to do with inputs and outputs from and to the I/O cards and the real world. I just do not use it.

I also see memory as a place to put variables, constants etc but prefer to put them where I want them to be.

I guess I like to allocate internal registers and I/O because I do a lot of SCADA systems and auto allocation is a bit of a pain when you have to dig it all out for the SCADA. Also, I try to allocate internal memory to contigious bits and channels so that the SCADA can take the whole lot in one hit rather than have to put headers on everything that is scatterred through the PLC memory. It improves performance in the SCADA system dramatically. It is far more efficient from the SCADA end. Then there is the issue of odd and even boundaries with SCADA. Do you have even boundaries or turn the boundaries function off? Or have odd boundaries?

Also, rather than auto allocation manual allocation lets me put information where I can find it easily.

For example, if I place all my alarms in 4 internal channels in contigious bits, I can pull up 64 bits at a time when monitoring the I/O. See a bit flicker from 0 to 1 and I know I have an alarm on. With auto allocation that is not generally possible as auto allocation will not allocate the bits you want to allocate contigiously that way.

I can assure you that Omron, and all other manufacturers I have worked with in recent times, comply with the naming conventions and a heck of a lot more. I do not know of any manufacturer that limits the symbols/names to 6 characters. If they did limit you to that you would go crazy trying to think up names.

I guess a lot depends where you are coming from and going to at the end of the day.
 
Bob,

Very politely, seeing as how we all know how much the Omron man you are...I do think it is worth pointing out that there is a difference between symbols that are used as aliases for addresses that are based on IO/Register numbers; and tag names that are pure symbols in their own right.

Giving register addresses symbol aliases has been done for ages, right back to the old PLC5/SLC500 and many other systems. As I understand it the Omron CX falls into this class. Please correct me if I am wrong.

The first PLC that I am aware of that used pure symbolic name-based tags was the TI555. The main contenders these days are Rockwell's ControlLogix, Siemens S7 and Schneider's Concept/Unity.
 
PhilipW said:
Giving register addresses symbol aliases has been done for ages, right back to the old PLC5/SLC500 and many other systems. As I understand it the Omron CX falls into this class. Please correct me if I am wrong.

The first PLC that I am aware of that used pure symbolic name-based tags was the TI555. The main contenders these days are Rockwell's ControlLogix, Siemens S7 and Schneider's Concept/Unity.

Hello PhillipW,
Isn't the idea of 'Tag' based programming (ala ControlLogix etc.) just that. I.e. the user is simply unaware of the addresses being used / allocated for the tag names.
Each and every tag must occupy a section of PLC memory. That piece of memory surely must be at a specific address within the CPU.
Tag / Symbol / address, PLC / PAC etc, don't believe the hype.
I Could be wrong!
 

Similar Topics

I have just finished a project where the software was designed strictly for tag based programming. The most painful experience of my life and so...
Replies
37
Views
12,401
I seem to be making this harder than it should be, and Its not making any sense. I simply need to move a real variable to two integer variables...
Replies
8
Views
973
Hello, I am upgrading some custom AOI's for a customer that was using plantpax 3.5 they are moving to Pax v5. In their old AOI's they were...
Replies
0
Views
527
Good afternoon everyone. Just starting to use Logix based tag alarms, and I am likely a little confused. What I would like to do: Use Logix 33...
Replies
5
Views
1,836
Hi all, We have been using an UDT that contains tag-based alarms as an In/Out parameter for an AOI. (V31-V32) Unfortunately, V33, they have...
Replies
0
Views
1,091
Back
Top Bottom