Universal memory module: the cornerstone of building reliable multiprocessor control systems
In the field of industrial automation, DCS 5000 and AutoMax control systems are renowned for their powerful processing capabilities and flexibility, and are widely used in complex motion control and process automation scenarios. When the system requirements exceed the capabilities of a single processor, a multi processor architecture becomes an inevitable choice. However, the key to multi processor collaboration lies in efficient and reliable data sharing and communication coordination. The universal memory module (model 57C413b and its upgraded version 57C423) is the core component born for this purpose. It is not only a storage pool for shared data, but also a "traffic police" for system bus order. This article will delve into the design principles, functional modes, installation configuration, and maintenance points of this module, revealing its indispensable role in building robust industrial control systems.
Module overview and core function positioning
The Common Memory Module is a specialized module designed specifically for DCS 5000/AutoMax racks. Its main design goal is to support the collaborative work of multiple processor modules within a physical rack. This module plays two crucial roles, depending on which slot it is installed in the rack:
As the core of the system (located in slot 0): This is the main functional mode of the module. In this mode, the module activates its bus arbitration logic and system watchdog timer. It stores system configuration data that all processors must share, such as the definition of physical I/O, thereby freeing up valuable processor module memory for user application tasks. At the same time, it is responsible for arbitrating access requests from multiple processors to the rack backplane bus, ensuring fair and conflict free data exchange, and is the "central nervous system" that maintains stable operation of the multiprocessor system.
As a user data storage (located in other even numbered slots): When the module is installed in even numbered slots such as 2, 4, 6, 8, 10, 12, or 14, its bus arbitration and watchdog functions are disabled and only used as a large, user configurable battery backup RAM. This mode is suitable for applications that require a large amount of contiguous storage space, such as defining contiguous register regions for shift register instructions, but it should be noted that arrays cannot be defined in this mode.
The module offers two models: 57C413b (128K bytes of memory) and 57C423 (256K bytes of memory in slot 0 and 128K bytes in other even slots). Both are integrated with onboard lithium batteries and a supercapacitor, which can maintain RAM content for a long time after the rack is powered off (the battery can last for at least 600 days), ensuring that critical data and non-volatile variables are not lost.
Detailed explanation of mechanical and electrical design
The module adopts a standard printed circuit board assembly form, with a protective shell and front panel, and can be inserted into the rack back panel. Its compact size (11.75 inches high, 1.25 inches wide, 7.375 inches deep) makes it easy to install in a rack.
The front panel indicator light is an important status window with only two green LEDs:
BAT. OK ": Indicates whether the onboard battery voltage is sufficient to maintain the RAM content. The light on indicates normal operation, while the light off indicates the need to replace the battery.
SYSTEM WATCHDOG ": This light only lights up when the module is located in slot 0, diagnosed through power on, and there is a bus arbitration clock on the backplane. The light off indicates that the module is not functioning properly (faulty or in pure storage mode with non-zero slots).
The core of electrical design is bus arbitration logic. When multiple processors simultaneously request access to the backplane bus, the arbiter ensures that each requester can obtain bus usage rights once before any processor accesses again. In the initial competitive situation, processors located in lower numbered slots are given priority. This mechanism fundamentally avoids data conflicts and ensures the certainty of multiprocessor systems.
The onboard power retention system consists of lithium batteries and supercapacitors. Supercapacitors take about 8 minutes to charge to over 90% capacity. When the "BAT. OK" light goes out and the rack is powered off, the supercapacitor can usually maintain RAM content for about 400 minutes, providing ample buffer time for battery replacement. The watchdog timer of the module is used to detect processor failures in a multiprocessor system. Once a processor fails to reset the timer on time, an interrupt will be triggered to notify other processors, and an error code of "4.6" will be displayed on the front panel of all processors (except for failures).

