Informator techniczny Wonderware 053


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. e-mail: wonderware1@astor.com.pl
tel.: 012 428-63-30
Dział Oprogramowania Przemysłowego http://www.astor.com.pl
fax: 012 428-63-09
ul. Smoleńsk 29, 31-112 Kraków
W trybie składowania należy wybrać opcję Not Stored  IndustrialSQL Server nie będzie składował tej
zmiennej.
Należy znalezć 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
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
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
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
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
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
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
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
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
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
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 odnalezć
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
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 Wonderware2
Informator techniczny Wonderware5
Informator techniczny Wonderware1
Informator techniczny Wonderware0
Informator techniczny Wonderware1
Informator techniczny Wonderware6
Informator techniczny Wonderware1
Informator techniczny Wonderware0
Informator techniczny Wonderware6
Informator techniczny Wonderware0
Informator techniczny Wonderware4
Informator techniczny Wonderware9
Informator techniczny Wonderware0
Informator techniczny Wonderware6
Informator techniczny Wonderware9
Informator techniczny Wonderware9
Informator techniczny Wonderware2
Informator techniczny Wonderware9
Informator techniczny Wonderware7
Informator techniczny Wonderware4

więcej podobnych podstron