Night shift lost outputs on the case packer. CPU 1214C DC/DC/DC with an SM 1223 DI16/DQ16 in slot 2, half the outputs on it dead and the DIAG LED on the module red. Swapped it for the spare off the shelf, same part as far as the shelf label goes.
Now the CPU ERROR LED flashes and nothing runs. Top of the diagnostics buffer says "Hardware configuration mismatch, module not found, slot 2" or close to it. I reseated the new module twice and power cycled, and putting the old one back brings the old fault but the CPU runs.
Is the CPU port damaged from pulling the module with the power on? That's what the day guy reckons. I'm not sure he's right, the old module still runs in that slot, so what else is there for it to object to?
Two things it could be. The order number on the new module isn't the same as the old one, or the clip isn't in and the bus connector isn't seated. The port on the CPU side is almost never it.
Read the 6ES7 number off the side of both modules and post them. A screenshot of the device view would help too.
Old one: 6ES7 223-1BL32-0XB0. New one: 6ES7 223-1PL32-0XB0. Both say DI16/DQ16 on the front.
Clip's in, checked it with a flashlight. Reseated it again anyway. Still faulting.
There's your mismatch. 1BL32 is 24VDC transistor outputs, 1PL32 is relay outputs. Same face, same channel count, different module as far as the CPU is concerned.
Two ways. Find a 1BL32, or keep the relay one and change the config: Devices & networks, device view, right click slot 2, Change device, pick the DI16/DQ16 relay version, then compile and download hardware. Relay outputs will drive your loads, but look at the output wiring first, the relay module has its commons in groups and no L+ feed on the output side the way the transistor one does. Wiring drawing is on the module's page of the S7-1200 system manual.
Changed the module in the config to the relay version this morning, downloaded, ERROR LED off, packer running. Rewired the output commons the way the manual shows for the relay module, took about an hour.
So the spare was a different order number, relay outputs instead of transistor, and the CPU port was never in it. The day guy owes me a coffee.
What I still don't know is why the shelf label says they're the same. Someone ordered it years ago. A 1BL32 is on order now so we've got a real spare. Thanks tomhw and ines31.
Shelf labels by description, not number. Found two wrong in our stores.