Upload
hoangtuyen
View
223
Download
1
Embed Size (px)
Citation preview
Instrukcja programu Symulator! -(S)-
Opracował: Jarosław Tarnawski 2016 na podstawie oryginalnej instrukcji obsługi z 2000 r.
Zawartość Wstęp ...................................................................................................................................................... 2
Zakres symulacji i konfiguracja wirtualnego sterownika ..................................................................... 2
Sposób pracy z programem Symulator! .............................................................................................. 2
Edytor ...................................................................................................................................................... 3
Menu i pasek narzędziowy programu Symulator! .............................................................................. 3
Menu Plik ......................................................................................................................................... 4
Menu Edycja .................................................................................................................................... 4
Menu Widok .................................................................................................................................... 4
Menu Program................................................................................................................................. 5
Menu Pomoc ................................................................................................................................... 5
Zakładanie nowego programu ............................................................................................................. 5
Ładowanie i zapis programu ................................................................................................................ 5
Operacje edytorskie ............................................................................................................................ 6
Wstawianie wiersza ......................................................................................................................... 6
Usuwanie wiersza ............................................................................................................................ 6
Zaznaczenia obszaru ........................................................................................................................ 6
Kopiowanie zaznaczonego fragmentu programu ............................................................................ 7
Wycinanie zaznaczonego fragmentu programu .............................................................................. 7
Wklejanie skopiowanego lub wyciętego fragmentu programu ...................................................... 7
Pasek statusowy .................................................................................................................................. 7
Wprowadzanie programu sterującego .................................................................................................... 7
Wprowadzanie elementów logicznych ............................................................................................... 7
Wprowadzanie opisów elementów logicznych (adresów i stałych) .................................................... 8
Wprowadzanie parametrów bloków funkcyjnych (podstawy czasowe, rejestry, długości, typy
danych) ................................................................................................................................................ 9
Komentarze ....................................................................................................................................... 10
Translacja ............................................................................................................................................... 10
Symulacja ............................................................................................................................................... 11
Współpraca programu Symulator! z innymi aplikacjami ...................................................................... 13
Wstęp Program Symulator! został opracowany w celu umożliwienia uruchamiania i testowania
programów sterujących dla sterownika GE Fanuc. Program umożliwia wprowadzanie programu dla
symulatora w naturalnej dla sterowników GE Fanuc postaci - języku drabinkowym. Program sterujący
wprowadzony przez użytkownika poddawany jest sprawdzeniu pod względem poprawności
składniowej. W przypadku wystąpienia błędów użytkownikowi podawany jest rodzaj i lokalizacja
błędu. Gdy program jest poprawny zostaje załadowany do symulatora - wirtualnego sterownika,
który odwzorowuje pracę rzeczywistego sterownika.
Program Symulator! umożliwia uruchamianie programów sterujących bez konieczności
posiadania sterownika. Ta cecha powoduje iż program znakomicie nadaje się do nauki
programowania sterowników GE Fanuc, a także upraszcza i skraca proces tworzenia aplikacji
przeznaczonych dla sterowników, gdyż umożliwia wszechstronne przetestowanie programu przed
załadowaniem go do sterownika.
Zakres symulacji i konfiguracja wirtualnego sterownika Program odwzorowuje jednostkę centralną CPU331 tj. obsługuje następujące liczby
poszczególnych zmiennych: %I 512; %Q 512; %M 1024; %T 256; %G 1280; %AI 64; %AQ 32; %R 512;.
Podane limity oznaczają maksymalny numer danego typu gdzie zmienne typu %I, %Q, %M, %T, %G to
zmienne dyskretne, a zmienne typu %AI, %AQ, %R to zmienne rejestrowe.
Wirtualny sterownik może pracować w trzech trybach RUN, STOP NO IO i STOP IO SCAN. W
trybie RUN wykonywany jest program sterujący wprowadzony przez użytkownika. Użytkownik może
analizować działanie programu obserwując stan wyjść oraz stan zmiennych (pamięci) wirtualnego
sterownika. Użytkownik może zadawać stan wejść zarówno binarnych jak i analogowych. Do
dyspozycji użytkownika jest 16 wejść i 16 wyjść dyskretnych oraz 2 wejścia i 2 wyjścia analogowe.
Sterownik posiada stałą konfigurację tj. wejściom dyskretnym przypisane są zmienne %I0001 -
%I0016, wyjściom dyskretnym przypisane są zmienne %Q0001 - %Q0016, wejściom analogowym
zmienne %AI0001 i %AI0002, natomiast wyjściom analogowym zmienne %AQ0001 i %AQ0002.
Symulator! obsługuje styki normalnie otwarty i normalnie zamknięty, przekaźniki normalnie
otwarty i normalnie zamknięty, set i reset oraz przekaźniki w wykrywaniem zbocza narastającego i
opadającego. Obsługiwane są przekaźniki czasowe TMR i ONDTR (bez odwzorowana trzeciego
rejestru słowa kontrolnego), liczniki UPCTR i DNCTR; operacje matematyczne ADD, SUB, MUL, DIV,
SQRT, MOD; relacje matematyczne EQ, NE, GT, GE, LT, LE; bloki operacji bitowych AND, OR, XOR,
NOT, SHL, SHR, ROL, ROR, BITSEQ, BITSET, BITCLR, BITPOS; operacji przenoszenia danych MOVE,
BLKMOV, BLKCLR, SHFREG; operacji sterujących wykonywaniem programu END; MCR, ENDMCR;
JUMP, LABEL.
Symulator! nie posiada obsługi liczb zmiennoprzecinkowych typu REAL. Nie odwzorowano
bloku regulatora PID, funkcji specjalnych SYSRQ, bloku RANGE.
Sposób pracy z programem Symulator! Pracę z programem można podzielić na trzy główne części. Pierwszą z nich jest wprowadzanie
programu sterującego czyli edycja programu. W tej części użytkownik za pomocą edytora wprowadza
program sterujący, który chce przetestować lub wykonać w symulatorze. Drugą częścią jest translator
którego głównym zadaniem jest przetłumaczenie programu wprowadzonego przez użytkownika z
postaci drabinkowej na postać listy instrukcji. Przy dokonywaniu zamiany, program w postaci
drabinkowej jest dokładnie sprawdzany pod względem poprawności składniowej. W przypadku
wystąpienia błędów użytkownik jest informowany o rodzaju i lokalizacji błędu. Gdy wprowadzony
przez użytkownika program jest poprawny, zostaje załadowany do symulatora. Symulacja stanowi
trzecią część pracy z programem. Użytkownik zadaje stan pracy symulowanego sterownika nakazując
mu pracę w trybie RUN, STOP NO IO lub STOP IO SCAN. Użytkownik może ustawiać wejścia dyskretne
i analogowe wirtualnego sterownika i obserwować wyjścia dyskretne i analogowe oraz zmienne
sterownika. Po zakończeniu pracy ze sterownikiem program powraca do edytora, gdzie możliwe są
ewentualne modyfikacje programu.
Edytor Edytor programu Symulator! służący do wprowadzania programów sterujących składa się z
następujących części: menu, pasek narzędziowy, pole edycyjne, panele z przyciskami do
wprowadzania programu, pole wprowadzania programu, pasek statusowy.
Menu oraz pasek narzędziowy umożliwiają sterowanie aplikacją. Pole edycyjne służy do
wprowadzania opisów elementów logicznych. Panele z przyciskami do wprowadzania elementów
logicznych programu w polu wprowadzania programu.
Menu i pasek narzędziowy programu Symulator! Menu i pasek narzędziowy służą do sterowania programem Symulator!. Funkcje programu
Symulator! mogą być wywoływane zarówno z poziomu Menu jak i paska narzędziowego. Używanie
paska narzędziowego jest wygodniejsze jednak, gdy jest on ukryty jedynym sposobem jest wywołanie
funkcji z Menu.
Poniżej zostaną przedstawione wszystkie funkcje z Menu programu Symulator! wraz z ich
odpowiednikami na pasku narzędziowym.
Menu Plik
Nowy - czyści pole edycyjne w celu wprowadzenia nowego programu
Otwórz - wczytuje z dysku do edytora wcześniej zapisany program
Zapisz - zapisuje na dysk program z edytora
Koniec - kończy pracę z programem
Menu Edycja
Kopiuj - kopiuje zaznaczony fragment programu do bufora
Wytnij - kopiuje zaznaczony fragment programu do bufora i usuwa go z programu
Wstaw - wstawia w miejsce kursora fragment z bufora
Usuń wiersz - usuwa wiersz programu w którym znajduje się kursor
Wstaw wiersz - wstawia wiersz nad kursorem
Menu Widok
Panel1 - przywołuje i ukrywa Panel1
Panel2 - przywołuje i ukrywa Panel1
Panel3 - przywołuje i ukrywa Panel1
Panel4 - przywołuje i ukrywa Panel1
Okno Parametry - przywołuje i ukrywa okno Parametry
Ukryj wszystko - ukrywa wszystkie panele, paski narzędziowy i statusowy w celu przydzielenia
maksymalnej ilości miejsca na ekranie dla programu
Odkryj - odkrywa pasek narzędziowy i statusowy
Siatka - włącza i wyłącza siatkę w polu wprowadzania programu
Menu Program
Testuj program - testuje program i informuje o jego poprawności lub wyświetla komunikat o
znalezionym błędzie
Lista instrukcji - sprawdza program i wyświetla postać programu w formacie listy instrukcji
Uruchom symulator - sprawdza program i ładuje go do symulatora
DDE - umożliwia połączenie programu Symulator! z innymi aplikacjami
Menu Pomoc
Info - wyświetla informacje o programie
Pomoc - wyświetla plik pomocy
Zakładanie nowego programu
Po naciśnięciu ikony nowy lub wybraniu z menu Plik opcji Nowy program Symulator!
wyświetli okno i będzie oczekiwał na decyzję czy zapisać istniejący program czy nie. Następnie
wyczyści zawartość obszaru programu sterującego edytora i umożliwi wprowadzenie programu od
nowa. Opcja Anuluj powoduje zrezygnowanie z opcji założenia nowego programu i pozostawi w
edytorze dotychczasowy program.
Ładowanie i zapis programu Program sterujący wprowadzony przez użytkownika może zostać zapisany. W tym celu należy
nacisnąć przycisk oznaczony dyskietką lub wybrać funkcję Zapisz z menu Plik. Następnie ukaże się
okno dialogowe w którym należy podać nazwę pod jaką plik ma zostać zapisany. Po naciśnięciu
przycisku Zapisz pogram zostanie zapisany na dysku, a na nagłówku okna zostanie wypisana nazwa
pliku pod jaką program został zapisany.
Istnieje również możliwość wczytania zapisanych wcześniej programów. W tym celu należy
nacisnąć przycisk Ładuj , lub wybrać funkcję Ładuj z menu Plik. Po ukazaniu się okna dialogowego
należy znaleźć plik który chcemy wczytać wybrać go lub wpisać jego nazwę i nacisnąć przycisk
Otwórz. Program zostanie wczytany, a jego nazwa zostanie wyświetlona w nagłówku okna programu
Symulator!.
Uwaga postać programu jest zapisywana w dwóch plikach o podanej przez użytkownika
nazwie i rozszerzeniach *.jar i *jar.str
Operacje edytorskie Operacje edytorskie ułatwiają pracę z programem. W przypadku, gdy istnieje konieczność
powielenia czy przeniesienia w inne miejsce fragmentu programu, skorzystanie z operacji edytorskich
znacznie przyspiesza pracę. Operacje edytorskie wykonują działanie na pewnym obszarze.
Szczególnym przypadkiem takiego obszaru jest jedna komórka tablicy. Zazwyczaj jednak obszar ten
jest większy.
Wstawianie wiersza
Aby wstawić wiersz pomiędzy istniejące już wiersze programu należy naprowadzić kursor do wiersza,
nad którym ma być wprowadzony nowy pusty wiersz, a następnie nacisnąć ikonę lub wybrać z
menu Edycja opcję Wstaw wiersz. Jeżeli w wyniku wstawienia wiersza zostałby zniszczony blok
funkcyjny to wiersz nie zostanie wstawiony.
Usuwanie wiersza
Aby usunąć wiersz z istniejących już wierszy programu należy naprowadzić kursor do wiersza, który
chcemy usunąć, a następnie nacisnąć ikonę lub wybrać z menu Edycja opcję Usuń wiersz. Jeżeli
w wyniku usuwania wiersza zostałby zniszczony blok funkcyjny to cały blok (również w innych
wierszach) jest usuwany.
Zaznaczenia obszaru dokonuje się ustawiając kursor w narożniku obszaru, który chcemy
zaznaczyć, następnie wciskamy lewy klawisz myszki i cały czas trzymając wciśnięty lewy przycisk
myszki, przesuwamy kursor na przeciwległy narożnik naszego fragmentu. Po zaznaczeniu pewnego
fragmentu, możemy zwolnić przycisk myszki i wykonać inne operacje. Szerokość i wysokość
zaznaczonego obszaru prezentowana jest użytkownikowi w pasku statusowym. Obszar pozostaje
zaznaczony do momentu przesunięcia kursora w inne miejsce. Aby skorzystać z operacji edytorskich
należy w pierwszej kolejności wykonać operację Kopiuj lub Wytnij.
Kopiowanie zaznaczonego fragmentu programu
Po zaznaczeniu fragmentu programu, który chcemy skopiować naciskamy przycisk albo
wywołujemy z menu Edycja polecenie Kopiuj. Skopiowanie fragmentu programu nie modyfikuje
oryginalnego programu.
Wycinanie zaznaczonego fragmentu programu
Po zaznaczeniu fragmentu programu, który chcemy wyciąć naciskamy przycisk albo
wywołujemy z menu Edycja polecenie Wytnij. Wycięty fragment programu zostanie usunięty z
programu.
Wklejanie skopiowanego lub wyciętego fragmentu programu
Po wywołaniu funkcji kopiuj lub wklej zaznaczony fragment programu został skopiowany do
bufora. W przypadku funkcji Wytnij zaznaczony fragment został także usunięty z programu.
Następnym krokiem może być wprowadzenie - dowolnej liczby razy - fragmentu programu, który
znajduje się w buforze. Aby tego dokonać należy nacisnąć przycisk albo wywołać funkcję Wstaw
z menu Edycja. Fragment zawarty w buforze jest wstawiany tak, że górny lewy narożnik fragmentu
zawartego w buforze, jest wstawiany w miejscu kursora. Jedynym warunkiem powodzenia takiej
operacji jest to, aby kursor znajdował się w takim miejscu, aby fragment zmieścił się w 10 kolumnach.
Przykładowo fragment o szerokości 5 komórek, może być wstawiany najdalej w 6 kolumnie. W
przypadku, gdy funkcja Wstaw zostanie wywołana przy takim położeniu, że fragment z bufora nie
zmieści się w operacja będzie zaniechana.
Pasek statusowy określa położenie kursora, szerokość i wysokość obszaru zaznaczonego, status programu oraz
wyświetla informacje dla użytkownika.
Na przedstawionym rysunku mamy sytuację położenia kursowa w pierwszym wierszu i kolumnie, bez
zaznaczonego obszaru, zatem szerokość i wysokość obszaru jednej komórki wynosi 1, a status
programu jest nowy.
Wprowadzanie programu sterującego Program sterujący determinuje zachowanie sterownika programowalnego. Uzależnia on stan
wyjść sterownika od stanu wejść i innych parametrów np. czasu. Do budowy programu w postaci
drabinkowej używa się elementów logicznych oraz zmiennych opisujących te elementy.
Wprowadzanie programu sterującego następuje w edytorze. Proces wprowadzania programu
składa się z kilku etapów wyszczególnionych poniżej.
Wprowadzanie elementów logicznych Elementy logiczne to styki, przekaźniki, połączenia, funkcje blokowe oraz funkcje sterujące.
Wprowadzenie elementu logicznego polega na ustawieniu kursora w miejscu, w którym element
chcemy wprowadzić, a następnie wybraniu z odpowiedniego panelu przycisku z ikoną symbolizującą
żądany element logiczny. Po naciśnięciu przycisku jego symbol powinien pojawić się w miejscu gdzie
znajdował się kursor. Niektóre elementy np. przekaźniki mogą znajdować się wyłącznie w
określonych miejscach (np. przekaźniki wyłącznie w ostatniej kolumnie), z tego powodu, gdy istnieje
taka możliwość kursor przenoszony jest w odpowiednie miejsce i tam wstawiany jest element
logiczny wybrany przez użytkownika.
Przyciski są zgrupowane na czterech panelach. Panel1 zawiera przyciski umożliwiające wprowadzenie
styków, połączeń poziomych i pionowych, przekaźników oraz liczników i timerów. Panel2 zawiera
przyciski umożliwiające wprowadzenie funkcji matematycznych, relacji matematycznych i funkcji
konwersji. Panel3 zawiera przyciski umożliwiające wprowadzenie operacji bitowych, funkcji bitowych
i funkcji tablicowych. Panel4 zawiera przyciski umożliwiające wprowadzenie operacji na danych oraz
funkcji sterujących.
Domyślnie (po uruchomieniu programu) na ekranie widoczny jest tyko Panel1, pozostałe panele są
niewidoczne. Panele można przywoływać na ekran za pomocą znajdujących się na pasku
narzędziowym przycisków oznaczonych od 1 do 4. Ukrycia panelu można dokonać
naciskając symbol x znajdujący się w lewym górnym rogu każdego panelu. W przypadku, gdy dany
panel nie jest wyświetlany na ekranie, przycisk odpowiadający za jego wyświetlanie posiada kolorową
ikonę symbolizującą możliwość przywołania panelu na ekran. W przypadku gdy panel znajduje się na
ekranie przypisany mu przycisk posiada szarą ikonę i nie jest aktywny. Panele można także
przywoływać i ukrywać za pomocą funkcji Panel1, Panel2, Panel3, Panel4 znajdujących się w menu
Widok.
Wprowadzanie opisów elementów logicznych (adresów i stałych) Wprowadzanie opisów elementów logicznych polega na ustawieniu kursora w komórce, w
której znajduje się element logiczny, który chcemy opisać i wprowadzeniu opisu z klawiatury. Po
rozpoczęciu wprowadzania opisu z klawiatury, opis ten pojawia się w polu edycyjnym. W programie
Symulator! dopuszczalne są dwa sposoby wprowadzania opisu.
Pierwszy to opis pełen tzn. zawierający symbol procenta, rodzaj zmiennej i numer zmiennej,
przykładowo %M1 lub %I9. Drugi sposób to opis skrócony tzn. zawierający numer zmiennej i jej
rodzaj np. 1M lub 9I. Po zakończeniu wpisywania opisu należy nacisnąć klawisz Enter w celu
zatwierdzenia opisu. Podane przykłady spowodowałyby wprowadzenie opisów odpowiednio
%M0001 i %I0009.
Okno edycyjne
Wprowadzanie stałych polega na wpisaniu ich wartości np. wpisanie 1000 i naciśnięcie przycisku
Enter spowoduje wprowadzenie opisu CONST 1000.
Po wprowadzeniu opisu elementu logicznego, kursor zostaje przeniesiony do następnego elementu.
Ponieważ kursor przenoszony jest w prawo i w dół najwygodniej jest rozpocząć opisywanie
elementów od lewego górnego rogu.
Wprowadzanie parametrów bloków funkcyjnych (podstawy czasowe,
rejestry, długości, typy danych) Wprowadzanie parametrów bloków logicznych odbywa się w inny sposób niż wprowadzanie opisów
innych elementów. Parametry bloków wprowadzane w ten sposób to typ danych bloku funkcyjnego,
stałe czasowe dla timerów, adres bloku funkcyjnego stosowany przy timerach i licznikach, a także
parametr LEN, który towarzyszy blokom funkcyjnym operującym na słowach bitowych.
Do tego zdania wykorzystywane jest okno Parametry, które można wywołać naciskając przycisk
oznaczony literą T z paska narzędziowego. W oknie automatycznie uwzględniany jest rodzaj
wprowadzanych danych w bloku. Po naprowadzeniu kursorem na tę część bloku, która zawiera
wprowadzany parametr, okno Parametry jest tak przystosowywane, aby użytkownik mógł
wprowadzić tylko te elementy, które dotyczą fragmentu bloku, na którym znajduje się kursor.
Komentarze Komentarze nie są wymaganym elementem programu sterującego, jednak
ich stosowanie ułatwia analizę programu. Komentarze w programie
Symulator! mogą być tworzone w komórkach zawierających elementy
logiczne. Aby zamieścić w komórce komentarz należy naprowadzić kursor
nad tą komórkę i szybko dwukrotnie nacisnąć lewy przycisk myszki. Po
wykonaniu tej czynności powinno ukazać się okno Opis. Okno to zawiera
trzy linie edycyjne w które można wprowadzać tekst. Po naciśnięciu
klawisza OK. tekst zostaje wpisany w komórkę. Zmiana położenia kursora
umożliwia wpisywanie tekstu w innych komórkach. W przypadku gdy
kursor został naprowadzony na komórkę w której znajdował się opis treść
tego opisu pojawia się w liniach edycyjnych okna Opis, gdzie może być
usunięta lub zmodyfikowana.
Translacja Faza translacji programu powoduje konwersję programu sterującego wprowadzonego przez
użytkownika z postaci drabinkowej na postać listy instrukcji. Program w postaci drabinkowej
pobierany jest z edytora i po dokonaniu konwersji ładowany do symulatora. Przed dokonaniem
konwersji program jest dokładnie sprawdzany w pod względem poprawności.
Faza translacji może zostać wywołana przez użytkownika na trzy sposoby. Wszystkie trzy sposoby
uaktywniane są przez naciśnięcie przycisku albo wybranie funkcji z menu. Na rysunku
przedstawione są przyciski uaktywniające funkcje sprawdzające połączenia. Odpowiadające im
polecenia menu można znaleźć w menu Program: Testuj program, Lista instrukcji i Uruchom
program.
Wywołanie podanych funkcji czy to przez naciśnięcie odpowiedniego przycisku czy wybranie funkcji z
menu powoduje rozpoczęcie analizy programu. W przypadku błędu w programie każda z wywołanych
funkcji wyświetli komunikat o błędzie zawierający numer błędu jego opis i lokalizację.
Natomiast w przypadku, gdy program wprowadzony przez użytkownika posiada postać akceptowalną
przez procedury do analizy programu, dalsze działanie programu Symulator! zależy od wywołanej
funkcji. W przypadku funkcji Testuj program wyświetlane jest okno potwierdzające poprawność
programu. W przypadku wywołania funkcji Lista instrukcji wywoływane jest okno zawierające postać
programu w postaci listy instrukcji. Po pojawieniu się okna użytkownikowi prezentowana jest lista
instrukcji w postaci tekstowej. Po naciśnięciu przycisku `Inna postać' możemy zapoznać się z listą
instrukcji w postaci liczbowej. Wywołanie funkcji Uruchom program po sprawdzeniu programu
wywołuje bezpośrednio okno symulatora.
Symulacja Po uruchomieniu symulatora użytkownik obserwuje okno symulatora. W oknie tym można
zaobserwować podział ekranu za pomocą pionowej linii na dwie części. Część po prawej stronie to
obszar programatora, natomiast obszar po lewej stronie to część sterownika.
Opis rozpoczniemy od części programatora. Zasadniczo jest ona wykorzystana do dwóch zadań.
Pierwsze to prezentowanie stanu zmiennych sterownika. Tabela przedstawiająca numer zmiennej i
jej wartość zawiera aktualnej wartości zmiennych sterownika. Grupa przycisków pod nazwą `Rodzaj
zmiennej' pozwala użytkownikowi określić rodzaj wyświetlanych zmiennych, natomiast grupa
przycisków pod nazwą `Typ danych' określa w jakiej postaci zmienne są wyświetlane. W przypadku,
gdy zmienna nie jest widoczna w tabeli ze względu na wysoki adres, można sprawdzić jej zawartość,
wpisując jej adres do pola edycyjnego opisanego `adres startowy'. Obok tego pola znajduje się
wartość maksymalnej zmiennej aktualnego typu.
Drugim zadaniem programatora jest zadawanie trybu pracy sterownika. Do tego celu przeznaczony
jest przycisk, na którym w chwili startu programu wyświetlony jest napis `RUN'. Napis na przycisku
zawsze oznacza tryb pracy jaki zostanie narzucony sterownikowi po naciśnięciu tego przycisku.
Kolejne tryby to STOP I/O SCAN i STOP NO I/O. Po wybraniu tego ostatniego na przycisku pojawi się
ponownie napis RUN, gdyż symulowane są te trzy tryby i ich wywołania zapętlone.
W części sterownika można zauważyć u dołu ekranu, wypisany dużymi literami napis informujący o
aktualnym trybie pracy sterownika. W górnej części po lewej stronie, znajdują się wejścia dyskretne
sterownika. Są one pogrupowane w dwie serie, po osiem wejść. Na prawo od wejść znajdują się
wyjścia binarne pogrupowane w taki sam sposób. Ustawianie wejść dyskretnych w stan dokonuje się
poprzez ustawienie kursora nad elementem symulującym wejście i naciśnięcie lewego klawisza
myszki. Ponowienie tej operacji spowoduje przywrócenie stanu niskiego.
Pod wejściami i wyjściami dyskretnymi znajdują się 2 wejścia i 2 wyjścia analogowe. Powyżej znajdują
się wejścia binarne, których wartość może ustawiać użytkownik, poniżej znajdują się wyjścia, które
ustawiane są na postawie programu sterującego. Ustawianie wejść analogowych może się odbywać
na dwa sposoby. Pierwszy to przesuwanie suwakiem, drugie to wpisanie wartości w pole edycyjne
znajdujące się obok suwaka. Pole edycyjne i suwak są sprzężone i wprowadzenie wartości za pomocą
jednego z tych elementów powoduje uaktualnienie tej wartości w drugim elemencie.
Bezpośrednio po uruchomieniu symulatora znajduje się on w trybie STOP NO I/O i posiada wszystkie
wejścia i wyjścia w stanie niskim. Po naciśnięciu przycisku wymuszającym zmianę trybu pracy
symulatora, (znajdującym się w sekcji programatora) symulator przechodzi do trybu RUN i
rozpoczyna wykonywanie programu sterującego. Odpowiednio zadając stany wejść i obserwując
stany wyjść można przeanalizować działanie programu sterującego. Po zakończeniu fazy testów
można zaobserwować wpływ zmiany trybu pracy na stan zmiennych - różnicę pomiędzy zmiennymi z
podtrzymaniem i tymi bez podtrzymania, oraz różnicę praktyczną pomiędzy trybem STOP I/O SCAN i
STOP NO I/O.
Współpraca programu Symulator! z innymi aplikacjami Program Symulator! jest przeznaczony do współpracy z innymi aplikacjami systemu Windows za
pomocą protokołu DDE. Program Symulator! jest klientem DDE może więc współpracować z
aplikacjami typu DDE Serwer. Przykładami takich aplikacji, są arkusz kalkulacyjny Microsoft Excel czy
program wizualizacyjny InTouch.
Aby skorzystać z dynamicznej wymiany danych między dwiema aplikacjami, trzeba otworzyć między
nimi kanał DDE. Do otwarcia tego kanału potrzebne są trzy rzeczy: aplikacja, temat i detal. Znaczenie
tych trzech terminów zleży od aplikacji, z którą próbujemy się połączyć, oraz od sposobu, w jaki
korzysta ona z danych. Termin aplikacja, oznacza nazwę aplikacji serwera, z którą chcemy się
komunikować. Nazwy aplikacji zdolnych do zakładania połączeń DDE są rejestrowane przez system
Windows. Nazwy aplikacji niekoniecznie muszą się pokrywać z nazwami wyświetlanymi w oknie
Menedżera programów. Termin temat (ang. Topic) oznacza prawie zawsze nazwę dokumentu, który
zawiera dane stanowiące przedmiot transmisji, a detal (ang. Item) oznacza logiczny element tego
dokumentu. W przypadku arkusza MS Excel tematem jest dokument, a detalem zakres komórek. W
przypadku programu InTouch, tematem jest zbiór zmiennych, reprezentowanych przez słowo
`tagname', natomiast detalem nazwa zmiennej typu I/O.
Połączenia DDE występują w dwóch wersjach: ręcznej i automatycznej. Zastosowane w programie
Symulator! łącze DDE jest wykonane w wersji ręcznej. Użytkownik musi zainicjować połączenie
pomiędzy programami. Aby tego dokonać musi nacisnąć przycisk oznaczony DDE i wypełnić pola
dialogowe na karcie połączenia DDE, podając niezbędne opisywane już parametry - aplikację serwer
DDE, temat i detal. Po wpisaniu tych danych należy nacisnąć przycisk `Połącz'. Po chwili zostanie
wyświetlona informacja czy połączenie się powiodło. Aby połączenie się powiodło, aplikacja serwera
musi być uruchomiona i posiadać atrybuty podane w opisie. W przypadku udanego połączenia,
dostępny dla użytkownika staje się przycisk `OK', który zamyka okno parametrów połączenia DDE i
uruchamia symulator. Po uruchomieniu symulatora, aplikacja Symulator! wymienia dane z serwerem
DDE.
Program Symulator! przez kanały DDE komunikuje się z inną aplikacją pobierając dane przekazywane
na wejścia i wysyłając dane pochodzące z wyjść symulatora. Wysyłane dane przekazane z wyjść
symulatora zgrupowane są w trzy liczby. Dwie liczby opisują stan wyjść analogowych, natomiast
trzecia liczba stan wyjść dyskretnych. Dane zapisane są w naturalnym kodzie binarnym. Przykładowo,
gdy ustawione jest wyjście 2 i 5 to przesyłana liczba wyniesie 10010 binarnie, czyli 18 dziesiętnie.
Taka sama sytuacja jest z pobieraniem danych wejściowych. Pobierane są trzy liczby, z których dwie
przekazane są na wejścia analogowe, natomiast trzecia po rozkodowaniu opisuje stan wejść
dyskretnych. Przykładowo, gdy liczba opisująca wejścia dyskretne wynosi 34789, to binarnie wynosi
ona 1000011111100101 i taki będzie stan wejść, czyli w stanie wysokim będą wejścia 16, 11, 10, 9, 8,
7, 6, 3 i 1.
Współpraca Symulator! z MS Excel
MS Excel InTouch Matlab
Service/Application Excel View MATLAB
Topic Arkusz1 - nazwa arkusza Tagnames Engine
Item W1K1 - adres komórki arkusza
zmienna z Tagname Dictionary
zmienna z Workspace
Uwaga, aby włączyć wymianę DDE w nowszych wersjach Matlaba niezbędna jest komenda:
system_dependent('EnableDDE',1)