instrukcja programu symulator! -(s)- symulatora.pdf · programowania sterowników ge fanuc, a...

14
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

Upload: hoangtuyen

Post on 27-Feb-2019

223 views

Category:

Documents


1 download

TRANSCRIPT

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)