EBO - Program Cyclic Dependency Alarm
Alarmen “Program Cyclic Dependency” kan opstå på en SmartX IP-controller, når flere programmer eller applikationsobjekter er bundet sammen på en måde, så værdioverførslen danner en cyklisk afhængighed.
Det kan blandt andet opstå ved bindinger mellem FBP-programmer i controlleren og kan medføre, at eksempelvis SmartX rumpaneler viser forkerte værdier.
Hvad er en cyklisk afhængighed?
En cyklisk afhængighed opstår, når programmerne bliver gensidigt afhængige af hinanden.
Eksempel:
Program A → Program B → Program C → Program A
Program A får en værdi fra Program C
Program B får en værdi fra Program A
Program C får en værdi fra Program B
Dermed dannes et loop, hvor værdien ikke har noget entydigt startpunkt.
Løsning
1. Kontroller bindingerne
Kontroller først bindingerne mellem FBP-programmerne og forsøg at fjerne det cykliske loop.
Applikationen bør konfigureres, så værdierne ikke refererer til hinanden på en måde, der skaber en cirkulær afhængighed.
2. Juster Execution Precedence
Hvis det cykliske loop er nødvendigt eller tilsigtet, skal Execution Precedence ændres. - Dette ændres under egenskaber for programmet.
Sæt en lavere Execution Precedence på et af FBP-programmerne, så der bliver en tydelig rækkefølge for, hvilket program der starter behandlingen i begyndelsen af hver eksekveringscyklus.
Dette kan bryde problemet med den cykliske behandling og afhjælpe Program Cyclic Dependency Alarm.