Informator techniczny Wonderware 053

background image


INFORMATOR TECHNICZNY WONDERWARE

Informator Techniczny nr 53
11-04-2002

Używanie ActiveFactory z danymi składowanymi w bazie Microsoft Access


Cel


Celem niniejszego informatora jest pokazanie przykładowego rozwiązania dla zagadnień analiz danych
złożonych w bazie IndustrialSQL Server razem z danym z innych systemów (np. biurowych, analiz
jakości, analiz kosztów itp.).

Przykład


Poniższy przykład polega na stworzeniu w bazie danych IndustrialSQL Server zmiennej nieskładowanej,
której wartości będą zbierane cyklicznie do tablic historii manualnej (ManualAnalogHistory) poprzez
cyklicznie uruchamiany mechanizm DTS (Data Transformation Services) w serwerze Microsoft SQL.

Kroki konfiguracji


Należy uruchomić serwer IndustrialSQL za pomocą programu InSQL Control.
Należy zdefiniować zmienną typu analogowego w programie InSQL Configure, której konfiguracja
została zamieszczona na poniższych rysunkach.

UWAGA! Należy zapamiętać nazwę zdefiniowanej zmiennej.


Dane dotyczące akwizycji mogą być dowolne (najlepiej użyć inne wcześniej skonfigurowane kanały
komunikacyjne i istniejące adresy pamięci, np. komunikacja do nieużywanego rejestru w sterowniku
PLC, z którym już prowadzimy komunikację).

ASTOR Sp. z o.o.
Dział Oprogramowania Przemysłowego
ul. Smoleńsk 29, 31-112 Kraków

tel.: 012 428-63-30
fax: 012 428-63-09

e-mail: wonderware1@astor.com.pl
http://www.astor.com.pl

background image


W trybie składowania należy wybrać opcję Not Stored – IndustrialSQL Server nie będzie składował tej
zmiennej.


Należy znaleźć identyfikator zmiennej, która została zdefiniowana. W tym celu należy z grupy
programów Microsoft SQL Server uruchomić program Query Analizer i zalogować się do serwera InSQL
i do bazy danych Runtime wprowadzić zapytanie SQL:

SELECT wwTagKey FROM Tag

WHERE Tagname = ‘nazwa zdefiniowanej zmiennej’

2

background image

Po uruchomieniu zapytania w dolnym panelu powinien pojawić się efekt w postaci rekordu z wartością
identyfikatora (w przykładzie jest to liczba 103).
Kolejnym krokiem konfiguracji w tym przykładzie jest stworzenie bazy danych Microsoft Access wraz
tablicą, z której dane będą pobierane do bazy IndustrialSQL Server.


W bazie (w przykładzie dts.mdb) należy utworzyć tablicę (w przykładzie nazywa się Dane) o konfiguracji
przedstawionej na poniższych rysunkach (najlepiej jeżeli konfiguracji tabeli w Access pokrywa się z
definicją tabeli ManualAnalogHistory w bazie danych Runtime IndustrialSQL Server’a – powoduje to
uproszczenia przy dalszej konfiguracji DTS).
Ważnym elementem konfiguracji jest właściwość każdego pola o nazwie: Wartość domyślna, którą
trzeba skonfigurować tak jak na rysunkach poniżej:

3

background image


Dla pola DateTime należy ustawić wartość domyślną Now() czyli automatyczne wprowadzanie
bieżącego czasu w momencie wstawiania dowolnego rekordu do tej tabeli.


Dla pola Tagname należy wprowadzić domyślną wartość w postaci nazwy zmiennej, która została
stworzona w InSQL’u.

4

background image


Dla pola Value nie należy wprowadzać żadnej wartości domyślnej (będzie ona wprowadzana przez
użytkownika Access’a z poziomu Formularza - w praktyce tę wartość może przygotowywać kwerenda
lub np. Makro realizujące przeliczenia w programie Access).


Dla pola Quality domyślną wartością powinno być 0 czyli wartość poprawna.

5

background image


Dla pola QualityDetail wartość domyślna to 192 (dane poprawne).


Dla pola wwTagKey wartość domyślna to 103, czyli identyfikator zmiennej w bazie danych IndustrialSQL
Server.

UWAGA! Wartość tego parametru na pewno będzie inna przy samodzielnej realizacji tego przykładu.

Kolejnym krokiem (specyficznym dla tego przykładu) jest stworzenie prostego formularza, za pomocą
którego wprowadzane będą dane to tabeli Dane. W tym celu można użyć kreatora formularzy i wybrać
wszystkie pola tabeli Dane lub tylko pole Value. Na poniższym rysunku przedstawiono przykładowy
formularz, w którym wprowadzono dane (należy zauważyć, że wartości wszystkich pól za wyjątkiem
Value są wprowadzane automatyczne).

6

background image


