Witamy

>> Pomoc dla użytkowników systemu asix - wersji 6

www.asix.com.pl

Przebiegi wzorcowe

Dok. Nr PLH6007

Wersja: 29-01-2010


1 Przebiegi wzorcowe

Aktualnie system asix oferuje znacznie rozszerzone możliwości w zakresie przebiegów wzorcowych:

  • program dialogowej edycji przebiegów wzorcowych PEdit,

  • możliwość automatycznej zmiany punktu zaczepienia początku wzorca na wykresie,

  • możliwość przechowywania punktu zaczepienia wzorca, także po restarcie asix’a;

  • przeniesienie funkcjonalności krzywych wzorcowych ze środowiska BDE/Paradox do MS SQL, włączając w to:

  • archiwum P w programie Aspad (biblioteka AsSQL w wersji 6.06.002),

  • edytor krzywych wzorcowych PEdit w wersji 2.00.000,

  • bibliotekę Automation PSelect dla skryptów w wersji 2.00.000;

  • wprowadzenie automatycznej redundancji krzywych wzorcowych na wielu serwerach;

  • warstwa dialogowa umożliwiająca wykorzystanie typowych stylów;

  • obsługa trzech języków: polskiego, angielskiego oraz rosyjskiego.

Ponadto ASKOM oferuje rozwiązania oparte na skryptach, uzupełnionych dodatkowym programem PSelect. Pozwalają one na:

  • ręczny wybór krzywej wzorcowej,

  • automatyczny wybór krzywej wzorcowej,

  • transfer wybranej krzywej wzorcowej do sterownika, gdzie może być wykorzystana do sterowania.

Przebiegi wzorcowe traktowane jako dodatkowy typ archiwum tylko do odczytu, oznaczany literą P.

Dane wzorców przechowywane są w bazie danych w sposób analogiczny do archiwum B. Wzorce najlepiej przechowywać w osobnej bazie danych, traktowanej jako odrębny zasób programu ASPAD. Jest możliwe umieszczenie archiwum B i P w tej samej bazie danych, niemniej rozwiązanie to nie jest zalecane.

Przygotowanie wzorców umożliwia Edytor Przebiegów Wzorcowych PEdit. Jest to program, który umożliwia tworzenie bazy danych, dodawanie i usuwanie wzorców, edycję łamanej reprezentującej wzorzec, a także import i eksport do plików tekstowych w formacie CSV (wartości oddzielone przecinkami).

UWAGA Krzywe wzorcowe obsługiwane były dotychczas w środowisku BDE/Paradox. W nowych wersjach pakietu asix krzywe wzorcowe mogą być przechowywane w bazie MS SQL i od tej pory jest to preferowany sposób przechowywania wzorców (patrz: 5. Krzywe wzorcowe w bazie SQL Krzywe_wzorcowe_w_bazie_SQL).


2 Edytor Przebiegów Wzorcowych PEdit

Program ASPAD udostępnia możliwość korzystania z przebiegów wzorcowych (dalej nazywanych w skrócie wzorcami). Są one traktowane jako dodatkowy typ archiwum tylko do odczytu oznaczanej literą P.

Dane wzorców są przechowywane w bazie danych analogicznej do archiwum B. Wzorce najlepiej umieścić w osobnej bazie danych, traktowanej jako odrębny zasób programu ASPAD. Jest możliwe umieszczenie archiwum B i P w tej samej bazie danych, ale nie jest to zalecane.

Przygotowanie wzorców umożliwia Edytor Przebiegów Wzorcowych PEdit. Jest to program, który umożliwia tworzenie bazy danych, dodawanie i usuwanie wzorców, edycję łamanej reprezentującej wzorzec, a także import i eksport do plików tekstowych w formacie CSV (wartości oddzielone przecinkami).

Wygląd głównego okna programu przedstawiono na rysunku.

Po lewej stronie znajduje się lista przebiegów wzorcowych z aktualnie wybranej bazy danych. Aktualnie wybrany przebieg przedstawiony jest z prawej strony w formie tabelarycznej, a u dołu w formie wykresu.

