HAPCAN zintegrowany z jakimś zewnętrznym systemem. Stany modułów zsynchronizowane. Zanik zasilania, powrót zasilania – moduły ustawiają się w takich stanach, jakie sobie w nich zaprogramujemy, czyli mogą być inne, niż przed zanikiem zasilania. Np. przekaźnik był zamknięty, a po powrocie zasilania jest otwarty. System zewnętrzny nie otrzymuje informacji o zmianie stanu modułu, bo moduł go nie wysyła, więc widzi przekaźnik zamknięty, a w rzeczywistości jest otwarty.
Jak uzyskać – po włączeniu zasilania – zgodność stanów w systemie zewnętrznym z faktycznymi stanami modułów?
1. Po włączeniu zasilania sprowokować je wszystkie (na poziomie HAPCAN) do wysłania stanu? Raczej nie, bo to spowoduje zapchanie buforów odbiorczych.
2. Sprawdzać w zewnętrznym systemie moment włączenia zasilania i wtedy odpytać wszystkie moduły (po kolei, żeby nie zapchać buforów)? Niby zadziała, ale ciągłe sprawdzanie z zewnątrz zasilania to zbędny ruch na magistrali, a sprawdzać wypada często, żeby stan braku synchronizacji trwał jak najkrócej.
No i to odpytywanie wszystkich modułów może trwać długo przy dużej ich liczbie.
Jak to zrobić dobrze, pewnie i sprawnie?