How to Configure the ShrdResL Shared Resource Block Between SFC Types and Control Modules

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

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

  1. In the Plant View, create a dedicated chart for the shared asset (e.g., Shared_Transfer_Pump).
  2. Insert:
    - One MotSpdCL (FB1856) representing the variable-speed motor.
    - One ShrdResL (FB1914) from the APL library.
    - One SelA02In (or Mux08) for analog speed setpoint multiplexing.

Step 2: Interconnect Request and Release Signals from SFC Types

  1. Open the SFC Type definition for Dosing Line A and Dosing Line B:
    - Define boolean output characteristics: Req_Pump and Rel_Pump.
    - Define boolean input characteristic: Pump_Allocated.
    - Define analog output characteristic: Pump_Speed_SP.
  2. In the CFC chart, connect SFC Line A to Channel 1 of ShrdResL:
    - Connect SFC_LineA.Req_Pump to ShrdResL.Req1.
    - Connect SFC_LineA.Rel_Pump to ShrdResL.Rel1.
    - Connect ShrdResL.Alloc1 back to SFC_LineA.Pump_Allocated.
  3. Connect SFC Line B to Channel 2:
    - Connect SFC_LineB.Req_Pump to ShrdResL.Req2.
    - Connect SFC_LineB.Rel_Pump to ShrdResL.Rel2.
    - Connect ShrdResL.Alloc2 back to SFC_LineB.Pump_Allocated.

Step 3: Wire Start Commands to the Motor Block

  1. Insert an OR logic block (Or04).
  2. Connect the start command from Line A (gated by Alloc1) to Input 1.
  3. Connect the start command from Line B (gated by Alloc2) to Input 2.
  4. Connect the output of the OR block to MotSpdCL.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 to MotSpdCL. Never route safety interlocks through ShrdResL.
  • Channel Capacity: A single ShrdResL block supports up to 4 requesting channels. If a shared resource serves 5 or more SFC units, cascade two ShrdResL blocks 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

Related Tags

  • ShrdResL
  • SFC Types
  • APL
  • Shared Resources
  • ISA-88
  • Equipment Modules
  • Industrial Automation
20 respuestas