Fragment wykresu można powiększyć przez jego zaznaczenie przy pomocy myszki. Powrót do wyświetlania całego przebiegu następuje po podwójnym kliknięciu w polu wykresu.

Wskazanie punktu przebiegu wzorcowego na wykresie powoduje jego selekcję w tabeli.

Poszczególne akcje programu można uruchamiać za pomocą menu, menu kontekstowego, przez naciśnięcie odpowiedniego przycisku lub przy pomocy klawiszy skrótu.

Program PEdit można uruchomić z opcją -R<nazwa_zasobu>, która powoduje odświeżenie cache BDE dla danego zasobu archiwum wzorcowego na danym komputerze. Będą wówczas widoczne zmiany dokonane we wzorcu na innych komputerach w sieci.


2.1 Wybór bazy danych

Wyboru bazy danych można dokonać albo przez wybór nazwy jednej z istniejących baz danych na liście po lewej stronie paska narzędzi głównego okna programu, albo przez wybór kartoteki, w której znajduje się baza danych, po naciśnięciu klawisza [image] w głównym oknie programu.

Jeżeli baza danych jeszcze nie istnieje, to należy ją najpierw utworzyć.


2.2 Tworzenie bazy danych

Nową bazę danych można utworzyć uruchamiając akcję Pliki – Nowa baza danych z menu lub naciskając klawisz [image].

Program zapyta o nazwę bazy danych i jej lokalizację.

Nazwa powinna być zgodna z przyszłą nazwą zasobu, pod jaką będzie widoczna w programie ASPAD.

Ścieżkę można wpisać bezpośrednio w polu edycji lub wybrać za pomocą okna dialogowego uruchamianego klawiszem [image]. W oknie dialogowym należy wybrać odpowiednią kartotekę dysku i ją zaakceptować.

Jeżeli kartoteka jeszcze nie istnieje, to można utworzyć ją z poziomu okna wybory kartoteki. W tym celu należy wskazać kartotekę nadrzędną i nacisnąć przycisk Nowy folder lub nacisnąć klawisz Ins. W pojawiającym się oknie wpisać nazwę nowej kartoteki. Po jej utworzeniu należy ją wskazać w oknie drzewa folderów i zatwierdzić wybór.

W oknie drzewa folderów można też wykonać inne operacje, np. usuwać lub zmieniać nazwy kartotek.


2.3 Eksport wzorców do pliku tekstowego

Wszystkie wzorce z otwartej bazy danych można wyeksportować do pliku tekstowego w formacie CSV (wartości oddzielone przecinkami). Takie pliki można później łatwo przechowywać, przenosić między komputerami oraz importować do bazy danych.

Aby wyeksportować wzorce do pliku należy wywołać akcję menu Pliki – Eksport do pliku CSV lub nacisnąć przycisk [image]. Pojawi się okno wyboru pliku, w którym należy wybrać kartotekę, gdzie ma być zapisany plik i podać jego nazwę. Po zaakceptowaniu wyboru zostanie wygenerowany plik z rozszerzeniem CSV, który będzie zawierał informacje niezbędne do odtworzenia wszystkich wzorców zawartych w aktualnie otwartej bazie danych.


2.4 Import wzorców z pliku tekstowego

Wzorce można importować z pliku tekstowego w formacie CSV (wartości oddzielone przecinkami) do aktualnie otwartej bazy danych. Pliki CSV muszą być wcześniej wyeksportowane lub muszą mieć format zgodny z danymi dla programu PGen (poprzednia wersja generatora przebiegów wzorcowych).

Aby zaimportować wzorce z pliku należy wywołać akcję menu Pliki – Import z pliku CSV lub nacisnąć przycisk [image]. Pojawi się okno wyboru pliku, w którym należy wybrać plik, z którego mają zostać zaimportowane wzorce. Po zaakceptowaniu wyboru wzorce z pliku CSV zostaną wpisane do bazy danych. Jeżeli wcześniej w bazie danych istniały wzorce o nazwach identycznych z importowanymi, to zostaną one zastąpione nowymi przebiegami.


2.5 Dodawanie wzorca

