10.7       Sterowania bitowe

 

Czasami wykonywane sterowania mogą zmienić tylko pojedyncze bity kontrolowanej zmiennej. W tego typu przypadkach należy użyć obiektów przycisk w trybie sterowania bitowego. Poniższy przykład użycia pokazuje zmodyfikowany przypadek przycisku dwupozycyjnego.

Właściwości podstawowe

 

Aktywny

Tak

 

Główna zmienna

Status

 

Sterowanie bitowe

Tak

 

Zmienna sterowana

#

 

Typ kursora

Hand

 

Typ przycisku

Przycisk prostokątny 3d

 

Tryb przełącznika

Tak

 

Sterowanie natychmiastowe

Tak

Właściwości stanowe, stan podstawowy

 

Włączony

=Variable()&1

 

Wartość wyłączenia

1

 

Wartość włączenia

1

 

Tekst wyłączenia

Off

 

Tekst włączenia

On

 

Ustawienie właściwości Sterowanie bitowe na wartość Tak powoduje zmianę sposobu wykonywania operacji wysłania wartości do zmiennej sterowanej. Operacja wykonywana jest w dwóch krokach. Najpierw aktywnie odczytywana jest bieżąca wartość zmiennej sterowanej, następnie wyliczana i wysyłana jest nowa wartość zmiennej. Należy pamiętać o tym, że taki sposób pracy jest zdecydowanie mniej efektywny (pod względem komunikacji ze sterownikiem)  niż zwykłe sterownia.

Stan przycisku jest kontrolowany wartością pierwszego bitu zmiennej głównej. Wyrażenie Variable()&1 wykonuje operację iloczynu logicznego wartości zmiennej i liczby 1. W efekcie, przycisk jest wciśnięty gdy pierwszy bit jest ustawiony. Przy przejściu ze stanu wyłączenia(wyciśnięty) do włączonego, ustawiane są w zmiennej sterowane te bity, których wartość we właściwości Wartość włączenia jest równa 1 (w tym przypadku tylko najmłodszy bit).  . Przy przejściu ze stanu włączenia(wciśnięty) do wyłączonego, zerowane są w zmiennej sterowane te bity, których wartość we właściwości Wartość wyłączenia jest równa 1 (w tym przypadku najmłodszy bit zmiennej zostanie ustawiony na 0).

W bardziej skomplikowanych przypadkach sterowań bitowych należy użyć akcji operatorskiej SetVariable w obsłudze zdarzeń Włączenie przycisku i Wyłączenie przycisku. Na przykład akcja SetVariable(””, 3, 0xf) spowoduje zmianę czterech najmłodszych bitów zmiennej sterowanej. Dwa najmłodsze bity zostaną ustawione na 1, a pozostałe na 0.