Does someone have a breakdown of how and where data is transferred within devices?

StoneNewB

Member
Join Date
Oct 2014
Location
Ohio
Posts
49
I need a explanation of how data is translated between different devices. Where is this data being stored? What different languages of information are understood by what devices? Does a PLC only know Bits, nibbles, bytes and words? Do bits, nibbles, bytes and words get translated to BOOL, SINT, INT, DINT, and REAL values for another software to read? Thanks
 
Last edited:
I will do my best to answer. You didnt specify the brand or model of PLC or that you are working with so I will use Allen Bradly SLC/Micrologix (RSL500) and Control/CompactLogix (RSL5000) terms for my explanations.

Most PLC's these days can read. write and store Bits (B files in RSL500 and BOOL in RSL5K), Words or Intergers 16bits (N files in RSL500 and SINT files in RSL5K), Double Intergers 32 Bits (L files in RSL500 and DINT in RSL5000), Reals 32bit floating point (F files in RSL500 and REAL files in RSL5K) and finally Strings (F files in RSL500 and STRING files in RSL5K)

The data itself is stored in the proper files in the PLC Memory. Exactly where it is stored I am not sure but my guess is the User Memory portion of the PLC. Much like your PC has memory that is reserves for system files and the rest if for the User to decide how to use it.

As for the different languages (protocol) is used? That is determined by device manufacture. Most devices that are designed to communicate to a PLC can "talk" Modbus, Modbus/TCP, Ethernet/IP DeviceNet. Profibus, DH485, DF1, and the list goes on and on. The key is to find out what protocol you want to use then find devices that will communicate with that protocol. It is not hard to find just about anything you need these days.

I don't know if that helps or not. If you have more questions post back and we will try and help.
 
I am using RSL5K right now. What are the differences between bits, nibbles, bytes and words from BOOLEAN, SINT, INT, DINT, and REALS? Thanks for your reply.
 
BIT = BOOL
Nibble = Not used
Byte = SINT
Word = INT
DWord = DINT (32 Bit Register)
Float = REAL (32 Bit Floating Point Register)

The ControlLogix/CompactLogix line of PLC's use DINT as its native data type. In other words if you assign a BOOL Tag the Processor actually uses 32 bits of memory for that one BOOL tag. So it is best for memory saving to assign a DINT and use each bit in that DINT for BOOLS or Bits in your program. You can also assign an array of 32 bool tags. I like to do that with One Shots and Alarm tags. I don't worry about it too much with other tags. Since the tag name is more important than the memory it saves.

For example:
You have multiple pumps, start PB's and Stop PB's.
To me the tag names:
PUMP1_RUN
START_PB_PUMP1,
STOP_PB_PUMP1
Make a lot more sense than:
PUMP_TAG[0]
PUMP_TAG[1]
PUMP_TAG[2]
and so on.

I hope that makes sense.
 
Don't believe everything you read on the internet.
It is best to read the relevant books/manuals and pay attention in class.
 
Not really a PLC specific question but rather these are computer science concept. Wikipedia is not a bad place to start for these.
 

Similar Topics

I am trying to connect with a Schneider plc which has a firmware version only available in Somachine v4.2. In Machine expert After taking upload...
Replies
0
Views
112
They are installed in a control panel that was made in France and are intended for the termination of analog inputs. Each of the red capped...
Replies
4
Views
418
So, I'm really just trying to get some experience by practicing with arrays. I'm using studio 5000 v33. I have one rung with an XIC bit that's...
Replies
5
Views
229
I tried researching but I still don't quite get it. As far as I understood, it's used after a function is called in STL and then if the function...
Replies
1
Views
143
Back
Top Bottom