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
- The PRE_AR_DATA Function Block Handshake Mechanism
- Root Causes of FIFO Buffer Overflows and Send Freezes
- Step-by-Step Remediation: Forcing ACK_OK and Expanding FIFO Buffers
- Powerrate Buffer and Communication State Matrix
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
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:
-
Triggering Transmission: At the end of an archiving period (e.g., every 15 minutes),
PRE_AR_DATAreads energy records from the FIFO data block, formats an archive telegram, and asserts internal send flags. -
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). -
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_DATAgets permanently trapped in theSENDstate. 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.pasor 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:
- Locate PRE_AR_DATA Instance DB: In SIMATIC Manager, locate the CFC chart containing
PRE_AR_DATAand note its instance DB number. - Inspect Send State Online: Open the instance DB online in STEP 7. Observe the variables:
-SENDis stuck atTRUE.
-SEND_Ttimer continues counting upwards without stopping.
-ACK_OKisFALSE. - Force ACK_OK: In the online variable table (VAT) or instance DB, force
ACK_OKtoTRUEfor one cycle.PRE_AR_DATAregisters the acknowledgment, clears theSENDflag, resetsSEND_T, and unfreezes its transmission state machine. - Reset Item Counter: In the Powerrate FIFO buffer DB, reset the item counter (
ACT_COUNTorFILL_LEVEL) to zero if corrupted records exist. - 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.
- 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:
SENDTRUEACK_OK to clearSEND_TACK_OKFALSEVerification
Verify Powerrate recovery through the following steps:
- Monitor
PRE_AR_DATAonline in CFC. Confirm thatSENDtransitions toFALSEandSEND_Tdrops to 0. - Wait for the next 15-minute interval. Verify that
SENDpulsesTRUEbriefly and returns toFALSEautomatically. - Check the FIFO buffer DB; confirm that
FILL_LEVELdrops back to 0 or 1 after each interval flush. - 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:
-
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.
-
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.
-
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
- How do you increase the FIFO buffer size for SIMATIC Powerrate? (Entry ID: 52255681)
- SIMATIC Powerrate V4.0 Function Manual and Operating Instructions (Entry ID: 109780813)
- SIMATIC Process Control System PCS 7 Energy Management Guidelines
- Siemens Industry Support: Troubleshooting PRE_AR_DATA Archive Handshakes in Powerrate
Related Articles
- Resolving WinCC DataMonitor Excel Workbook Tag Resolution Overrides
- Diagnosing Process Historian Tag Recovery Needed and Missing Tag Archives
- Measuring Elapsed Milliseconds Between Two Digital Pulses in SIMATIC PCS 7
Related Tags
- SIMATIC Powerrate
- FIFO Buffer Overflow
- PRE_AR_DATA
- ACK_OK
- Energy Management
- PCS 7 V8.0