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