A P P L I C AT I O N M E M O RY

A P P L I C AT I O N M E M O RY

The application memory stores programmed instructions and any data the processor will use to perform its control functions. Figure 5-7 shows a mapping of the typical elements in this area. Each programmable controller has a maximum amount of application memory, which varies depending on the size of the controller. The controller stores all data in the data table section of the application memory, while it stores programmed instructions in the user program section.

Industrial Text & Video Company 1-800-752-8398

www.industrialtext.com

S ECTION Components The Memory System C HAPTER 2 and Systems

and I/O Interaction 5

Input Table Output Table

Data Table

Storage area

Internal Bits

Area

for bits and register/words

Register/Words

Figure 5-7. Application memory map.

Data Table Section. The data table section of a PLC’s application memory is composed of several areas (see Figure 5-7). They are:

• the input table • the output table • the storage area

These areas contain information in binary form representing input/output status (ON or OFF), numbers, and codes. Remember that the memory

structure contains cell areas, or bits, where this binary information is stored. Following is an explanation of each of the three data table areas.

Input Table. The input table is an array of bits that stores the status of digital inputs connected to the PLC’s input interface. The maximum number of input table bits is equal to the maximum number of field inputs that can be connected to the PLC. For example, a controller with a maximum of 64 field inputs requires an input table of 64 bits. Thus, each connected input has an analogous bit in the input table, corresponding to the terminal to which the input is connected. The address of the input device is the bit and word location of its corresponding location in the input table. For example, the limit switch

connected to the input interface in Figure 5-8 has an address of 13007 8 as its corresponding bit in the input table. This address comes from the word location 130 8 and the bit number 07 8 , both of which are related to the module’s rack position and the terminal connected to the field device (see Section 6-2). If the limit switch is OFF, the corresponding bit (13007 8 ) is 0 (see Figure 5- 8a); if the limit switch is ON (see Figure 5-8b), the corresponding bit is 1.

During PLC operation, the processor will read the status of each input in the input module and place a value (1 or 0) in the corresponding address in the input table. The input table is constantly changing to reflect the changes of the input module and its connected field devices. These input table changes take place during the reading part of the I/O update.

Industrial Text & Video Company 1-800-752-8398

www.industrialtext.com

S ECTION Components The Memory System C HAPTER 2 and Systems

and I/O Interaction 5

(a) Limit switch is open; bit 07 is 0.

(b) Limit switch is closed; bit 07 is 1.

Figure 5-8. Limit switch connected to a bit in the input table.

Output Table. The output table is an array of bits that controls the status of digital output devices that are connected to the PLC’s output interface. The maximum number of bits available in the output table equals the maximum number of output field devices that can interface with the PLC. For example,

a PLC with a maximum of 128 outputs requires an output table of 128 bits. Like the input table, each connected output has an analogous bit in the output

table corresponding to the exact terminal to which the output is connected. The processor controls the bits in the output table as it interprets the control program logic during the program scan, turning the output modules ON and OFF accordingly during the output update scan. If a bit in the table is turned ON (1), then the connected output is switched ON (see Figure 5-9a); if a bit is cleared, or turned OFF (0), the output is switched OFF (see Figure 5-9b). Remember that the turning ON and OFF of field devices via the output module occurs during the update of outputs after the end of the scan.

Storage Area. The purpose of the storage area section of the data table is to store changeable data, whether it is one bit or a word (16 bits). The storage area consists of two parts: an internal bit storage area and a register/word

Industrial Text & Video Company 1-800-752-8398

www.industrialtext.com

S ECTION Components The Memory System C HAPTER 2 and Systems

and I/O Interaction 5

7 0000000 0 00 1 00000 051 8 COM Output Address 05105 8

(a) Bit 05 is 1; output is ON.

Word Address

7 0000000 0 00 0 00000 051 8 COM Output Address 05105 8

Word Address Figure 5-9. Field output connected to a bit in the output table.

(b) Bit 05 is 0; output is OFF.

storage area (see Figure 5-10). The internal bit storage area contains storage bits that are referred to as either internal outputs, internal coils, internal

(control) relays, or internals. These internals provide an output, for interlock- ing purposes, of ladder sequences in the control program. Internal outputs do not directly control output devices because they are stored in addresses that

do not map the output table and, therefore, any output devices. When the processor evaluates the control program and an internal bit is