Aby dodać nowy wzorzec do bazy danych należy wykonać jedną z następujących akcji:

  • z menu głównego wybrać Edycja – Dodaj,

  • z menu kontekstowego listy wzorców wybrać Dodaj,

  • po wybraniu listy wzorców nacisnąć klawisz Ins,

  • nacisnąć przycisk [image].

W oknie edycji przebiegu należy zaprojektować przebieg i zapisać go pod nową nazwą.


2.6 Usuwanie wzorca

Aby usunąć wzorzec z bazy danych należy wykonać jedną z następujących akcji:

  • z menu głównego wybrać Edycja – Usuń,

  • z menu kontekstowego listy wzorców wybrać Usuń,

  • po wybraniu listy wzorców nacisnąć klawisz Del,

  • nacisnąć przycisk [image].

Po potwierdzeniu wzorzec zostanie usunięty.


2.7 Edycja wzorca

Aby zmienić istniejący wzorzec należy go wybrać na liście wzorców, a następnie wykonać jedną z następujących akcji:

  • z menu głównego wybrać Edycja – Zmień,

  • z menu kontekstowego listy wzorców wybrać Zmień,

  • po wybraniu listy wzorców nacisnąć klawisz Enter lub Spacja,

  • nacisnąć przycisk [image],

  • podwójnie kliknąć na wybranym wzorcu.

W oknie edycji przebiegu należy dokonać zmian w przebiegu i zapisać go pod starą lub nową nazwą. Zmiana nazwy wzorca spowoduje dodanie nowego wzorca i pozostawia stary wzorzec pod starą nazwą.


2.8 Okno edycji przebiegu wzorcowego

Projektowanie nowego przebiegu wzorcowego lub zmiana istniejącego odbywa się w oknie edycji przedstawionym na rysunku.

W nagłówku okna pojawia się nazwa przebiegu poddanego edycji, po lewej stronie wymienione są punkty przebiegu w postaci tabelarycznej, a po prawej w formie wykresu.

Przebieg wzorcowy można zmieniać wybierając punkt przebiegu w tabelce lub wskazując go na wykresie i wykonując dla niego jedną z 3 operacji:

  • dodawanie nowego punktu przed wskazanym przez naciśnięcie klawisza Ins lub przycisku [image],

  • usuwanie punktu przez naciśnięcie klawisza Del lub przycisku [image],

  • zmiana parametrów punktu przez naciśnięcie klawisza Spacja lub przycisku [image] lub podwójne kliknięcie na wybranym punkcie w tabeli.

Zmiana parametrów punktu, po potwierdzeniu, zawsze spowoduje usunięcie oryginalnego punktu poddanego edycji. Usunięciu może ulec także inny punkt, jeżeli po edycji jego czas będzie identyczny z czasem zmienianego punktu.

Dodawanie nowego punktu przyjmie, jako parametry początkowe edycji, punkt aktualnie wskazywany na liście. Ta operacja także może spowodować usunięcie punktu przebiegu, jeżeli po edycji czas dodawanego punktu będzie identyczny z czasem istniejącego punktu.

Każdą operację można odwrócić naciskając kombinację klawiszy Ctrl-Z lub przycisk [image]. Taką operację można następnie odtworzyć naciskając kombinację klawiszy Ctrl-Y lub przycisk [image].

Można powiększyć fragment wykresu, zaznaczając prostokątny obszar wykresu przy pomocy myszki. Powrót do normalnego wyświetlania jest możliwy po podwójnym kliknięciu na wykresie lub po naciśnięciu przycisku [image].

Wskazanie punktu przebiegu wzorcowego na wykresie powoduje jego selekcję w tabeli.

Po zakończeniu edycji przebieg można zapisać naciskając przycisk [image] lub godząc się na zapis zmian przy zamykaniu okna. Za każdym razem program pyta o nazwę, pod którą należy przebieg zapisać. Pozostawienie starej nazwy spowoduje zamianę starego przebiegu nowym. Zmiana nazwy spowoduje zapis nowego przebiegu z pozostawieniem starego w niezmienionej postaci.

