In the field of industrial automation, the processing of analog signals - whether it is collecting temperature, pressure, and flow signals from sensors or outputting precise control instructions to actuators - is a core capability of control systems. OMRON's SYSMAC C series, CVM1, and CV series PLCs have been widely used in various industrial scenarios, and their accompanying analog input/output (Analog I/O) units, with their modular design, rich functionality, and high precision, have become the "nerve endings" of many old automation systems. For engineers who are maintaining or upgrading such systems, a deep understanding of the configuration, data exchange, and advanced functions of these modules is key to ensuring stable production line operation, troubleshooting, and system optimization.
Overview of Product Matrix and Core Competencies
OMRON has designed a series of analog units for C-series PLCs to meet the requirements of different accuracies and signal types. At the input end, from the basic 3G2A5-AD001 to the high-performance C500-AD501, it covers flexible choices from 2 channels to 16 channels. At the output end, the 3G2A5-DA001 series to C500-DA501 provide analog control capabilities from 2 channels to 8 channels.
1. Characteristics of core analog input unit
Basic type (3G2A5-AD001~AD007): Provides 2 to 4 input points, with 12 bit (1/4095) or 10 bit (1/1023) resolution. The key is that its model directly determines the input range, for example, AD001 supports 1-5V or 4-20mA, while AD004 supports ± 10V bipolar input. This is crucial for the replacement of spare parts in old systems - precise matching with the original model is necessary to ensure consistency in signal processing.
High performance model (C500-AD101): Provides 8 input points with a resolution of 1/4095. Its breakthrough lies in allowing independent input ranges of 0-10V or 0-20mA for each channel, and integrating practical functions such as mean, peak hold, wire breakage detection, and scaling.
Intelligent type (C500-AD501): This is the most powerful analog input unit in the series, with 16 differential input points. It has a built-in microprocessor that can independently complete advanced data processing tasks such as scaling, filtering, averaging, peak holding, and high/low limit alarms. The core value of this design lies in greatly reducing the computational burden on the CPU unit, especially in systems that require a large amount of analog processing, which can significantly improve the scanning speed and response performance of the entire PLC. Its data format can be either signed BCD or binary complement, which is very flexible.
2. Characteristics of core analog output unit
Basic type (3G2A5-DA001~DA005): Provides 2 output points and 12 bit resolution. Similarly, the model determines the output range, for example, DA001 corresponds to 1-5V or 4-20mA, and DA004 corresponds to ± 10V.
Multi functional (C500-DA101/DA103): Provides 4 output points. DA101 supports 1-5V, 0-10V, and 4-20mA outputs, while DA103 focuses on ± 10V bipolar output, suitable for control scenarios that require positive and negative swing, such as servo valve control.
High density intelligent type (C500-DA501): This is the flagship model of analog output unit, with 8 output points. Its core advantages lie in:
Independent configuration for each point: Each channel can independently select 6 output ranges, including 0-10V, ± 10V, 0-20mA, or 4-20mA.
Built in advanced features: support for scaling, output ramp, and upper/lower limit clipping. The output ramp function is particularly practical. When the set value undergoes a step change, the module will automatically change the output value at a preset rate (such as how many engineering units change per second), thereby avoiding impact on valve and other actuators and achieving smooth control.
Dual mode operation: Supports two conversion modes: standard speed (13.4ms/8 points) and high speed (3.4ms/8 points), and can save configuration parameters through EEPROM to achieve power-off holding.