energized (1), its referenced contact (the contact with this bit address) will change state—if it is normally open, it will close; if it is normally closed, it will open. Internal contacts are used in conjunction with either other internals or “real” input contacts to form interlocking sequences that drive an output device or another internal output.

The register/word storage area is used to store groups of bits (bytes and words). This information is stored in binary format and represents quantities or codes. If decimal quantities are stored, the binary pattern of the register represents an equivalent decimal number (see Chapter 2). If a code is stored, the binary pattern represents a BCD number or an ASCII code character (one character per byte).

Industrial Text & Video Company 1-800-752-8398

www.industrialtext.com

S ECTION Components The Memory System C HAPTER 2 and Systems

and I/O Interaction 5

Internal Bit Storage Area

301 Word/Register

Storage Area

Word

Word/Register 377 (two bytes)

Figure 5-10. Storage area section of the data table.

Values placed in the register/word storage area represent input data from a variety of devices, such as thumbwheel switches, analog inputs, and other types of variables. In addition to input values, these registers can contain output values that are destined to go to output interface modules connected to field devices, such as analog meters, seven-segment LED indicators (BCD), control valves, and drive speed controllers. Storage registers are also used to hold fixed constants, such as preset timer/counter values, and changing values, such as arithmetic results and accumulated timer/counter values. Depending on their use, the registers in the register/word storage area may also be referred to as input registers, output registers, or holding registers. Table 5-2 shows typical constants and variables stored in these registers.

Table 5-2. Constants and variables stored in register/word storage area registers.

Industrial Text & Video Company 1-800-752-8398

www.industrialtext.com

S ECTION Components The Memory System C HAPTER 2 and Systems

and I/O Interaction 5

E X AM PLE 5 -2

Referencing Figure 5-11, what happens to internal 2301 (word 23, bit 01) when the limit switch connected to input terminal 10 closes?

Figure 5-11. Open limit switch connected to an internal output.

S OLU T I ON

When LS closes (see Figure 5-12), contact 10 will close, turning internal output 2301 ON (a 1 in bit 01 of word 23). This will close contact

2301 ( ) and turn real output 20 ON, causing the light PL to turn ON 2301 at the end of the scan.

Internal 2301 ON

Figure 5-12. Closed limit switch connected to an internal output.

Industrial Text & Video Company 1-800-752-8398

www.industrialtext.com

S ECTION Components The Memory System C HAPTER 2 and Systems

and I/O Interaction 5

E X AM PLE 5 -3

For the memory map shown in Figure 5-13, illustrate how to represent the following numbers in the storage area: (a) the BCD number 9876,

(b) the ASCII character A (octal 101) in one byte (use lower byte), and (c) the analog value 2257 (1000 1101 0001 binary). Represent these values starting at register 400.

Word

Input Table

Output Table

Storage Bit Table

Register/Word Table 777

Figure 5-13. Memory map.

S OLU T I ON

Figure 5-14 shows the register data corresponding to the BCD number 9876, the ASCII character A , and the analog value 2257.

Word

Input Table

Output Table

BCD number

Storage Bit

ASCII character A 1001 1000 0111 0110 400

(101 8 ) stored in

one byte

(lower byte) Binary equivalent of

2257 value from

an analog reading Figure 5-14. Solution for Example 5-3.

User Program Section. The user program section of the application memory is reserved for the storage of the control logic. All of the PLC instructions that control the machine or process are stored in this area. The processor’s executive software language, which represents each of the PLC instructions, stores its instructions in the user program memory.

Industrial Text & Video Company 1-800-752-8398

www.industrialtext.com

S ECTION Components The Memory System C HAPTER 2 and Systems

and I/O Interaction 5

When a PLC executes its program, the processor interprets the information in the user program memory and controls the referenced bits in the data table that correspond to real or internal I/O. The processor’s execution of the executive program accomplishes this interpretation of the user program.

The maximum amount of user program memory available is normally a function of the controller’s size (i.e., I/O capacity). In medium and large controllers, the user program area is made flexible by altering the size of the data table so that it meets the minimum data storage requirements. In small controllers, however, the user program area is normally fixed. The amount of user program memory required is directly proportional to the number of instructions used in the control program. Estimation of user memory require- ments is accomplished using the method described earlier in Section 5-3.