Odległość kolejnych punktów przebiegu nie może być większa niż 1 doba. Jeżeli przy zapisywaniu przebiegu okaże się, że w przygotowanym przebiegu wzorcowym istnieją takie punkty, to program zapyta o zezwolenie na automatyczne wygenerowanie dodatkowych punktów na końcu każdej. Zaprzeczenie spowoduje powrót do edycji. Potwierdzenie wywoła generację dodatkowych punktów na początku każdej doby, wynikających z interpolacji liniowej.


2.9 Okno edycji punktu przebiegu wzorcowego

W przebiegu wzorcowym można dodawać nowe punkty lub zmieniać już istniejące. Operacje te spowodują otwarcie okna edycji punktu przedstawionego na rysunku.

Do edycji dostępne są 3 pola czasu punktu (godziny, minuty i sekundy od początku przebiegu) oraz wartość punktu jako liczba zmiennoprzecinkowa.

W polu minut lub sekund wolno wpisywać liczby od 0 do 59. W polu godzin można podać dowolną liczbę nieujemną (np. 240 dla oznaczenia 10 dni). Akceptacja nowej wartości pól edycyjnych następuje w chwili przejścia do edycji innego pola.

Pole wartości można także wypełnić przez naciśnięcie jednego z przycisków [image], które spowodują przepisanie wartości jednego z punktów określonego w wyświetlanych na szarym tle podpowiedziach. Dostępne podpowiedzi, to oryginalna wartość punktu przed edycją, oraz wyznaczone dla aktualnie określonego czasu wartości poprzedniego, następnego punktu oraz wartość wynikająca z interpolacji liniowej.

Nowy punkt można zatwierdzić naciskając przycisk OK lub klawisz Enter lub odrzucić naciskając przycisk Anuluj lub klawisz Esc.


4.1.1 InstalacjaInstalacja

4.1.1 Instalacja

Program PSelect instalowany jest w trakcie instalacji systemu asix.


4.1.2 Tworzenie obiektu PSelect w

4.1.2 Tworzenie obiektu PSelect w skrypcie

Program PSelect po zarejestrowaniu może być wykorzystany w skryptach. Aby z niego skorzystać, należy utworzyć obiekt PSelect.PselectObj:

Set PSelect = CreateObject("PSelect.PSelectObj")

Dla tak utworzonego obiektu można użyć 2 kolejno opisanych wywołań (Kopiowanie wzorca, Wybór wzorca).


4.1.3 Kopiowanie wzorcaKopiowanie_wzorca

4.1.3 Kopiowanie wzorca

Metoda

PSelect.PatternCopy Resource, Source, Target

dla zasobu ASPAD’a o nazwie zawartej w zmiennej Resource, kopiuje wzorzec o nazwie podanej w zmiennej Source do wzorca o nazwie zawartej w zmiennej Target.

Dla wzorca źródłowego nie musi być zadeklarowana w asix’ie żadna zmienna, a wymagana jest tylko obecność wzorca w bazie danych. Wzorzec wynikowy jest zwykle później wykorzystywany, np. do wyświetlania na wykresie i dlatego należy go zadeklarować dla ASPAD’a jako archiwum typu P. Zmienna nie musi być deklarowana dla ASMEN’a, a jeśli jest, to musi być typu FLOAT.


4.1.4 Wybór wzorcaWybór_wzorca

4.1.4 Wybór wzorca

Metoda

PSelect.PatternSelect Resource, Filter, Name

dla zasobu ASPAD’a o nazwie określonej w Resource, wyświetla okno dialogowe z listą wzorców o nazwach zgodnych z szablonem podanym w zmiennej Filter i pozwala wybrać jedną z nich, a jej nazwę umieszcza w zmiennej Name.

W zmiennej Filter należy podać wyrażenie regularne, np.

"[0-9][0-9][0-9][0-9].*"

pokaże tylko zmienne o nazwach zaczynających się 4 cyframi.

Wyselekcjonowana nazwa wzorca może później zostać użyta np. w metodzie PatternCopy.


4.2.1 Skrypt PattAutSelect.vbsSkrypt_PattAutSelect_vbs

4.2.1 Skrypt PattAutSelect.vbs

