"Which software do I install to get the program out of this M340?" That's the Schneider question I get asked most, usually by someone who has the CPU and not the laptop it was programmed from. The answer comes in three steps. Check the CPU belongs to EcoStruxure Control Expert and not to Machine Expert. Pick a version new enough to read what's inside. And then the part people don't like: by default a project doesn't leave a readable copy of itself in the CPU, and no software version changes that.
First, check it's an EcoStruxure Control Expert CPU
Schneider sells more than one programming tool under the EcoStruxure name, and the CPU decides which one you need. M340, M580, Momentum, Premium, Quantum and Atrium, plus the MC80, all program in EcoStruxure Control Expert. Up to version 13.1 the same software was called Unity Pro.
The small Modicon logic controllers are another world. An M241 takes EcoStruxure Machine Expert, formerly SoMachine. That's the CODESYS-based one, and I covered where it sits among other brands in the CODESYS article. For the M221 it's Machine Expert Basic, a free download.
The edition matters as much as the name. There's one installer for every edition and the license decides which one launches, node-locked to a single PC or floating on a license server. A license also runs earlier supported versions.
|
Controller |
Software |
Edition you need |
|
Modicon M340, all CPUs |
EcoStruxure Control Expert |
S or higher |
|
Momentum 171CBU78090, 171CBU98090, 171CBU98091 |
Control Expert |
S or higher |
|
M580 BMEP5810••, BMEP5820••, BMEP5830••, BMEH582040 |
Control Expert |
L or higher |
|
M580 BMEP5840••, BMEP585040, BMEP586040, BMEH584040, BMEH586040 |
Control Expert |
XL |
|
M580 Safety BMEP582040S, BMEH582040S |
Control Expert |
L or XL, plus the Safety add-on |
|
M580 Safety BMEP584040S, BMEH584040S, BMEH586040S |
Control Expert |
XL plus the Safety add-on |
|
Premium, all supported CPUs except P57 554M, P57 5634M, P57 6634M |
Control Expert |
L or higher |
|
Premium P57 554M, P57 5634M, P57 6634M |
Control Expert |
XL |
|
Atrium, all CPUs |
Control Expert |
L or higher |
|
Quantum 140CPU31110, 140CPU43412 U/A, 140CPU53414 U/A |
Control Expert |
L or higher |
|
Quantum 140CPU65150, 65160, 65260, 65860, 67060, 67160, 67260, 67261, 67861 |
Control Expert |
XL |
|
Modicon M241 |
EcoStruxure Machine Expert |
42-day trial, then a free version with limits |
|
Modicon M221 |
EcoStruxure Machine Expert Basic |
Free download |
Watch the M580 split. An L license covers a BMEP582040 but not a BMEP584040, and that’s an easy one to find out after the purchase order went out. On older Premium and Quantum racks, check the CPU reference against the table first. A PL7 or Concept program has to be converted before Control Expert can work with it, and Control Expert ships converters for both. The 140CPU43412 and 140CPU53414 are flagged for an OS Loader upgrade.
The 30-day trial covers a one-off upload
A fresh EcoStruxure Control Expert install starts a 30-day trial on first launch, and the trial unlocks the full XL edition with the M580 Safety add-on. Activating a real license switches the trial off. If the 30 days run out first, the software stops running.
For pulling one program out of one CPU, that's usually all you need. Just don't plan a month of commissioning around it.
Check the laptop before downloading anything. Version 16.4, current since July 2026, supports Windows 10 64-bit (21H2 LTSC), Windows 11 (23H2 through 25H2) and Windows Server 2019, 2022 and 2025. Windows 7 isn't on that list. Schneider asks for 16 GB of RAM and 20 GB free. Before installing, compare the ISO's SHA256 checksum with the one on Schneider's download page. On a strange install error, a bad download is the first thing I rule out.
It also runs on VMware Workstation Pro 16 and 17, VirtualBox 7.0.22 and 7.2.6, and Hyper-V, as long as the host keeps at least 8 GB of RAM for itself. On a virtual machine the trial license can run out before the 30 days are up, so on a VM I do the job early in the trial. How activations behave in VMs in general, I went through on the Rockwell side in the virtual machine article.
Will the program actually come out of the CPU?
This is where most of the disappointment happens.
When a project is downloaded to the controller, the part another PC needs to rebuild the source is optional. Schneider calls it upload information: the graphic code for ladder and FBD, the variable symbols, and, if those boxes were checked too, comments and animation tables. By default none of it goes into the controller. Leaving it out saves controller memory and makes the program harder to read off the CPU, so some integrators skip it on purpose. Others just never touched the setting. Either way you get a CPU that runs fine and gives nothing back.
The setting lives under Tools > Project Settings > General > PLC embedded data. With it switched on when the project went in, you connect, run PLC > Transfer Project from PLC, and the project comes back. Switched off, that command stays grayed out and nothing on your side brings it back.
There's a sneakier version. Upload information can update automatically on every online build, which is the default, or only on request. In On user request mode every edit reaches the running code, but the upload image stays behind until someone runs PLC > Update Upload Information. Connect a different PC to that CPU and the status bar shows Different and Upload Info Invalid. With the original PC and project, run the update and save. Anyone else is locked out of the project.
Unity Loader can still copy what's in there. With no upload information it saves an .STM file: the binary the CPU executes, no source, and EcoStruxure Control Expert can't open it. Unity Loader can write that .STM back into a PLC, though, so it's a working backup of the running application. On any used CPU that still holds a program, I save that .STM before anybody changes anything.

