The TSX17-20 is a compact micro programmable logic controller originally developed by AEG and subsequently supported by Schneider Electric through the Telemecanique brand following corporate acquisitions. This small-format controller is engineered for discrete machine control applications where space is constrained but flexible I/O configuration remains important. The TSX17-20 serves a range of control tasks including small assembly machines, packaging equipment, laboratory instruments, conveyor sections, and other standalone machinery where a full-sized rack-based PLC exceeds the application requirements. The controller is programmed using PL7-2 software, a development environment specifically designed for TSX17 series micro PLCs and integrating both ladder logic and instruction list programming methods.
The TSX17-20 is powered by a dedicated microprocessor executing the user’s control program through repetitive scan cycles typical of programmable logic controller operation. Each scan cycle consists of an input read phase during which the controller samples the status of all connected input devices, a program execution phase during which the ladder logic or instruction list program is processed based on the captured input states, and an output write phase during which the resulting output states are transmitted to the connected actuators. The scan time is determined by the program size and instruction complexity and remains consistent under normal operating conditions.

The TSX17-20 controller integrates modular I/O expansion capability, enabling users to scale the number and type of input and output channels to match application requirements. The base unit provides a predetermined complement of discrete I/O points, with additional I/O modules attached through expansion connectors to increase system capacity. Available I/O modules include discrete input modules, discrete output modules with both relay and transistor output types, and analog modules. Expansion modules are physically attached to the base unit and are automatically recognized by the controller upon power-up with address assignments determined by physical position in the expansion chain. This modular architecture allows the same base controller to serve applications with as few as 20 I/O points or as many as approximately 100 I/O points through full expansion.
The TSX17-20 maintains separate memory areas for program logic, data table storage, and system configuration parameters, supporting the typical PLC memory model familiar to control engineers. The user program memory capacity accommodates hundreds to thousands of logic instructions depending on instruction complexity and program structure. Data memory is allocated for timer current values, counter accumulated counts, register values, and bit memory locations used for internal logic flags. Programs and configuration data can be stored on removable memory cartridges that plug into the base unit, allowing rapid controller replacement by swapping cartridges between units without reprogramming. The TSX17-20 also supports process control functions when equipped with optional FC1 or FD1 micro-software cartridges, adding PID loop control and scaling blocks to the standard programmable controller feature set. These cartridges replace the standard program cartridge and provide additional dedicated memory fields for process control parameter storage.
PL7-2 programming software provides the development environment for creating, editing, documenting, and debugging control programs for the TSX17-20 controller. The software operates on personal computers running Windows operating systems and communicates with the PLC through a programming cable. PL7-2 supports ladder diagram programming as the primary method, presenting control logic as contacts, coils, and function blocks arranged in power flow circuits resembling electrical relay schematics. Instruction list programming is also available as an alternative representation. The software includes monitoring features enabling users to observe I/O status and register values during program execution, to set breakpoints for debugging, and to force I/O states for system checkout.



