16.06.2015 Views

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

SHOW MORE
SHOW LESS

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 />

że proces odtworzenia pliku rozpoczął się, a FAŁSZ, że zaistniał problem, np.: brak karty SD w porcie; brak pliku na karcie<br />

SD; dokonywane jest właśnie inne połączenie; itp.).<br />

Do syntezy i głosowego odtworzenia wartości liczbowej podczas wyjściowego lub wejściowego połączenia głosowego<br />

służy słowo SAY (powiedzieć). Słowo to zdejmuje ze stosu matematycznego górną wartość z zakresu ‐999.9÷+999.9. Po<br />

słowie SAY podajemy słowo, które będzie wykonane po zakończeniu syntezy i głosowego odtworzenia podanej wartości<br />

liczbowej.<br />

Wynik wykonania słowa SAY kładzie się na stos jako znaczenie logiczne. Przy czym, znaczenie logiczne PRAWDA oznacza,<br />

że proces syntezy i odtworzenia rozpoczął się pomyślnie, a FAŁSZ, że zaistniał jakiś problem, np.: podana liczba była z poza<br />

ustalonego zakresu. Domyślnie podana wartość liczbowa jest odtwarzana z podaniem znaku tej liczby (+/‐) i z<br />

dokładnością do 1 cyfry po przecinku.<br />

Do wyłączenia automatycznego podawania znaku „plus” (+) służy słowo NOSAYPLUS. Do ponownego załączenia służy<br />

słowo SAYPLUS.<br />

Do zatrzymania odtwarzanego powiadomienia dźwiękowego służy słowo MUTE, które natychmiast wstrzymuje<br />

odtwarzanie i blokuje wykonania słowa zadanego po słowach PLAY i SAY.<br />

Do zatrzymania połączenia głosowego służy słowo HOLD (wstrzymać), które wstrzymuje każde połączenie głosowe<br />

(wejściowego lub wyjściowego).<br />

Do inicjowania przez sterownik połączenia głosowego służy słowo DIAL, które z bufora wyjściowego sczytuje numer<br />

telefonu (w formacie międzynarodowym). Po słowie DIAL podajemy dwa słowa.<br />

Pierwsze słowo będzie wykonane w przypadku, kiedy inicjowane połączenie przez sterownik zostanie podjęte; drugie<br />

słowo będzie wykonane w przypadku nie podjęcia połączenia w ciągu 60 sek. lub jego odrzucenia. Wynik wykonania słowa<br />

DIAL kładzie się na stos jako znaczenie logiczne. Przy czym, logiczne znaczenie PRAWDA oznacza, że rozpoczęła się<br />

inicjacja połączenia, a FAŁSZ, że zaistniał problem (np.: nie pracuje modem GSM; dokonywane jest właśnie inne<br />

połączenie; itp.).<br />

Przykład połączenia głosowego:<br />

> : temperatura 1 AI? 2.345 F* SAY HOLD DROP ;<br />

(OK)<br />

> : powitanie ." hello.wav " PLAY temperatura DROP ;<br />

(OK)<br />

> : zadzwon ." +48123456789 " DIAL powitanie STOP DROP ;<br />

(OK)<br />

> zadzwon<br />

+48123456789 (OK)<br />

><br />

Zdefiniowaliśmy nowe słowo temperatura, które wykonuje następujące operacje: na szczyt stosu matematycznego<br />

kładzie wartość podaną na wejściu analogowym 1, którą mnożymy przez określony współczynnik. W ten sposób na szczyt<br />

stosu matematycznego kładziemy wartość (temperatury), która jest potrzebne do wykonania słowa SAY. Następnie<br />

wykonane zostaje słowo SAY (głosowa synteza wartości liczbowej), po którym zostanie wykonane słowo HOLD<br />

(zakończenie połączenia). Na koniec zostanie wykonane słowo DROP (wykasowanie ze stosu danych wyniku wykonania<br />

słowa SAY, ponieważ nie jest nam w tym przypadku potrzebny). Następnie zdefiniowaliśmy następne słowo „powitanie”,<br />

które wykonuje następujące operacje: do bufora wyjściowego zapisana zostaje nazwa pliku, który jest potrzebny do<br />

wykonania słowa PLAY. Następnie wykonywane jest słowo PLAY (odtwarzanie pliku dźwiękowego, po którym zostanie<br />

wykonane słowo temperatura. Na koniec zostanie wykonane słowo DROP (wykasowanie ze stosu danych wyniku<br />

wykonania słowa PLAY, ponieważ nie jest nam w tym przypadku potrzebny). Następnie zdefiniowaliśmy kolejne słowo<br />

„zadzwon”, które wykonuje następujące operacje: do bufora wyjściowego wprowadza numer telefonu, który jest<br />

potrzebny do wykonania słowa DIAL. Następnie wykonywane jest słowo DIAL (inicjacja połączenia głosowego, w którym<br />

zostanie wykonane słowo „powitanie”, jeżeli zostanie ono podjęte w ciągu 60 sek., lub słowo STOP, jeżeli nie zostanie ono<br />

podjęte w ciągu 60 sek. Na koniec zostanie wykonane słowo DROP (wykasowanie ze stosu danych wyniku wykonania<br />

słowa DIAL, ponieważ nie jest nam w tym przypadku potrzebny). Następnie wykonujemy słowo „zadzwon”.<br />

W trybie dialogowym zdalnym bezpośrednie wykonanie słowa DIAL jest zablokowane. Jest to spowodowane możliwością<br />

‐ 46 ‐

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!