Upload information decides what comes back. With it, the project returns readable; without it, Unity Loader saves an .STM that runs in a PLC but won't open in EcoStruxure Control Expert.
Password-protected CPUs
An application password guards two things: opening the project and connecting to the controller. If the password on a project file is lost, Schneider support can issue a temporary one. Press SHIFT+F2 in the Password dialog, send them the string it shows, enter what they send back. That works only for projects without file encryption, or ones managed in Control Expert 15.0 or earlier.
A locked M340 with no project anywhere is a different story. Schneider's procedure is to power down, pull the SD card, power up, transfer a new program, then insert the card under power and update it with that new program. You get a working CPU back. You don't get the old program.
Which EcoStruxure Control Expert version to install
Each release builds projects at a certain application version, and that number matches the CPU firmware level shown in the configuration screen. Later firmware runs earlier application versions. For reading a CPU the rule is simple: newer software transfers anything older, older software can't transfer anything newer than itself. Here's where each version tops out on an M340.
|
Software version |
Highest M340 application version it can transfer |
|
Unity Pro V8.1 |
02.60 |
|
Unity Pro V10.0 to V13.1 |
02.70 |
|
EcoStruxure Control Expert V14.0 |
02.80 |
|
V14.1 |
03.20 |
|
V15.0, V15.0 SP1 |
03.30 |
|
V15.1, V15.2, V15.3 |
03.50 |
|
V16.0 to V16.2 |
03.60 |
|
V16.2 HF003, V16.4 |
03.70 |
Say the CPU on your bench is a BMXP342020 last built from V15.3. That's application version 03.50. A laptop with Unity Pro 13.1 tops out at 02.70 and won't transfer it, anything from V15.1 up will. If nobody knows what built it, install 16.4 and you're covered all the way back. Two oddballs in the M340 range: the BMXP342010 and BMXP342030 build at application version 02.00 in every release from Unity Pro 4.0 through 16.4.
Reading is the easy direction. Sending a change back into a used CPU is where the compatibility check bites, and that message is in the table further down. If you need to keep making online changes to a running CPU from a newer install, open its .STA in the new version and save. That keeps the old library set inside a newer .STU, and you connect as Equal.
Libraries, DTMs and file types
Libsets V10.0 and newer install automatically with EcoStruxure Control Expert. Older ones, which old Unity Pro projects can still reference, go in through Programs > EcoStruxure Control Expert > Libset Installer.
DTMs are the other build-stopper. Newer DTMs generally open older applications, but an application built with a given DTM version must not be opened with an older one. Install the DTMs for the drives and network modules the project uses before you hit Build.
|
File |
What it holds |
Watch out for |
|
.STU |
Working project plus workspace data |
Opens only in the version that created it |
|
.STA |
Compressed archive (about 50 times smaller than the .STU) with the PLC binary, upload information and operator screens |
Moves between versions and keeps the original library version |
|
.XEF / .ZEF |
Export files |
An encrypted .ZEF made in 15.0 SP1 or later won't open in Control Expert 15.0 or earlier |
|
.STM |
Unity Loader binary, no source |
Control Expert can't open it; Unity Loader can load it back into a PLC |
So when someone sends you a project, ask for the .STA.
Four messages and what they mean
Most dead ends show up as one of these.
|
What you see |
What it means |
What to do |
|
Transfer Project from PLC is grayed out |
The project in the CPU is invalid, or its upload information is missing or invalid |
Check the status bar. If upload information was never embedded, the source isn't in the CPU |
|
Different and Upload Info Invalid on the status bar |
The project runs in On user request mode and edits were built without updating the upload information |
On the original PC: PLC > Update Upload Information, then save |
|
"The project in PLC does not contain valid upload information" |
Upload information wasn't selected when the project was downloaded |
Find the source project, turn Upload information on, download again |
|
"Impossible to transfer project to PLC due to compatibility checks" |
Project firmware newer than the CPU, the wrong CPU model selected, or a library in the PLC that your install doesn't have |
Set the project firmware to the CPU's version or lower in the rack configuration, reflash the CPU to the project's version or newer, or install the missing library |

