The Siemens SIMATIC S7-300F CPU family (fail-safe) is widely deployed in vendor-supplied machinery, process skids, and safety instrumented functions. A recurring field scenario is the need to apply a vendor's revised safety program to an installed CPU 315F-2DP without receiving a freshly programmed Micro Memory Card (MMC). This article documents the engineering options, the integrity controls specific to F-programs, and a step-by-step procedure to load an emailed project onto the existing MMC, plus a verification matrix and best-practice checklist for vendor program updates.
Overview of the F-CPU and MMC Architecture
S7-300F Fail-Safe Architecture
The CPU 315F-2DP belongs to the S7-300F range, which is differentiated from the standard S7-300 line by:
- A separate work-memory partition for the safety program (the F-program).
- A mandatory F-signature produced at compile time and a collective F-signature produced at the moment the F-CPU transitions from PASSIVE to ACTIVE safety mode.
- PROFIsafe communication over PROFIBUS-DP (and on PN-interface F-CPUs, over PROFINET).
- Mandatory use of the F-Library (S7 F Configuration Pack or S7 F Systems) when compiling F-blocks.
- F-password protection that prevents on-line modification of the safety program while the F-CPU is in RUN.
- An acceptance-test obligation under IEC 61508 / IEC 62061 / ISO 13849 before the F-program is allowed to control real I/O.
The 315F-2DP part-number family (MLFB 6ES7 315-6FFxx-0AB0 across its hardware index revisions) is sold for SIL 1-3 applications per IEC 61508 and up to PL e per ISO 13849-1. The achievable SIL/PL is a function of the F-CPU variant, the F-Library version, and the F-I/O configuration - always cross-check the SIL/PL claim in the vendor's safety file against the configuration pack release notes.
MMC Hardware Notes
The MMC is the only load memory for S7-300 CPUs in current production (the older 16-/32-KB integrated EPROM was removed long before the F-CPU generation). The supported SIMATIC Micro Memory Cards for the 315F-2DP are 4 MB, 8 MB, and 16 MB. The card must match the CPU's firmware release - combinations are documented in the CPU 31xF manual. A mismatch is rejected at start-up with the SF LED on and a diagnostic-buffer entry.
Email Transfer: Acceptance and Integrity Controls
In principle, yes - a STEP 7 / TIA Portal project archive is a standard ZIP file and there is no Siemens-imposed restriction on transmitting it over standard email channels. The engineering question is not "is the file transferable" but "is the transmission channel acceptable for a safety-relevant update." Email introduces three concerns specific to safety systems.
- Tampering in transit. A safety program update is a controlled document. Request a SHA-256 hash of the vendor-supplied ZIP through a separate channel (phone, signed letter, vendor portal, signed PDF) and verify the hash after download.
- Version identification. The vendor must supply the program's collective F-signature, the F-source signature, and the F-runtime signature so the receiving engineer can confirm bit-for-bit equivalence after loading.
- Archival continuity. Retain the previous MMC image (or its block archive) on the receiving engineer's PG/PC so that a roll-back is possible if the acceptance test fails.
Email is acceptable when these three controls are in place. The vendor's "best" practice in the strict sense is still to ship a pre-programmed MMC, because this avoids any chance of file corruption during transfer, ensures the MMC is correctly formatted, and provides a physical handover document for the safety file. Email is the accepted fallback when the delivery window is too short for a postal MMC.
Program Transfer Options from Email to MMC
Once the ZIP is on a PG/PC, there are three viable paths to the MMC.
| Option | Required Tools | Pros | Cons |
|---|---|---|---|
| New MMC shipped by vendor | Vendor-supplied MMC; PG with card slot (for verification only) | Zero risk of file corruption; documented handover artefact for the safety file | Mail delay; vendor must stock the correct MMC size; no in-line review by receiving engineer |
| Self-load via STEP 7 / TIA Portal onto existing MMC | PG with MMC slot (or external Siemens-supported USB MMC reader on TIA Portal); STEP 7 V5.5+ with S7 F Systems V6.x, or TIA Portal V13 SP1+ with the matching F-Configuration Pack | Immediate; uses existing MMC; allows block-level review before download | Receiving engineer must verify signatures; risk of loading the wrong project or the wrong firmware |
| Self-load via external MMC prommer | External MMC prommer that knows the Siemens MMC filesystem (e.g. legacy Siemens Field PG prommer, or approved prommer from Process-Informatik / Logosys) | Works without STEP 7 / TIA Portal installed on a non-PG laptop | Hardware cost; rare in 2024+; engineer must still verify card image hash |
For the 315F-2DP installed at an end-user site, Option 2 (STEP 7 or TIA Portal load onto the existing MMC) is the typical field path when the vendor emails the code. Option 3 is the fallback for sites without a licensed Siemens engineering toolchain.
Prerequisites
Confirm every item below before scheduling the cut-over.
- PG/PC environment. STEP 7 V5.5 or later with the S7 F Systems V6.x add-on for classic projects, or TIA Portal V13 SP1 / V14 / V15 / V16 / V17 with the matching F-Configuration Pack. The project cannot be loaded with a tool version older than the version that compiled it.
- CPU identification. Open the online diagnostic buffer and read the order number (MLFB) and firmware version of the 315F-2DP. The vendor's project must be compiled against the same or compatible firmware. A mismatch is rejected at download with error 0x0E1F and an SF LED.
- MMC type. Use only Siemens SIMATIC MMC. Third-party SD-to-MMC adapters have caused write failures in field reports; Siemens does not support them.
- MMC free space. The vendor's archive is typically 200-800 KB for a small F-skid. Confirm the MMC has at least 2x the unzipped project size free.
- Backup. Create a complete backup of the existing MMC contents with STEP 7 (PLC > Memory Card File > New, then copy all blocks) or with TIA Portal's "Backup as project" feature. Save to a network share, not the PG's local desktop.
- Vendor-supplied artefacts. ZIP archive, password (if blocks are know-how protected), collective F-signature, F-source and F-runtime signatures, and the project CRC.
- Plant safety plan. A documented Site Acceptance Test (SAT) covering every safety function affected by the new program. The SAT must be in paper or signed-PDF form before power-down.
Step-by-Step: Loading the Emailed Program to the Existing MMC
Step 1 - Verify the Archive
- Save the vendor's ZIP to a known directory, e.g.
C:\VendorUpdates\S7300F_Rev17\. - Open a PowerShell prompt and compute the hash:
Get-FileHash .\S7300F_Rev17.zip -Algorithm SHA256
- Compare the hash to the value provided by the vendor through a separate channel. If they do not match, stop and contact the vendor - never load an unverified archive.
Step 2 - Extract and Open the Project
- Extract the ZIP to a working folder.
- In STEP 7 (SIMATIC Manager): open the project, accept any re-target dialogs (PG/PC interface selection) and let STEP 7 perform an offline consistency check.
- In TIA Portal: open the project, navigate to the safety administration editor, and confirm no compile errors before connecting to hardware.
Step 3 - Review the F-Signatures
Before any download, navigate to the F-signature overview.
- STEP 7 + F-Configuration Pack: open the safety program and select "F-Signatures" from the safety administration editor. Record the collective F-signature, the F-source signature, and the F-runtime signature.
- TIA Portal: in the safety administration editor, switch to the "F-signatures" tab. The same three values are shown.
Compare all three values to the values sent by the vendor. Any mismatch means the project on disk has been modified - do not load it. Re-request the archive.
Step 4 - Insert the MMC in the PG
- Power down the PG if the Field PG manual requires it for MMC insertion.
- Insert the existing MMC into the PG's PCMCIA / MMC slot, or use an externally supported MMC reader.
- In Windows Explorer, verify the MMC is recognised as a removable device. Do not format the card from Windows - Siemens MMCs use a Siemens-specific file system that the OS shows as "raw" or unrecognised. Use STEP 7 / TIA Portal to handle the card.
Step 5 - Delete the Old Project (Optional but Recommended)
For a clean handover, wipe the existing program first.
- STEP 7: PLC > Memory Card File > Delete.
- TIA Portal: Project tree > Card Reader / USB memory > right-click the card > "Format".
Step 6 - Download the New Program to the MMC
STEP 7 (SIMATIC Manager):
- Select the S7-300 station > CPU 315F-2DP.
- PLC > Download to Memory Card.
- Choose "Download user program to Memory Card".
- When prompted, select "Replace" for the system data and "Overwrite" for blocks.
- Wait for the dialog "Download to Memory Card completed successfully".
- Eject the MMC from Windows (or use the PG's hardware eject).
TIA Portal:
- Project tree > the CPU device.
- Online > "Card Reader / USB memory".
- Select the MMC in the device list.
- Drag the software (all blocks including safety blocks) to the card, or use the "Transfer" wizard.
- Confirm the collective F-signature is shown in the transfer summary.
Step 7 - F-CPU Passivation and Acceptance Test
A safety program cannot be live until the F-CPU has been put through an acceptance test. The procedure is documented in the S7-300F / S7-400F manuals and the IEC 61508 / IEC 62061 lifecycle you are working under.
- Power down the F-CPU, insert the MMC, power up.
- The CPU boots into PASSIVE safety mode (SF LED off, but F-program not active). This is the expected state.
- The receiving engineer must re-enter the F-password, then explicitly "Approve" the safety program in the safety administration editor.
- The collective F-signature is re-computed and stored in the F-CPU.
- Execute the vendor's SAT document. Every safety function (E-stop, light curtain, guard door, valve, etc.) must be tested and recorded.
- Sign the SAT and update the safety file.
Program Transfer Without a Programming Device
It is technically possible to write the MMC with a standalone MMC prommer that supports the Siemens MMC filesystem. The prommer writes a card image that is bit-identical to what STEP 7 would write. The receiving engineer still has to:
- Verify the card image hash against the vendor's published value (typically published as a separate SHA-256 next to the ZIP).
- Physically install the card.
- Re-approve the F-program on first boot by entering the F-password and accepting the safety program in the F-CPU's safety administration editor.
This option is mainly used when the customer does not own STEP 7 / TIA Portal, or when loading must happen on a plant network with no PG access. The cost and rarity of supported prommer hardware in 2024+ has reduced this path to a niche scenario.
Vendor-Side Workflow for Emailed Program Updates
If the vendor is going to email program updates, the vendor should also:
- Publish a controlled "update package" with a version number, release date, and a SHA-256 of the ZIP.
- Include the collective, source, and runtime F-signatures in the covering email or in a separate document.
- Provide a delta SAT (what safety functions changed, what must be re-tested).
- State the STEP 7 / TIA Portal version (and the F-Configuration Pack version) that the project was compiled with.
- State the target firmware version of the 315F-2DP.
The receiving engineer's responsibility is to verify all five items before scheduling a plant shutdown for the cut-over. Items that do not match the installed CPU's firmware or the site's engineering toolchain version are stop-the-line conditions, not warnings.
Verification After the Load
After the load, before handing the line back to operations, run the following checks.
| Check | Method | Pass Criterion |
|---|---|---|
| Hardware identification matches | Online > Accessible Nodes > read MLFB | 6ES7 315-6FFxx-0AB0, firmware matches the vendor's project |
| Collective F-signature matches | Safety administration editor | Identical to vendor's published value |
| F-source and F-runtime signatures match | Safety administration editor | Identical to vendor's published values |
| F-password works | Safety editor prompts | "Login successful" |
| Diagnostic buffer clean | PLC > Diagnostic Buffer | No SF or F-stop entries from boot |
| I/O under PROFIsafe | Online > Monitor / Modify | All F-slaves in "Valid" state |
| SAT signed | Paper / electronic | All safety functions tested and signed |
| Safety file updated | Document control | New revision number, new F-signature, SAT signature, vendor's email archived |
A failed check is a stop-the-line condition. Do not bypass F-functions to "get the plant running" - a bypassed F-function is a reportable safety incident in most jurisdictions.
Troubleshooting Matrix
| Symptom | Likely Cause | Action |
|---|---|---|
| "Memory card write-protected" | MMC's write-protect slider set, or a counterfeit card | Check slider; replace card with a genuine Siemens SIMATIC MMC |
| "F-signature mismatch on download" | Project was edited after compilation, or a different tool version was used | Re-export from vendor; do not load modified code |
| "Firmware version not supported" | Project compiled against newer firmware than CPU has | Update CPU firmware (separate procedure, requires a fresh MMC image) or request an older archive from vendor |
| CPU stays in STOP after MMC insertion | F-password not entered; F-program in PASSIVE state | Enter F-password, approve safety program |
| SF LED on, F-CPU in STOP | PROFIsafe address mismatch; F-I/O module fault | Check F-source / F-destination addresses; check module diagnostics |
| Card not recognised after writing | MMC formatted by Windows | Re-write card using STEP 7 / TIA Portal, not Windows |
| Archive hash does not match vendor's value | Corrupted download, or vendor's email compromised | Reject the file; re-request via a different channel; do not load |
| Online connection refused after MMC write | PG/PC interface set to wrong MPI/PROFIBUS address | Set PG/PC interface to PROFIBUS (or PROFINET on F-PN variants) at the CPU's actual address |
Best-Practice Checklist for Vendor Program Updates on S7-300F
- Treat every F-program update as a controlled safety change - not as a routine software update.
- Demand a SHA-256 of the archive and the F-signatures before opening the ZIP. Verify by a separate channel (phone, signed letter, vendor portal).
- Always back up the previous MMC image to a network share with a date-stamped name before any write.
- Schedule the cut-over to a planned downtime. Never load an F-program on a running line.
- Re-execute the SAT in full. A delta test is only acceptable when the vendor provides a documented change-impact analysis and your plant's safety lifecycle allows it.
- Update the plant's safety file (F-document) with the new collective F-signature, the new revision number, the SAT signature, and the date.
- Keep the vendor's email (with the hash) in the project archive for the lifetime of the installed CPU. Most regulatory frameworks require the safety file to be retained for 10-25 years.
- Restrict STEP 7 / TIA Portal install rights and the F-password to a small named group. The F-password is a controlled item under most plant security policies.
- Lock the S7 F Configuration Pack / S7 F Systems version in your engineering tool. Mixing pack versions between projects is a common cause of unexplained signature mismatches at load time.
Standards and Safety Lifecycle References
The S7-300F platform is designed for use in IEC 61508 SIL 1-3 and ISO 13849 PL a-e applications. The exact SIL/PL achievable depends on the F-CPU variant, the F-Library version, and the I/O configuration - always consult the SIMATIC S7-300F System Manual and the F-Configuration Pack release notes for the firmware you are running. Key external references to verify against:
- Siemens Industry Online Support - the single source of truth for the latest manuals, firmware updates, and F-Configuration Pack downloads. Search the portal for the order number of your specific 315F-2DP variant to retrieve the matching manual bundle.
- SIMATIC S7-300 product page - product family overview, links to datasheets and current firmware.
- SIMATIC Safety Integrated - the umbrella technology page for fail-safe SIMATIC controllers, with white papers on F-technology lifecycle.
- TIA Portal - the current engineering framework for new F-projects; legacy projects may still be in STEP 7 V5.5 / SIMATIC Manager.
For the IEC 61508 / IEC 62061 / ISO 13849-1 lifecycle requirements that govern how an F-program update is justified, performed, and recorded, refer to the current edition of the relevant standard. The standards are documents to verify against, not guarantees - the actual achievable SIL/PL must be confirmed by calculation for the specific F-CPU, F-Library, and F-I/O combination in use.
FAQ
Is it acceptable for a vendor to email an S7-300F program?
Technically yes - the file is a standard ZIP. Acceptable practice, however, requires the vendor to publish a SHA-256 hash and the F-signatures (collective, source, and runtime) through a separate channel, and the receiving engineer must verify both before opening the archive and again before downloading to the MMC. The vendor's "best" practice remains a pre-programmed MMC; email is the accepted fallback when delivery time does not allow postal dispatch.
Do I need a new MMC, or can I reuse the existing one?
You can reuse the existing MMC provided it is a genuine Siemens SIMATIC MMC with sufficient free space. Wipe the old program with STEP 7 / TIA Portal (never with Windows format) before writing the new one. Keep the old MMC as a backup until the new program is signed off in the SAT.
Can I load the program to the MMC without STEP 7 / TIA Portal?
Yes, with a supported standalone MMC prommer that knows the Siemens MMC filesystem. The receiving engineer must still verify the card image hash against the vendor's published value and re-approve the F-program on first boot by entering the F-password. This is the option for sites without a licensed STEP 7 / TIA Portal installation.
What is the collective F-signature and why does it matter?
The collective F-signature is a CRC computed over the entire safety program at compile time and at the moment the F-CPU transitions to active safety mode. If the loaded program does not have the same signature the vendor published, the program on disk has been modified - either by a different tool version, by a manual edit, or by file corruption. Mismatched signatures must not be loaded; they are a sign that what is on the MMC is not what the vendor approved.
Does the F-CPU need a password to run a new program?
Yes. The F-password protects the safety program from being modified on the running F-CPU and must be re-entered after every MMC swap. The password is set by the project engineer and must be communicated out-of-band to the receiving engineer. Without the password, the F-CPU will boot in PASSIVE mode and the F-program will not become active.
What if the email's ZIP is corrupted on arrival?
Do not attempt to repair it. Reject the file, contact the vendor, and request a re-send through the same or an alternative channel. If the vendor's email is the only delivery channel, request a second copy via an alternative file-transfer service (vendor SFTP, cloud share with hash) and verify both copies match the published SHA-256 before loading either.