Exporting Siemens CFC Charts and PDL Pictures from STEP 7

David Krause11 min read
HMI ProgrammingSiemensTutorial / 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

Overview: Exporting CFC Charts and PDL Pictures in STEP 7 / WinCC

SIMATIC Manager (STEP 7 V5.x) and the optional CFC (Continuous Function Chart) add-on package let you build modular automation code using graphical chart pages that contain function blocks, I/O references, and runtime attributes. In parallel, WinCC (TIA or classic) stores operator screens as .PDL (Picture Descriptor Language) files. Engineers routinely need to share a single chart, a set of charts, or a single picture with a colleague for code review, peer debugging, or remote commissioning without exposing proprietary logic, hardware configuration, or unrelated S7 programs.

This reference describes three field-proven methods for exporting individual CFC chart folders and .PDL picture files out of a STEP 7 project while keeping the deliverable small, version-stable, and re-importable. The methods are documented against STEP 7 V5.5 / V5.6 with the SIMATIC Manager and the CFC optional package installed. WinCC flexible 2008 / WinCC V7.x is assumed for the picture side. Procedures follow the workflow described in the Siemens STEP 7 V5.5 CFC documentation and the WinCC V7.x picture administration manual.

Prerequisites and Software Requirements

Component Minimum Version Recommended Notes
SIMATIC Manager (STEP 7) V5.5 + SP4 V5.6 + latest HF Includes project navigator and library functions
CFC optional package V9.0 + SP2 V9.0 + SP6 Required to edit chart pages
S7-PLCSIM (optional) V5.4 + SP8 V5.4 + SP9 Used to verify chart runtime post-import
WinCC (for PDL side) V7.0 V7.4 / V7.5 Editor needed if picture must be edited before re-import
Windows OS Windows 7 SP1 x64 Windows 10 LTSC x64 STEP 7 V5.6 supports Win10 with KB patches

Confirm the CFC charts compile cleanly on the source station before exporting. Open Options > Chart Compile / Download and verify that no warnings remain in the CFC log window. A chart that contains unresolved references to deleted blocks or tag names will import cleanly but fail to compile on the target station, which is the most common reason an exported chart appears "broken" after re-import.

License note: The CFC optional package, SFC, and S7-PLCSIM each require their own license keys. A library that contains compiled .sdb files does not require runtime authorization on the receiving station; only chart editing does.

Understanding File Types and Project Structure

