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