Professional Documents
Culture Documents
Wydano nakadem
ASTOR sp. z o.o.
31-112 Krakw
ul. Smolesk 29
tel. 428-63-00, 428-63-09
Spis treci
Element o adresie I1 jest typu styk normalnie otwarty - przewodzi sygna wtedy, gdy warto logiczna
przypisanej zmiennej jest 1. Element o adresie I2 jest typu styk normalnie zamknity - przewodzi sygna, gdy przypisana
dla niego zmienna ma warto logiczn 0. Przekanik Q1 i Q2 dziaaj w ten sposb, e ich styki s zwierane w
momencie dotarcia sygnau. Q3 rwnie zadziaa w momencie dotarcia do sygnau, ale stan ten bdzie trwa nawet po
odciciu tego sygnau - jest to przekanik z pamici. Ustawiony stan w tym przekaniku bdzie trwa nawet po
wyczeniu zasilania sterownika. W przypadku stykw takich jak styki o adresie %Q3, %M15 jako atrybuty zmiennej
mona zadeklarowa opcj retentive (robimy to w tablicy deklaracji zmiennych). Stan przekanikw z aktywn opcj
retentive bdzie pamitany nawet po wyczeniu zasilania sterownika i zostanie odtworzony po ponownym zaczeniu
zasilania sterownika. M25 to przekanik uaktywniany zboczem narastajcym sygnau (zmian wartoci logicznej z 0 na
1). Styki tego przekanika s zwierane na czas jednego cyklu sterownika.
Nie jest moliwe uycie przekanika -(S)-, -(R)-, -( )-, -(/)-, itp. jako przekanika wprowadzajcego
sygna do szczebla, jak rwnie przekanika --] [-- , --]/[-- do wyprowadzania sygnau ze szczebla.
Program zrealizowano w oparciu o przekanik czasowy bez pamici. Wejciu I1 przypisany jest styk otwarty -
czyli przewodzcy sygna wtedy, gdy warto logiczna zmiennej I1 jest 1. Zaczenie I1 spowoduje uaktywnienie bloku
funkcyjnego TMR. Wtedy nastpi zliczanie czasu, a jego warto bieca przechowywana bdzie w rejestrze R1.
Wanie ta warto wywietlana jest podczas pracy programatora ONLINE / RUN. Oprcz wartoci biecej przekanika
s take inne informacje o nim; przechowywane s w dwch nastpnych rejestrach (w naszym przypadku w R2 i w R3).
Dlatego dla kadego bloku funkcyjnego TMR naley zarezerwowa trzy kolejne rejestry. Jako warto zadan ustawiono
100. Jest to warto czasu podana w dziesitych czciach sekundy, po osigniciu, ktrej na wyjciu przekanika
pojawi si sygna logiczny 1. Kadorazowy zanik sygnau na wejciu I1 powoduje wyzerowanie wartoci czasu
dotychczas zliczonego. Jeeli jednak sygna trwa przynajmniej tyle czasu ile wynosi PV, to przekanik Q1 zostaje
zaczony. Licznik zlicza nadal, a do momentu, w ktrym zaniknie sygna I1, po czym jest znw zerowany. Istnieje
moliwo zmiany podstawy czasu z dziesitych czci sekundy na setne czci.
Wykorzystano przekanik czasowy z pamici. Praca jego jest podobna do pracy przekanika bez pamici, a
rnica polega na tym, e zlicza on czas gdy dopywa do niego sygna, i zatrzymuje naliczon warto gdy sygna
przestaje dopywa. Dla wyzerowania naliczonej wartoci potrzebne jest wic dodatkowe wejcie - rol t peni wejcie R
(Reset), sterowane w naszym przypadku przekanikiem I2. Na ten licznik trzeba zarezerwowa trzy kolejne rejestry.
Realizacja oparta jest o licznik zliczajcy w gr UPCTR. Suy on do zliczania impulsw od 0 do wartoci
zadanej (u nas warto zadana wynosi 10). Kada zmiana sygnau I1 z 0 na 1 powoduje zwikszenie wartoci biecej o
1. Podanie sygnau I2 powoduje wyzerowanie licznika. Po zrwnaniu si z wartoci zadan przesyany jest sygna do
przekanika M1. Na ten licznik trzeba zarezerwowa trzy kolejne rejestry.
Do dodawania liczb wykorzystano blok ADD_INT. Suy on do dodawania liczb cakowitych ze znakiem (16-
bitowe). Pierwszy operand to staa rwna 26, drugi - liczba w rejestrze R44. Wynik operacji przesyany jest do rejestru
R50. Moe si zdarzy, ze wynik przekracza dopuszczalny zakres wartoci; wtedy parametr wyjciowy przyjmuje
najwiksz warto, a sygna potwierdzenia operacji (sygna Ok) nie jest przesyany. Dlatego dobrze jest sprawdza
poprawno wykonywanej operacji, na przykad wpisujc bit poprawnoci wykonania funkcji do wyznaczonego w tym celu
rejestru (w przykadzie jest to M99).
Do sprawdzenia tego czy liczba w rejestrze R1 jest wielokrotnoci liczby w rejestrze R5 sprawdzono czy liczba
w R1 dzieli si bez reszty przez liczb w R5. Posuono si blokiem funkcyjnym MOD_INT, ktry wykonuje dzielenie
dwch liczb o typie INT, a wynikiem dziaania jest reszta z dzielenia. Znak wyniku jest zawsze taki sam jak znak
pierwszego parametru wejciowego (u nas liczby w R1). Gdy do bloku dopywa sygna, czyli I22 jest wyczone,
wykonywane jest dzielenie i wynik jest obliczany w nastpujcy sposb:
Q = I1 - ( I1 DIV I2) I2
(gdzie wynikiem dzielenia DIV jest liczba cakowita).
Wynik rwny 0 wiadczy o tym e liczba w R1 jest wielokrotnoci liczby w R5. (W przykadzie wynik
odczytywany jest bezporednio na wyjciach, poczwszy od Q1).
Do obliczania pierwiastka kwadratowego suy blok SQRT. Przyrostek INT oznacza, e pierwiastek bdzie
liczony z liczby o pojedynczej precyzji (16 bitw). Gdy do bloku dociera sygna zezwolenia na prac (poprzez M1),
parametr Q przyjmuje warto rwn czci cakowitej pierwiastka z liczby w R1. Sygna wyjciowy jest przesyany, gdy
wynik operacji nie przekracza dopuszczalnego zakresu wartoci oraz gdy pierwiastkowana liczba nie jest ujemna. Wynik
pierwiastkowania zostanie umieszczony w szesnastu bitach, poczwszy od rejestru M9.
Blok EQ umoliwia porwnywanie dwch liczb. Jeli parametry wejciowe speniaj relacj rwnoci, przesyany
jest sygna potwierdzenia Q (w przykadzie trafia on do komrki M20).
Zmienna tymczasowa T2 zezwala na wykonanie operacji koniunkcji dwch sw bitowych. Funkcja zostanie
wykonana na 16 bitach, o adresach pocztkowych: R1 (pierwsze sowo) i R10 (drugie sowo). Poprawne wykonanie
sygnalizowane jest na wyjciu Ok (sygna z Ok trafia do T3), a wynik umieszczany jest w rejestrze R15. Blok AND moe
by wykorzystywany do zerowania wybranych rejestrw - gdy jednym z operandw jest liczba zero.
Liczba dwjkowa 10101 to liczba 21 w systemie dziesitnym. Dlatego porwnywanie odbywa si bdzie z
liczb 21. Porwnywanie zrealizowano stosujc blok XOR. Na kadych dwch bitach liczb: 21 i liczby w rejestrze R7
wykonywana jest operacja rnicy symetrycznej. Jeeli ktrykolwiek bit liczby w rejestrze R7 odbiega od wzorca 10101,
to ten bit w wyniku bdzie ustawiony na 1. Jeeli natomiast jest zgodno tych dwch liczb, to wynikiem operacji bdzie
zero. Dla wykrycia ewentualnego bdu w wyniku operacji mona kontrolowa wyjcie Ok, jednak przykad pokazuje, e z
punktu widzenia poprawnoci programu niewykorzystanie wyjcia Ok nie jest bdem.
Jeeli komrka G1 zezwala na wykonanie operacji, to nastpuje zmiana stanu logicznego kadego bitu na
przeciwny. Wynik operacji ulokowany zostanie w szesnastu bitach od adresu M97. Jest moliwo uzyskania
potwierdzenia wykonania operacji negacji - sygna z wyjcia Ok.
Funkcja SHL moe by wykorzystywana do przesunicia wszystkich bitw jednego sowa bitowego lub kilku sw
bitowych w lewo, o wyszczeglnion liczb miejsc. Liczba ta moe by zarwno sta jak i zmienn. Oprcz sygnau
zezwalajcego na wykonanie operacji (w naszym przypadku wejcie zezwalajce zaczone jest zawsze, bo sygna
pochodzi z przekanika ALW_ON, czyli zawsze zaczonego) naley poda do bloku adres pierwszego sowa cigu sw,
ktrego bity maj zosta przesunite (u nas R4), liczb bitw, o ktre ma by przesunite dane sowo (u nas o 2 bity),
oraz warto bitw ktre maj zosta wstawione w puste miejsca sowa powstae po przesuniciu (w naszym przykadzie
s to zera). Funkcja zwraca warto ostatniego bitu, ktry wyszed poza zakres sowa po dokonaniu przesunicia. Naley
take wyszczeglni adres pierwszego sowa cigu sw otrzymanego po przesuniciu bitw sowa (u nas: Q1). Zachodzi
take moliwo przesuwania wicej ni jednego sowa bitowego - przez zmian parametru LEN.
W tym przykadzie liczba ulokowana w adresie R4 podlega cyklicznemu przesuwaniu, co sekund, o dwa bity w
prawo. Przesunicie odbywa si w ten sposb, e najmniej znaczce bity sowa (tzn. z prawej strony sowa) zostaj
wpisane w puste miejsca po stronie lewej. Wynik operacji przesany jest na wyjcia, poczwszy od adresu Q1. W
przykadzie nie korzystano z wyjcia potwierdzajcego wykonanie operacji. Ilo przesuwanych sw mona zmieni
zmieniajc parametr LEN.
Po uaktywnieniu wejcia I1 Funkcja BTST sprawdza wyszczeglniony bit (bit trzeci) podanego sowa bitowego
(adres pocztkowy w R4). Warto tego bitu jest przesyana bezporednio na wyjcie Q bloku funkcyjnego (a stamtd na
wyjcie Q3 sterownika). Zachodzi moliwo zmiany liczby sw bitowych cigu sw, z ktrego wybierany jest bit do
przetestowania (maksymalnie 256).
Aby ustawi dany bit sowa bitowego na 1 stosujemy funkcj BSET. Blok posiada wejcie zezwalajce na
wykonanie operacji oraz wyjcie potwierdzajce wykonanie teje operacji. Podanie numeru bitu sowa bitowego do
ustawienia w 1 jako adresu pocztkowego umoliwia dynamiczne zadawanie lokacji tego bitu. W razie potrzeby mona
zmieni liczb sw bitowych cigu sw LEN, z ktrego wybierany jest bit, ktrego warto ma zosta ustawiona
(maksymalnie 256).
Do realizacji tego zadania posuono si funkcj BPOS. Jeeli zostan zaczone przekaniki M1, M2 i M3, to
zostanie przeprowadzona operacja przeszukiwania dwch sw bitowych o adresie pocztkowym R1. Wynikiem operacji
jest pozycja pierwszego niezerowego bitu w przeszukiwanych sowach bitowych lub zero, jeeli w przeszukiwanych
sowach wystpuj same zera (wynik operacji umieszczany jest w R4). Ilo przeszukiwanych sw moe oczywicie ulec
zmianie, gdy zmienimy parametr LEN. Mona te obserwowa sygna wyjciowy Ok, pojawiajcy si po dopyniciu do
bloku funkcyjnego sygnau wejciowego.
Do przemieszczania danych jako pojedynczych bitw suy funkcja MOVE. Poniewa dane s przesyane jako
bity, nowy adres nie musi odpowiada temu samemu typowi danych co adres oryginalny. Naley pamita, e
skopiowanie jednego sowa bitowego na wyjcie, poczwszy od Q1, spowoduje, e wynik zajmie szesnacie kolejnych
lokacji. Gdyby zada dugo LEN rwn 2, to wynik zajmie 32 kolejne lokacje, liczc od Q1. Po dopyniciu sygnau do
bloku funkcyjnego pojawia si na wyjciu Ok sygna potwierdzenia, ktry moe by wykorzystywany lub nie.
Stae: 1, 5, 0, 2, 12, 16, 17 zostan skopiowane do pamici od adresu M1, gdy do bloku funkcyjnego BLKMV
dotrze sygna z przekanika I1. Kada staa typu INT jest zapisana na szesnastu bitach, wic w sumie zostan zajte
komrki od M1 do M112. Wykonanie operacji sygnalizowane jest na wyjciu Q1.
Aby wyzerowa okrelon liczb kolejno nastpujcych po sobie sw w pamici sterownika, najlepiej posuy
si funkcj BLKCLR. Umoliwia ona skasowanie okrelonego miejsca w pamici poprzez podanie adresu pocztkowego
sowa i iloci sw do skasowania. Blok zadziaa wtedy gdy zostanie zaczony przekanik I1, a potwierdzenie wykonania
operacji zostanie przesane na wyjcie Q1.
Do budowy pamici kolejkowej (inaczej pamici FIFO: First Input First Output) suy blok funkcyjny SHFR.
Poprzez parametr LEN zadajemy dugo tej pamici, parametr IN zawiera adres pocztkowy pamici kolejkowej, a
parametr Q - adres, pod ktry wysyane s elementy wypchnite z pamici. Przesuwanie elementw w pamici odbywa
si, gdy do bloku funkcyjnego dopywa sygna i dokonywane jest tyle razy, ile sterownik wykona cykli. Dlatego jeeli
chcemy przesuwa tylko jeden raz przy jednokrotnym zaczeniu I1, to musimy zamieni sygna z przekanika I1 na
pojedynczy impuls o czasie trwania rwnym jednemu cyklowi sterownika - do tego celu wykorzystano przekanik M1.
Warto wpisywana do pamici jest staa i wynosi A w systemie heksadecymalnym, czyli 10 w systemie dziesitnym.
Pocztek pamici kolejkowej usytuowany jest w rejestrze R1, a elementy wypychane z pamici trafiaj do rejestru R20.
Blok posiada wyjcie potwierdzajce wykonanie operacji, przykadowo podczone do przekanika Q1.
Zadanie atwo jest zrealizowa na bazie bloku BIT_SEQ. Powoduje on przesuwanie bitu w gr lub w d o
jedn pozycj. Blok posiada wejcie zezwalajce na prac; na wejcie to bezpieczniej jest wprowadzi impuls o czasie
trwania jednego cyklu - std wczeniejszy przekanik M1. Sygna doprowadzony na wejcie R powoduje ustawienie
warunkw pocztkowych, tzn. ustawienie jedynki tylko w miejscu wyspecyfikowanym na wejciu STEP (poniewa na
wejciu tym jest staa rwna 1, to po zaczeniu I3 jedynka zostanie ustawiona na pierwszym bicie liczc od adresu
pocztkowego). Dla prawidowej pracy bloku pozostaje jeszcze tylko podanie adresu pierwszego bitu, na ktrym dziaa
funkcja BIT_SEQ. Aby umoliwi atw obserwacj dziaania ukadu, jako adres ten podano Q1. Naley rwnie poda
parametr LEN, aby wiadomo byo do jakiego momentu ma si odbywa przesuwanie bitu. Jeeli przesuwanie ma si
odbywa od Q1 do Q8, czyli o osiem pozycji, naley wpisa LEN=8. Zachodzi moliwo kontrolowania czy operacja
zostaa wykonana pomylnie (wyjcie Ok), z moliwoci tej jednak w zadaniu nie skorzystano.
Przekanik I1 daje zezwolenie na wykonanie operacji. SR okrela adres pocztkowy rdowej tablicy danych (w
przykadzie wynosi on M1), DS - adres pocztkowy docelowej tablicy danych (rwny M17). LEN to liczba elementw, z
ktrych skada si tablica rdowa, jak rwnie docelowa (10 elementw). SNX oraz DNX to indeksy pierwszego z
kopiowanych elementw tablicy rdowej oraz docelowej, natomiast N oznacza liczb elementw, ktre maj zosta
skopiowane (kopiujemy 3 elementy). Wykonanie operacji sygnalizowane jest na wyjciu Ok.
Wykorzystano blok funkcyjny dokonujcy konwersji znakw typu INT na BCD. Zezwolenie przekanika I1
powoduje przeliczenie liczby cakowitej ze znakiem na liczb BCD i przesanie jej bezporednio na wyjcia, gdzie
adresem pocztkowym liczby po konwersji jest Q1. W przykadzie nie skorzystano z sygnau potwierdzenia wykonania
konwersji (sygna ten pojawia si po dopyniciu do bloku funkcyjnego sygnau i dokonaniu konwersji bez przekroczenia
dozwolonego zakresu wartoci).
W momencie, gdy przekanik M12 zostanie zaczony, nastpi natychmiastowe przywoanie procedury o nazwie
COS1 i jej kompletne wykonanie, a nastpnie powrt do punktu nastpujcego bezporednio po bloku CALL. Edycja
bloku CALL moe odby si przez ustawienie kursora na tym bloku i nacinicie klawisza F10 (Zoom). W bloku deklaracji
powinna znale si definicja procedury COS1.
Przekanik I1 zezwala na prac regulatora. Warto SP zawiera warto zadan wielkoci regulowanej (punkt
pracy regulatora), PV jest wielkoci regulowan. Gdy przekanik I1 jest wyczony, to regulator pracuje w trybie
automatycznym. Jeeli natomiast chcemy z jakich powodw zada rcznie parametry wyjciowe, to naley przej w
tryb pracy manual - przekanik I2 zaczony. Teraz mamy moliwo zwikszania nastaw wyjciowych regulatora - I3
lub zmniejszania - I4. Pamita trzeba, e regulator PID zajmuje 40 kolejnych rejestrw, wic nie powinnimy ich uywa
przez inne bloki funkcyjne (z wyjtkiem niektrych wartoci, ktre moe zmieni uytkownik poprzez przesanie
podanych wartoci do odpowiednich rejestrw sterownika przy uyciu innych blokw funkcyjnych; informacje o tym,
ktrych rejestrw uwaga ta dotyczy znajduj si np. w podrczniku programisty Sterowniki programowalne serii 90-20 i
90-30). Blok funkcyjny PID wysya sygna potwierdzajcy zrealizowanie algorytmu bez przeszkd. Sygna wypracowany
przez PID w podanym przykadzie przesyany jest do pamici od lokacji M97. Aby regulator PID zacz dziaa naley
zada mu przynajmniej podstawowe parametry, tj. wspczynnik proporcjonalnoci rny od zera oraz zakres wartoci
sygnau wyjciowego wikszy od zera. Mona tego dokona edytujc blok funkcyjny PID (ustawi kursor na bloku
funkcyjnym i nacisn F10).
Wskazwka 1
W przypadku korzystania z przekanikw czasowych jak i licznikw pamita naley o tym, e:
1. Odstp w ich adresowaniu powinien by nie mniejszy jak 3 rejestry.
2. Niepodanie wartoci zadanej PV spowoduje, e wyjcie tego bloku funkcyjnego bdzie cay czas aktywne.
3. Kadorazowy zanik sygnau zezwalajcego Enable spowoduje wyzerowanie TMR.
Dla prby proponujemy sprawdzi zasad pierwsz - ulokowa jeden przekanik czasowy np. w rejestrze R2, a drugi
przekanik czasowy np. w rejestrze R3 i sprawdzi, jaki to ma wpyw na prac tego typu blokw funkcyjnych.
Wskazwka 2
Z du rozwag naley podchodzi do sytuacji, gdy stosujemy rne typy zmiennych dla tej samej komrki
rejestru:
Wskazwka 3
Gdy korzystamy z przekanikw z pamici, (aktywn opcj retentive). pamita trzeba o moliwoci zadania
warunkw pocztkowych, koniecznych np. przy restarcie programu. Mona to zrealizowa np. uywajc do tego celu
dodatkowego wejcia, ktre bdzie zerowao okrelone obszary pamici sterownika. Pamita naley take o
zachowaniu informacji np. o miejscu w programie lub o zmiennych, gdyby projektowany system musia by odporny na
zaniki napicia zasilajcego sterownik.
Wskazwka 5
Stosujc bloki MOVE moemy dokonywa przemieszczenia bitu, liczby lub sowa bitowego. Przemieszczenia
mog si odbywa pomidzy wejciami, wyjciami i rejestrami, z uwzgldnieniem typw zmiennych. Przesyajc wartoci
z okrelonych rejestrw do pamici bitowej pamita trzeba o tym, e jeden rejestr zawiera 16 bitw - wic np. przesanie
trzech rejestrw spowoduje zwikszenie indeksacji adresw obszaru bitowego o 48 (a nie o 3).
Powodzenia!
Powodzenia!
Powodzenia!
Powodzenia!
Powodzenia!
Powodzenia!
Powodzenia!
Powodzenia!
I1 - danie jazdy w d,
I2 - danie jazdy w gr,
Sygnaami wyjciowymi s:
Cykl skada si z:
1. wczenia silnika do jazdy w odpowiednim kierunku (na czas 5 sekund)
2. czasu oczekiwania po dojechaniu do odpowiedniego poziomu (3 sekundy).
Powodzenia!
Cykl skada si z:
1. wczenia silnika do jazdy szybkiej w odpowiednim kierunku,
2. wyczenia silnika szybkiego i wczenia wolnego (po przyjciu sygnau z czujnika dojedania do
odpowiedniego poziomu),
3. wyczenia silnika jazdy wolnej (po otrzymaniu sygnau o dojechaniu do danego poziomu) i wyczenia kontrolki
w kabinie,
4. czasu oczekiwania (3 sekundy).
Powodzenia!
Powodzenia!
Powodzenia!
Powodzenia!
Napisa program dokonujcy cyklicznego odczytu daty i czasu (rok, miesic, dzie, godzina, minuta, sekunda,
dzie tygodnia) co 1 sekund. Dla operacji odczytu zegara s do dyspozycji rejestry od R1 do R6.
Proponowana tablica zmiennych:
Powodzenia!
Napisa program sterujcy silnikiem krokowym w nastpujcy sposb: po doprowadzeniu do wejcia I1 sygnau
logicznego 1 ma zosta wygenerowanych 50 impulsw o czstotliwoci 20Hz.
Proponowana tablica deklaracji zmiennych:
Powodzenia!
Powodzenia!
Powodzenia!
Napisa program realizujcy cykliczne, co 1 sekund, wysyanie poprzez port szeregowy w formacie ASCII
cigu znakw: ABCD. Program ma wycznie wysya znaki ASCII, nie naley implementowa procedur do odczytu
znakw ASCII z portu szeregowego.
Proponowana tablica zmiennych:
Powodzenia!
Uwaga: aby zrealizowa zadanie w praktyce, wielkoci regulowanej powinien zosta przypisany rejestr wejcia
analogowego (%AI), przez ktre realizowany jest pomiar wielkoci regulowanej (temperatury), a wartoci
sterujcej rejestr wyjcia analogowego (%AQ), sucego do sterowania moc grzaki. Do realizacji zadania
konieczny jest sterownik 90-30.
Funkcja SVCREQ o numerze 7 moe dokona odczytu lub zmiany ustawienia zegara w sterowniku
podtrzymujcego aktualny czas i dat. Funkcja SVCREQ nr 7 moe operowa na 6 rejestrach. Warto 0 w pierwszym
rejestrze wykorzystywanym przez t funkcj oznacza, e dokonywany bdzie odczyt biecego czasu i daty, warto 1 -
oznacza ustawienie nowego czasu i daty. Wpisanie wartoci 1 do drugiego rejestru wykorzystywanego przez funkcj
SVCREQ oznacza e dane bd w formacie BCD. Przy odczycie zegara rejestry od 1 do 6 bd zawieray nastpujce
informacje:
Nastpnie konieczne jest zaadowanie wartoci do rejestrw AQ123 (czstotliwo z zakresu 15...5000Hz) oraz
AQ124 (ilo impulsw z zakresu 0...65535) oraz uruchomienie generatora fali prostoktnej wyjciemQ494.
Warto Opis
70 %I
72 %Q
74 %T
76 %M
8 %R
10 %AI
12 %AQ
Szczegowe informacje na temat komunikacji, przy uyciu protokou SNP mona znale w ksice Series 90
PLC Serial Communications (GFK-0582).
Szczegowe informacje na temat komunikacji, przy uyciu protokou SNP-X mona znale w ksice Series 90 PLC
Serial Communications (GFK-0582).
Oglnie schemat blokowy wysyania/czytania znakw ASCII poprzez port szeregowy wyglda nastpujco:
Jak wida ze schematu blokowego, kadorazowe wywoanie bloku COMREQ pociga za sob konieczno sprawdzania
statusu realizacji zadania przez blok COMREQ.
Blok funkcyjny CPMREQ jest blokiem uniwersalnym, realizuje on tak funkcj (definiowan przez numer
komendy), jaka zostanie podana w bloku rejestrw przyporzdkowanych do wywoywanego bloku COMREQ. Poniej
znajduje si skrtowy opis wybranych funkcji dla bloku COMREQ, dokadniejszy opis znajduje si w dokumentacji np.
GFK-1645, GFK-1503, GFK-0582D.
Uwaga:Sowa statusowe polece COMREQ przerwanych na skutek wykonania tego polecenia nie s aktualizowane.
Ostrzeenie: Jeeli polecenie to zostanie wysane w czasie, gdy polecenie COMREQ do zapisu bajtw (4401) wysya
cig przez port szeregowy, transmisja jest wstrzymywana. Miejsce, w ktrym nastpio przerwanie
wysyania cigu znakw jest nieokrelone. Dodatkowo, ostatni znak odbierany przez urzdzenie
komunikujce si z jednostk centraln jest rwnie nieokrelony
Funkcja ta umoliwia przesanie jednego lub wicej bajtw do urzdzenia zewntrznego za pomoc okrelonego
portu szeregowego. Znak (znaki) do przesania musz znajdowa si w pamici sw (obszar typu %R). Nie powinny one
by zmieniane do momentu zakoczenia wykonywania funkcji.
Pojedyncze wywoanie tej funkcji pozwala na przesanie do 250 znakw. Operacja ta jest koczona dopiero w
momencie wysania wszystkich znakw lub w przypadku wystpienia przeterminowania (przykadowo, w przypadku
sprztowego sterowania przepywem, jeeli urzdzenie zewntrzne w ogle nie zezwala na transmisj).
Przykad bloku danych funkcji do zapisu bajtw
Pomimo wykorzystywania w niniejszym przykadzie drukowalnych znakw ASCII, nie ma adnych ogranicze,
jeeli chodzi o znaki, ktre mona przesya.
Uwaga: W przypadku wprowadzenia przeterminowania o wartoci rwnej zero, przeterminowanie bdzie rwne czasowi
potrzebnemu na wysanie danych plus 4 sekundy.
Ostrzeenie: Jeeli w czasie wysyania cigu bajtw przez t funkcj wywoana zostanie funkcja COMREQ do
inicjalizowania portu (4300) albo funkcja przerywania aktywnego polecenia (4399) wszystkich polece lub
polece zapisu, spowoduje to przerwanie transmisji. Miejsce, w ktrym nastpio przerwanie wysyania
cigu jest nieokrelone. Dodatkowo, ostatni znak odbierany przez urzdzenie komunikujce si z
jednostk centraln jest rwnie nieokrelony.
W niniejszym przykadzie skonfigurowano 2 sowa (4 bajty = 4 znaki) danych do wysania, adres pocztku grupy rejestrw
w ktrych podajemy kody heksadecymalne znakw do wysania: %R152.
Naley pamita o skonfigurowaniu odpowiedniego portu do pracy w protokole Serial I/O ( w sterownikach
VersaMax Micro 14-pt jest to port 1, w sterownikach 23- i 28-pt jest to port 2, w sterownikach serii VersaMax oraz w
CPU363 moe to by zarwno port 1 jak i port 2).
Proportional 1 % / %
Derivative 0 sec
Integral 0 rep/sec
Sample period 0 sec
Dead band + 0
Dead band - 0
Bias 0
Min slew time 10 sec
Upper clamp + 32000
Lower clamp - 0
Program gwny:
\
Podprogram INICJAL:
Podprogram NASTEMP: