Resolving SIMATIC Powerrate V4.0 'FIFO Buffer Overflow' and PRE_AR_DATA Handshake Freezes in PCS 7

Resolving SIMATIC Powerrate V4.0 'FIFO Buffer Overflow' and PRE_AR_DATA Handshake Freezes in PCS 7

In SIMATIC PCS 7 with SIMATIC Powerrate V4.0, the alarm 'FIFO buffer overflow' occurs when the energy data acquisition function block PRE_AR_DATA gets stuck in the SEND state, causing new energy calculation records to back up until the cyclical FIFO buffer saturates. This lockup happens when communication between the AS and the WinCC OS server drops during an archive handshake, leaving the timer SEND_T counting indefinitely while awaiting acknowledgment ACK_OK. To recover, manually force the ACK_OK flag to TRUE on the PRE_AR_DATA instance DB (releasing the send state), clear the item counter, and increase the FIFO buffer size in the Powerrate DB configuration according to Siemens FAQ 52255681.

Table of Contents

SIMATIC Powerrate Architecture and Energy Data Archiving

SIMATIC Powerrate is the Siemens energy management add-on for SIMATIC PCS 7 and WinCC, designed to acquire, aggregate, and archive electrical power, gas, and steam consumption from measuring devices (e.g., PAC3200, PAC4200, or circuit breakers). In SIMATIC PCS 7 V8.0, Powerrate V4.0 utilizes dedicated AS function blocks to calculate 15-minute average power values, synchronize with utility tariff periods, and buffer historical data before transferring it to WinCC Tag Logging.

To ensure that energy records are not lost during network interruptions or OS server maintenance, Powerrate buffers measurements in a cyclical First-In First-Out (FIFO) buffer residing in AS data blocks. If data cannot be forwarded to WinCC, the buffer fills up and triggers the alarm: Powerrate: FIFO buffer overflow.

The PRE_AR_DATA Function Block Handshake Mechanism

The core transmission engine in Powerrate is the PRE_AR_DATA block:

  1. Triggering Transmission: At the end of an archiving period (e.g., every 15 minutes), PRE_AR_DATA reads energy records from the FIFO data block, formats an archive telegram, and asserts internal send flags.

  2. The Handshake Protocol: The block starts an internal watchdog timer (SEND_T) and transmits data to the WinCC OS archive script via raw tags. The WinCC script ingests the data into Microsoft SQL Server and returns an acknowledgment pulse (ACK_OK = TRUE).

  3. The Lockup State: If the OS server is rebooting, if WinCC Runtime is overloaded, or if a network glitch corrupts the return packet, the AS never receives ACK_OK. In Powerrate V4.0, PRE_AR_DATA gets permanently trapped in the SEND state. Because it believes a transmission is in progress, it refuses to send subsequent records. The FIFO buffer fills completely within a few cycles, halting all energy archiving.

Root Causes of FIFO Buffer Overflows and Send Freezes

Field diagnostics identify three contributing factors to Powerrate FIFO lockups:

  • WinCC Archive Script Timeout: The WinCC C-action pr_archive.pas or VBS equivalent fails to execute within the watchdog window.
  • Undersized FIFO Capacity: In default configurations, the FIFO buffer holds only a limited number of records (e.g., 20 to 50 items). A communication outage exceeding a few hours causes an unavoidable overflow.
  • Missing Watchdog Reset in Logic: Legacy Powerrate blocks lack an automatic retry or abort timeout on SEND_T, requiring manual engineer intervention to clear the stuck flag.

Step-by-Step Remediation: Forcing ACK_OK and Expanding FIFO Buffers

