S7-1200 ERROR LED Flashing After an SM 1223 Swap: Read the Two LEDs Before the Buffer

The CPU and SM 1223 front panels drawn with their indicators named: STOP/RUN, ERROR and MAINT on the CPU, DIAG and the channel LEDs on the module

A new SM 1223 goes into slot 2, the panel comes back up, and the ERROR LED flashes red while the STOP/RUN LED sits solid yellow. The module that came out was 6ES7223-1BL32-0XB0. The one from stores is 6ES7223-1BL32-1XB0, and those two part numbers are the same sixteen inputs and sixteen outputs in the same … Read more

Comparing Offline and Online Blocks in TIA Portal: the Checksums, the Symbols and the Detailed View

The compare editor drawn as our own layout: left column offline objects, right column online objects, the status and action column between them, four blocks with different statuses

FB120 carries the orange half-circle in the project tree and the block you have open is the one you wrote on Tuesday. On an S7-1500 that symbol is the result of a checksum comparison, not a time stamp comparison, and the manual lists more than a dozen separate checksums behind it. Three of them have … Read more

An S7-1500 an Hour Out After the Clocks Change: RD_SYS_T, RD_LOC_T and the Time Zone

The clock chain drawn as three stages: module time in UTC, the Bias and DaylightBias offsets from the configuration, and the local time that RD_LOC_T returns

The batch record says the mixer started at 06:14 and the operator watched it start at 07:14, on the Sunday the clocks moved. The CPU 1516-3 PN/DP is keeping perfect time. What is wrong is that somebody wired RD_SYS_T into the timestamp and RD_SYS_T hands back the module time, which on this family is always … Read more

Time Sync Across a Cell: PTP on EtherNet/IP, NTP on PROFINET, and Why the Two Logs Disagree

A cell with a 1756-TIME GPS grandmaster feeding a Stratix 5400 in boundary mode on the EtherNet/IP side and an S7-1500 NTP client on the PROFINET side, showing what each half receives and what is deactivated by default

The guard door opens once and gets recorded twice: 06:41:12.310 in the Logix log, 06:41:12.650 in the S7-1500’s diagnostics buffer. The two controllers are eight metres apart on the same machine, both nominally synchronised, and the gap is a third of a second every time you look. Neither clock is broken. The Logix side is … Read more

Connecting a Python OPC UA Client to an S7-1500: Certificates, Security Policy and the Anonymous Login That Fails

The CPU's OPC UA server settings drawn as field and value: server on, port 4840, None off, Basic256Sha256 Sign and Encrypt on, trusted clients pi1-logger.der, automatic accept off, guest off, user logger, runtime licence

BadIdentityTokenRejected is the answer an OPC UA server gives when the secure channel is up, the client certificate is trusted, and the session request arrives with no user in it, and on an S7-1500 with guest authentication off that is exactly where a first Python OPC UA client stops. It is the third of four … Read more

Polling an S7-1200 from a Raspberry Pi with snap7: DB Numbers, Optimized Access and the PUT/GET Checkbox

plc programming s7 1200 raspberry pi snap7 put get 1 plc

A snap7 S7-1200 read – plc.db_read(12, 0, 12) against a CPU 1214C – returns twelve bytes on the bench and an exception on the machine, and the difference is two checkboxes in TIA Portal, neither of them on the Pi. python-snap7 3.1.2 talks the S7 protocol to TCP port 102 in pure Python, so there … Read more

Changing an Interface on a Running S7-1500 Without Losing the Values

plc programming s7 1500 interface change in run keep values 1 plc

An optimized block on an S7-1500, or on an S7-1200 at V4.x, is created with a 100 byte memory reserve, which is room for 25 Reals of new Statics before a download in RUN has to reinitialise the instance DB. Whether an S7-1500 interface change makes the load preview put “reinitialize” against the block is … Read more

Advertisement