Resolving Gray FB I/O Pin Names in Siemens PCS7 CFC Charts
Engineers commissioning or maintaining a SIMATIC PCS 7 plant frequently encounter a color-coded condition on function block (FB) I/O pin names inside a CFC (Continuous Function Chart): the labels render in gray the moment the block is dropped into the sheet, then change to blue or black as the program is edited, compiled, and downloaded. Although the behavior is harmless, misreading the color leads to confusion during HART commissioning, signal-tracing, and interlock reviews. This reference explains the underlying state model, shows the exact menu path for color customization, and documents the conditions under which a gray label is a defect rather than a normal edit-time artifact.
1. PCS7 CFC Environment Overview
SIMATIC PCS 7 is the Siemens distributed control system (DCS) built on the SIMATIC S7-400 / S7-410 automation stations, the WinCC operator system, and the CFC/SFC engineering environment. CFC differs from ladder or structured text in that engineers place pre-built blocks on a sheet and wire I/O pins graphically, rather than typing code.
| Component | Role | Relevant Tool |
|---|---|---|
| AS (Automation Station) | S7-400 / S7-410 controller | SIMATIC Manager / PCS 7 ES |
| CFC | Continuous Function Chart editor | CFC Editor V9.0 SPx |
| SFC | Sequential Function Chart editor | SFC Editor V9.0 SPx |
| FB / FC blocks | Type-defined block from APL (Advanced Process Library) | PCS 7 APL V9.0 |
| OS (Operator Station) | WinCC Runtime for HMI | WinCC Explorer |
| CH_ library | Driver block family (Pcs7Cnt, Pcs7AnIn, etc.) | PCS 7 Library V9.x |
Each block instance carries named I/O pins such as PV (process value), SP (setpoint), LMN (manipulated value), LIOP (local I/O), and Boolean enable inputs. The color of these pin-name text fields is controlled by the engineering tool to communicate the synchronization state between the offline CFC sheet, the S7 program, and the runtime value.
2. The CFC Color-Coding Model
The CFC editor uses four color buckets to indicate how a pin's text label and its underlying value agree with the last compiled program in the AS. The default palette is configurable.
| Color | Pin-Name Meaning | Pin-Value Meaning | Trigger |
|---|---|---|---|
| Black | Pin name matches the last compiled program on the AS | Online = offline (equal to the value loaded in the AS) | Successful compile and download; or no edits since last download |
| Gray | Block instance has never been compiled, or the AS program no longer reflects the sheet | Value field not loaded / not yet online | Initial drop from library, after Type->FB refresh, or after an unsuccessful incremental compile |
| Blue | Pin name has been edited offline and differs from the loaded AS program | Offline value differs from online value | Any edit to a pin comment, connection, or default since the last download |
| Red | Compile error or unresolved interlock | Bad / faulted value | CFC compiler could not generate SCL/ST for the sheet |
The visual feedback is a deliberate design choice. A black pin tells the engineer: what you see on the sheet is exactly what is running in the AS-410. A gray pin tells the engineer: no online view yet exists for this instance. A blue pin tells the engineer: the sheet has been changed since the last download.
3. Root Cause: Why a Freshly-Inserted FB Shows Gray I/O
When a new block instance is dropped from the PCS 7 library (for example, MotL from APL or Pcs7AnIn from CH_) into a CFC sheet, the editor places the instance in the chart cache, generates a unique instance DB number, and draws the I/O pin-name labels in gray. Three conditions converge to produce this state:
- No prior S7 code exists. The CFC compiler has not yet translated the chart to STL/SCL. There is no DB in the AS to compare against, so the editor cannot assert that the pin is in sync.
- The pin's default value is in effect. Untouched pins render their default initialization (typically 0.0, FALSE, or the type's initial value). The value field is also gray because the AS has not acknowledged an actual value.
-
The instance is not registered in the S7 program. The block instance's
DB-numbercolumn shows not assigned in the chart overview until the first compile.
This behavior is identical across the entire APL block family — motor blocks (MotL, MotSpdL, MotRevL), valve blocks (VlvL, VlvAnL), analog blocks (Pcs7AnIn, Pcs7AnOu), and digital blocks (Pcs7Di, Pcs7Do). The instance and the pin color are independent of the block type.
4. Why the Pin Turns Blue After Edits
As soon as the engineer changes any property of the pin — typing a comment, drawing a connection to another block, wiring to a process tag, or editing the default value — the CFC engine increments the sheet's modification counter. On the next redraw, the pin-name label switches to blue to indicate offline modification not yet reflected in the AS. The underlying value field also becomes blue if the change alters the value the AS will use.
The transition path is therefore:
| State | Pin Name Color | Value Color | Required Action |
|---|---|---|---|
| Block freshly dropped from library | Gray | Gray | Compile + Download |
| Block compiled, downloaded, untouched | Black | Black | None (in sync) |
| Pin edited offline after download | Blue | Blue (if value changed) | Compile + Download to restore Black |
| Pin has runtime error or substitute | Red / Brown | Red / Brown | Investigate S7 diagnostic buffer |
5. Restoring Black: Compile and Download Procedure
The official PCS 7 procedure to return gray or blue pin-name text to black is a full chart compile followed by an S7 program download. Use the steps below for any single chart or for the entire S7 program.
5.1 Prerequisites
- The ES must be online with the project on the engineering server.
- The CFC editor must hold a valid license (CFC V9.0 SP8 or later for AS-410 support).
- The target AS must be in
STOPor the changes must be downloaded as a consistent download in RUN if the operator authorization allows it (depends on CPU firmware and PCS 7 version).
5.2 Step-by-Step
- Open the CFC chart in the PCS 7 ES (SIMATIC Manager > plant view > AS > Charts).
- Select the menu
Chart > Compile > Chart as program(shortcut:Ctrl+B). - Watch the lower status bar; if compile succeeds the gray/blue pin labels remain visually unchanged until the download is complete.
- Right-click the AS object in the plant view and select
Target System > Download(orCPU > Download User Program to Memory Cardfor archive-style loads). - Confirm the safety prompt. The AS may briefly transition to
STOPon a complete download; for partial download in RUN, the CFC incremental download dialog lists the modified charts. - Re-open the CFC chart. The I/O pin names now render in black; the value fields show the live runtime value (also black if it matches the offline initial value).
S7USER archive, or the chart was downloaded to a different AS target. Re-check the Target System > Assign AS setting on the chart.6. Customizing the Color Palette
Some legacy PCS 7 deployments, dark-mode OS theme installations, or color-blind operators benefit from a different default palette. The CFC editor exposes the full color set through a single menu path.
- Open the CFC chart.
- Click
Options > Customize > Colors... - In the Colors dialog, four rows control pin-name and pin-value text:
| Row | Applies To | Recommended Default |
|---|---|---|
| Pin name in sync | Black text | RGB(0,0,0) |
| Pin name not in sync (edited) | Blue text | RGB(0,0,192) |
| Pin name not loaded / initial | Gray text | RGB(128,128,128) |
| Pin name with error | Red text | RGB(192,0,0) |
Changes are written to the registry under HKCU\Software\Siemens\CFC\Settings\Colors and apply to the current Windows user profile. Per-user settings prevent an individual operator from changing the palette for the whole engineering team.
7. Diagnostic Mapping: Color to Action
Use the matrix below to triage a sheet quickly without opening the S7 diagnostic buffer.
| Observed Color | Likely Cause | Engineer Action | Reference |
|---|---|---|---|
| All pin names gray on a brand-new chart | Chart never compiled | Compile > Download | Section 5 |
| Pin name gray after type refresh | FB was re-imported from a newer APL; instance DB not regenerated | Right-click chart > Chart > Compile > Charts as program, then incremental download | Section 5 |
| Pin name blue, value matches online | Comment-only change, no logical effect | Compile + Download to clear | Section 4 |
| Pin name red | Compile error on that block (e.g., missing interconnection partner, type conflict) | Open Compile Log; fix and re-compile | Section 8 |
| Pin value gray even after download | I/O driver channel not assigned in HW Config, or HART device missing | Open HW Config > Slot > Properties; verify symbol name in CFC | Section 9 |
8. Common Scenarios and Field-Verified Caveats
8.1 Process Tag (CP) I/O Shows Gray After Renaming
When a CP (Control Program tag) is renamed in the plant view, the CFC instance that references it briefly turns blue, then gray, then black after a chart compile and a Shared Declarations regeneration. The gray state is normal during the regeneration window. Do not edit further during the regeneration; a race condition can corrupt the instance DB.
8.2 APL Type Update From a New Library
After installing a new PCS 7 APL (for example, migrating from APL V9.0 to APL V9.0 SP3), every block instance of the changed type must be re-fitted. Until you run Options > Block Type Update on the project, all I/O pin-name text of those instances turns gray. The migration wizard walks the engineer through chart-by-chart confirmation.
8.3 HART or Field Device Not Yet Replaced
A digital input block on a remote ET 200M station with a missing module shows the pin name in gray and the value field with a red bad icon. The pin name color here is misleading because the block is compiled; the issue is HW, not the chart. Open the S7 diagnostic buffer and confirm IO module removed events.
8.4 Bulk Color Re-paint After Importing a Project From an Older ES
Projects migrated from PCS 7 V8.x to V9.x can display all pin names as gray for the first compile, because the V8 instance DB numbers are renumbered in V9. The action is the same: Compile > Download. Do not be tempted to manually edit each chart; the compiler will resolve the references automatically.
8.5 Cross-Platform Reference
For engineers who also program non-Siemens PLCs, the concept of color-coded pin status is not unique to PCS 7. Rockwell Automation CCW / Logix Designer uses a similar convention for tag aliases, with references documented in the Micro830, Micro850, and Micro870 Programmable Controllers User Manual (2080-UM002). The state model is comparable: gray typically indicates a tag that has not been committed, blue indicates an edit pending download, and red indicates a build error.
9. Best Practices for Commissioning Engineers
- Compile after every batch of edits. A bulk compile + incremental download at the end of each commissioning shift prevents accumulation of blue pins and the resulting chart inconsistent alarm in WinCC.
-
Use the chart overview filter. In the CFC editor,
View > Filter > Modified onlyshows only charts with blue or gray pin text — the fastest way to confirm the plant is fully synchronized before a hot cutover. - Lock the type library. After type update, freeze the PCS 7 library version. A green-field plant that has a moving type library will see gray pin names reappear on every block type change.
- Document the customized palette in the project quality plan. If a non-default color scheme is used, document the meaning in the FDS / FAT scripts so future engineers do not misread the state.
- Use SFC for sequential logic, CFC for continuous. A gray pin in an SFC chart has the same meaning as in CFC, but the SFC step transition adds a fourth color (yellow) for transition waiting. Be careful when applying the CFC color table to SFC charts.
Allow download in RUN before performing an incremental download on a running plant. Incorrect use of this option can cause brief process upsets.10. Verification Checklist After a Download
To confirm that all I/O pin names have transitioned from gray/blue to black, use the checklist below:
- Open each modified chart; confirm pin names render in black.
- In the chart overview (
View > Overview), confirm the Modification flag column shows no entry for every row. - Open the S7 program in
SIMATIC Manager > Blocksand confirm the instance DB for each block has the same number assigned in the chart overview (no not assigned entries). - Open WinCC Explorer; on the OS picture for the affected unit, confirm the process tag's quality code shows
0xC0(good) rather than0x00(bad initial). - Cross-check the S7 diagnostic buffer for any new OB85 / OB121 events that may have been generated by the download.
11. Related Topics and Cross-References
Engineers porting PCS 7 logic to other platforms should be aware that PROFINET-based field devices, including modern collaborative robots, expose a similar gray/blue/black state model in their configuration tools. The Universal Robots PROFINET How-To Guide (E-Series) illustrates the same principle: a configuration slot is gray until the device is commissioned, then turns black once the controller accepts the slot. The pattern is industry-wide for IEC 61131-based and PROFINET-based engineering.
12. Frequently Asked Questions
Why is every pin name on my new MotL block gray in PCS 7 CFC?
A freshly inserted block instance has not yet been compiled into the S7 program, so the editor cannot assert that the pin is in sync with the AS. Run Chart > Compile > Chart as program and then download to the AS; the pin names will turn black.
How do I make pin-name text black without a full download?
You cannot. Black is reserved for pins that match the loaded AS program. Until a compile + download is performed, the editor has no ground-truth to compare against and renders the pin in gray or blue.
Can I change the gray color to a different shade?
Yes. Open the CFC chart, then Options > Customize > Colors... and edit the row labeled for un-compiled pin names. The change is per Windows user and stored in HKCU\Software\Siemens\CFC\Settings\Colors.
The pin name is blue even though I have not edited anything. Why?
Blue means the pin has been edited offline since the last download, or the type was updated from a newer library. Run a chart compile and an incremental download to clear the blue state. If the pin remains blue, open the chart overview filter Modified only to see which chart is out of sync.
Does a gray pin mean the process value is bad?
No. The pin-name color reflects the engineering state (offline vs. loaded), while the runtime value quality is shown by a small status icon on the value field (good, bad, substituted, simulated). A gray pin with a green-good icon means the block has not been loaded yet but the type defaults are valid.