Proper mapping of inputs and inputs is one of the first tasks of PLC programming. It is an easy step but some programmers avoid it or forget to do it correctly. Requires one to contain all primary input & output tags within a single program and easily manipulate them as desired. The need to manipulate can emerge from hardware failure or from the need to update or extend the device. In comparison, bringing these assets under a single program dramatically decreases the time for troubleshooting and commissioning new programs.
Virtually any microprocessor-based control device comes with a published memory map showing the organization of its restricted memory: how much is available for certain operations, which addresses are connected to which I/O points, how different memory locations can be referenced by the programmer.
In this post, we’ll give you an in-depth description of IO buffering, and explain why it’s necessary and what you can do with this practice.
The I/O mapping and memory locations on a PLC may differ as the models and PLC manufactures. So write a general tutorial on PLC mapping is difficult and that’s why I will focus on Allen-Bradley addressing in this article
The following table give you an idea about partial memory map for an Alan-Bradley SLC500 PLC.
Each Alan-Bradley PLCs has multiple components, each component consisting of a set of bits (8, 16, 24, or 32) that represent data. In SLC 500 and PLC-5 models of Allen-Bradley 0, 1, 2 files are reserved for discrete outputs, discrete inputs and status bits respectively. So Letter designers O, I, S (file types) 0, 1, 2 digits (file numbers) are not required.
Other file types like Binary (B), Timers (T), Counters ©, and other has its own default file numbers like 3, 4, and 5 respectively and can be used in some of the user-defined file numbers ( 10 & above).
Normally, you will not see a number word presented as N: 30 (Inner Word 30 in PLC memory), but N7: 30 (integer 30 in PLC memory file 7) Word 30 may appear in other PLC memory files to distinguish it from another number.
What is Bit?
Bit is an address in the PLC and it can be Input, Output, or Internal coil. There is a couple of ways to show the address of a bit in RSLogix 500. But the default way is
O:0/5 means it is a physical output
O:**0/**5 means it is using Slot 0 (the output is onboard in the case of 1100)
O:0/5 means fifth output on the PLC
Note: Don’t get confused with the capital “O” with Zero.
Analog Inputs: Addressing certain analog modules is a bit different from addressing digital modules. The NI4 has four inputs and uses a single term for each input. The first input begins with 0 and the module is in slot 1, so the first input address is I:1.0.
I refer that it is a physical input
1 refers that it is Slot 1 (the 2nd slot) in the rack
0 refers that it is the first input on the card
Digital Inputs: Physical relation of the input system to the PLC (switch or sensor, etc.).
Allen-Bradley uses the capital letter “I” to denote the hardwired input. The address that represents the SLC 500 input is I:4/0.
Input is an address that references look like I:4/0.
The I means Input Module or Physical Input
and the 4 means input module uses Slot 4 (the 5th slot in the rack)
0 means that it is in the primary (first) input on the card.
For example, the input point 15 in slot 2 of rack 1 will be addressed I:1:2/15. It’s the same for outputs.
Outputs: The output address be like O:4/0.
The O refers to the physical channel on an output module.
The 4 means the input module is in slot 5 of the rack.
The 0 means Channel 0 which means the first output channel on that module.
The input address above may be connected to some type of discrete input unit, such as a toggle switch or a push-button. The output address may be connected to some discrete output unit, such as a motor starter or a light bulb.
Note: PLC address always begins from 0 for all programming languages. If not specified the address will always start at zero.
Internal Bits: Internal bits are only used in the PLC program. They should not apply to physical inputs or outputs. Internal bits imitate relays in the logic of the ladder. The simplest way to trigger an internal bit is to render the output (OTE) to the right of the bell.
B3: 0/0: refers to internal bit file
B3:0/0 means it is using the first word in the table
B3:0/0 means it is the first bit in the word
Timers: The timer is a command that turns the bits on or off after a predetermined period. There are three types of timer suggestions: delay timer (TON), delay timer (TOF), and delay timer (TON) (RTO). File 4 is used for timers on the RSLogix 500. The connection to the timer address is as follows:
For example: (T4: 0)
T4 means that it references to an inter Timer file
Each timer has bits After the timing feature is complete, each timer has bits that turn on. By simply adding a “/DN” after the timer address, you can address this bit. The term DN stands for “done.”
0 is the first timer in the T4 data table.
Counters: The counter is a command that turns the bits on or off after the preset number is reached. There are two different types of counter instructions: Count up (CTU) and Count down (CTD).
For example: C 5: 0
C5 means it refers to a counter
0 means C5 is the first counter type in the data table.
The C5:0 address literally refers to the counter. Each counter has bits that turn on after the counting operation is finished. You can address this bit by simply adding a “/DN” on the counter address. DN stands for “done.”
For example, if the counter C5:0 is a CTU (counter up), then the bit C5:0/DN will turn on after the counter has reached its preset value.