Configuring SMS Alarm Notifications from WinCC V7.0 with S7-300

David Krause13 min read
SCADA ConfigurationSiemensTutorial / How-to
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Overview: SMS Alarm Notification from WinCC V7.0 with S7-300

WinCC V7.0 combined with an S7-300 CPU forms a classic Siemens SCADA / HMI architecture that is still in operation across process plants, water utilities, and discrete-factory lines. When the application demands that an operator or on-call engineer receive a short text message on a private cell phone whenever a critical process alarm is raised, the standard WinCC installation does not provide this capability out of the box. The feature is delivered by a separately licensed AddOn called Alarm Control Center (ACC), previously marketed as Alarm Management System.

ACC extends the WinCC Alarm Logging subsystem with multi-channel notification services: SMS via a GSM modem, e-mail via SMTP, and fax via telephony hardware. For an S7-300 based installation, ACC is the only officially supported Siemens path for converting a live process alarm into a free-form text message delivered to a mobile handset. This reference documents the architecture, licensing, configuration, and verification steps required to take an alarm bit coming from the S7-300 CPU and turn it into an SMS string delivered to a smartphone.

System Architecture and Data Flow

The end-to-end flow for an SMS alarm is:

  1. The S7-300 CPU detects a process condition (for example a high temperature on an analog input module) and writes a status bit or message number to a defined data block.
  2. WinCC V7.0 polls the S7-300 via Industrial Ethernet, PROFIBUS, or MPI using the S7 communication channel. The status change is captured in WinCC Alarm Logging as an alarm event with the configured message text, priority, and timestamp.
  3. The ACC AddOn subscribes to the WinCC Alarm Logging event stream. Based on its routing table, ACC determines that the alarm class triggers an SMS notification.
  4. ACC dispatches the alarm text to the configured GSM modem attached to the WinCC station (COM port or USB).
  5. The GSM modem transmits the SMS over the cellular network to the destination MSISDN.

The complete chain is therefore: S7-300 → Industrial Ethernet / PROFIBUS → WinCC V7.0 Alarm Logging → ACC Notification Service → GSM modem → cellular SMSC → mobile phone.

Prerequisites: Hardware, Software, and Licensing

Before any configuration begins, the following items must be present and verified.

Component Requirement Notes
WinCC version V7.0 SP3 or higher ACC ships in versions aligned to specific WinCC releases; the ACC build must match the installed WinCC build exactly.
SIMATIC S7-300 station CPU 31x or CPU 31xT, firmware V2.x or higher recommended Older firmware may not support the message-number function block pattern that simplifies alarm generation.
PC station running WinCC Windows 7 / Windows Server 2008 R2 or newer, x64 ACC installs as a Windows service; .NET Framework and Microsoft Message Queuing are prerequisites.
GSM modem Siemens TC35i, MC35i, MD720 or any AT-command compatible modem on the supported hardware list The modem must accept standard GSM 07.05 / 07.07 AT commands for SMS PDU or text-mode submission.
SIM card Active cellular subscription, no PIN lock (or PIN handled by modem) Most industrial deployments use a dedicated M2M SIM; the originating carrier must support SMS termination (no VoLTE-only carriers).
ACC AddOn license One licensed ACC seat per WinCC server License is a floating license in the standard model and is enforced via the Automation License Manager.
Free communication port COM (RS-232) or USB with manufacturer driver USB-to-serial adapters must support the baud rate configured in ACC (typically 19200 or 9600 bps).
The ACC AddOn is not included in the standard WinCC installation media. The installer must be obtained separately from Siemens and installed on top of the base WinCC V7.0 system. The WinCC system will start, run, and display alarms normally without ACC; only the notification-dispatch subsystem is absent.

Installing the Alarm Control Center AddOn

Insert the ACC installation media or mount the downloaded image. The installer detects the existing WinCC installation and matches the ACC version to it. During installation the following components are placed on the PC:

  • Windows service Siemens ACC Notification Service
  • Configuration tool ACC Configurator, accessed from the WinCC start menu group
  • Plug-in for the WinCC Alarm Logging editor
  • SQL tables in the WinCC archive database for notification history
  • The Notification node in the WinCC Explorer tree

