Powrót do strony głównej

WinCC Redundancy w Workgroup: konfiguracja DCOM

Case wdrożenia gorącego rezerwowania Siemens WinCC 7.5 w Workgroup na legacy-sprzęcie. Szczegółowa konfiguracja DCOM, SIMATIC Shell, sieci backbone i failover klienta. Rozwiązanie dla produkcji bez infrastruktury domenowej.

Gorące rezerwowanie WinCC bez domeny: rzeczywisty case
Advertisement 728x90

# Konfiguracja gorącego rezerwowania WinCC 7.5 w trybie Workgroup: praktyczny przewodnik krok po kroku

Na zakładzie ceramicznym od 2013 roku działa system SCADA oparty na Siemens WinCC 7.0. Sprzęt to serwery HP ProLiant DL380p Gen8 z Windows Server 2008R2 oraz sterowniki S7-300/400. Cel: modernizacja do WinCC 7.5 SP2 Upd15 na Windows Server 2012R2 bez wymiany sprzętu, wdrożenie gorącego rezerwowania dwóch serwerów w trybie Workgroup oraz zapewnienie przełączania failover na stacji klienckiej.

Skopiowaliśmy system na dwa identyczne serwery po pośredniej aktualizacji. Sieć backbone (10.10.10.x) do heartbeat między serwerami, sieć główna (192.168.0.x) do synchronizacji danych i komunikacji z PLC. Klient to WinCC Runtime Advanced z automatycznym przełączaniem.

Konfiguracja serwerów i sieci

| Komponent | Serwer 1 | Serwer 2 | Klient |

Google AdInline article slot

|-----------|----------|----------|--------|

| Nazwa | SCADASERVER1 | SCADASERVER2 | SCADACLIENT0 |

| System operacyjny | Windows Server 2012R2 | Windows Server 2012R2 | Windows Server 2012R2 |

Google AdInline article slot

| WinCC | 7.5 SP2 Upd15 | 7.5 SP2 Upd15 | 7.5 SP2 Upd15 (Klient) |

| SQL | 2016 SP3 | 2016 SP3 | 2016 SP3 |

| Sieć główna | 192.168.0.1 | 192.168.0.2 | 192.168.0.3 |

Google AdInline article slot

| Backbone | 10.10.10.1 | 10.10.10.2 | — |

Backbone zrealizowane jako bezpośrednie połączenie do monitorowania stanu partnerów, synchronizacja tagów i archiwów odbywa się przez sieć główną.

Krok 1: SIMATIC Shell do komunikacji serwerów

W WinCC 7.5 zdalna komunikacja jest domyślnie wyłączona. W SIMATIC Shell aktywować:

  • Terminal Bus (sieć główna 192.168.0.x) — dla klientów i PLC.
  • Redundancy settings (backbone 10.10.10.x) — dla heartbeat.

Przypisać IP w Redundancy Editor i Shell. Serwery rozpoznały się nawzajem, status wyświetlony poprawnie.

Krok 2: Konfiguracja DCOM w trybie Workgroup

Uruchomienie Runtime ujawniło błąd RedundancyAgent: Initialization of Remote Communication failed. Przyczyna — DCOM w Workgroup wymaga ręcznej konfiguracji autentykacji bez domeny.

2.1. Usługi pod kontem Administrator

Zmiana konta dla usługi CCRedundancyAgent-Service:

  • services.msc.
  • Log On → This account → .\Administrator (hasła identyczne na serwerach).

LocalSystem nie ma tożsamości sieciowej dla DCOM.

2.2. Uprawnienia DCOM

dcomcnfg → Component Services → My Computer → Properties:

COM Security → Access Permissions (Limits & Default):

  • Everyone: Local/Remote Access Allow.
  • ANONYMOUS LOGON: Local/Remote Access Allow.

Launch and Activation Permissions (Limits):

  • Administrators: wszystkie Allow.
  • Everyone: wszystkie Allow.
  • ANONYMOUS LOGON: wszystkie Allow.

Launch and Activation (Default):

  • SYSTEM, Administrators, Administrator: wszystkie Allow.

ANONYMOUS LOGON potrzebne do zainicjowania połączenia, potem weryfikacja konta.

2.3. Domyślne właściwości

  • Enable Distributed COM: ✓
  • Default Authentication Level: Connect.
  • Default Impersonation Level: Identify.

2.4. LocalAccountTokenFilterPolicy

UAC filtruje token lokalnego Administratora. Wyłączyć:

New-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System" `
    -Name "LocalAccountTokenFilterPolicy" -Value 1 -PropertyType DWORD -Force

Zrestartować Runtime WinCC.

2.5. Plik hosts do rozwiązywania nazw

DCOM używa nazw NetBIOS. Dodać do C:\\Windows\\System32\\drivers\\etc\\hosts na obu serwerach:

10.10.10.1 SCADASERVER1
10.10.10.2 SCADASERVER2
192.168.0.1 SCADASERVER1
192.168.0.2 SCADASERVER2

Wyłączyć NetBIOS over TCP/IP w adapterach sieci głównej (zostawić w Backbone).

Krok 3: Edytor redundancji WinCC

Utworzyć projekt redundancji:

  • Nowy projekt na Server1.
  • Redundancy Editor → Add Server → wskazać SCADASERVER2.
  • Connection Parameters: heartbeat timeout 5s, switchover delay 10s.
  • Zsynchronizować Runtime na Server2 (Server1 primary).

Tagi, archiwa, skrypty replikują się automatycznie. Sprawdzić status: Master/Standby.

Krok 4: Konfiguracja klienta

Na SCADACLIENT0:

  • Zainstalować WinCC Runtime Advanced.
  • Dodać oba serwery do projektu.
  • Runtime → Automatic Server Selection: priorytet Server1, fallback Server2.

Test failover: wyłączenie Server1 → klient przełączył się w 15s bez utraty danych.

Krok 5: Wdrożenie produkcyjne

Po teście na stanowisku przeniesiono na zakład. Kopie zapasowe przed każdą zmianą. Synchronizacja z produkcyjnymi PLC bez zakłóceń. Monitorowanie logów WinCC_Sys_XX.log kluczowe.

Co ważne:

  • W Workgroup DCOM to wąskie gardło: 80% czasu pochłoną uprawnienia i tokeny.
  • Backbone obowiązkowe dla heartbeat, ale nie dla danych.
  • Hosts + ustawienia NetBIOS rozwiązują 90% problemów z nazwami.
  • Testować failover na stanowisku z realnymi PLC.
  • Wszelkie zmiany synchronizować na obu serwerach.

Całkowity czas prac: 2 tygodnie na teście, 3 dni w produkcji. Koszt migracji niższy niż domenizacja.

— Editorial Team

Advertisement 728x90

Czytaj dalej