Flags, Tags, industry terminology and acronyms.

FORGETFULL MEMBER

Guest
F
Please excuse me I forgot my password..its at work I am BOWRIDER.I have been a regular visitor to this site for some time now. I am a lowly maintenance mechanic who has been in the process learning plcs on my own for some time now. It was this site that inspired me on the solution for a problem we had for a certain piece of equipment. Forgive me for not remembering the contributor but he posted an example of indirect addressing to get into the guts of how a timer works (Allen Bradley). We had a problem with a case erector seeming to loose “time” intermittently and not releasing the cases when it was supposed to. It is controlled by a micrologix 1000. Using the contributors example, (I had to use indexed addressing since the 1000 does not support indirect), I created a “trap”. Basically I took a snapshot of the high speed counter every 10th of a second or so and when the machine screwed up again I checked the log and found the counter had actually reversed and stalled and then took off again. The cause turned out to be the coupling between the encoder and the drive had split and occasionally was breaking loose and slipping. Because of the mount position of the coupling you would have never seen it. So hats off to all of you for your past, present and future help.
Now my question I have had a problem with the terms Flags, Tags and some acronyms used on this site. DDE, DINT? And many more. I would love to see a layman’s (translate stupid guys) explanation. From what I have gathered the term flag could represent any (my term here) internal bit. Tags. Another word for an address? I would most welcome your enlightenment.
 
A 'Tag' is generally a full description type reference for a location within a PLC of such a nature that it can/must be used instead of the purely technical description. You may have noticed some in the documentationfor you Micrologix 1000. For example, the location N7:10 may also have a name 'Production_Target'. This name may directly be used when referencing the location N7:10. In the ControlLogix platform there are ONLY tags. The compiler keeps the actual location to itself. In some cases PLC and Display Terminal software may cooperate by using a common 'tagbase' of locations. Hope this helps.
 
A "flag" is a bit that has some special significance. For example, after some long data-crunching operation a special bit may be set in order to indicate to the other parts of the program that the data has been crunched. Most people would call it "complete", or "done" flag.

DDE = Dynamic Data Exchange. The oldest Microsoft way to allow one Windows program to talk to another and to share data. Values from Excel spreadsheet may be reported into a Word file etc. As far as controls systems go, DDE is still widely used to present values from a program that can talk directly to a PLC (like a communications server) to the aforementioned Excel spreadsheet. There are several other ways of doing the same thing now, faster and more advanced, but DDE is still pretty much alive.

DINT = Double Integer. The name of 32-bit long data type in some PLC systems. Some other would call it Long, although there might be some disagreement on which one is treated as always positive (unsigned) value, which one may have a sign, or if they are exactly the same. Using a DINT means taking any two sequential 16-bit PLC registers (or words, or INTegers) together and treating them as one "double-length" register, in order to be able to work with really huge numbers.

Feel free to ask more.
 
God bless you, son, for trying to improve on your knowledge of this crazy field we're in. don't sell yourself short, i.e. "lowly maintenance man". there are many of us here that wear the same hat that you do. i'm impressed with anyone that wants to learn and asks questions that may seem "stupid" to the gurus, but are important nonetheless if you don't know the answer to them.
i've been in industrial maintenance for 35 years or so, a relic from the old relay logic days, when it took a 6 ft. tall by 9 ft. wide cabinet to hold all the components and wiring to run 2 100 hp. compressors alternately. that same job can be done today with a micrologix and a few other components you could fit into 24" x 24" panel. if you need any advice or training materials, please e-mail me, and i'll be happy to send you what i have on disk, or copy some of my older stuff and send it to you as an attachment.
good luck with your "kaizen", (striving for perfection, or something like that).

danatech :D
 
I am a lowly maintenance mechanic

Do noy underate yourself with this type of terminology. Many of us started ther.

A flag basically is a bit. Depends who you talk to. I will post a list of IEC type addresses tomorrow for you. It may be of some help in understanding IEC terminolgy regarding bit and word addresses.
 
Flags tags and other acromyms.

Sure am glad he asked this question. Been wondrin myself. Did not know enough to enable me to ask the question in an intelligent manner.

Lowly mechanic ???
Well at least they pay you.

A lowly student

Dan Bentler
 
Thank you all for your answers to my query. Once again exactly the information I was looking for. The “tag” description pretty much fit the bill from what I observed in you posts as well as my own observations of programs at work. The “flag” description also pretty much fits in. It is not a special type of bit or address, just one the carries an important or special function? Correct?. The terms DDE and DINT, are eye openers also. I would ask you all to please be patient with me because I intend to be much more free with my questions from now on. Up until now I have been shy I guess, not anymore. You all are so free to help and this speeds up my knowledge gaining factor by about 1000% as opposed to trial, error and downright guessin!
Thanks again.
 
