How to Configure the ShrdResL Shared Resource Block Between SFC Types and Control Modules
To coordinate a shared Control Module (CM)—such as a common variable-speed transfer pump or dosing feeder—between multiple independent Equipment Modules (EM) or SFC Types in SIMATIC PCS 7, use the Advanced Process Library (APL) block ShrdResL (FB1914). In continuous and batch operations, multiple recipe phases frequently compete for access to the same physical motor or valve. ShrdResL provides standardized resource allocation arbitration, granting exclusive ownership to one requesting SFC unit while queuing or rejecting secondary requests. To route dynamic analog setpoints (e.g., motor speed) and propagate "Ready to Start" status back to the requesting SFC, ShrdResL must be paired with an analog multiplexer (SelA02In / Mux08) driven by the block's active allocation owner outputs.
Table of Contents
- Role of ShrdResL in ISA-88 Modular Plant Hierarchy
- Arbitration Mechanics: Allocation Requests, Ownership, and Queuing
- Method: Wiring ShrdResL to Multiple SFC Types and a Variable-Speed Motor
- Propagating 'Ready to Start' and Dynamic Setpoints Back to SFC
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
Role of ShrdResL in ISA-88 Modular Plant Hierarchy
In modern modular automation compliant with ANSI/ISA-88:
- Control Modules (CM): Low-level technological equipment (e.g., MotSpdCL controlling a variable frequency drive pump).
- Equipment Modules (EM): Procedural units modeled as SFC Types (e.g., EM_Dosing_Line_A and EM_Dosing_Line_B).
- The Shared Resource Challenge: If Dosing Line A and Dosing Line B both require the same physical transfer pump, simultaneous uncoordinated start commands will cause process cross-contamination, hydraulic shocks, or setpoint corruption.
- The Solution: The ShrdResL block acts as a technological traffic controller. It interfaces between up to four requesting SFC instances (or user channels) and the single downstream Control Module.
Arbitration Mechanics: Allocation Requests, Ownership, and Queuing
The ShrdResL block evaluates acquisition requests based on strict operational rules:
1. Acquisition Request (Req1 ... Req4): When an SFC step requires the pump, it asserts its allocated request bit (e.g., SFC_LineA.Allocate_Pump wired to ShrdResL.Req1).
2. Availability Check: If the resource is currently unallocated (Owner = 0), ShrdResL immediately grants ownership to Request 1:
- Output Owner changes to 1.
- Output Alloc1 asserts to 1 (confirming Line A has exclusive ownership).
3. Contention and Priority Arbitration: If Request 2 arrives while Request 1 is active, ShrdResL can either queue Request 2 or reject it based on parameter Feature.Bit0 (Priority queue vs. FIFO queuing).
4. Release Handshake (Rel1 ... Rel4): When the recipe step finishes, the SFC de-asserts Req1 and pulses Rel1 = 1. ShrdResL resets ownership, making the pump available for Line B.
Method: Wiring ShrdResL to Multiple SFC Types and a Variable-Speed Motor
Follow this standardized engineering workflow to interconnect ShrdResL in CFC:
Step 1: Instantiate Blocks in the Shared Equipment Chart
- In the Plant View, create a dedicated chart for the shared asset (e.g.,
Shared_Transfer_Pump). - Insert:
- OneMotSpdCL(FB1856) representing the variable-speed motor.
- OneShrdResL(FB1914) from the APL library.
- OneSelA02In(orMux08) for analog speed setpoint multiplexing.
Step 2: Interconnect Request and Release Signals from SFC Types
- Open the SFC Type definition for Dosing Line A and Dosing Line B:
- Define boolean output characteristics:Req_PumpandRel_Pump.
- Define boolean input characteristic:Pump_Allocated.
- Define analog output characteristic:Pump_Speed_SP. - In the CFC chart, connect SFC Line A to Channel 1 of
ShrdResL:
- ConnectSFC_LineA.Req_PumptoShrdResL.Req1.
- ConnectSFC_LineA.Rel_PumptoShrdResL.Rel1.
- ConnectShrdResL.Alloc1back toSFC_LineA.Pump_Allocated. - Connect SFC Line B to Channel 2:
- ConnectSFC_LineB.Req_PumptoShrdResL.Req2.
- ConnectSFC_LineB.Rel_PumptoShrdResL.Rel2.
- ConnectShrdResL.Alloc2back toSFC_LineB.Pump_Allocated.
Step 3: Wire Start Commands to the Motor Block
- Insert an
ORlogic block (Or04). - Connect the start command from Line A (gated by
Alloc1) to Input 1. - Connect the start command from Line B (gated by
Alloc2) to Input 2. - Connect the output of the
ORblock toMotSpdCL.StartAut.
Propagating 'Ready to Start' and Dynamic Setpoints Back to SFC
A shared motor cannot accept speed setpoints or start commands unless two vital signal feedback channels are established:
Routing Dynamic Speed Setpoints via Multiplexer:
ShrdResL does not internally pass analog float values; it arbitrates digital ownership. To route dynamic speed setpoints:
1. Connect SFC_LineA.Pump_Speed_SP to SelA02In.In01.
2. Connect SFC_LineB.Pump_Speed_SP to SelA02In.In02.
3. Connect ShrdResL.Alloc2 to SelA02In.Sel_In2.
4. Connect SelA02In.Out directly to MotSpdCL.SP_Ext.
5. Operation: When Line A owns the pump (Alloc1 = 1, Alloc2 = 0), SelA02In routes Line A's speed setpoint. When Line B owns the pump (Alloc2 = 1), it automatically switches to route Line B's speed setpoint.
Propagating 'Ready to Start' to the Requesting SFC:
Before an SFC transition initiates motor start, it must verify that the motor is electrically healthy and un-tripped:
1. Locate parameter MotSpdCL.RdyToStart (Ready to Start: contactor healthy, interlocks clear, in Auto mode).
2. Wire MotSpdCL.RdyToStart to an AND block alongside ShrdResL.Alloc1.
3. Connect the output of this AND block to SFC_LineA.Pump_Ready.
4. In the SFC Type transition condition, configure:
pascal
(Pump_Allocated = TRUE) AND (Pump_Ready = TRUE)
5. Result: The SFC step only commands startup once exclusive ownership is secured AND the motor confirms it is ready to run.
Verification
To verify that the shared resource arbitration operates deterministically:
- In online CFC Test Mode, trigger Req1 from SFC Line A:
- Confirm ShrdResL.Owner immediately reads 1 and Alloc1 = 1.
- Confirm SelA02In routes Line A's setpoint to MotSpdCL.SP_Ext.
- Confirm MotSpdCL starts and runs at Line A's speed.
- While Line A is actively running, trigger Req2 from SFC Line B:
- Confirm Alloc2 remains 0 (Line B is rejected or queued; pump does not switch owners).
- Confirm Line B's SFC holds in the allocation wait step.
- Release Line A (Rel1 = 1):
- Confirm Alloc1 drops to 0, MotSpdCL stops cleanly, and ShrdResL grants ownership to Line B (Alloc2 = 1).
- Confirm setpoint switches instantly to Line B's target speed.
Limitations and Operational Precautions
- Release Handshake Discipline: An SFC Type must always execute an explicit release step upon phase completion or phase abort. If an SFC sequence crashes or aborts without pulsing
Rel, the shared resource remains permanently locked until an operator manually overrides ownership on the faceplate. - Emergency Stop Handling: The shared Control Module's safety interlocks (
Intlock,Protect) must be wired directly toMotSpdCL. Never route safety interlocks throughShrdResL. - Channel Capacity: A single
ShrdResLblock supports up to 4 requesting channels. If a shared resource serves 5 or more SFC units, cascade twoShrdResLblocks or implement custom priority matrix blocks.
Engineer FAQ
Can an operator release a locked resource from the WinCC faceplate?
Yes. The standard APL ShrdResL faceplate provides authorized operators (Authorization Level 5/6) with a manual Reset / Force Release command to clear stranded allocations.
What happens if an SFC aborts while holding ownership?
In the SFC Type's Abort / Stop sequence, always include an action that asserts the release flag (Rel = 1) to ensure the shared asset is returned to the pool during abnormal plant shutdowns.
Can ShrdResL handle proportional valves instead of motors?
Yes. ShrdResL is technology-agnostic. It arbitrates ownership for any technological device, including analog control valves (VlvAnL), dosing augers, heating jackets, and shared compressor manifolds.
Does ShrdResL support queuing with different priority levels?
Yes. By configuring parameters Prio1 through Prio4 and enabling priority arbitration via Feature.Bit0, a high-priority emergency purge sequence can interrupt and preempt a low-priority transfer sequence.
Technical References
- Siemens Industry Online Support: SIMATIC PCS 7 Advanced Process Library (APL) Manual (FB1914 ShrdResL).
- SIOS Entry 109742323: PCS 7 Compendium Part A - Configuration Guidelines (Section: Modular Equipment and SFC Types).
- ANSI/ISA-88.01-1995: Batch Control Part 1 - Models and Terminology.
- Siemens Programming Guideline: Shared Resource Management in SIMATIC PCS 7.
Related Articles
- How to Automatically Trigger Cascaded Start Sequences in PCS 7 SFC Types
- How to Stop and Hold an Analog Valve in Motion Using PCS 7 APL VlvAnL and SelA02In
- How to Structure Program Data in PCS 7: Moving from TIA Portal to Control Module Types
Related Tags
- ShrdResL
- SFC Types
- APL
- Shared Resources
- ISA-88
- Equipment Modules
- Industrial Automation