Physical configuration and signal access: an essential first step that cannot be ignored
Correct hardware settings are the foundation for stable system operation. For maintenance engineers, when replacing or installing modules, the following process must be strictly followed.
1. Input range setting
For C500-AD501: The input range is set through a set of DIP switches and sliding switches. Under the terminal block of the module, 6 DIP switch pins (5-8) and 1 sliding switch are provided for each channel. For example, to configure a 0-10V voltage input channel, all DIP switch pins 5, 6, 7, and 8 need to be set to OFF, and the corresponding sliding switch needs to be turned to the "voltage input" side. There is a common misconception here: for bipolar inputs ranging from -10V to 10V, the corresponding DIP switch pin must be set to ON, which is completely different from the setting for unipolar inputs. Confusion can lead to AD conversion data errors.
For C500-AD101: its settings are more flexible, but require an external signal source. The user needs to enter the "setting mode" by turning on the DIP switch of the corresponding channel on SW1, then sequentially entering the lower limit value (Offset) and upper limit value (Gain) of the analog quantity, and confirming through the onboard SW2 dip switch. This method allows users to customize the zero and full range of input signals, for example, mapping a non-standard sensor signal of 2-8V to the full range of 0-4095.
2. Output range setting
Taking C500-DA501 as an example, setting the output range is more intuitive. Each output corresponds to a set of DIP switches. For example, to configure channel 1 as a 4-20mA output, pin 1 of the DIP switch on the back board needs to be set to OFF, pin 2 to ON, pin 3 to OFF, and pin 4 to OFF. At the same time, it is necessary to ensure that all DIP switches corresponding to the voltage output range on the front panel are set to OFF to avoid mutual interference. Please note: If current output is configured, it should be confirmed that the load resistance does not exceed 750 Ω; If it is a voltage output, the load resistance should not be less than 10k Ω, otherwise it may cause a decrease in output accuracy or even module damage.
The soul of data exchange: IR/CIO bit allocation and READ/WRIT instructions
The data exchange method between C-series analog units and CPU units is the core difficulty in programming and the key to achieving efficient control.
1. Two working modes
Double word operation mode: This is the recommended mode for most large PLCs such as C500 and C1000H. In this mode, the CPU directly accesses the internal RAM of the analog unit by executing two dedicated instructions, READ and WRIT. This method is highly efficient, as a single instruction can transfer up to 127 words of data in bulk.
Four character operation mode: Used when the module is installed on the SYSMAC BUS slave rack or when the CPU does not support the READ/WRIT instructions. In this mode, the CPU interacts with four I/O words (such as n, n+1, n+2, n+3) assigned to the module through general-purpose instructions such as MOV. Although the programming is slightly more complex, it has better compatibility.
2. Analysis of IR/CIO bit allocation
Each analog unit will be assigned specific input and output words. Taking C500-AD501 as an example, it uses one word (such as n) as the output word from CPU to module, and another word (such as n+1) as the input word from module to CPU.
Key bits of output word (n):
Bit 03 (EEPROM write bit): When this bit changes from OFF to ON, the module will write all configuration parameters in the current RAM to the EEPROM, achieving power-off saving.
Bit 05 (high/low alarm reset bit): Used to reset the high/low alarm flag.
Bits 08-15 (Peak Hold Reset Bit): Used to reset the peak hold register of the corresponding input channel. Among them, Bit 07 serves as the "library selection bit", which can control whether these reset bits are for channels 1-8 or channels 9-16.
Key positions for input word (n+1):
Bit 00 (A/D busy flag): When this bit is ON, it indicates that the module is performing A/D conversion and should not initiate a new data exchange at this time.
Bit 07 (Unit Normal Flag): This is a square wave pulse signal that is 0.5 seconds ON and 0.5 seconds OFF. The CPU program can determine whether the analog unit is working properly by monitoring this pulse. If this signal disappears or the frequency is abnormal, it usually means that there is a serious fault inside the module.
Bits 08-15 (Peak Hold Confirmation Flag): As a response to the peak reset command issued by the CPU.
3. Practice of READ/WRIT Instruction Programming
These two instructions serve as a bridge to access the internal memory maps of intelligent units such as C500-AD501.
WRIT instruction: used to write configuration parameters or conversion data to the RAM of the module.
When writing a word: the data of this word will be written to the module's "pointer word" (usually address 12). This pointer word will determine from which address the subsequent READ instruction starts reading data.
When writing multiple words: the first word is interpreted as a temporary pointer, specifying the starting address for subsequent data writing to the module RAM. For example, to configure scaling parameters, the first word can be set to # 0047, followed by scaling upper and lower limit data for several words, thus completing the update of multiple parameters at once.
Read instruction: used to read data from a module.
The READ instruction always reads data from the address specified by the pointer word. Therefore, before reading, it is usually necessary to set the pointer through a 1-word WRIT operation.
A standard reading process is: ① Execute the WRIT instruction and write # 0000 to module address 12 (pointing the pointer to the starting point of memory). ② Execute the READ instruction to read, for example, 46 words, to obtain all key operational information such as conversion data, peak values, alarm flags, etc. for channels 1-16.