Po stworzeniu formularza należy za jego pomocą wprowadzić kilka rekordów do tabeli w Access’ie.
Następnym krokiem jest uruchomienie dodatkowej usługi serwera SQL o nazwie SQL Server Agent
odpowiedzialnej za cykliczne uruchamianie na serwerze szeregu czynności. Usługa ta będzie potrzebna
do cyklicznego wciągania danych do tabeli ManualAnalogHistory. W tym celu należy z grupy programów
Microsoft SQL Server uruchomić program Enterprise Manager i rozwinąć drzewo lokalnego serwera
SQL tak jak na rysunku poniżej.
Za pomocą prawego klawisza myszy i wybrania polecenia Start z menu kontekstowego na ikonie SQL
Server Agent należy uruchomić tę usługę. (Aby zautomatyzować jej uruchamianie po każdym restarcie
serwera należy użyć programu SQL Server Service Manager).

7

background image

Kolejnym krokiem jest stworzenie pakietu DTS (Data Transformation Services) odpowiadającego za
import danych z MS Access do MS SQL Server. W tym celu należy z belki narzędziowej wybrać ikonę
Run Wizard lub z menu Tools\Data Transformation Services\polecenie Import Data.


Po zatwierdzeniu pierwszego okna wizarda importu należy określić ścieżkę dostępu do bazy danych
Access oraz nazwę użytkownika – domyślnie jest to Admin bez hasła.

UWAGA! Na ten czas należy zamknąć bazę danych w programie Access.


W kolejnym oknie należy określić docelowe miejsce dla danych, należy tutaj wprowadzić nazwę serwera
SQL (Local lub InSQL lub nazwa komputera, na którym pracuje IndustrialSQL Server) oraz nazwę
użytkownika (wwadmin, sa, lub każdy inny mający prawo wprowadzania danych do tablicy
ManualAnalogHistory). W oknie Database należy wybrać bazę danych Runtime.

8

background image


Następnym krokiem jest określenie sposobu importu danych – należy wybrać opcję „Use a query to
specify the data to transfer”.


W kolejnym oknie - edytorze SQL należy wprowadzić zapytanie SQL w notacji Jet SQL (format Access).
W przykładzie jest to zapytanie pobierające wszystkie rekordy tabeli Dane zapisane w niej w ciągu
ostatniej minuty i posortowane po czasie:

SELECT * FROM Dane

WHERE (Dane.DateTime >= DateAdd(„s”, „-60”, Now()))

ORDER BY Dane.DateTime DESC

9

background image


W kolejnym oknie należy wybrać tabelę, do której będą importowane dane, czyli ManualAnalogHistory w
bazie danych Runtime, tak jak na rysunku poniżej:


Ostatnim krokiem konfiguracji jest określenie czy import ma być uruchomiony w tym momencie (opcja
Run Immediately), czy chcemy zapisać definicję na serwerze (Save DTS Package) oraz czy chcemy aby
import odbywał się automatycznie w określonych momentach w czasie (Schedule DTS package for later
execution).

10

background image


W celu określenia definicji czasowego uruchamiania należy wybrać przycisk z trzem kropkami po prawej
stronie okna i określić odstępy czasu tak jak na rysunku poniżej np. co 1 minutę.


Po powrocie do głównego okna konfiguracji i próbie przejścia dalej powinno pojawić się okno definicji
zapisu pakietu DTS. Należy podać jego nazwę i nazwę serwera oraz nazwę użytkownika serwera
podobnie jak na rysunku poniżej:

11

background image


Po zatwierdzeniu konfiguracji serwer powinien dokonać pierwszego importu i zakończyć go
potwierdzeniem jak na rysunku poniżej:


Od tego momentu co 1 minutę będzie uruchamiany pakiet, który w oparciu o zapytanie SQL pobierze
rekordy z bazy danych Access z ostatniej minuty i wpisze do tabeli ManualAnalogHistory.
Aby podejrzeć efekty można uruchomić z grupy programów ActiveFactory program Trend i odnaleźć
zmienną na liście, dodać do wykresu i wyświetlić zakres czasu, z którego wpisywane były rekordy w
tabeli Dane w programie Access.

12

background image


UWAGA! Powyższe zagadnienie można także rozwiązać poprzez przyłączenie w bazie danych Access
tabeli ManualAnalogHistory z serwera.

13


Wyszukiwarka

Podobne podstrony:
Informator techniczny Wonderware 010
Informator techniczny Wonderware 051
Informator techniczny Wonderware 052
Informator techniczny Wonderware 025
Informator techniczny Wonderware 017
Informator techniczny Wonderware 085
Informator techniczny Wonderware 084
Informator techniczny Wonderware 055
Informator techniczny Wonderware 065
Informator techniczny Wonderware 045
Informator techniczny Wonderware 020
Informator techniczny Wonderware 088
Informator techniczny Wonderware 010
Informator techniczny Wonderware 051
Informator techniczny Wonderware 077
Informator techniczny Wonderware 073
Informator techniczny Wonderware 060

więcej podobnych podstron