Before exporting, identify what you are moving. The STEP 7 project tree contains several distinct container types, each of which exports differently:

  • S7 Program — contains source files, blocks (.sdb, .s5d), symbols, and the CFC chart folder tree.
  • Charts folder — subfolder inside an S7 Program that stores individual chart pages, chart-level I/O signals, and runtime attributes in .sdf/.srf pairs.
  • Library (*.s7l) — a self-contained archive of chart folders, blocks, and master data sets that can be opened stand-alone.
  • PDL file — WinCC picture stored under the WinCC project path; *.PDL for V7.x, *.lbl referenced picture list, and supporting *.bmp/*.emf resources.

The default STEP 7 library root on a 64-bit Windows installation is:

C:\Program Files (x86)\SIEMENS\STEP7\S7libs\

The default WinCC picture folder for a project named Plant01 is:

C:\Program Files (x86)\SIEMENS\WinCC\WinCCProjects\Plant01\GraCS\

Knowing these two roots makes copy/paste operations in Windows Explorer predictable and prevents the "file dropped but invisible in the project" symptom described later in the troubleshooting matrix.

Method 1: Library Export (Recommended)

The library method produces a self-contained .s7l archive that the receiving engineer opens with File > Open > Libraries and then drag-and-drops into the target S7 Program. This is the safest method when you want to package one or more charts together with the picture.

Step-by-step procedure

  1. Open the source STEP 7 project in SIMATIC Manager.
  2. Right-click the project node and select Insert New Object > S7 Program. Rename it to something neutral (e.g. EXPORT_CFC_BUNDLE) so the original S7 Program is not modified.
  3. Expand the original S7 Program, navigate to the Charts folder, multi-select the charts to be exported, and Copy with Ctrl+C.
  4. Paste with Ctrl+V into the new S7 Program. A new Charts folder is created automatically; chart-level runtime data is preserved.
  5. Click File > New, choose Libraries in the dialog, uncheck Add to current multiproject, enter a library name (e.g. CFC_Export_v1.2), and confirm with OK. The library opens in its own SIMATIC Manager window.
  6. In the library window, drag-and-drop the entire new S7 Program (with the pasted Charts folder) from the source project into the library's master container.
  7. Close the source project. The library is now physically located at C:\Program Files (x86)\SIEMENS\STEP7\S7libs\CFC_Export_v1.2\ by default; you can move it to any shareable path.
  8. Compress the entire library folder into a single .zip or .7z archive and send it. A typical export of one or two chart pages compresses to under 500 KB.
  9. On the receiving station, open SIMATIC Manager and choose File > Open > Libraries. Navigate to the unpacked library and confirm.
  10. Drag the desired S7 Program from the library into the receiving project's chart container. Compile to verify.
Tip: When the library contains only chart pages and no compiled .sdb blocks, the recipient must already have the referenced function block types (FB / FC / DB) installed in their master data library. Otherwise the chart will appear with red icon outlines indicating unresolved block types.

Method 2: S7 Program Copy Approach

If the recipient is on the same site, has access to the same STEP 7 installation, and you only want to share the chart without packaging it into a library, you can copy the entire S7 Program subfolder and hand it over directly.

  1. In SIMATIC Manager, right-click the S7 Program that owns the chart(s).
  2. Choose Save As... to create a stand-alone copy on disk. SIMATIC Manager writes a new *.s7p project file containing only that program.
  3. Compress the resulting project folder. The archive size will depend on whether the source S7 Program contains compiled blocks (.sdb), source files (.s7s), and symbol tables. A typical single-program archive is 2–10 MB.
  4. The recipient opens File > Retrieve, selects the archive, and unpacks it into a local STEP 7 work directory.
  5. They drag the S7 Program into their live multiproject or use Copy > Paste to insert the chart folder into an existing S7 Program.

This method is appropriate when you want the recipient to see the full S7 Program context (hardware, symbol table, connection table) rather than just the chart page. It is not appropriate when the goal is to keep proprietary block code private.

Method 3: PDL File Handling via Windows Explorer

WinCC .PDL picture files are stored on disk in the GraCS folder of the WinCC project. Unlike CFC charts, PDL files are completely independent of the STEP 7 project tree, so they can be copied in Windows Explorer without opening SIMATIC Manager or WinCC Explorer at all.

Exporting a picture

  1. Close WinCC Explorer and the WinCC Runtime on the source station to release any file locks.
  2. In Windows Explorer, navigate to the source project picture folder, for example C:\Program Files (x86)\SIEMENS\WinCC\WinCCProjects\<ProjectName>\GraCS\.
  3. Select the *.PDL file(s) you want to share. Include any related resources that the picture references (faceplate *.fpl, *.bmp graphics, *.wmf / *.emf vector files). Failing to copy referenced resources causes blank fields and missing icons at runtime.
  4. Copy the selection to a temporary folder, compress it, and send it.

Re-importing a picture on the target station

  1. On the target WinCC station, close WinCC Explorer and Runtime.
  2. Copy the *.PDL file(s) into the target project's GraCS folder at C:\Program Files (x86)\SIEMENS\WinCC\WinCCProjects\<TargetProject>\GraCS\.
  3. Open WinCC Explorer. The new picture appears in the left-hand Graphics tree automatically; SIMATIC Manager is not involved.
  4. Double-click to verify the picture opens, all internal tag references resolve, and the picture passes the WinCC consistency check.

The reason PDL files "show up" simply by being dropped into GraCS is that WinCC reads the folder listing on Explorer open. No project-level import wizard is required. If you have integrated WinCC into a TIA Portal project, the equivalent operation uses the TIA Portal project tree under HMI > Screens > Screen management and the Import/Export wizard.

Combining CFC Charts and PDL Pictures into a Single Archive

When a chart and a picture belong together — for example, a faceplate-driven CFC block whose screen layout needs review — the cleanest field-proven workflow is:

  1. Use Method 1 (Library) to package the chart(s) into CFC_Export.s7l.
  2. Separately copy the relevant *.PDL files into a subfolder such as CFC_Export.s7l\pictures\.
  3. Zip the library folder including the pictures subfolder.
  4. Provide a short README.txt in the archive that lists: source project name, STEP 7 version, CFC version, chart names, picture names, and the FB / FC block types that must exist in the target project's master library.

This combined archive travels as one file, but the receiving engineer opens the library through SIMATIC Manager and drops the .PDL files into GraCS using Windows Explorer. Each piece keeps its native import path.

Verification Checklist After Re-Import

Step Action Pass Criterion
1 Open the imported chart in the CFC editor No red icon outlines, all block I/O pins visible
2 Compile the chart 0 errors, 0 warnings in the CFC log window
3 Cross-reference check on imported FB / FC types Block types present in target master library
4 S7-PLCSIM download (optional) Runtime reaches OB1, chart objects evaluate
5 Open the imported PDL in WinCC Explorer No "missing reference" dialogs
6 Tag consistency check (WinCC) All configured tags resolve to PLC variables
7 Activate WinCC Runtime locally Picture renders, dynamic elements animate as expected

For charts that contain runtime attributes such as SFC visualization settings, also verify the Operator Control & Monitoring attributes under Options > Chart Properties after import. The runtime attributes are stored in *.sdf companion files and should travel with the chart folder, but a corrupt file system or interrupted copy can silently drop them.

Troubleshooting Matrix

Symptom Likely Root Cause Fix
Library opens but charts show red icons Target master data library missing referenced FB / FC types Copy required block types into target master data library before pasting chart
Chart compiles with warnings about SFC_CONNECTION Chart was originally linked to an SFC that was not exported Export SFC as well, or remove SFC references from the chart
PDL file copied into GraCS but not visible in WinCC Explorer Explorer not refreshed after copy Right-click the Graphics tree and choose Refresh, or close and reopen the project
PDL opens but shows blank fields and missing icons Picture references supporting graphics that were not copied Copy entire GraCS subfolder, not just the .PDL
Imported chart has different OB / scan cycle assignment OB assignment is stored at chart level and may default on import Open chart properties and re-assign OB1 / OB35 / OB82 as needed
Library .s7l archive will not open on target STEP 7 version mismatch (e.g. V5.4 vs V5.6) Match STEP 7 / CFC versions between source and target
Symbol names appear as "???" after import Symbol table not exported Include Symbols object in the library / S7 Program copy
Chart folder appears in Windows but not in SIMATIC Manager Folder dropped in the wrong disk path Confirm file is under the project's S7 Program > Charts subfolder, then refresh project

The last symptom is the single most reported issue. If you paste a *.PDL into the project root directory instead of the actual GraCS subfolder, WinCC Explorer cannot enumerate it because it never indexes outside GraCS. Likewise, dropping chart files into the wrong S7 Program folder inside the project tree means SIMATIC Manager cannot index them until you re-import through the library mechanism.

File Size and Archive Considerations

A library that contains only chart pages with no compiled blocks typically compresses to a few hundred kilobytes. Including the source STL / SCL files, the symbol table, and one or two .PDL pictures with referenced bitmaps can push the archive into the 1–5 MB range. Always archive with standard .zip to avoid firewall or email gateway filters that block proprietary formats. For archives larger than 10 MB, prefer sharing through a secure file-share link rather than email attachments.

When sending across a network with strict change-control, include an MD5 or SHA-256 hash of the archive in the cover note so the receiving engineer can confirm integrity. STEP 7 does not provide built-in signing for libraries, so the hash is the standard manual verification step.

Notes on TIA Portal Compatibility

If you are migrating to TIA Portal (STEP 7 V16 or later) and want to export a CFC chart from a classic STEP 7 V5.x project, the workflow differs: TIA Portal stores CFC-equivalent graphs in Program blocks > [OB/FB] > Networks using its own graphical editor, and chart pages in classic CFC do not migrate directly. Export the classic chart as a library, then re-implement the logic in TIA Portal's graph editor or migrate the project through the SIMATIC Migration Tool. PDL files from WinCC V7.x cannot be opened by WinCC Professional (TIA) without a conversion using the WinCC migration tool. The classic methods in this article apply specifically to the STEP 7 V5.x / WinCC V7.x toolchain.

FAQ

Can I export a single CFC chart without exporting the whole S7 Program?

Yes. Create a new S7 Program inside the same project, copy the chart folder into it, then drag the program into a new library. The resulting library contains only the chart pages and their runtime attributes, not the hardware configuration or unrelated blocks.

Where are WinCC PDL pictures physically stored on disk?

Inside the WinCC project folder under GraCS, for example C:\Program Files (x86)\SIEMENS\WinCC\WinCCProjects\<ProjectName>\GraCS\. WinCC enumerates this folder on Explorer open, so any .PDL dropped here is recognized after a refresh.

Why does my exported chart show red icons on the target station?

The receiving station is missing the referenced function block (FB/FC) types in its master data library. Install the same block types before pasting the chart, or include the compiled blocks in the exported library.

Can I email a CFC chart and a PDL picture in one archive?

Yes. Export the chart as a .s7l library, place the .PDL files in a subfolder of the library, and zip the whole tree. Include a README listing the required block types and STEP 7 / CFC versions.

Do exported PDL pictures carry tag connections?

PDL files store tag connections by symbolic name. If the target WinCC project uses different tag names, the picture will open but show "tag not found" indicators. Re-link the tags manually or ensure the tag table is copied with the picture.

Back to blog