ForthLogic inst prog H P.1.2 120113.pdf - F&F
ForthLogic inst prog H P.1.2 120113.pdf - F&F
ForthLogic inst prog H P.1.2 120113.pdf - F&F
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Sterowniki <strong>prog</strong>ramowalne MAX Logic<br />
> ." +48123456789 "<br />
+48123456789 (OK)<br />
> ." Witaj w systemie <strong>ForthLogic</strong> "<br />
Witaj w systemie <strong>ForthLogic</strong> (OK)<br />
Wiersz może być również zdefiniowany jako słowo i wywoływany w każdym momencie przez to słowo. Definiowanie<br />
słowa wywołującego wiersz zaczyna się słowem „:” (dwukropek) i kończy się słowem „;” (średnik) [standardowa<br />
procedura definiowania nowych słów]. Po dwukropku umieszcza się nazwę nowego słowa definiującego wiersz, a<br />
następnie pomiędzy słowami .” i ” umieszcza się tekst wiersza [standardowa procedura tworzenia wiersza]. Wiersz<br />
zdefiniowany jako słowo zachowuje się jak stała (nie podlega modyfikacji) i jest przechowywany w pamięci nieulotnej.<br />
> : Hi! ." Hello world! " ;<br />
(OK)<br />
> Hi!<br />
> Hello world! (OK)<br />
W języku <strong>ForthLogic</strong> istnieje możliwość zdefiniowania tzw. zmiennych wierszowych, służących do przechowywania w<br />
pamięci operacyjnej wierszy tekstu o długości do 15 znaków. Do pracy ze zmiennymi wierszowymi służą słowa STRING! i<br />
STRING?. Liczbę zmiennych wierszowych dla danej wersji sterownika określa parametr S_MAX. Patrz: rozdz. 8 Tabela<br />
zasobów <strong>prog</strong>ramowych.<br />
‐ STRING! ‐ definiuje numer i tekst zmiennej zdejmując ze stosu danych górne znaczenia jako numer zmiennej i sczytując z<br />
bufora wyjściowego ciąg znaków jako wiersz tekstu, który pozostaje w pamięci tej zmiennej. Znaki wprowadzone po spacji<br />
nie będą drukowane po wywołaniu tej zmiennej.<br />
‐ STRING? ‐ zdejmuje ze stosu danych górny element jako numer zmiennej, a na stos danych kładzie kopię wartości tej<br />
zmiennej (w tym przypadku jest to wiersz tekstu).<br />
> ." Tekst 15 znakow " 1 STRING!<br />
Tekst 15 znakow (OK)<br />
> 1 STRING?<br />
Tekst 15 znakow (OK)<br />
Tekst powyżej 15 znaków jest automatycznie ucinany.<br />
W poprzednich przykładach, przy drukowaniu znaczeń ze stosu i z bufora wyjściowego forth‐system automatycznie<br />
drukował jedną spację pomiędzy elementami. Automatyczne drukowanie spacji jest domyślnie dla forth‐systemu. Jednak<br />
można wyłączać i ponownie załączać automatyczny druk jednej spacji. Służą do tego słowa:<br />
NOAUTOSPACE ‐ wyłączenie automatycznego druku jednej spacji pomiędzy zdjętymi elementami stosu;<br />
AUTOSPACE ‐ załączenie automatycznego druku spacji pomiędzy zdjętymi elementami stosu.<br />
Aby powiększać liczbę spacji pomiędzy zdjętymi elementami stosu można zastosować słowo SPACE (spacja). Dane słowo<br />
drukuje w wyjściowym buforze i na terminalu dodatkową spację.<br />
> 5 23.5<br />
> ." Liczba " . SPACE SPACE ." TEMP.: " NOAUTOSPACE ." stC " AUTOSPACE<br />
Liczba 5 TEMP.: 23.5stC (OK)<br />
Do przeniesienia tekst do nowej linii służy słowo NEWLINE (nowa linia). Słowo to przenosi tekst w wyjściowym buforze i<br />
na terminalu do nowej linii. Praktyczne zastosowanie słowo to ma przy formatowaniu tekstu projektowanego na<br />
wyświetlaczu sterownika i dla formatowania tekstów SMS oraz formatu publikacji rejestrowanych danych.<br />
> ." linia pierwsza " NEWLINE ." linia druga "<br />
linia pierwsza<br />
linia druga (OK)<br />
W przypadku kiedy w samym formatowanym wierszu tekstu zachodzi potrzeba zastosowania cudzysłowów ( „ ” )<br />
oddzielonych od tekstu przynajmniej jedna spacją cudzysłowy możemy wprowadzić za pomoca słowa QUOTE.<br />
‐ 20 ‐