< Wróć do bazy wiedzy

W jaki sposób PG5 przydziela i zwalnia adresy dla zmiennych dynamicznych?

 

W PG5 symbolom którym nie przydzielimy adresu statycznego jest przydzielany adres w sposób dynamiczny.
Zobacz też: [xyz-ihs snippet=”obrazekfaq”] Na czym polega statyczne i dynamiczne adresowanie zmiennych sterownika?

W jaki sposób PG5 przydziela adresy dynamicznie?

PG5 przydziela adresy dynamiczne w ustalonym zakresie zdefiniowanym w oknie Build Options dla projektu każdego sterownika dla danego typu i kontynuuje przyporządkowywanie kolejnych adresów poprzez inkrementowanie. Raz przyporządkowany adres nowego symbolu jest pamiętany do momentu:

  • skasowania tego symbolu
  • uruchomienia funkcji “Clean Files” (funkcja kasowania pośrednich zasobów projektu)
  • zmiany nazwy urządzenia (device)

W przypadku kiedy symbol (mający adres przyporządkowany dynamicznie) zostanie usunięty, adres używany przez ten symbol jest zwalniany po nowej kompilacji. Oznacza to, że nowy dodany symbol będzie miał ten sam adres co ostatnio usunięty symbol.

Powyższe zachowanie może powodować problemy w przypadku gdy zmienne ze sterownika są odczytywane przez inne urządzenia i systemy. W takim przypadku zaleca się, by takie zmienne były adresowane statycznie.