

The Schneider TM221CE40R is a programmable logic controller (PLC) designed for automation and control applications. It features a compact design, integrated I/O (input/output), and supports various communication protocols, making it suitable for small to medium-sized industrial tasks. This PLC is part of Schneider Electric's Modicon M221 series, known for its reliability, flexibility, and ease of use.








| Specification | Value |
|---|---|
| Model Number | TM221CE40R |
| Supply Voltage | 24 V DC |
| Number of Digital Inputs | 24 |
| Number of Digital Outputs | 16 (Relay outputs) |
| Communication Protocols | Ethernet, Modbus TCP, Serial (RS485) |
| Programming Software | EcoStruxure Machine Expert - Basic |
| Memory | 256 KB for application storage |
| Operating Temperature Range | -10°C to +55°C |
| Dimensions | 150 x 95 x 86 mm |
| Mounting | DIN rail or panel mounting |
The TM221CE40R has multiple I/O terminals for connecting sensors, actuators, and communication interfaces. Below is a summary of the pin configuration:
| Pin Number | Description | Voltage Range |
|---|---|---|
| DI1-DI24 | Digital Inputs 1 to 24 | 0-24 V DC |
| Pin Number | Description | Output Type |
|---|---|---|
| DO1-DO16 | Digital Outputs 1 to 16 | Relay (NO/NC) |
| Port | Description | Protocol Supported |
|---|---|---|
| Ethernet | Ethernet communication port | Modbus TCP |
| Serial | RS485 communication port | Modbus RTU |
Below is an example of how to communicate with the TM221CE40R using Modbus RTU and an Arduino UNO:
#include <ModbusMaster.h>
// Instantiate ModbusMaster object
ModbusMaster node;
void setup() {
Serial.begin(9600); // Initialize serial communication at 9600 baud
node.begin(1, Serial); // Set Modbus slave ID to 1 and use Serial for communication
}
void loop() {
uint8_t result;
uint16_t data;
// Read holding register 40001 from the PLC
result = node.readHoldingRegisters(0x0000, 1);
if (result == node.ku8MBSuccess) {
data = node.getResponseBuffer(0); // Get the value of the register
Serial.print("Register Value: ");
Serial.println(data); // Print the value to the serial monitor
} else {
Serial.println("Failed to read register"); // Print error message if read fails
}
delay(1000); // Wait 1 second before the next read
}
PLC Not Powering On
Digital Inputs Not Responding
Communication Failure
Program Not Executing
Q: Can the TM221CE40R be used with third-party sensors and actuators?
A: Yes, as long as the sensors and actuators are compatible with the PLC's input/output specifications.
Q: What is the maximum cable length for RS485 communication?
A: The maximum recommended cable length for RS485 is 1200 meters, depending on the baud rate and cable quality.
Q: Is the TM221CE40R suitable for outdoor use?
A: No, the PLC is designed for indoor use in a controlled environment. Use an appropriate enclosure for outdoor applications.
Q: Can I expand the I/O of the TM221CE40R?
A: Yes, the TM221CE40R supports expansion modules to increase the number of I/O points.
This documentation provides a comprehensive guide to using the Schneider TM221CE40R PLC effectively. For further assistance, refer to the official Schneider Electric user manual or contact technical support.