Problem Statement: Operator Inputs Rejected in GainSched Faceplate
When integrating the GainSched block from the Siemens PCS 7 Advanced Process Library (APL) with downstream PIDConR controllers, engineers frequently encounter a runtime symptom in WinCC Explorer: opening the Gain Scheduler faceplate, navigating to either the home view or the parameter settings view, and finding that every input field is greyed out. Operator-level logins cannot modify the PID tuning values, while the supervisory level can read but not write through the standard faceplate controls. The block continues to publish the active gain, integral time, and derivative time values to the connected PID, but the operator has no path to enter new tuning data without leaving the runtime and editing the SFC/CFC chart offline.
This lockout is a property-level configuration issue in the WinCC Graphics Designer picture hierarchy, not a permissions failure in the WinCC User Administrator and not a CFC compile error. The faceplate appears to be read-only because the source picture @PG_GainSched_Parameter.PDL ships from the APL with every operator-relevant control configured with Operator-Control Enable = NO.
Root Cause: Operator-Control Enable Property Set to NO
The APL master data library packages Gain Scheduler faceplate elements with conservative defaults. The Operator-Control Enable attribute on each I/O field (Gain, TI, TD, and the X1/X2/X3 setpoint inputs in the parameter view) is initially set to NO to prevent accidental writes during commissioning. This default propagates to every project instance derived from the master picture. When the project is compiled and downloaded, the runtime picture inherits the NO flag, and WinCC disables operator input at the field level regardless of user rights.
The block-level tag ManParOn on the GainSched instance is a separate enable that controls whether the operator may switch from auto-computed values to manually entered values. It does not unlock the input fields; it only governs the routing logic between Auto and Manual sub-blocks. Both Operator-Control Enable and ManParOn must be in the correct state for operator changes to take effect end-to-end.
Affected Components and Library Scope
The fix targets a specific subset of the PCS 7 APL. Engineers should confirm the scope of their installation before opening Graphics Designer.
| Component | Name / Identifier | Default State | Required State for Operator Input |
|---|---|---|---|
| Master picture (parameter view) | @PG_GainSched_Parameter.PDL | Operator-Control Enable = NO on all fields | Operator-Control Enable = YES per field |
| Master picture (standard view) | @PG_GainSched_Standard.PDL | Operator-Control Enable = NO on all fields | Optional (only if standard view is used) |
| Block tag | ManParOn | FALSE (0) | TRUE (1) when operator must override auto values |
| Block mode input | Mode (Auto/Manual) | Auto | Manual (only for direct operator entry) |
| CFC function block | FB 1889 (GainSched) in APL | Standard instance | No change; configuration is in the picture |
The @PG_ prefix denotes an APL master data library picture. These pictures live in the project's GraCS directory under \WinCC\Project\<ProjectName>\GraCS\ on the engineering station and are also stored inside the master data library @PCS7APL_Vxx.pdl archive.
Prerequisites Before Editing
- Close all running WinCC Runtime instances on the OS server and any client stations that load the affected pictures.
- Stop the WinCC Explorer or open the project in a non-running state from SIMATIC Manager / PCS 7 Engineering Station.
- Confirm the current APL version in the Component View: Options > PCS 7 Library > APL Version Information. The procedure is identical from APL V8.0 onward; however, picture name and tag identifiers can vary slightly between major releases. Capture the APL version for change-control records.
- Back up the master data library. Copy
@PG_GainSched_Parameter.PDLand@PG_GainSched_Standard.PDLto a dated archive directory before any modification. - Ensure the engineer performing the edit is a member of the
SIMATIC HMIWindows group with full control NTFS rights on the project directory.
Solution Procedure: Enabling Operator Control
Perform the following steps in WinCC Graphics Designer. The procedure edits the master picture directly so the change propagates to all derived faceplate instances.
Step 1: Open the Parameter Master Picture
- Launch WinCC Explorer on the engineering station.
- In the navigation tree, right-click Graphics Designer and select Open.
- From the file menu, choose File > Open and navigate to the master data library path:
\Program Files\Siemens\Automation\PCS7\Library\APL_Vxx\WinCC\GraCS\(or the project-specific GraCS path if the picture has already been copied into the project). - Select
@PG_GainSched_Parameter.PDLand confirm.
Step 2: Configure Operator-Control Enable on Each I/O Field
- In the picture, select the I/O field that exposes the manual Gain setpoint (typically labelled
Gainor with the dynamic nameSetMan.Gain). - Open the Properties dialog (right-click > Properties or press Alt+Enter).
- Navigate to the Properties tab and locate the attribute Operator-Control Enable under the Output/Input group.
- Change the value from NO to YES.
- Repeat for every operator-relevant field in the picture, normally:
- Manual Gain (loop 1, loop 2, loop 3)
- Manual Integral Time TI (loop 1, loop 2, loop 3)
- Manual Derivative Time TD (loop 1, loop 2, loop 3)
- X1, X2, X3 setpoint inputs if the engineering intent is to let operators adjust the switching thresholds \li>Mode selector (Auto/Manual) on the standard view
- Click OK to apply.
Step 3: Verify the Standard View (Optional)
If operators use the Standard faceplate view (the home view, not the parameter view), repeat the procedure on @PG_GainSched_Standard.PDL. The Operator-Control Enable flag is independent per picture, and toggling the parameter picture does not affect the standard picture.
Step 4: Check C-Action Compilation State
Many engineers have reported the symptom disappearing after editing Operator-Control Enable only to have the faceplate revert to read-only on the next picture change. The cause is usually an uncompiled C action. C actions are global C scripts attached to events (mouse click, value change, etc.) on picture objects. If a C action is in an uncompiled state, the runtime cannot evaluate the operator authorization at click time, and WinCC conservatively disables the input.
- Open each I/O field whose Operator-Control Enable you just set to YES.
- Switch to the Event tab in the Properties dialog.
- Inspect each event (typically Mouse > Mouse Action, Property Change, or Output/Input > Input Value Changed) that has a C action attached.
- Look for the lightning bolt icon in the event row. A green lightning bolt indicates the C action is compiled; a yellow lightning bolt indicates an uncompiled action.
- For every yellow icon, double-click the C action, click OK (this re-runs the compiler), and confirm the icon turns green.
Step 5: Set the ManParOn Tag (Runtime Path)
Operator-Control Enable controls the field's click acceptance. ManParOn controls the block's data path. If ManParOn = FALSE, the GainSched block continues to publish the auto-extrapolated values from X1/X2/X3 lookup tables to the PID regardless of what the operator types. Set this tag from the CFC, from the SFC, or from a WinCC script:
SetTagWord(@"GainSched_Mode", 1); // 0 = Auto, 1 = Manual
SetTagBit(@"GainSched_ManParOn", 1); // TRUE enables operator-entered values
Use the same tag names that are wired in the CFC chart. The names above are placeholders; replace with the actual instance name from the S7 program (e.g., FC111_GainSched_ManParOn).
Step 6: Compile OS, Download, Restart Runtime
- From SIMATIC Manager, run PCS 7 > Compile OS with the Entire OS scope to regenerate all picture references and tag connections.
- Download to the OS server (and to OS clients if distributed).
- Start WinCC Runtime and log in at operator level.
GainSched Block Operational Modes
The GainSched block implements a tri-region gain scheduling strategy. Three PID parameter sets (Gain, TI, TD) are stored in the block, one per operating region. The active set is chosen by linear interpolation of the X1, X2, X3 schedule inputs.
| Mode | Operator-Setpoint Use | Output to PIDConR | When to Use |
|---|---|---|---|
| Auto | No | Extrapolated values from X1/X2/X3 lookup | Normal operation; the schedule follows a measured process variable |
| Manual | Yes | Operator-entered Gain/TI/TD values from faceplate | Commissioning, tuning, fault response, or process states outside the scheduled range |
Operator changes only reach the PID if both:
- The block is in Manual mode, AND
-
ManParOn = TRUE, AND - The faceplate fields have Operator-Control Enable = YES.
Permission Levels and Background Scripts
Operator-Control Enable interacts with the WinCC authorization system. The faceplate's mouse-click event typically calls a C action that calls PWRTCheckPermission or the equivalent GetTagPermission wrapper from the APL standard scripts. The hierarchy is:
- Operator-Control Enable (static property) - gates whether the I/O field accepts input at all. If NO, no level can write.
- Runtime permission level - the logged-in user's level (typically 4 = operator, 5 = supervisor, 6 = engineer) is checked by the C action against the field's configured level (typically level 5 or 6 for tuning parameters).
- Acknowledgement and signature policy - if a signature is required, the value is staged in a buffer until the operator confirms.
For tuning parameters such as Gain, TI, and TD, the typical minimum level is 5 (Supervisor). Configure this in the Properties > Output/Input > Authorization attribute. If operators complain that they still cannot change values after setting Operator-Control Enable to YES, the next check is the authorization level. Bumping the level from 5 to 4 (operator) is sometimes done during commissioning, but it is rarely appropriate in production and should be governed by plant change-control procedures.
Verification Procedure
After applying the fix, perform the following checks to confirm that operator input is fully functional end-to-end.
- Open WinCC Runtime on the OS server or a client.
- Log in at the configured tuning level (typically level 5 or higher).
- Navigate to the picture area that hosts the GainSched faceplate.
- Open the faceplate and click the Standard View tab. Confirm the Auto/Manual mode selector is clickable and toggles state.
- Switch the block to Manual mode and confirm the value changes from Auto to Man in the block status row.
- Click the Parameter View tab. Each Gain, TI, TD field should be white (editable) rather than grey (read-only).
- Enter a test value (e.g., set Gain to a value 10% different from the current value) and click Apply or press Enter.
- Confirm the value is written by reading the tag back from the CFC (online view) or by checking the live value displayed on the PIDConR faceplate.
- Toggle ManParOn to FALSE and confirm that the value reverts to the auto-computed value on the next scan.
- Log out and log in at the operator level (4). Confirm that the fields are now read-only again as expected.
| Check | Expected Result | Failure Indicates |
|---|---|---|
| Field is white / editable | YES | Operator-Control Enable not set, or C action uncompiled |
| Mode selector responds | YES | Wrong picture edited (@PG_GainSched_Standard vs Parameter) |
| Value persists after Apply | YES | ManParOn = FALSE; tag wiring mismatch |
| Value reverts when ManParOn=FALSE | YES | Auto/Manual logic working correctly |
| Operator level 4 cannot write | YES | Authorization level correctly set to 5+ |
Related Issues and Edge Cases
Several adjacent issues can mask or mimic the original symptom. Review this list before assuming the Operator-Control Enable fix is sufficient.
| Symptom | Likely Cause | Resolution |
|---|---|---|
| Fields editable but value not reaching PID | ManParOn = FALSE or block in Auto mode | Set ManParOn=TRUE and switch to Manual |
| Some fields editable, others not | Operator-Control Enable changed on subset of fields only | Edit every operator-relevant field in the picture |
| Fields editable at engineering station, not at OS client | OS client cache stale or partial download | Full OS download and restart client |
| Values writable but rejected as out of range | Block input limit (e.g., GainMin/GainMax) clamped value | Adjust limits in CFC or use a value within range |
| Faceplate flashes then reverts | C action toggles Operator-Control Enable back to NO | Inspect C action source; remove any logic that writes Operator-Control Enable |
| Works on one OS, fails on another | Picture copied into project GraCS but master data library not updated | Copy the edited PDL into all OS project directories |
| Operator can change values but PID does not respond | PIDConR set to external setpoint only; GainSched not in loop | Verify wiring: GainSched.GainOut → PIDConR.Gain, etc. |
Library Migration and Version-Specific Notes
When the project is upgraded to a newer PCS 7 major release, the master data library is re-imported. If the operator-control defaults changed between releases, the Operator-Control Enable flags reset to the new default. Always re-apply the procedure described above after a major version upgrade and verify on a test OS first. The fix itself is independent of release, but the surrounding C actions, tag names, and authorization level conventions may shift.
For PCS 7 V9.0 and V9.1, the APL ships gain-scheduling blocks under the same FB number (1889) but with extended diagnostics. The same picture names @PG_GainSched_Parameter.PDL and @PG_GainSched_Standard.PDL are used. For older V8.x systems, the picture names and tag names are largely identical; however, the parameter view may have a different layout. Always open the actual master picture in the engineering project and verify the field labels before editing.
Best Practices for Production Roll-Out
- Centralize the master picture edits in the engineering library, not in a single OS project. The @PG_ files belong in the master data library and should be propagated to every OS by compilation.
- Document the change in the plant's PCS 7 change log with the APL version, the picture file names, the fields changed, and the engineer who performed the edit.
- Configure the tuning parameters to require level 5 (Supervisor) or higher. Do not lower the level to 4 (Operator) for tuning values; doing so removes an important barrier against inadvertent detuning.
- If signature / electronic signature is required by plant standards, route the value through the APL standard signature mechanism. The faceplate's Apply button will trigger the signature dialog automatically when configured.
- After the fix, validate with a full functional test: place the block in Manual, change Gain by a known delta, observe the PID output response, then return the block to Auto and confirm the schedule resumes.
Troubleshooting Matrix: Quick Reference
| Symptom | First Check | Second Check | Third Check |
|---|---|---|---|
| All fields greyed out | Operator-Control Enable = YES? | C actions compiled (green bolt)? | User level ≥ required level? |
| Some fields editable, others grey | All fields updated? | Right picture file (Parameter vs Standard)? | Field-level authorization set? |
| Editable but value reverts | ManParOn = TRUE? | Block in Manual mode? | Tag wiring in CFC correct? |
| Editable on one client, not another | OS full download on both? | PDL file present in client GraCS? | Client cache rebuilt? |
| Reverts after PCS 7 upgrade | Re-apply Operator-Control Enable | Verify picture name unchanged | Recompile OS |
Related Documentation References
- Siemens Industry Online Support - PCS 7 Advanced Process Library documentation: support.industry.siemens.com
- Siemens PCS 7 product overview and current releases: siemens.com/PCS7
- WinCC Graphics Designer manual (configuration of Operator-Control Enable, C actions, and authorization levels): available on the Siemens Industry Online Support portal under the WinCC product documentation tree.
Why is the Gain Scheduler faceplate read-only in WinCC Runtime even though the operator has the right user level?
The block-level user authorization is checked at click time by a C action on the I/O field. If the static Operator-Control Enable property in @PG_GainSched_Parameter.PDL is set to NO, WinCC disables the field before the click is processed, so user level is irrelevant. Set Operator-Control Enable = YES on each field, recompile the OS, and download.
Do I have to edit both @PG_GainSched_Parameter.PDL and @PG_GainSched_Standard.PDL?
Only the picture that operators actually use. If operators tune parameters from the parameter view, edit @PG_GainSched_Parameter.PDL. If they also use the standard (home) view to toggle Auto/Manual, edit @PG_GainSched_Standard.PDL as well. The two pictures carry independent Operator-Control Enable flags.
What is the difference between ManParOn and Operator-Control Enable?
Operator-Control Enable is a static picture attribute that determines whether the I/O field accepts a click. ManParOn is a runtime tag on the GainSched block that determines whether operator-entered values are routed to the PID or whether the auto-computed values are used. Both must be in the correct state for operator changes to take effect end-to-end.
The fields become editable, but the value reverts to the original number when I press Apply. What now?
Almost always the block is in Auto mode or ManParOn is FALSE. Switch the block to Manual and set ManParOn to TRUE. If the value still reverts, check the wiring in the CFC chart; the GainSched outputs (Gain, TI, TD) must be connected to the matching inputs on the PIDConR, and the PIDConR must be set to use external PID parameters.
Will the Operator-Control Enable change survive a PCS 7 major upgrade?
Only if the new APL version preserves the existing picture. Major upgrades typically re-import the master data library and may reset Operator-Control Enable to the new default. After every PCS 7 major version upgrade, re-apply the procedure and verify on a test OS before rolling to production.
Is there a yellow lightning bolt on the C action after editing. Does it matter?
Yes. A yellow lightning bolt indicates an uncompiled C action. WinCC will not execute the uncompiled script at runtime, which can cause the field to revert to read-only on the first operator click. Double-click the C action and press OK to recompile; the bolt should turn green before the final OS download.