Skip to main content

11. Rejestr indeksu

Rozdział ten omawia jak korzystać z rejestru indeksu.

11.1.       Wprowadzenie

EasyBuilder Pro udostępnia rejestry indeksu umożliwiające elastyczne zmiany adresów, do których się odwołujemy obiektami. Za pomocą rejestrów indeksowych użytkownik może zmieniać adres zapisu / odczytu bezpośrednio na HMI, bez zmiany adresu w ustawieniach obiektu. Istnieją 32 rejestry indeksu, podzielone są na 16-bitowe i 32-bitowe.

image.png

Adresy rejestru 16-bitowe są numerowane, jako indeks 0 do 15: LW-9200 (16bit) do LW-9215 (16bit)
Maksymalny wartość, jaką można wprowadzić do adresu rejestru to 65536.
Adresy rejestru 32-bitowe są numerowane, jako indeks 16 do 31: LW-9230 (32-bitowy) do LW-9260 (32-bitowy).
Maksymalną wartość, jaką można wprowadzić do adresu rejestru to 4294967296
Przy wykorzystaniu [Rejestru indeksu] odwołujemy się do adresu według schematu:
Stała wartość w polu [Adres] + wartość w wybranym rejestrze indeksu.

image.pngUwaga

n   Rejestr indeksu odwołuje się do adresów rejestrów. Przy wykorzystaniu rejestru indeksu w obiekcie odwołującym się do bitów, zwiększając wartość w rejestrze indeksu o 1 przesuwamy się o 16 bitów (jedno słowo).

11.2.        Przykład wykorzystania rejestru indeksu

Poniżej wyjaśniono sposób określania rejestru, do którego odwołuje się obiekt, gdy zaznaczono opcję [rejestr indeksu]. Jeśli nie zaznaczono pola [Rejestr indeksu] i ustaw adres na [LW-10] system będzie bezpośrednio odczytywał / zapisał adres LW-10.

image.png

Jeśli wybrano opcję [Rejestr indeksu] i ustawiono [Indeks], jako [INDEX 0 (16-bit)] system będzie odczytywać / zapisywać adres [LW (wartość 10 + w rejestrze indeksu 0)].
Jeśli wartość w rejestrze [LW-9200] będzie wynosić "5", to adresem odczytu będzie
[LW (10 + 5)] = [LW-15].

image.png

Przykładowy projekt:

image.png

Przykład 1

Poniżej przedstawiono przykład korzystania z adresowania rejestrów przy użyciu rejestru indeksu. Jeśli wartość w [LW-0] wynosi 0, w [LW-10] wynosi 3, a w [LW-20] wynosi 6, wynik jest następujący:

image.png

Jeśli wartość indeksu 0 (LW-9200) wynosi 0, to [LW0 + Indeks 0] = [LW-0].

image.png

Jeśli wartość indeksu 0 (LW-9200) wynosi 10, to [LW0 + Indeks 0] = [LW-10] = 3

Przykład 2

Poniżej przedstawiono przykład korzystania z adresowania bitów przy użyciu rejestru indeksu. Jeśli [LB-16] jest WŁĄCZONY, a [LB-32] jest wyłączony, ponieważ 1 słowo = 16 bitów, dodając 1 w Rejestrze Indeksu, następuje przesunięcie o przesunięcie to 16 bitów

image.png

Jeśli wartość indeksu 6 (LW-9206) wynosi 1, wtedy przełącznik [LB-0 + indeks 6] będzie mieć ten sam stan, co LB-16.

image.png

Jeśli wartość indeksu 6 (LW-9206) wynosi 2, wtedy przełącznik [LB-0 + indeks 6] będzie mieć ten sam stan, co LB-32

image.pngUwaga

n   W przypadku korzystania z rejestrów indeksu dla rejestru bitowego, przesunięcie wynosi 16 bitów. Na przykład, jeśli rejestr bitowy to LB-0 i ustaw wartość w rejestrze indeksu na 1, to obiekt będzie odwoływał się do LB-16]. Jeśli wartość w rejestrze indeksu zostanie zmieniona na 2, to obiekt będzie odwoływał się do adresu LB-32.

image.png Kliknij ikonę, aby pobrać projekt demo