After installation, transfer the ACC license to the local license container using the Automation License Manager. Until the license is recognized, ACC starts in a degraded mode in which it logs incoming events but does not dispatch any notifications.

  1. Start the Automation License Manager.
  2. Connect to the local PC.
  3. Drag the license file (.zip or .alf) onto the destination container.
  4. Restart the ACC Notification Service.
  5. Verify the service status with sc query "Siemens ACC Notification Service" from an elevated command prompt.

Configuring the GSM Modem Interface

The GSM modem is the physical bridge between the WinCC station and the cellular network. ACC must be told how to find the modem and how to talk to it.

  1. Open the ACC Configurator from the Siemens start menu group.
  2. Select Notification Channels → SMS → Modem.
  3. Create a new modem entry and enter:
    • Port: COM1, COM2, or the COM number assigned to the USB adapter (verify in Windows Device Manager → Ports).
    • Baud rate: Match the modem's autobaud detection. Most Siemens industrial modems default to 19200.
    • Initialization string: AT+CMGF=1 for SMS text mode (preferred for ASCII) or AT+CMGF=0 for PDU mode (required for non-ASCII character sets).
    • PIN: The 4-digit SIM PIN, or blank if the SIM has been unlocked in a phone first.
  4. Click Test connection. A successful test returns the modem's AT+CGMI (manufacturer), AT+CGMR (firmware), and the current signal strength AT+CSQ. A return value of +CSQ: 15,99 or higher indicates a usable signal.
  5. Save the configuration.

If the test connection fails, the most common root causes are an incorrect COM port number, a USB-to-serial driver mismatch, a locked SIM (three failed PIN attempts will require a PUK), or insufficient power on the modem's 12 V / 24 V supply rail.

Defining SMS Recipients and Routing Rules

ACC uses a two-stage model: a recipient is a person or role with a phone number, and a routing rule is the condition under which a particular recipient receives a particular class of alarm.

Field Description Example
Recipient name Free text label Shift_Engineer_OnCall
MSISDN Full international number with country code, no leading + 4917123456789
Active window Time-of-day mask and weekday mask Mon–Fri 17:00–06:00, all day Sat / Sun
Escalation delay Seconds to wait before next recipient if not acknowledged 120 s
Escalation chain Ordered list of recipients for a single alarm Shift_Engineer_OnCall → Plant_Manager

Routing rules can filter on:

  • Alarm class (for example Error, Warning, System)
  • Alarm priority (numeric 0–16)
  • Specific message number or text-pattern match
  • Source area (the AS name from the S7-300 program)
  • Value of an associated process tag (for example only fire when tag value > 80)

A typical rule for a high-priority pump trip is: If class = Error AND priority ≥ 12 AND text contains "PUMP_01" AND time is outside office hours → send SMS to Shift_Engineer_OnCall; if not acknowledged within 120 s, escalate to Plant_Manager.

S7-300 Program Structure for Alarm Generation

On the S7-300 side, the cleanest implementation is to use the standard SFB 9 / SFB 10 message-block pattern or the WR_USMSG style of STEP 7 instruction. Each alarm condition is a single bit on a data block that is then mapped to a WinCC message number.

Sample STL excerpt for one alarm bit:

// DB100 "AlarmBits"
A   I 0.0          // E-Stop pressed
S   DB100.DBX0.0   // Bit 0.0 latched
// Optional: also write message number directly
CALL "MSG_SEND"     // Custom FB wrapping SFB 9
   EV_ID   := W#16#1000
   SIG     := DB100.DBX0.0
   SD      := W#16#1
   ...

The EV_ID is the message event ID that WinCC reads in its alarm configuration. With the standard S7 message-number method, the message text is configured entirely on the WinCC side, which keeps the PLC program language-agnostic and makes it possible to re-translate the texts without re-programming the CPU.