Apologies. Forgot to get back with some details. Really busy.

Here are some typical IEC type addresses

BOOL - bit address
WORD - word address (16 bit)
DWORD - double word address (32 bit)
LWORD - long word address (64 bit)
INT - signed integer (16 bit) - most significant bit is the sign - (1 = -, 0 = +)
UINT - unsigned integer (16 bit)
DINT - signed double integer (32 bit) - most significant bit is the sign - (1 = -, 0 = +)
UDINT - unsigned double integer (32 bit)
LINT - long signed integer (64 bit) - most significant bit is the sign - (1 = -, 0 = +)
ULINT - long unsigned integer (64 bit)
UINT-BCD - unsigned integer BCD (16 bit - 0-9999)
UDINT-BCD - unsigned double integer BCD (32 bit - 0-99999999)
ULINT-BCD - unsigned long integer BCD (64 bit - 0-999999999999)
REAL - 32 bit floating point maths (IEC format) most significant bit is sign, next 8 bits are exponant, remaining 23 bits are mantissa with an assumed 1.0
LREAL - 64 bit floating point maths (IEC format)

Hope this helps.
 
Was UDT an acronym 15 years ago? User Defined Data Type (UDT)
How about HMI Human Machine Interface
I'm old enough to remember when we called them MMI o_O

Do we need to add these to our list?
 
BCD - Binary Coded Decimal, where each nibble (half-byte = 4bits) of the value represents a decimal digit, so the values 10-16 are never present in any nibble, and displaying the 16- or 32-bit INT or DINT as hex(a decimal) will show the decimal value. I think some systems have instructions to do arithmetic operations on data stored in this form.
 
To re-iterate on some of the comments so far (actually it can depend on the manufacturer) A Flag or Marker or internal bit is basically a Boolean bit of memory in the PLC this traditionally is an area of memory used as internal bit (Boolean) in AB terminology this would be B3:0/0, B3:0/1 these are generally 16 bits long in AB the next 16 bits would be B3:/1.0-15, however, some PLC's use the address as M 0.0 -M0.7 (a byte of bits) or just decimal say M0 to M1000. Siemens can use the flag memory in bytes or words for example MB 10 is bits M10.0 to M10.7 or as words MW 10.0 - M11.7
As for word memory this again depends on platform so in AB then integers (16 bit word) is an area in memory of N7:0 to N7:254 in others it can be D0-D2000 in Siemens they use Data Blocks) DB's, So DB10DW20 is word 20 in datablock 10. Getting confused yet ?.
However, the newer processors/IDE's have gone away from using addresses like this as originally the "SYMBOL" (could call it a tag) was just the short description of the memory so B3:0/0 may be called "Run_Procees".
Now many use a tag name and do not use absolute addresses (well they do but as far as the programmer is concerned does not need to know the absolute address in the PLC). These are allocated at compile time by the compiler (not exactly sure the exact method but I think this is a pretty close approximation of the process). However, to be compatible with older hardware (in a manner of speaking) some manufacturers still use addresses as above but cleverly disguise this so they still have as the above i.e. Flags/words etc. but when the programmer creates a tag they either give it an absolute address i.e. Run_Process and selects say M0.0 This becomes a global tag available in all blocks , but what they call local tags still use the same addresses (usually reserved in the high range) and at compile time it is allocated, however, these are only visible in the local block of code it is configured for and not accessible outside of that block. Rockwell have gone the whole way by using tag based addressing as some others have. The reason for this is to make it simpler and code written for one PLC (Structured Text) is transportable between PLC platforms, however, most PLC's have particular functions that are unique to their platform so if those special functions are used then the code is not truly transportable.
The PLC Memory consist of Input image memory (copy of physical inputs) Output Memory (as above) Bit Memory, Word Memory, Timer & counter memory etc.
As you can see it becomes a bit of a minefield between platforms but if you understand the basics of the old system of memory allocation then it becomes easier.
 

Similar Topics

New to these forums, I tried searching for this but couldn't find it. I'm finding this situation frequently in this program I'm converting. As...
Replies
16
Views
1,401
Hello. I am working on LogixPro Door Simulator Exercise 4, where you have to program the door to stop going up if the close button is pressed...
Replies
23
Views
3,574
Hello all, recently i have been using some practical lab examples to brush up on my programming abilities. What i have noticed is that although my...
Replies
3
Views
1,367
Hi All. Yes, I know I'm just adding to the vast bulk of pid questions but searching through them was becoming a pain. Quote from the help file...
Replies
1
Views
2,639
Hi All, Have just registered so this is my first post. I have a question relating to the best or easiest method of handling error messages arising...
Replies
1
Views
2,420
Back
Top Bottom