Skrypt co pewien czas zmienia czas początku wyświetlanego wzorca. Dzieje się to po wykonaniu instrukcji:

TimeVar.Value = TimeBegin

W obiekcie WYKRES zmienna TimeVar jest zadeklarowana jako zmienna sterująca czasem początku wzorca. TimeBegin jest czasem początku wzorca wyliczonym w skrypcie przy pomocy funkcji:

DateDiff("s", Date1980, DateTime)

Dodatkowo czasami zmieniany jest wyświetlany wzorzec PattAut, który przyjmuje kształt jednego z wzorców istniejących w bazie danych, którego nazwa jest określona w zmiennej Pattern:

PSelect.PatternCopy "PattExample", Pattern, "PattAut"

Tutaj tylko zmienne PattAut i TimeVar muszą być zadeklarowane odpowiednio dla ASPAD’a i ASMEN’a.

Przy zmianie wzorca zmienna TimeVar jest na sekundę zerowana, co powoduje chwilowe wyłączenie wykresu i jego ponowne odrysowanie. W przeciwnym razie zmiana wzorca nie byłaby uwidoczniona na obiekcie WYKRES.


4.2.2 Skrypt PattManuSelect.vbsSkrypt_PattManuSelect_vbs

4.2.2 Skrypt PattManuSelect.vbs

Maska z wykresem dla tego skryptu wyświetla wzorzec z ręcznie ustawianym początkiem. Jest on przechowywany w zmiennej TimeMem, której wartość jest odtwarzana po starcie asix’a. W ten sposób, przerwa w działaniu asix’a nie powoduje zmiany ustawienia wzorca.

Przy dłuższych przerwach skrypt PattAutSelect startując zmienia zawartość zmiennej TimeMem tak, aby wzorzec nie znalazł się poza wykresem.

Na masce znajduje się przycisk, który służy do wyboru kształtu przebiegu wzorcowego. Uruchamia on akcję wywołującą skrypt PattManuSelect. W wywołaniu, do skryptu przekazywana jest nazwa zasobu archiwum wzorcowego i nazwa wzorca, do którego ma być skopiowany wybrany wzorzec. Skrypt z kolei uruchamia program PSelect, umożliwiający operatorowi wybór jednego z wzorców.

Za wybór wzorca odpowiedzialna jest instrukcja:

PSelect.PatternSelect AliasName, NameFilter, SelectedName

a za przepisanie wybranej krzywej pod nazwę określoną w PatternName:

PSelect.PatternCopy AliasName, SelectedName, PatternName

AliasName i SelectedName pobierane są z parametrów przekazanych do skryptu:

Set Parameters = Asix.Script.Parameters

AliasName = Parameters(1)

PatternName = Parameters(2)


4.2.3 Skrypt Wzorzec.vbs

Skrypt Wzorzec.vbs jest dołączony do aplikacji, ale nie jest przez nią wykorzystywany. Służy on do wysyłania wzorca do sterownika, czego aplikacja demonstracyjna nie może wykonać. Może on stanowić podstawę do wykonania podobnego skryptu w rzeczywistej aplikacji. Niżej zostanie opisany sposób działania skryptu.

Parametryzacja ASMENa

Dostęp do obszaru wymiany danych będzie zapewniał ASMEN przez zestaw odpowiednio zadeklarowanych zmiennych, które muszą odpowiadać kolejnym polom struktury określonej w części Oprogramowanie sterownika (patrz: Oprogramowanie sterownika, s.17)Oprogramowanie_sterownika:

  • P_NBR_CURR typu INT,

  • P_TIME typu LONG,

  • P_NBR_PTS typu INT,

  • P_DATA0 - tablica typu FLOAT,

  • P_DATA1 – tablica typu FLOAT,

  • …

Dodatkowo 2 zmienne służą do określenia obiektu, do którego należy wysłać dane:

  • P_OBJECT typu INT,

  • P_SUBOBJ typu INT.

W tablicach P_DATAx będą umieszczane zarówno wartości jak i czasy kolejnych punktów przebiegu. x oznacza kolejne liczby całkowite zaczynając od 0.

