Dodano: 04.12.2013 Zmodyfikowano: 18.06.2018

 

Otwierając port z poziomu Device Configuratora, w narzędziu tym nie ma parametru pozwalającego na wskazanie flagi i rejestru diagnostycznego.

Aby móc korzystać z tej funkcji, należy do programu dodać fragment kodu w Liście Instrukcji. Kod należy umieścić w bloku XOB 16 (blok uruchamiany raz po uruchomieniu sterownika):

XOB 16
TEXT    100 "DIAG:F100,R200;"  ; definicja tekstu
                               ; flagą diagnostyczną będzie F 100, a rejestrem diagnostycznym R 200

SASI    1                      ; dotyczy portu 1
        100                    ; użyty zostanie tekst 100

EXOB

Gdy port S-Bus otwarty jest z poziomu programu Fupli, dostęp do flag i rejestrów diagnostycznych możliwy jest poprzez dodanie do programu bloku "Diagnostic". Podobnie dla programu napisanego w liście instrukcji – przy otwieraniu portu wskazuje się numer flagi i rejestru diagnostycznego.

 Gdy w programie znajduje się już blok XOB16 zaprogramowany w Fupli…

 

Próba zadeklarowania drugiego bloku XOB 16 napisanego w Liście instrukcji podczas gdy drugi taki blok znajduje się już napisany w Fupli spowoduje błąd podczas kompilacji programu. W programie nie może być dwóch identycznych bloków.

Aby skorzystać z powyższego rozwiązania, wystarczy, aby powyższy kod został wykonany przez sterownik w trakcie przetwarzania bloku XOB 16. Można to również osiągnąć poprzez napisanie bloku PB (Program Block) i wywołanie go w bloku XOB 16. W tym celu, w Liście instrukcji korzystamy z bloku PB zamiast XOB:

faq_diagnostyka_portu_xob16_w_pb

Następnie w Fupli w bloku XOB 16 dodajemy blok funkcyjny wywołujący napisany podprogram. Należy w tym celu użyć bloku Call PB z biblioteki Block Calls:

faq_wywolanie_bloku_pb_w_xob16

 

 

Czy informacje zawarte na tej stronie były dla Ciebie przydatne?