The whole check in order, from the CPU family down to the .STM backup.
Unity Loader and the cable
Unity Loader is Schneider's free transfer tool. It needs no EcoStruxure Control Expert license and no registration. It moves applications both ways between a PC and an M340, M580, Momentum, Premium or Quantum, and pushes firmware one way, PC to PLC, into M340, M580 and Momentum CPUs and the X80 and eX80 modules that carry firmware. Firmware never comes back out. Before a firmware job on an M340, stop the PLC and make sure a memory card is in the CPU, because the firmware gets staged on it. Unity Loader V14.0 runs on Windows 7 Pro SP1, Windows 10 Pro and Windows Server 2016.
M340 and M580 CPUs connect over USB or Ethernet. The M340 USB port is a 5-pin mini-B, and the cables are BMXXCAUSBH018 (1.8 m, about 6 ft) and BMXXCAUSBH045 (4.5 m, about 15 ft). Quantum 140CPU6xxx0 CPUs take a 4-pin mini-B and the UNYXCAUSB033 cable, so the M340 cable is the wrong one there.
FAQ
Is EcoStruxure Control Expert free?
No. Every install includes a 30-day trial with the full XL edition and the M580 Safety add-on, and after that it needs a license. What is free: Unity Loader for transfers and firmware, and Machine Expert Basic for the M221.
Can EcoStruxure Control Expert open old Unity Pro projects?
Yes, Unity Pro is just the old name for versions up to 13.1. Ask for the .STA rather than the .STU, install any libset older than V10.0 with the Libset Installer, and keep the version table in mind: Unity Pro 13.1 can't transfer M340 application versions above 02.70.
What's the difference between EcoStruxure Control Expert and EcoStruxure Machine Expert?
The hardware. Control Expert programs the M340, M580, Momentum, Premium, Quantum and MC80. Machine Expert programs the M241, and Machine Expert Basic the M221. Pick by the CPU in front of you.
Can I upload a program from an M340 without the original project?
Only if upload information went into the CPU with the project. In that case Transfer Project from PLC returns the source. Without it you can still save the running binary as an .STM and restore it into a PLC later, but nothing in Control Expert will open that file.
Before you order a spare CPU
If the program came out and you just need a spare, match the CPU reference exactly and check its firmware against the project before you download, because a project built for newer firmware than the CPU has gets refused. We carry surplus Modicon CPUs, including the BMXP342020 and BMXP341000 for M340 racks and the BMEP582040 and BMEP584040 for M580, and the BMEP584040 needs an XL license. One thing to be clear on: we sell hardware only, no software or firmware licenses, so the EcoStruxure Control Expert license itself comes through your Schneider representative.