Ze względu na możliwości protokołów komunikacyjnych, może nie być możliwe wysłanie wszystkich danych przy pomocy pojedynczej zmiennej tablicowej, stąd konieczność rozbicia całej tablicy na wiele mniejszych zmiennych. Suma wielkości wszystkich zmiennych P_DATAx musi wystarczyć do przesłania największego z przewidywanych wzorców (wzorca o największej liczbie punktów).

Niektóre protokoły komunikacyjne nie obsługują poprawnie przesyłania tablic typu FLOAT. W takim przypadku rozmiar każdej zmiennej należy ustawić na 1.

Parametryzacja ASPADa

Dialogowy wybór przebiegu wiąże się z jego skopiowaniem do wzorca pomocniczego, który jest następnie wysyłany do sterownika i udostępniany do wyświetlania na wykresach. Może być wiele takich wzorców pomocniczych. Każdemu z nich musi być przypisana inna wielkość fizyczna występująca w sterowniku.

Aby wzorce pomocnicze były dostępne w skryptach i na wykresach, należy je zadeklarować w module ASPAD jako przebiegi typu P, w zasobie tylko do odczytu związanym z bazą danych wzorców. Nazwy zmiennych dla tych przebiegów nie muszą być deklarowane w bazie programu ASMEN, a jeżeli chcemy jednak je zadeklarować, to muszą to być zmienne typu FLOAT.

Oryginalne przebiegi, wśród których dokonujemy wyboru nie muszą być zmiennymi ASPAD’a, ani ASMEN’a.

Definicje przebiegów wzorcowych

W bazie danych należy deklarować nowe przebiegi wzorcowe z nazwami w postaci:

Xxxxnazwa

gdzie xxxx jest 4-cyfrową liczbą (np. 0001), a nazwa jest dowolnym tekstem składającym się z maksimum 11 znaków.

Do definiowania przebiegów wzorcowych należy użyć programu PEdit.

Deklaracja akcji operatorskiej

Samo wysyłanie wzorca do sterownika realizowane jest przez skrypt Wzorzec.vbs uruchamiany przy pomocy akcji operatorskiej:

SKRYPT, Wzorzec, Zasób NazwaWzorca Ob Podob //IT:0 //Watek:PSelect //1Plik

Zasób jest nazwą zasobu ASPAD’a.

NazwaWzorca jest nazwą przebiegu wzorcowego do wysłania, do którego będzie skopiowany wybrany przebieg.

Ob i Podob są liczbami określającymi, którego obiektu technologicznego lub wielkości fizycznej dotyczy operacja. Znaczenie tych liczb należy uzgodnić z twórcą programu w sterowniku.

Skrypt Wzorzec.vbs musi być umieszczony w ścieżce masek asix’a.

Oprogramowanie sterownika

W sterowniku do zapisu wzorców służy standardowy format danych pokazany w tabeli:

Wszystkie przebiegi wzorcowe są przekazywane przez wspólny obszar wymiany danych.

Program sterownika śledzi wartość pierwszego słowa tego obszaru i gdy pojawia się tam wartość różna od zera, to na jej podstawie identyfikuje wpisany w nim przebieg i kopiuje go do swoich tablic. Po skopiowaniu wartość pierwszego słowa jest ustawiana na 0.

Po stronie wysyłającej dane dopuszcza się ich wysłanie tylko w przypadku, gdy wartość pierwszego słowa w obszarze wymiany danych jest zerem.

Oprócz określonego wyżej obszaru, w sterowniku należy przygotować dwie liczby typu INT, charakteryzujące obiekt technologiczny lub wielkość fizyczną, której dotyczy operacja wysłania danych.

…


5 Krzywe wzorcowe w bazie SQLKrzywe_wzorcowe_w_bazie_SQL

5 Krzywe wzorcowe w bazie SQL

Edytor krzywych wzorcowych Pedit

Program PEdit w wersji 2.00.000 został rozszerzony o możliwość obsługi baz MS SQL. Tryb pracy jest wybierany ręcznie, przy czym trybem domyślnym jest SQL. Wybrany tryb jest przechowywany w rejestrze Windows i odtwarzany przy następnym starcie programu.

