projektering:watchdog_fallback

Lokal watchdog och fallback vid överstyrning via Miner

När Miner används för kontinuerlig överstyrning av ett värmesystem rekommenderas att det lokala styrsystemet kompletteras med en lokal watchdog- och fallbackfunktion. Funktionen kan implementeras i styrprogramvaran i DUC/PLC eller i det lokala överordnade systemet.

Miner har en inbyggd funktion för fallbackhantering. Den lokala funktionen är ett komplement till denna och är särskilt viktig när Miner inte körs i samma nätverk som det lokala styrsystemet. Vid exempelvis kommunikationsavbrott, nätverksfel eller stoppad Miner-tjänst ska det lokala systemet självständigt kunna avbryta överstyrningen och återgå till normal lokal reglering.

Grundprincipen är att den senast mottagna externa överstyrningen endast får vara aktiv så länge kommunikationen med Miner kan verifieras. Ett senast mottaget börvärde får därför inte ligga kvar obegränsat vid kommunikationsbortfall.

  1. Miner skriver önskad börvärdesförskjutning till OFFSET.
  2. Miner sätter WATCHDOG_VALUE till 1 minst en gång under varje watchdogcykel.
  3. När tiden i WATCHDOG_TIMER har löpt ut kontrollerar det lokala styrsystemet att WATCHDOG_VALUE har värdet 1.
  4. Om watchdog-signalen har rätt värde och OFFSET ligger inom OFFSET_MIN och OFFSET_MAX får den externa börvärdesförskjutningen användas.
  5. Det lokala styrsystemet sätter därefter WATCHDOG_VALUE till 0, verifierar nollställningen och startar en ny watchdogcykel.
  6. Om WATCHDOG_VALUE inte är 1 vid kontrollen, eller inte kan nollställas, ska den externa överstyrningen avaktiveras. Systemet ska då återgå till ordinarie lokal reglering och en definierad lokal fallback, normalt utan extern börvärdesförskjutning.
  7. Lokala skydds-, begränsnings- och säkerhetsfunktioner ska alltid ha högre prioritet än den externa överstyrningen.

Det är viktigt att det lokala styrsystemet verifierar att WATCHDOG_VALUE verkligen har återgått till 0. Annars kan en signal som har fastnat i läge 1 felaktigt tolkas som fungerande kommunikation. Skrivintervallen ska dessutom samordnas så att det lokala systemet hinner nollställa och verifiera signalen innan Miner sätter den till 1 på nytt.

flowchart TD A["Lokalt system sätter WATCHDOG_VALUE = 0"] --> B{"Nollställningen verifierad?"} B -- Nej --> H["Avaktivera extern överstyrning"] B -- Ja --> C["Starta ny watchdogcykel"] C --> D["Miner skriver OFFSET och sätter WATCHDOG_VALUE = 1"] D --> E{"WATCHDOG_VALUE = 1 när WATCHDOG_TIMER löper ut?"} E -- Nej --> H E -- Ja --> F{"OFFSET inom tillåtna gränser?"} F -- Nej --> H F -- Ja --> G["Använd extern börvärdesförskjutning"] G --> A H --> I["Ordinarie lokal reglering tar över"] I --> A

Följande datapunkter rekommenderas för funktionen. Punktbeteckningarna är exempel och ska anpassas till projektets beteckningssystem.

