S7-300F MMC Program Transfer: Loading Emailed Safety Code

David Krause15 min read
S7-300SiemensTutorial / How-to
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

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.

Third-party SD-to-MMC adapters are not supported. Field experience shows that generic adapters either fail to enumerate under the Siemens MMC filesystem or corrupt the card on write. Use only branded Siemens SIMATIC MMC stock.

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.

  1. 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.
  2. 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.
  3. 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

  1. Save the vendor's ZIP to a known directory, e.g. C:\VendorUpdates\S7300F_Rev17\.
  2. Open a PowerShell prompt and compute the hash:
    Get-FileHash .\S7300F_Rev17.zip -Algorithm SHA256
  3. 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

  1. Extract the ZIP to a working folder.
  2. 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.
  3. 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

  1. Power down the PG if the Field PG manual requires it for MMC insertion.
  2. Insert the existing MMC into the PG's PCMCIA / MMC slot, or use an externally supported MMC reader.
  3. 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".
Do not use Windows format. TIA Portal's "Format" writes the Siemens MMC filesystem header; Windows format writes a FAT header and bricks the card from the CPU's perspective.

Step 6 - Download the New Program to the MMC

STEP 7 (SIMATIC Manager):

  1. Select the S7-300 station > CPU 315F-2DP.
  2. PLC > Download to Memory Card.
  3. Choose "Download user program to Memory Card".
  4. When prompted, select "Replace" for the system data and "Overwrite" for blocks.
  5. Wait for the dialog "Download to Memory Card completed successfully".
  6. Eject the MMC from Windows (or use the PG's hardware eject).

TIA Portal:

  1. Project tree > the CPU device.
  2. Online > "Card Reader / USB memory".
  3. Select the MMC in the device list.
  4. Drag the software (all blocks including safety blocks) to the card, or use the "Transfer" wizard.
  5. 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.

  1. Power down the F-CPU, insert the MMC, power up.
  2. The CPU boots into PASSIVE safety mode (SF LED off, but F-program not active). This is the expected state.
  3. The receiving engineer must re-enter the F-password, then explicitly "Approve" the safety program in the safety administration editor.
  4. The collective F-signature is re-computed and stored in the F-CPU.
  5. Execute the vendor's SAT document. Every safety function (E-stop, light curtain, guard door, valve, etc.) must be tested and recorded.
  6. 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.

Back to blog