W trybie SQL trzeba podać nazwę serwera i instancji bazy SQL (domyślnie jest to serwer lokalny i instancja bez nazwy) oraz nazwę samej bazy. Ta operacja jest wspierana przez podanie listy dostępnych serwerów oraz listy baz danych dla wybranego serwera (jest to możliwe tylko dla użytkownika o uprawnieniach administratora). Także te parametry są odtwarzane przy następnym starcie programu.

Pozostałe operacje są wykonywane w sposób analogiczny do bazy BDE.[1]

Zmieniono też warstwę dialogową na bazującą na typowych stylach, z możliwością indywidualnego konfigurowania pasków narzędzi.

PEdit 2.00.000 jest też pierwszą 3-językową polsko-angielsko-rosyjską wersją.

Biblioteka Pselect

Biblioteka PSelect 2.00.000 została rozszerzona o możliwość obsługi MS SQL.

Wywołania biblioteki PSelect są interpretowane różnie w zależności od postaci pierwszego parametru. Jeżeli tym parametrem jest tekst nie zaczynający się od znaku ukośnika ‘\’, to wywołanie jest kierowane do archiwum BDE. Jeżeli tekst zaczyna się od znaku ‘\’, to jest interpretowany jako odwołanie do SQL.

W przypadku archiwum SQL pierwszy parametr jest interpretowany na jeden z następujących sposobów:

  1. \\serwer\instancja\baza - pełna ścieżka z podaniem serwera, instancji i bazy,

  2. \\serwer\baza - w domyślnej instancji na zadanym serwerze,

  3. \instancja\baza – w nazwanej instancji na lokalnym serwerze,

  4. \baza – w domyślnej instancji na lokalnym serwerze.

Poza tym PSelect działa identycznie jak w trybie BDE.[2]

Zmieniono też warstwę dialogową na bazującą na typowych stylach, z możliwością indywidualnego konfigurowania pasków narzędzi.

PSelect 2.00.000 jest też pierwszą 3-językową polsko-angielsko-rosyjską wersją.

Redundancja krzywych wzorcowych

Redundancja wzorców jest wykonywana cyklicznie, jak do tej pory w archiwum B SQL. Z zadanym cyklem następuje przepisywanie nowych lub zmienionych wzorców z jednej bazy do drugiej. Przenoszony jest też fakt usunięcia wzorca.

Do określenia synchronizowanych zasobów i cyklu synchronizacji służy deklaracja SYNCHRO w sekcji [ASPAD] pliku INI aplikacji. Jej postać jest taka sama, jak w przypadku archiwum B.

PRZYKŁAD

; Co minutę nowe wzorce z bazy danych WZORCE serwera SERWER2

; mają być kopiowane do bazy danych WZORCE serwera lokalnego.

ARCHIWUM_DO_ODCZYTU=Wzorce0,SQL,SERWER2,WZORCE

ARCHIWUM_DO_ODCZYTU=Wzorce,SQL,,WZORCE

SYNCHRO=Wzorce0,Wzorce,1m

Zasada uzupełniania archiwum wzorców

Zasada uzupełniania danych jest zupełnie inna niż dla archiwum B. W przypadku danych archiwalnych przeglądane są ostatnio zapisane dane w pierwszej bazie i na ich podstawie wypełniane są braki danych w drugim archiwum.

Dla wzorców przeglądane są wszystkie wzorce, które zmieniły się pierwszej bazie od chwili ostatniej synchronizacji (z dokładnością do 10 minut). Te wzorce, w których zmiany nastąpiły później niż w drugiej bazie są do niej kopiowane, usuwając w całości stare dane. Są też kopiowane wszystkie wzorce, których brakuje w drugiej bazie oraz usuwane te, które usunięto z pierwszej bazy.

Z algorytmu wynika, że synchronizowane stacje muszą mieć uzgodniony czas UTC (najczęściej w praktyce oznacza to uzgodniony czas lokalny i identycznie ustawioną strefę czasową).

Konwersja krzywych wzorcowych z BDE na SQL