Unleashing Hardware Value: Application of Advanced Features
When the basic signal acquisition and output no longer meet the requirements, the advanced functions built into the module become a powerful tool for optimizing the system.
1. Scaling
The zoom function solves the conversion problem between "physical quantities" and "digital quantities". For example, a flow meter with a measurement range of 0-5000L/min outputs a 4-20mA signal. If it is connected to C500-AD501, it can be implemented directly through configuration without any programming calculations:
Set the lower scaling limit of this channel to 0.
Set the scaling limit for this channel to 5000.
Enable the zoom function of this channel.
Afterwards, the numbers read directly from the module's memory are no longer from 0-4095, but from 0-5000 engineering values (BCD code or binary). The underlying principle is that the module performs a linear transformation on the original AD value based on the scaling upper and lower limits, and directly stores the result in the mapping area. This not only simplifies the program, but also improves data consistency and readability.
2. Output slope
For C500-DA501, the output ramp function is a "magic weapon" for smooth control. Imagine a scenario where the PID output value suddenly jumps from 20% to 80% while controlling the valve opening, causing the valve actuator to withstand a huge impact. After enabling the ramp function, engineers can set an "output ramp setting time" for each output channel, such as 5 seconds.
The module will automatically calculate to ensure that the output signal transitions linearly from 20% to 80% within 5 seconds. If the set value changes again during this process, the module will immediately start the ramp transition from the current output value to the new target value. This mechanism is crucial for protecting expensive regulating valves and preventing water hammer effects in pipelines.
3. Wire breakage detection and alarm
The integrity of signal lines is crucial for process control. C500-AD101 and AD501 both support wire breakage detection function. For example, for a 4-20mA input channel, when the current is detected to be below 2mA, the module will automatically set the corresponding "wire breakage detection flag" (such as IR n+1, Bit 00 of C500-AD101).
The program logic can immediately respond to this flag, issue an alarm on the HMI, and control according to pre designed safety logic (such as maintaining the last value, switching to manual mode, or outputting safety values), thereby avoiding misoperations and safety risks caused by signal loss.
Application scenarios and precautions
1. System compatibility
This is the most common problem encountered by engineers in project renovation.
The READ/WRIT command cannot be used on the SYSMAC BUS slave rack. Therefore, the C500-AD501 instruction dependent unit must be installed on the CPU rack, expansion I/O rack, or SYSMAC BUS/2 slave rack.
If C500-AD101 is used in SYSMAC BUS slave rack or CPU systems such as C500 that do not support dedicated instructions, it must be switched to "four word operation mode" and data exchange must be performed through MOV instructions.
2. Power supply and grounding
The C500-DA501 high-density output unit requires an external 24V DC power supply with a maximum current of 0.8A. When planning the system, it is necessary to ensure that there is a margin for this power supply and to pay attention to its isolation from the PLC system power supply.
Grounding is the lifeline of anti-interference for analog systems. It is strongly recommended to use shielded twisted pair cables for all analog signal lines. The manual clearly states that the shielding layer should be connected to the "shielding" terminal of the module, which is connected to the simulated ground plane inside the module, rather than the Chassis Ground of the rack. This is a technical detail, incorrect grounding may introduce severe common mode noise into the signal circuit.
3. Shutdown and startup behavior
For C500-DA501, when the 5V power supply of the PLC is cut off, the analog output will change to 0V or 0mA. However, users can choose whether the output signal will change to 0 or maintain the value at the moment of power failure by using a dip switch on the back. This function is crucial in some application scenarios that require "positioning", but in other scenarios it may lead to danger and must be carefully set according to process requirements.