Installation, replacement, and battery maintenance procedures
The installation and operation of modules must be carried out by electricians familiar with the equipment and hazards, and safety warnings must be strictly followed, such as turning off the machine power before inserting and removing modules, and being aware that the modules contain static sensitive components.
The initial installation steps are crucial and orderly:
Cut off the power supply to the rack.
Remove the module from the anti-static bag without touching the back connector.
Activate battery: Remove the battery from the battery holder at the opening on the right side wall of the module, remove the insulation tape, and place it back in the correct polarity ("+" for "+").
Choosing the correct slot for insertion: This is a crucial step.
If used as a system core (bus arbitration), it must be inserted into slot 0. For 57C413b, its adjacent slot on the right (slot 1) must be a processor module or empty (logically occupying 2 slots of space). For 57C423, the three slots on its right (slots 1-3) must be processor modules or empty (logically occupying 4 slots of space).
If used only for data storage, any even numbered slot (2, 4, 6...) can be inserted, and its adjacent slot on the right must be empty (logically occupying 2 slots of space).
Verification after power on: If in slot 0, the processor's power on diagnosis will automatically verify; If in other even numbered slots, the I/O monitoring function of the programming execution software needs to be manually tested for read and write.
The module replacement process is similar to installation, but special attention should be paid: the replacement operation will affect the tasks and variables in the rack. Before operation, it is necessary to refer to the manual appendices (Appendix E for DCS 5000 rack and Appendix F for AutoMax rack) to understand the specific impacts (such as whether application tasks are deleted and how data status changes), and stop all running tasks in advance.
Battery replacement is an important part of preventive maintenance. When the "BAT. OK" light goes out, it should be operated after the power is turned off. The buffering time provided by supercapacitors allows for safe replacement. The designated Reliance Electric M/N 57C385 lithium battery must be used for replacement, and charging, dismantling, high-temperature heating, or incineration of the battery is strictly prohibited. When replacing, ensure that the module has been powered on for at least 8 minutes to fully charge the supercapacitor and maintain memory when the battery is removed.
Programming and Configuration: Variable Control and Storage Strategy
In the AutoMax environment, variables have two control types: common and local. Control "refers to whether a variable is exclusively accessed by a single task (local) or can be read and written by multiple tasks within the rack (common). Declaring variables as public or local is done within the application task.
The storage location of variables is determined by the system hardware configuration:
Local variables: stored on the processing module that runs the task.
Public variables: default stored on the processing module. However, if the universal memory module is installed in slot 0, all common variables are stored on that module, greatly saving processor memory resources. This means that 'public' refers to access control attributes, rather than necessarily physical storage locations.
Universal memory module located in non-zero even slots: The system considers it as two "universal" I/O modules each containing 32K registers. The variables defined on this module belong to I/O variables (the system considers all I/O variables as common), but their physical storage still follows the above rules - stored on the processing module of the single processor rack or on the general-purpose memory module in slot 0 (if any).
The configuration method varies depending on the programming execution software version and module slot:
V3.0 and later versions: Use the "Rack Configurator" menu for graphical configuration, similar to other modules.
V2.1 and earlier versions: require a special configuration task to define, using statements such as MEMDEF (defining volatile common variables), NVMEMDEF (defining non-volatile common variables), or IODEF (defining variables by address when the module is in a non-zero slot) for precise configuration. The configuration task defines all common variables and is a necessary step before running the application task.
Diagnosis and Troubleshooting Guide
Module faults can usually be diagnosed through the front panel LED and processor error codes.
The 'SYSTEM WATCHDOG' light goes off (module in slot 0): At the same time, the processor displays error codes 4.0-4.6, indicating that the module's power on diagnosis has failed. Systematically replacing modules and processors for troubleshooting, or gradually removing other modules to isolate the problem, may ultimately require replacing the backplane.
The "BAT. OK" light goes out: Possible reasons include the battery insulation tape not being torn, incorrect battery orientation, missing or failed battery, and power failure. Check and correct after power outage.
Data error: Output exception. Check if the module slot is correct, if the task referencing the module variable declares it as COMMON, and if multiple tasks are writing to the same variable simultaneously. Use the variable monitor or I/O monitor of the programming execution software to test access. Hardware issues need to be isolated by replacing modules and processors.
Bus error: The processor displays "31" or "51" - "58" error. Check if the module is in the correct slot. Error '31' is usually caused by address calculation errors in the application, and the validity of the IOREAD/OWRITE statement address needs to be checked. Errors "51" - "58" may indicate hardware failure. Use an I/O monitor to test access capabilities and systematically replace modules, processors, and backplanes for troubleshooting.