Nie ma obecnie narzędzia, które pozwoliłoby na bezpośrednią konwersję krzywych wzorcowych z BDE na SQL. Możliwe jest przeprowadzenie takiej operacji w 2 etapach: eksport do pliku CSV z bazy BDE, a następnie import z pliku CSV do bazy SQL.

[1] W samej bazie danych nieco inaczej wyglądają operacje na tablicy ArcInfo (informacje o przebiegu). Przy usuwaniu przebiegu wzorcowego, usuwane są wszystkie punkty przebiegu, ale sam opis w tablicy VarInfo pozostaje, przy czym w polu ArcAttributes wpisywana jest wartość oznaczająca unieważnienie rekordu. Przy zapisie, modyfikacji i kasowaniu wzorca w polu FirstBreak rekordu tablicy VarInfo wpisywany jest czas UTC wykonania ostatniej operacji. Jest to związane z redundancją wzorców w wielu bazach.

[2] Do wewnętrznej implementacji w bazie danych odnoszą się te same uwagi, co do programu PEdit


3 Określenie punktu zaczepienia początku wzorca w obiekcie

3 Określenie punktu zaczepienia początku wzorca w obiekcie WYKRES

Wcześniejsze wersje umożliwiały zaczepienie początku wzorca w ręcznie określanym miejscu na skali czasu. Zamknięcie wykresu i ponowne otwarcie wiązało się z koniecznością ponownego ustalenia punktu zaczepienia.

Obecnie w parametrach krzywej wzorcowej w obiekcie WYKRES można określić zmienną typu DWORD, która będzie wykorzystywana do określania punktu zaczepienia. Wartość zmiennej musi być równa liczbie sekund, które upłynęły od początku 1980 roku (w rzeczywistości ta liczba sekund latem różni się o 3600, gdyż nie uwzględnia zmian czasu na zimowy).

W sytuacji, gdy zmienna pochodzi z kanału fizycznego, takie rozwiązanie pozwala na:

  • automatyczne określenie punktu zaczepienia przez sterownik,

  • informowanie sterownika o zmianie punktu zaczepienia wzorca w obiekcie WYKRES.

Zmienna może też pochodzić z kanału NONE. Wtedy funkcją przeliczającą powinno być NIC_LONG. Umożliwia to:

  • wypracowanie punktu zaczepienia w skrypcie i wstawienie do zmiennej sterującej punktem zaczepienia przebiegu wzorcowego; dzięki temu jego położenie może wynikać z logiki zawartej w skrypcie,

  • zapamiętanie ustawionego w obiekcie WYKRES położenia i jego dalsza interpretacja, np. synchronizacja innych przebiegów wzorcowych na innych wykresach,

  • przechowywanie zmiennej reprezentującej położenie wzorca w archiwum, jako dokumentacji działań operatora,

  • archiwizację położenia z atrybutem ODTWARZAJ, co spowoduje odtworzenie położenia wzorca po restarcie systemu.


4.2 Przykłady skryptówPrzyk_ady_skryptów

4.2 Przykłady skryptów

Aplikacja zwiera 2 maski prezentujące wyniki działania skryptów PattAutSelect.vbs i PattManuSelect.vbs.

Dodatkowo, w głównym katalogu aplikacji znajduje się skrypt Wzorzec.vbs, który jest przykładem użycia skryptu i programu PSelect do wyboru wzorca, przesyłanego następnie do sterownika. Aplikacja nie uruchamia tego skryptu, ponieważ wymaga on dostępu do sterownika przy wykorzystaniu odpowiedniego oprogramowania.


4 Gotowe rozwiązania w zakresie operowania wzorcami

Firma ASKOM oferuje też wypróbowane rozwiązania w zakresie wykorzystania przebiegów wzorcowych. Są one oparte na skryptach, uzupełnionych dodatkowym programem PSelect. Obejmują one:

  • skrypt współpracujący z programem PSelect w celu ręcznego wyboru jednego z wielu wzorców,

  • skrypt współpracujący z programem PSelect w celu automatycznego wyboru jednego z wielu wzorców,

  • transfer wybranego wzorca do sterownika.