Wstęp
Sterowniki Delta serii DVP (SLIM) posiadają instrukcje bitowe, dzięki którym można operować na bitach rejestrów. W niniejszym artykule przybliżono wszystkie dostępne instrukcje.
API 266 BOUT. Wysterowanie bitu w słowie
Instrukcja BOUT pozwala na wysterowanie bitu w słowie. Jeżeli sygnał En jest aktywny, bit będzie ustawiony. W przeciwnym przypadku bit będzie zerowany. Parametry BOUT:
-
D – rejestr, w którym będzie wysterowany bit,
-
n – numer bitu (0-15).
API 267 BSET. Ustawienie bitu w słowie
Instrukcja BSET ustawia bit w słowie, gdy sygnał En jest aktywny. Parametry BSET:
-
D – rejestr, w którym będzie ustawiony bit,
-
n – numer bitu (0-15).
API 268 BRST. Zerowanie bitu w słowie
Instrukcja BRST zeruje bit w słowie, gdy sygnał En jest aktywny. Parametry BRST:
-
D – rejestr, w którym będzie zerowany bit,
-
n – numer bitu (0-15).
API 269 BLD. Styk NO z wybranego bitu w słowie
Instrukcja BLD tworzy styk NO z bitu w słowie. Parametry BLD:
-
S1 – rejestr, z którego będzie odczytywany bit,
-
S2 – numer bitu (0-15),
-
Q – 0, gdy wybrany bit jest wyzerowany, 1, gdy wybrany bit jest ustawiony.
API 270 BLDI. Styk NC z wybranego bitu w słowie
Instrukcja BLDI tworzy styk NC z bitu w słowie. Parametry BLDI:
-
S1 – rejestr, z którego będzie odczytywany bit,
-
S2 – numer bitu (0-15),
-
Q – 1, gdy wybrany bit jest wyzerowany, 0, gdy wybrany bit jest ustawiony.
Instrukcje dodające styki NO/NC szeregowo bądź równolegle względem zaznaczonego elementu
Dla wygody programowania wprowadzono dodatkowe instrukcje, które dodają instrukcje BLD (styk NO) lub BLDI (styk NC), szeregowo lub równolegle względem zaznaczonego elementu. Poniżej wymieniono instrukcje:
-
BAND – dodanie BLD szeregowo,
-
BANI – dodanie BLDI szeregowo,
-
BOR – dodanie BLD równolegle,
-
BORI – dodanie BLDI równolegle.
Przenoszenie flag M na bity rejestru D
Oprócz instrukcji bitowych istnieje notacja grupująca flagi M. Zgrupowanie kilku flag M pozwala na przenoszenie flag M na bity rejestru D, a także przenoszenie bitów rejestru D na flagi M.
Aby zgrupować kolejne flagi M należy posłużyć się zapisem w formacie:
K{n}M{m}, gdzie {n} = {1, 2, 3, 4} – liczba 4 bitowych paczek, {m} – numer pierwszej flagi w grupie. Oprócz flag M można wykorzystać wejścia X, wyjścia Y i flagi S.
Przykłady:
-
K1M0 – grupa 4 bitów zaczynająca się od M0, czyli M0~M3,
-
K2M10 – grupa 8 bitów zaczynająca się od M10, czyli M10~M19,
-
K3M2000 – grupa 12 bitów zaczynająca się od M2000, czyli M2000~M2011,
-
K4M16 – grupa 16 bitów zaczynająca się od M16, czyli M16~M31.
Zgrupowane flagi mogą być przepisane do rejestru z wykorzystaniem instrukcji MOV.
Na rys. poniżej przedstawiono przykład przeniesienia 16 flag do rejestru D1 i przeniesienie bitów rejestru D1 do flag M16~M32. Kolejne flagi są przepisywane do bitów rejestru, zaczynając od bitu najmłodszego, tj. bitu 0. Podczas przenoszenie bitów rejestru do flag, najmłodszy bit rejestru jest zapisywany w pierwszej fladze.