RAM Memory Organization

Introduction

This section describes the RAM (Random Access Memory) size for different areas of the Modicon M251 Logic Controller.

Memory Mapping

The RAM size is 64 Mbytes.

The RAM is composed of 2 areas:

odedicated application memory

oOS memory

This table describes the dedicated application memory:

Area

Element

Size

System area

192 Kbytes

System Area Mappable Addresses

%MW0...%MW59999

128 Kbytes

System and diagnostic variables

(%MW60000...%MW60199)

This memory is accessible through Modbus requests only.

These must be read-only requests.

Dynamic Memory Area: Read Relocation Table

(%MW60200...%MW61999)

This memory is accessible through Modbus requests only.

These must be read-only requests.

System and diagnostic variables

(%MW62000...%MW62199)

This memory is accessible through Modbus requests only.

These can be read or write requests.

Dynamic Memory Area: Write Relocation Table 

(%MW62200...%MW63999)

This memory is accessible through Modbus requests only.

These can be read or write requests.

%MW64000…%MW65535

Reserved

Retain and Persistent data

64 Kbytes

User area

8 Mbytes

Symbols

Dynamic allocation

Variables

Application

Libraries

System and Diagnostic Variables

Variables

Description

PLC_R

Structure of controller read-only system variables.

PLC_W

Structure of controller read/write system variables.

ETH_R

Structure of Ethernet read-only system variables.

ETH_W

Structure of Ethernet read/write system variables.

PROFIBUS_R

Structure of PROFIBUS DP read-only system variables.

SERIAL_R

Structure of Serial Lines read-only system variables.

SERIAL_W

Structure of Serial Lines read/write system variables.

TM3_MODULE_R

Structure of TM3 modules read-only system variables.

For more information on system and diagnostic variables, refer to M251 PLCSystem Library Guide.

Memory Addressing

This table describes the memory addressing for the address sizes Double Word (%MD), Word (%MW), Byte (%MB), and Bit (%MX):

Double Words

Words

Bytes

Bits

%MD0

%MW0

%MB0

%MX0.7

...

%MX0.0

%MB1

%MX1.7

...

%MX1.0

%MW1

%MB2

%MX2.7

...

%MX2.0

%MB3

%MX3.7

...

%MX3.0

%MD1

%MW2

%MB4

%MX4.7

...

%MX4.0

%MB5

%MX5.7

...

%MX5.0

%MW3

%MB6

%MX6.7

...

%MX6.0

%MB7

%MX7.7

...

%MX7.0

%MD2

%MW4

%MB8

%MX8.7

...

%MX8.0

...

...

...

...

...

...

...

...

...

...

...

...

...

Example of overlap of memory ranges:

%MD0 contains %MB0 (...) %MB3, %MW0 contains %MB0 and %MB, %MW1 contains %MB2 and %MB3.

NOTE: The Modbus communication is asynchronous with the application.