Datapunkt/funktion Beskrivning Datatyp Enhet/skalning Exempel på punktbeteckning
WATCHDOG_VALUE Watchdog-signal som Miner sätter till 1 och det lokala styrsystemet återställer till 0 inför nästa cykel. Digital (Bool) 0/1 BY01_VS1_GT11_WD
WATCHDOG_TIMER Tidsintervall mellan det lokala styrsystemets kontroller av watchdog-signalen. Integer Sekunder, 1–900 BY01_VS1_GT11_WD_FL
OFFSET Begärd börvärdesförskjutning från Miner. Real (Float) °C BY01_VS1_GT11_BVF
OFFSET_MAX Högsta tillåtna börvärdesförskjutning. Real (Float) °C BY01_VS1_GT11_BVFMAX
OFFSET_MIN Lägsta tillåtna börvärdesförskjutning. Real (Float) °C BY01_VS1_GT11_BVFMIN
  • Negativa värden: OFFSET och OFFSET_MIN ska konfigureras så att negativa värden kan hanteras. Detta krävs för att Miner ska kunna sänka det ordinarie börvärdet.
  • Watchdog-timer: WATCHDOG_TIMER ska kunna konfigureras inom intervallet 1–900 sekunder. Miner ska hinna sätta WATCHDOG_VALUE till 1 med god marginal innan varje cykel löper ut, så att enstaka fördröjda meddelanden inte orsakar onödig fallback.
  • Nollställning av watchdog: Det lokala styrsystemet ska efter varje kontroll sätta WATCHDOG_VALUE till 0 och verifiera att nollställningen har genomförts. Om nollställningen misslyckas ska watchdog-funktionen betraktas som felaktig och lokal fallback aktiveras.
  • Samordning av skrivintervall: Miner får inte skriva 1 så tätt att det lokala styrsystemets nollställning och verifiering riskerar att skrivas över. Intervallen ska fastställas och dokumenteras för varje projekt.
  • Datatyper och skalning: Samtliga datapunkter ska ha rätt datatyp, teckenhantering och skalning från start. Samma definitioner ska användas i Miner, kommunikationsgränssnittet och det lokala styrsystemet.
  • Gränskontroll: OFFSET ska valideras mot OFFSET_MIN och OFFSET_MAX innan värdet används. Ett ogiltigt värde får inte kringgå lokala begränsningar.
  • Fallbackvärde: Det ska vara tydligt definierat vad systemet återgår till vid utebliven eller felaktig watchdog-signal. Rekommenderat normalfall är att den externa förskjutningen tas bort och att den ordinarie lokala regleringen återtar kontrollen. Om förskjutningen är stor rekommenderas att återgången till det lokalt beräknade börvärdet sker mjukt genom så kallad rampning, för att minska risken för effekttoppar.

Nedanstående pseudokod visar principen. Den exakta implementationen anpassas till aktuell DUC, PLC eller överordnat system.

Vid initiering:
    sätt WATCHDOG_VALUE = 0
    verifiera att WATCHDOG_VALUE = 0
    starta WATCHDOG_TIMER

När WATCHDOG_TIMER har löpt ut:
    watchdog_ok = WATCHDOG_VALUE = 1
    offset_ok   = OFFSET >= OFFSET_MIN och OFFSET <= OFFSET_MAX

    sätt WATCHDOG_VALUE = 0
    reset_ok = verifiera att WATCHDOG_VALUE = 0

    om watchdog_ok och offset_ok och reset_ok:
        använd OFFSET som extern börvärdesförskjutning
    annars:
        avaktivera den externa överstyrningen
        använd lokal fallback och ordinarie lokal reglering

    starta nästa watchdogcykel

När kommunikationen återkommer bör den externa överstyrningen inte återaktiveras förrän en fullständig watchdogcykel har genomförts med korrekt värde på WATCHDOG_VALUE, lyckad nollställning och ett giltigt OFFSET. Återstartssekvensen ska vara definierad och avprovad för både Miner och det lokala styrsystemet.

Funktionen bör minst provas för följande händelser:

  • normal watchdogcykel där Miner sätter WATCHDOG_VALUE till 1 och det lokala styrsystemet återställer signalen till 0;
  • normal överstyrning med både positivt och negativt OFFSET;
  • OFFSET under OFFSET_MIN respektive över OFFSET_MAX;
  • avbruten nätverkskommunikation;
  • stoppad Miner-tjänst;
  • omstart av Miner och omstart av det lokala styrsystemet;
  • återgång, inklusive eventuell rampning, till ordinarie lokal reglering efter felaktig watchdog-signal; samt
  • kontrollerad återaktivering när kommunikationen har återställts.

Resultatet av avprovningen, valt watchdogintervall och definierat fallbackbeteende bör dokumenteras i projektets relationshandlingar.

  • projektering/watchdog_fallback.txt
  • Senast uppdaterad: 2026/08/11 12:26
  • av dokuadmin