Follow this recovery procedure to restore Powerrate archiving:

  1. Locate PRE_AR_DATA Instance DB: In SIMATIC Manager, locate the CFC chart containing PRE_AR_DATA and note its instance DB number.
  2. Inspect Send State Online: Open the instance DB online in STEP 7. Observe the variables:
    - SEND is stuck at TRUE.
    - SEND_T timer continues counting upwards without stopping.
    - ACK_OK is FALSE.
  3. Force ACK_OK: In the online variable table (VAT) or instance DB, force ACK_OK to TRUE for one cycle. PRE_AR_DATA registers the acknowledgment, clears the SEND flag, resets SEND_T, and unfreezes its transmission state machine.
  4. Reset Item Counter: In the Powerrate FIFO buffer DB, reset the item counter (ACT_COUNT or FILL_LEVEL) to zero if corrupted records exist.
  5. Increase FIFO Buffer Size (SIOS Entry ID: 52255681): In the DB source or data block parameters, expand the configured array size from 50 to 500 records. This provides multi-day buffer resilience against future network or server outages.
  6. Verify WinCC Script Execution: On the OS Server, verify that the Powerrate WinCC background actions are active and connecting cleanly to SQL Server.

Powerrate Buffer and Communication State Matrix

The following table summarizes Powerrate communication states and recovery actions:

State VariableNormal Operating ValueFrozen State ValueMeaning in State MachineCorrective ActionSENDPulses TRUE during transferStuck at TRUETransmission active or awaiting ackForce ACK_OK to clearSEND_TResets to 0 upon send finishContinuously countingWatchdog timer activeClear send stateACK_OKPulses TRUE from WinCCFALSEOS confirmation of SQL writePulse TRUE manually to unlockFIFO Fill Level0 to 5 items (Low)Saturated (Max limit)Data cannot be flushed to OSIncrease buffer capacity (Entry ID 52255681)WinCC Archive Status'Ready''Busy / Error'OS archiving script active/stalledRestart WinCC archive service

Verification

Verify Powerrate recovery through the following steps:

  1. Monitor PRE_AR_DATA online in CFC. Confirm that SEND transitions to FALSE and SEND_T drops to 0.
  2. Wait for the next 15-minute interval. Verify that SEND pulses TRUE briefly and returns to FALSE automatically.
  3. Check the FIFO buffer DB; confirm that FILL_LEVEL drops back to 0 or 1 after each interval flush.
  4. Open WinCC Runtime. Open the Powerrate energy reporting screen. Confirm that live energy consumption trends update and historical archives populate with new data points.

Commercial Accuracy Disclaimer: Software order numbers (MLFBs), package structures, and hardware capacity prerequisites vary across PCS 7 versions and hardware platforms. System integrators must confirm exact software entitlements and licensing requirements against the official Siemens Catalog CA 01 and obtain an authorized Siemens distributor quotation prior to purchasing.

Limitations and Operational Precautions

Consider these operational rules when maintaining Powerrate systems:

  1. Data Loss During Forced Resets: Manually resetting the FIFO counter discards buffered data accumulated during the outage; if historical records are legally audited, export raw DB values before resetting.

  2. Work Memory Constraints: Expanding the FIFO buffer array consumes additional AS work memory; ensure the S7-400 CPU has adequate DB memory margins before significantly enlarging buffers.

  3. Licensing: SIMATIC Powerrate requires valid runtime licenses based on the number of monitored measuring devices.

Engineer FAQ

What measuring devices can SIMATIC Powerrate integrate?

Powerrate natively integrates Siemens SENTRON PAC3200, PAC4200, 3WL/3VA circuit breakers, and generic third-party meters via pulse inputs or Modbus TCP.

How does Powerrate synchronize 15-minute demand intervals with the power utility?

Powerrate connects to a synchronizing digital pulse from the electrical utility or uses internal CPU real-time clock synchronization.

Where does Powerrate store historical data in WinCC?

Powerrate creates dedicated User Archive tables and Tag Logging archives inside the WinCC SQL Server database on the OS Server.

Technical References

Related Articles

Related Tags

  • SIMATIC Powerrate
  • FIFO Buffer Overflow
  • PRE_AR_DATA
  • ACK_OK
  • Energy Management
  • PCS 7 V8.0
6 respuestas