For chronological ordering of messages (essential for shift-handover logs and for SMS dispatch order), the S7-300 CPU time must be synchronized. Reference configuration patterns are documented in the Siemens support entry How do you implement chronological messaging with S7-300 CPUs and WinCC? (Siemens support entry ID 23730649).

Integrating WinCC Alarm Logging with ACC

Once the S7-300 alarm bits are wired into WinCC Alarm Logging, the integration with ACC is a single attribute in the Alarm Logging editor. In WinCC Explorer open Alarm Logging, then for each relevant message row set the Notify attribute to Yes. ACC subscribes to all such messages and applies the routing rules defined in the ACC Configurator.

The message text can include placeholder fields that are expanded at notification time:

  • @1%s@ → substitute process tag value 1 (string)
  • @2%f@ → substitute process tag value 2 as float
  • @3%t@ → substitute timestamp from the alarm event
  • @4%d@ → substitute process tag value 4 as decimal integer

For example, a message text of Boiler 1 temperature high: @2%f@ C at @3%t@ produces an SMS of the form Boiler 1 temperature high: 91.4 C at 14:23:07. SMS length is limited to 160 characters in 7-bit GSM encoding or 140 in 8-bit UCS-2, so alarm texts should be planned within that envelope; long texts are split into concatenated segments by the modem.

Time-Scheduled and Escalation-Based SMS Dispatch

ACC keeps a state machine per active alarm. The state transitions are:

  1. Triggered — the alarm event was received from WinCC Alarm Logging and matches at least one routing rule.
  2. Dispatched — the SMS has been submitted to the GSM modem and the modem has acknowledged with +CMGS.
  3. Pending acknowledgement — the dispatch timer is running; if no operator acknowledgement is received from the WinCC HMI within the escalation delay, the alarm is escalated to the next recipient in the chain.
  4. Acknowledged — the operator pressed the acknowledge button on a WinCC client; SMS dispatch stops.
  5. Cleared — the underlying process condition returned to normal; the clear event is also captured and can be sent as a separate SMS.

Time-of-day routing is implemented with calendar entries. A common pattern is one calendar for office hours (07:00–17:00 Monday–Friday) and another for out-of-hours. Two routing rules then target the same alarm: the office-hours rule routes the SMS to the desk phone of the on-shift operator, and the out-of-hours rule routes to the on-call engineer's mobile.

Verification and Commissioning Procedure

Before the system is handed over to operations, run the following verification sequence on the live plant.

  1. Modem registration check. From the ACC Configurator run Test connection and confirm AT+CREG? returns 0,1 (registered on home network) or 0,5 (registered, roaming).
  2. Self-test SMS. Use the ACC Configurator Send test message button. The destination phone must receive the test text within 30 s in the same country, 60 s internationally.
  3. End-to-end alarm test. Force the S7-300 alarm bit (for example by setting DB100.DBX0.0 from the STEP 7 online monitor) and confirm:
    • The alarm appears in WinCC Alarm Logging with the correct timestamp.
    • ACC dispatches the SMS within 5 s of the alarm event.
    • The SMS body contains the substituted process values.
    • The operator's acknowledgement on the WinCC HMI halts the escalation timer.
  4. Escalation test. Trigger the alarm, do not acknowledge on the HMI, and confirm the second recipient receives the SMS after the configured escalation delay.
  5. Failure-mode test. Unplug the GSM antenna and trigger the alarm. ACC should record Dispatch failed: modem not responding in the notification log and retry per the configured retry policy (default 3 attempts, exponential backoff).
  6. Power-loss test. Power-cycle the WinCC station. On reboot ACC must reconnect to the modem, restore its configuration, and resume dispatch.

The notification log is held in the WinCC archive database and can be exported to CSV for the SAT (Site Acceptance Test) documentation. Record the SIM card ICCID, MSISDN of each test recipient, and the time-stamped result of each verification step.

Troubleshooting Common SMS Dispatch Failures

