Symulacja systemu pomiarowego w standardzie IEC-625
Transkrypt
Symulacja systemu pomiarowego w standardzie IEC-625
LABORATORIUM SYSTEMÓW POMIAROWYCH KTP IR PW MATERIAŁY POMOCNICZE DO ĆWICZENIA 1 SYMULATOR SYSTEMU POMIAROWEGO W STANDARDZIE IEC-625.1 Warszawa 2001 SYMULATOR SYSTEMU POMIAROWEGO W STANDARDZIE IEC-625.1 1 Menu programu Projekt – otwiera i zapisuje projekt. Program –konfiguracja schematu połączeń urządzeń, przyporządkowanie parametrów i adresów urządzeń , sprawdzenie poprawności wprowadzonych danych oraz wykonanie pliku z programem określającym działanie systemu IEC-625.1. Test – służy do graficznego przedstawienia stanów linii IEC-625.1. Ustawienia – konfiguracja programu. 1.1. Menu ‘Projekt‘ Nowy projekt – usuwa z pamięci schemat połączeń i parametry urządzeń. Otwórz projekt – otwiera plik z zapisanym schematem połączeń oraz z parametrami urządzeń. Zapisz projekt – zapisuje w pliku schemat połączeń oraz parametry urządzeń. Wyjście – wyjście z programu. 1.2. Menu ‘Program ‘ Sprawdzenie poprawności – sprawdza poprawność wprowadzonych danych. Interpretacja kodu – interpretuje kod programu , który określa działanie szyny IEC-625.1. Wczytanie programu – wczytuje plik z programem. Pokaż konfigurację systemu IEC – służy do graficznego konfigurowania układu (wybór urządzeń , wzajemne połączenia, parametry urządzeń, adresy). Zakończ edycje systemu IEC – zamyka edytor graficzny. Otwórz plik z kodem programu – otwiera plik z kodem programu określającym działanie magistrali IEC. 1.3. Menu ‘Symulacja‘ Otwórz symulację – otwiera okno z przebiegami logicznymi występującymi na liniach szyny IEC-625.1. Zamknij symulację – zamyka okno z symulacją. 1.4. Menu ‘Ustawienia‘ Konfiguracja symulatora – umożliwia skonfigurowanie okna z wynikami symulacji. Menu ‘Pomoc’ nie zawierają jeszcze dostępnych pozycji. 2 Obsługa edytora konfiguracji układu. 2.1. Otwarcie edytora Otwarcie edytora graficznego nastąpi po otwarciu projektu lub po wybraniu opcji „Program => Pokaż konfigurację systemu IEC”. Każde dostępne urządzenie reprezentowane jest jako ikona posiadająca wejście, wyjście, wejście na zasilanie ( w zależności od rodzaju obiektu) symbolizowane przed czarne punkty na brzegach ikony. Połączenia między urządzeniami są symbolizowane przez łączące ikony. Rys. 1. Symbol wzmacniacza 2.2. Wybór urządzenia Wybranie urządzenia następuje przez dwukrotne kliknięcie lewym przyciskiem myszy, podczas gdy pod kursorem myszy nie znajduje się żadne inne urządzenie. Spowoduje to ukazanie się listy dostępnych urządzeń , z których użytkownik wybiera żądany element przez naciśnięcie przycisku z nazwą urządzenia. Rys.2. Okno z dostępnymi urządzeniami Jeśli użytkownik nie chce wybierać żadnego z urządzeń należy wcisnąć krzyżyk znajdujący się w prawym górnym rogu. 2.3. Łączenie urządzeń. Łączenie urządzeń następuje przez ustawienie kursora myszy na czarnym punkcie przy brzegu ikony. Wówczas należy wcisnąć lewy klawisz myszy co spowoduje zmianę wyglądu kursora na krzyżyk. Podtrzymując naciśnięty klawisz myszy należy przesunąć kursor myszy na czarny punkt innej ikony i puścić przycisk myszy. Jeśli połączenie między urządzeniami jest możliwe zostanie to pokazane przez wyświetlenie linii łączącej te urządzenia. Jeśli to połączenie jest błędne to urządzenia pozostaną nadal rozłączone. Rys. 3. Rysunek przedstawiający połączone urządzenia. 2.4. Określenie parametrów urządzenia i jego adresu . Należy naprowadzić kursor na ikonę urządzenia i dwukrotnie kliknąć myszą . Spowoduje to pojawienie się okna w którym będzie można dokonać parametryzacji urządzenia. Rys. 4. Okno do określenia parametrów urządzenia. Okno ma możliwość wpisywania danych bez użycia klawiatury ( strzałki w górę lub w dół). Wciśnięcie klawisza ‘OK’ spowoduje zaakceptowanie danych, natomiast użycie klawisza ‘Cancel’ pozostawi dane o wartościach sprzed wywołania tego okna. Określenie parametrów jest możliwe dla wszystkich elementów z wyjątkiem obiektów badanych. 2.5. Usunięcie urządzenia. W celu usunięcie urządzenia należy najechać kursorem myszy na urządzenie oraz nacisnąć prawy klawisz myszy. Spowoduje to pojawienie się okna w którym jedną z pozycji będzie przycisk ‘usuń’. Należy go wcisnąć co spowoduje usunięcie urządzenia z pamięci. Usunięciu z pamięci podlegać będą również połączenia tego urządzenia. 3 Język programowania 3.1. Przypisywanie wartości liniom szyny: a) jednoliniowe. atn=1 eoi = 0 b) wieloliniowe. dio =34 3.2. Deklaracja zmiennych: a) zmienne tekstowe ( TXT0, TXT1, TXT2, ...,TXT9 ). TXT0 = "asdfdf” b) zmienne numeryczne ( INT0, INT1, INT2, ...,INT9 ). • przypisanie stałej INT1=5 • przypisanie zmiennej INT4=INT1 • sumowanie (odejmowanie) zmiennych lub stałych INT1=INT4 + 5 • przypisanie elementu zmiennej tekstowej INT1=TXT0[n] , gdzie n – stała lub zmienna określająca n - ty element TXT0 ( TXT[0] pierwszy element ) • pobranie bitu linii ‘dio’ INT2=BitDio(n) , gdzie n = 0,1,2,.. 7 • pobranie wartości linii INT2 = nrfd INT2=dio c) tablica ciągów • przypisanie string zmiennanazwa = {"F30Z32","F300Z32","F3000Z32"} • pobranie wartości INT1 = sgen[int9][int0] d) tablica liczb • przypisanie number zmiennanazwa = {6,7,8} • pobranie wartości int2 = ngen[int9] 3.3. Pętla ‘ while ’ : while ( INT0 == 4 ) ... ... endw Operatory logiczne : ==, !=, >, <, <=, >= 3.4. Instrukcja warunkowa ‘ if ‘ if ( INT0 == 5) ... ... LUB else ... ... if ( INT0 == 5) ... ... endi endi Operatory logiczne jak w pętli ‘ while’. 4 Kody błędów mogących się pojawić podczas analizy kodu programu. 4.1. Błąd ogólny: 10 - nierozpoznane polecenie. 11 – za mała tablica na dane. 53 – brak ustawionej linii ren 4.2. Przypisanie zmiennym wartości: 21 – brak ‘=’. 22 – są aż dwa znaki ‘-‘ i ‘+’. 23 – próba operacji arytmetycznej ze zmienną tekstową. 24 – brak ‘ przy przypisaniu ciągu zmiennej tekstowej. 25 – brak ‘[‘ lub ‘]’. 26 – zły parametr w ‘[...]’. 4.3. Błędy pętli while 31 – brak końca pętli while (brak endw) 32 – nieskończona pętla 33 – nierozpoznane funkcja logiczna w while 34 – brak ‘)’ 35 – brak zmiennej 36 – brak liczby 4.4. pobranie wartości linii DIO 41 – brak ‘(‘. 42 – brak ‘)’. 43 – zły szyk polecenia. 4.5. składna poleceń dotyczących magistrali IEC 625.1 51 – brak ‘=’ , ‘+’ lub ‘-‘. 52 – przypisanie złej wartości. błąd transmisji – ‘ nrfd=0 ’ i ‘ ndac=0 ’ . Wyniki symulacji są umieszczane w pliku ‘wynik’. 5 Wynik symulacji. Aby obejrzeć wyniki symulacji należy wybrać opcję ‘Symulacja => Otwórz symulację’. Spowoduje to ukazanie się okna, w który będą się znajdować nazwy linii, przebiegi na magistrali, stany funkcji interfejsowych poszczególnych urządzeń. Rys. 5. Graficzne przedstawienie przebiegów na magistrali. Prawe górne okno zawiera przebiegi magistrali. Znajduje się w nim pionowa niebieska linia wskazująca na odpowiednią chwilę czasową. Linię tę można przesuwać w dowolne miejsce za pomocą myszy – kliknięcie lewego przycisku przeniesie linię w miejsce kursora myszy. Przesunięcie tej linii może nastąpić również poprzez naciśnięcie jednego z dwu przycisków , znajdujących się pod wykresem. Przesuwają one linię w prawo lub lewo o jedną chwilę czasową. Lewe górne okno to stany linii magistrali w chwili określonej przez wyżej omówiony marker. Cały przebieg zdarzeń na magistrali nie mieści się w prawym górnym oknie więc do przesuwania go w przód lub w tył służy suwak umieszczony pod przebiegiem. Dolne okno wyświetla dla każdego z urządzeń stany funkcji interfejsowych, zawartość bufora, adresy urządzeń oraz stany sygnałów urządzeń takich jak STB, MTA, MLA. Okno symulacji zamyka się poleceniem ‘Symulacja => Zamknij symulację’ 6 Spis dostępnych urządzeń 6.1. Zasilacz: Format programowania: FnZm n = 0 - 99 m = {1,2 } wartość napięcia u = n*10^(1-m) [V] 6.2. Generator: Format programowania: FnZm m - amplituda w 100mV n - częstotliwość m = 0 - 50 n = 0 – 99999 Hz 6.3. Woltomierz: Format programowania: FnZm n = 1 – 2 ( bez znaczenia ) m = 1 zakres 0.. 0.01 V 2 zakres 0.. 0.1 V 3 zakres 0.. 1 V 4 zakres 0.. 10 V 5 zakres 0.. 100 V 0.01, 0.1, 1, 10, 100 6.4. Woltomierz dokładny: Format programowania: FnZm n = 1 – 2 ( bez znaczenia ) m = 1 zakres 0.. 0.01 V 2 zakres 0.. 0.1 V 3 zakres 0.. 1 V 4 zakres 0.. 10 V 5 zakres 0.. 100 V 6.5. Czestosciomierz: Format programowania: FnZm - n = 1 – 2 n = 1 – 2 ( bez znaczenia ) m = 1 zakres 0.. 99 Hz 2 zakres 0.. 999 Hz 3 zakres 0.. 9999 Hz 4 zakres 0.. 99999 Hz 7 Przykładowe fragmenty programu a) rozadresowanie dio=63 dav=1 dav=0 b) zaadresowanie do nadawania urządzenia o adresie 1 dio=65 dav=1 dav=0 c) przesłanie do urządzenia tekstu programującego INT0=0 TXT1="F50Z1" while(INT0<5) INT1=TXT1[INT0] dio=INT1 if(INT0==4) eoi=1 endi dav=1 dav=0 INT0=INT0+1 endw eoi=0 string sgen = {"F30Z32","F300Z32","F3000Z32"} number ngen = {6,7,8} int9 = 0 int2 = ngen[int9] int3 = int2 -1 int0 = 0; atn=0 while( int0 < int2 ) INT1 = sgen[int9][int0] dio = INT1 if(INT0==int3) eoi = 1 endi dav = 1 dav = 0 INT0 = INT0 + 1 endw eoi=0 d) odpytywanie szeregowe ... % kod inicjacji odpytywania szeregowego ... int5=66 int2=0 txt2="" while (int5 < 69) ... dio=int5 dav=1 dav=0 % kolejne adresy do nadawania ... if( dio == 64) % kod żądania obsługi txt2[int2]=int5 int2 = int2+1 endi ... int5 = int5 + 1 endw ... % kod zakończenia odpytywania szeregowego ... LITERATURA OBOWIĄZKOWA 1. Wiesław Winiecki: „Organizacja Komputerowych Systemów Pomiarowych”, WPW, Warszawa 1997, rozdział: 6. 2. Materiały z wykładów