Symptom Likely root cause Action
ACC Configurator reports Modem not responding Wrong COM port, baud-rate mismatch, or driver issue Verify COM port in Device Manager; try a lower baud rate; reinstall the USB-to-serial driver
Test connection OK, but no SMS reaches the phone SIM PIN still required, or destination number malformed Insert the SIM in a phone and remove the PIN; verify MSISDN is in international format without a leading +
Alarms visible in WinCC but never reach ACC The message number has the Notify attribute set to No Open Alarm Logging, set Notify = Yes on every relevant message row
Dispatch succeeds but the operator phone never displays the text Message body contains unsupported characters; SMSC rejected the PDU Restrict to the GSM 03.38 7-bit alphabet; avoid emoji and accented characters; enable PDU logging in ACC
SMS arrives with corrupted timestamp WinCC station time is not synchronized Configure an NTP or SICLOCK time source; reference Siemens support entry 23730649 for S7-300 time-of-day synchronization
Multiple recipients in the escalation chain all receive the SMS at once Acknowledgement timer not configured In the routing rule, set Escalation delay > 0 and Require acknowledgement = Yes
ACC service stops on reboot License not transferred, or service set to Manual Set service to Automatic; verify license in Automation License Manager
SMS arrives hours after the alarm SIMCARD SMSC number not configured on the modem Set the SMSC in the modem with AT+CSCA="+49xxxxxxxxxx" and persist with AT&W
In production never expose the SIM's MSISDN in published documentation. The originating number can be replaced with a service-desk alias by routing the SMS through an SMSC gateway service, which is also supported by ACC's SMTP-to-SMS bridge mode if the operator's environment provides it.

Alternative Approaches Without the ACC AddOn

Although ACC is the official Siemens path, two workaround patterns appear in the field where the ACC license is not available or where the project budget does not permit the AddOn.

  1. Third-party VBScript inside WinCC. A cyclic WinCC action can read the current alarm list via the WinCC OLE DB provider and submit an SMS through a generic GSM modem connected to the same PC. The implementation must handle retries, time-of-day filtering, and the absence of escalation, all of which ACC provides natively.
  2. S7-300 with a CP 340 / CP 341 serial module and a modem on the field side. The PLC itself sends an SMS by writing AT commands to the serial module. This approach is fragile (no buffering, no retry, PLC scan-time dependent) and is not recommended for safety-relevant alarms.

For new installations the ACC AddOn remains the recommended path because the cost of the license is small compared with the engineering effort of building a custom notification engine that must be maintained for the next 10–15 years of plant life.

FAQ

Is the ACC AddOn included in the standard WinCC V7.0 installation?

No. The Alarm Control Center (ACC) AddOn is a separately licensed component that must be installed on top of an existing WinCC V7.0 base installation. The base system runs and displays alarms normally without it; only the SMS / e-mail / fax notification subsystem is absent.

Which GSM modems does WinCC ACC support?

ACC is designed for AT-command compatible industrial modems such as the Siemens TC35i, MC35i, and MD720 series, and any third-party modem that implements the GSM 07.05 / 07.07 SMS PDU or text-mode command set. The modem must be installed on a COM port or via a vendor-supported USB driver.

Can ACC send SMS messages to a private cell phone, and what is the maximum message length?

Yes. ACC dispatches SMS to any reachable MSISDN, including private mobile numbers. A single SMS is limited to 160 characters in the GSM 7-bit alphabet, or 140 characters in 8-bit UCS-2. Longer texts are split into concatenated segments by the modem.

How do I make sure the S7-300 alarm timestamp is correct in the SMS?

Synchronize the S7-300 CPU time and the WinCC station time from the same NTP or SICLOCK source. Chronological messaging configuration for S7-300 CPUs is documented in Siemens support entry 23730649.

What happens if the GSM modem loses the cellular network while an alarm is active?

ACC logs the dispatch failure, retries the SMS per the configured retry policy (default 3 attempts with exponential backoff), and continues trying until the modem re-registers or the operator acknowledges the alarm on a WinCC client. All attempts are recorded in the notification history for later audit.

Back to blog