Konfiguracja bazy danych w SQL Server Management Studio



Podobne dokumenty
Microsoft Management Console

1. Wywo anie okna logowania skrótem klawiszowym

dbsamples.udl lub przygotowany wcześniej plik dla Excela) i OK,

FAQ: /PL Data: 10/04/2014 Binarna prezentacja graficzna zmiennych archiwalnych WinCC V7.x

Zarządzanie Zasobami by CTI. Instrukcja

Instrukcja programu PControl Powiadowmienia.

InsERT GT Własne COM 1.0

Rozliczenia z NFZ. Ogólne założenia. Spis treści

Spis treści. Rozdział 1 ewyniki. mmedica - INSTR UKC JA UŻYTKO W NIKA

epuap Ogólna instrukcja organizacyjna kroków dla realizacji integracji

OptiMore Importer Rejestru VAT. Instrukcja obsługi programu

SKRÓCONA INSTRUKCJA OBSŁUGI ELEKTRONICZNEGO BIURA OBSŁUGI UCZESTNIKA BADANIA BIEGŁOŚCI

INSTRUKCJA WebPTB 1.0

I. INSTALACJA BAZY DANYCH ORACLE10g EXPRESS EDITION

I. Zakładanie nowego konta użytkownika.

Opis instalacji systemu Intranet Komunikator

enova Workflow Obieg faktury kosztowej

System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy

PRESTASHOP INTEGRATOR XL BY CTI INSTRUKCJA

Konfiguracja historii plików

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

Symfonia Produkcja Instrukcja instalacji. Wersja 2013

INFORMATOR TECHNICZNY WONDERWARE

Opis obsługi systemu Ognivo2 w aplikacji Komornik SQL-VAT

Instalacja. Zawartość. Wyszukiwarka. Instalacja Konfiguracja Uruchomienie i praca z raportem Metody wyszukiwania...

Konfiguracja programu Outlook 2007 do pracy z nowym serwerem poczty (Exchange)

Instrukcja wprowadzania ocen do systemu USOSweb

Kancelaris - Zmiany w wersji 2.50

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce)

Instrukcja pod czenia komputera z systemem Microsoft Windows Vista/7 do sieci PWSZ-FREE-WIFI

Zdalne odnawianie certyfikatów do SWI

VinCent Office. Moduł Drukarki Fiskalnej

Użytkowanie elektronicznego dziennika UONET PLUS.

Oprogramowanie FonTel służy do prezentacji nagranych rozmów oraz zarządzania rejestratorami ( zapoznaj się z rodziną rejestratorów FonTel ).

Instrukcja obsługi platformy zakupowej e-osaa (klient podstawowy)

Globalna struktura rozbudowanego systemu WinCC mo e zawiera w ró nych wariacjach wszystkie powy sze elementy.

PERSON Kraków

Instrukcja pod czenia komputera z systemem Microsoft Windows XP do sieci PWSZ-FREE-WIFI

Komunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji PUT/GET

SINAMICS G120C STARTER. Tworzenie nowego projektu w trybie offline.

Elementy i funkcjonalno

Wtedy wystarczy wybrać właściwego Taga z listy.

Wymiana du ych plików instrukcja dla klientów Grontmij Polska Sp z o. o.

SINAMICS G120C STARTER. Tworzenie nowego projektu w trybie online.

Instrukcja instalacji oraz wykorzystania podpisu cyfrowego

Moduł. Rama 2D suplement do wersji Konstruktora 4.6

Pracownia internetowa w szkole podstawowej (edycja 2004)

Pracownia internetowa w ka dej szkole (edycja 2004/2005)

SpedCust 5 instrukcja instalacji

Konfiguracja po czenia pomi dzy serwerem OPC, a sterownikiem PLC dla sieci Profibus

PS IMAGO 3.0 /// instrukcja instalacji

Firma Informatyczna JazzBIT

Pracownia internetowa w każdej szkole. Opiekun pracowni internetowej SBS 2003 PING

Pracownia internetowa w szkole podstawowej (edycja 2004)

BCS Manager Instrukcja Obsługi

Chmura obliczeniowa. do przechowywania plików online. Anna Walkowiak CEN Koszalin

UWAGA! PRZECZYTAJ NAJPIERW:

Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

INFORMATOR TECHNICZNY WONDERWARE

INFORMATOR TECHNICZNY WONDERWARE. Konfiguracja komputera klienckiego do łączenia się z serwerem IndustrialSQL

Bazy danych II. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Instrukcja Obsługi STRONA PODMIOTOWA BIP

ARAKS FAKTURY Instalujemy program i wystawiamy fakturę krok po kroku, oraz co wyróżnia nasz program od innych. - 1

Instrukcja obsługi. Oprogramowanie SAS 31

Analityka SAP ERP on HANA

emszmal 3: Eksport wyciągów do Subiekt (Su\Re\Ra) nexo (plugin dostępny wraz z dodatkiem Biznes)

Warszawa, r.

Konfiguracja. 1. Stworzenie zmiennych wewnętrznych WinCC

Nowe funkcjonalności

INSTRUKCJA DO PROGRAMU LICZARKA 2000 v 2.56

Tomasz Greszata - Koszalin

A X E S S INSTRUKCJA UŻYTKOWNIKA

Archiwum Prac Dyplomowych

OPNR Obsługa Paczek Na Recepcji Instrukcja obsługi.

Praca na wielu bazach danych część 2. (Wersja 8.1)

INSTRUKCJA Panel administracyjny

emszmal 3: Automatyczne księgowanie przelewów w menedżerze sprzedaży BaseLinker (plugin dostępny w wersji ecommerce)

Konfiguracja współpracy urządzeń mobilnych (bonowników).

INSTALACJA OPROGRAMOWANIA...3 PRZYGOTOWANIE OPROGRAMOWANIA DO PRACY...3 DEFINICJA ZAPYTAŃ DO BAZ DANYCH...11 EKRAN GŁÓWNY...15

MySource Matrix CMS - PROSTY INTERFEJS UŻYTKOWNIKA. INSTRUKCJA ver 1.2

Instrukcja dotycząca generowania klucza dostępowego do Sidoma v8

Instrukcja użytkownika Akademickiego Systemu Archiwizacji Prac dla nauczyciela akademickiego

Logowanie do mobilnego systemu CUI i autoryzacja kodami SMS

Instrukcja obsługi aplikacji Moduł 7 Business Ship Control dla InsERT Subiekt GT

Pierwsze kroki. Krok 1. Uzupełnienie danych własnej firmy

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.

Opis programu EKSoft Rezerwacje

Generowanie kodów NC w środowisku Autodesk Inventor 2014

Opis zmian funkcjonalności platformy E-GIODO wprowadzonych w związku z wprowadzeniem możliwości wysyłania wniosków bez podpisu elektronicznego

Siemens IO-Link. Smart TIA integration of sensors and actuators

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, Warszawa

Zaznaczając checkbox zapamiętaj program zapamięta twoje dane logowania. Wybierz cmentarz z dostępnych na rozwijalnej liście.

Jak usprawnić procesy controllingowe w Firmie? Jak nadać im szerszy kontekst? Nowe zastosowania naszych rozwiązań na przykładach.

Poniżej instrukcja użytkowania platformy

Systemy mikroprocesorowe - projekt

Instrukcja obsługi platformy zakupowej PHU VECTOR SP. Z O.O.

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej

DRUKOWANIE ŚWIADECTW LIBRUS

Transkrypt:

System SCADA WinCC poza wszechstronn funkcjonalno ci zintegrowanych mechanizmów programowych oraz szerok gam modu ów opcjonalnych, posiada równie standardowo wbudowane edytory skryptów u ytkownika daj ce mo liwo nadania aplikacji praktycznie nieograniczonej funkcjonalno ci dost pnej dla u ytkownika ko cowego. Wersja v7.0 w pakiecie podstawowym zawiera kompilator skryptów ANSI C oraz VBA. J zyk programowania C znajduje cz stsze zastosowanie przy aplikacjach u ytkownika s cych zaawansowanym obliczeniom, przetwarzaniu zmiennych procesowych czy obs udze plików zewn trznych. Skrypty Visual Basic z kolei umo liwiaj atwiejszy dost p do obiektów graficznych aplikacji, kontrolek ActiveX czy te wymian informacji z baz danych SQL. Standardowy pakiet konfiguracyjny WinCC umo liwia stworzenie aplikacji Runtime wraz z systemowym archiwum procesowym opartym na bazie danych MS SQL Server. Systemowy mechanizm archiwizacji umo liwia cykliczn b acykliczn archiwizacj numerycznych warto ci procesowych w ilo ci maksymalnie 512 zmiennych. W celu zwi kszenia ilo ci archiwizowanych tagów nale y naby dodatkowy pakiet konfiguracyjny WinCC/Archive. Z drugiej strony - aby aplikacja posiada a mo liwo archiwizacji nie tylko zmiennych liczbowych, ale równie tekstowych (np. nazwa aktualnie zalogowanego ytkownika) - konieczne jest zastosowanie modu u WinCC/User Archive. W celu minimalizacji kosztów aplikacji mo na cz powy szej funkcjonalno ci w stosunkowo atwy sposób zrealizowa r cznie poprzez zintegrowane edytory skryptów ytkownika. Aby to uczyni mo emy stworzy ca kowicie niezale ny zbiór plików istotnych danych procesowych, gdzie zapisywane b warto ci procesowe b informacje o stanie pracy aplikacji czy operatorach, którzy uzyskiwali do niej dost p. Dane takie swobodnie mo emy zapisywa np. w pliku tekstowym b arkuszu kalkulacyjnym MS Excel. Tworzenie takich skryptów zosta o opisane i jest dost pne pod mfaq.10.10. Typowym rodowiskiem archiwizacji danych jest jednak system bazodanowy. Przechowywanie informacji archiwalnych w bazie danych daje szerokie mo liwo ci przegl dana, dost pu oraz analizy nie tylko z poziomu dedykowanego oprogramowania, ale równie bardzo elastycznie poprzez wysy ania zapyta w postaci kwerend z poziomu skryptów u ytkownika lub oprogramowania producentów trzecich. Jednym z bardziej popularnych systemów tego typu jest MS SQL Server. Jest on równie standardowym komponentem odpowiedzialnym za archiwizacj danych w systemie SCADA WinCC v7.0. Niniejszy dokument przedstawia opis konfiguracji bazy danych u ytkownika oraz skryptu VBA daj cego mo liwo odczytu oraz zapisu informacji w niej zawartych. Taka baza danych jest ca kowicie niezale na od bazy danych tworzonej poprzez mechanizmy systemowe WinCC. Przyk adowa konfiguracja odbywa si w nast puj cych krokach: utworzenie nowej bazy danych oraz jej u ytkownika stworzenie przyk adowej tabeli nawi zanie po czenia z MS SQL Server wpisanie danych u ytkownika do tabeli odczyt oraz prezentacja rekordów bazy danych w WinCC Konfiguracja bazy danych w SQL Server Management Studio Spraw pierwszorz dn jest utworzenie bazy danych, w które przechowywane b dane WinCC u ytkownika. Czynno t mo na wykona za pomoc kwerendy wysy anej przez skrypt, jednak e wymagane jest równie za enie u ytkownika oraz nadanie mu odpowiednich uprawnie, tak e ta grupa kroków zostanie wykonana z poziomu oprogramowania przewidzianego do obs ugi bazy danych - SQL Server Management Studio. Doradztwo techniczne: simatic.pl@siemens.com 1

Jest ono integraln cz ci systemu WinCC v7 i jest instalowane automatycznie wraz z baz danych MS SQL Server. Nale y zwróci uwag, i ten komponent programowy nie znajduje si na p ycie instalacyjnej systemu w wersji demonstracyjnej WinCC V7 TRIAL. Aby wykona ustawienia wst pne od strony serwera SQL otwieramy SQL Management Studio i logujemy si przez autoryzacj systemu Windows np. do serwera przeznaczonego systemowo dla potrzeb WinCC. Po zalogowaniu - klikaj c przycisk otwieramy okno kwerend. Wywo uj c poni sze zapytanie tworzymy w systemie ca kowicie now baz, w której przechowywa dziemy nasze dane WinCC: create database MojaBazaDanych Przyciskiem F5 wywo ujemy kwerend. Nale y pami ta, i w SQL Management studio wywo any zostaje kod ca ego zapytania widniej cego w oknie kreatora kwerend, aby wywo tylko cz nale y zaznaczy kursorem myszy interesuj cy nas fragment. Po od wie eniu zak adki Databases - w drzewie projektu powinna widnie nasza baza danych. Kolejn czynno ci, jak nale y wykona jest utworzenie u ytkownika oraz has a danych, którymi b dziemy logowa si do naszej bazy danych. W tym celu w g ównym drzewie projektu serwera SQL rozwijamy zak adk security i klikamy prawym przyciskiem myszy folder Logins. Wybieramy pozycj New Login i spisujemy nazw u ytkownika, np. User_1. Wybieramy równie tryb autoryzacji SQL Server Authentication i wprowadzamy has o, np. Pass_1. Bior c pod uwag, i logowanie odb dzie si z poziomu skryptu warto równie odznaczy domy le opcje: Enforce password expiration oraz User must change password at next login w celu unikni cia dokonywania pó niejszych zmian w programie. Wskazujemy równie domy ln baz danych (MojaBazaDanych) oraz j zyk. Krokiem ko cowym konfiguracji u ytkownika jest nadanie mu odpowiednich uprawnie do zapisu oraz odczytu Doradztwo techniczne: simatic.pl@siemens.com 2

danych aby to uczyni przechodzimy w zak adk User Mapping i dla naszej bazy danych aktywujemy uprawnienia db_datareader oraz db_datawriter. Kolejnym etapem jest wstawienie odpowiednio dostosowanej do naszych potrzeb tabeli, do której ju bezpo rednio b dziemy wpisywa nasze dane z WinCC. Poni sza kwerenda tworzy prost tabel z kolumnami Data_czas, Zmienna_1, Zmienna_2 oraz Nazwa_uzytkownika. use MojaBazaDanych create table MojaTabela ( Data_czas datetime, Zmienna_1 int, Zmienna_2 int, Nazwa_uzytkownika varchar(100) ) Powy sze ustawienia od strony serwera bazy danych s wystarczaj ce w celu wykonania przyk adowej wymiany danych bezpo rednio z projektem WinCC. Nawi zanie po czenia z baz danych SQL Pierwszym krokiem od strony WinCC, a konkretnie od strony wbudowanego edytora VBA jest skonfigurowanie po czenia z baz danych, która zosta a utworzona w powy szych krokach. Wywo anie po czenie mo e odbywa si cyklicznie przez skrypt globalny wraz z dalsz cz ci programu (zapis lub odczyt informacji) lub jednorazowo np. przy klikni ciu przycisku. Poni szy skrypt generuje po czenie pomi dzy edytorem skryptów Visual Basic (WinCC v7) a serwerem MS SQL Server. Dim polaczenie Dim cstring 'utworzenie obiektu interfejsu ADODB* Set polaczenie = CreateObject("ADODB.Connection") 'definiujemy tzw. ci g po czeniowy (connection string) do bazy SQL, 'zawieraj cy dane logowania, które skonfigurowane zosta y 'we wcze niejszych krokach cstring = "Provider=SQLOLEDB;Data Source=KOMPUTER1\WINCC;User Id=User_1;Password=Pass_1" 'otwórz po czenie u ywaj c powy szych parametrów polaczenie.open cstring 'aktywuj domy ln bazd danych, na której b dziemy pracowa polaczenie.defaultdatabase = "MojaBazaDanych" *ADOdb (Active Data Objects DataBase - Obiektowa Baza Danych) to interfejs pozwalaj cy na komunikacj z baz danych. Pozwala on na komunikacj pomi dzy skryptem (np. Visual Basic) a praktycznie dowoln z popularnych baz danych: MySQL, PostgreSQL, Oracle, Interbase, Microsoft SQL Server, Access, FoxPro, Sybase, ODBC i ADO. Program nie czy si bezpo rednio z baz danych, lecz w nie z ADODB, a interfejs komunikuje si z baz danych we ciwy dla niej sposób. Dzi ki temu oprogramowanie mo na przenosi na ró ne serwery baz danych bez zmian w kodzie. Doradztwo techniczne: simatic.pl@siemens.com 3

Zapis danych u ytkownika do bazy danych SQL Kolejny etap to wpisanie dowolnych danych WinCC do utworzonej przez nas bazy danych. Poni szy kod jest bezpo redni kontynuacj punktu poprzedniego. Mo e by on równie wywo ywany cyklicznie - niezale nie od funkcji otwierania oraz zamykania po czenia z baz danych nale y jednak wtedy pami ta o dodatkowej deklaracji obiektu ADODB oraz jego parametrów. Nie stanowi jednak adnego problemu otwieranie oraz zamykanie po czenia z baz danych przy ka dorazowym dodawaniu rekordu danych do naszej tabeli adne dane nie zostan pomini te nawet przy cyklach poni ej sekundy. Nale y jednak mie na uwadze zrównowa enie cyklu zapisywania z ilo ci odczytywanych zmiennych. Przy du ej ilo ci danych system mo e wymaga wyd enia cyklu akwizycji. 'deklaracja zmiennych Dim Zmienna_1, Zmienna_2, UserName Dim kwerenda 'odczyt zmiennych WinCC warto ci liczbowe oraz nazwa aktualnie 'zalogowanego u ytkownika Zmienna_1 = HMIRuntime.SmartTags("Zmienna_1") Zmienna_2 = HMIRuntime.SmartTags("Zmienna_2") UserName = HMIRuntime.SmartTags("@CurrentUserName") 'definicja kwerendy, która zostanie wywo ana po stronie serwera SQL - 'wpisanie rekordu danych do tabeli MojaTabela z onego z warto ci 'zmiennych WinCC wraz ze stemplem czasowym kwerenda = "insert into MojaTabela values(current_timestamp," & Zmienna_1 & "," & Zmienna_2 & ",'" & UserName & "')" 'wykonaj kwerend polaczenie.execute kwerenda Zamkni cie po czenia z baz danych SQL Faz ko cow wpisywania rekordów informacji do bazy danych jest zamkni cie wcze niej utworzonego po czenia poni sz komend. polaczenie.close W celu sprawdzenia aktualnego stanu po czenia mo na wywo oraz wy wietli wynik funkcji zwracaj cej warto 0 po czenie nieaktywne, 1 po czenie aktywne. MsgBox polaczenie.state Zamkni cie po czenie finalizuje nasz skrypt VBA wpisuj cy dane u ytkownika do bazy danych. Na tym etapie mo na sprawdzi czy dane zostaj poprawnie zapisane na serwerze przez narz dzie SQL Server Management Studio. Kolejnym zagadnieniem do rozwi zania jest jednak prezentacja danych u ytkownika bezpo rednio w trybie RT. Doradztwo techniczne: simatic.pl@siemens.com 4

Odczyt oraz prezentacja danych archiwalnych u ytkownika Naturaln kolej rzeczy jest przestawienie zarchiwizowanych danych do wgl du u ytkownika bezpo rednio w trybie RT lub eksportuj c dane do pliku zewn trznego np. TXT lub XLS. Druga mo liwo mo e zosta bardzo atwo zaimplementowana w po czeniu poni szego opisu z informacjami zawartymi w mfaq.10.10. W niniejszym dokumencie skupimy si jednak na prostym mechanizmie prezentacji zarchiwizowanych informacji bezpo rednio na poziomie interfejsu u ytkownika WinCC. W tym celu nale y zastanowi si - w jakiej postaci podgl d danych chcemy udost pni. WinCC obs uguje poza prostymi elementami graficznymi kontrolki ActiveX, WPF lub.net. S to najbardziej popularne elementy s ce wymianie danych pomi dzy aplikacjami. Mo na stworzy w asn kontrolk, b skorzysta z gotowych dost pnych w WinCC lub dostarczonych np. wraz z systemem operacyjnym MS Windows. W naszej konfiguracji skorzystamy z kontrolki ActiveX Microsoft Forms 2.0 ListBox. Element ten s y do prezentowania danych alfanumerycznych w postaci listy b tabeli, w naszym przypadku doskonale nada si do odwzorowania zawarto ci bazy danych SQL. Aby doda ten obiekt do projektu WinCC nale y z poziomu Graphics Designer -> Object Palette -> Controls klikn prawym przyciskiem myszy ActiveX controls -> Add/Remove, a nast pnie na wskazanej li cie odszuka oraz zaznaczy element Microsoft Forms 2.0 ListBox. Po wykonaniu tych czynno ci na li cie kontrolek ActiveX widnie b dzie nowy element, który mo na wstawi na obszar roboczy naszego ekranu procesowego podobnie jak systemowe kontrolki WinCC. Odczytywanie danych zazwyczaj wykonuje si zdarzeniowo, np. przez klikni cie przycisku, tak e równie i w tym przypadku mo emy przypisa nasz skrypt do takiego zdarzenia. Podobnie jak w przypadku zapisu informacji do bazy danych chc c odczyta informacje w pierwszym kroku nale y nawi za po czenie z serwerem danych: Dim polaczenie Dim cstring 'utworzenie obiektu interfejsu ADODB Set polaczenie = CreateObject("ADODB.Connection") 'definiujemy connection string do bazy SQL, zawieraj cy dane 'logowania, które skonfigurowane zosta y we wcze niejszych krokach cstring = "Provider=SQLOLEDB;Data Source=KOMPUTER1\WINCC;User Id=User_1;Password=Pass_1" 'otwórz po czenie u ywaj c powy szych parametrów polaczenie.open cstring 'aktywuj domy ln bazd danych, na której b dziemy pracowa polaczenie.defaultdatabase = "MojaBazaDanych" Kolejnym etapem jest odczyt poprzez zapytanie - w postaci odpowiedniej kwerendy SQL danych wcze niej wpisanych do naszej tabeli w bazie danych. Na tym etapie za my, e chcemy odczyta wszystkie dane, jakie zosta y zarchiwizowane przez u ytkownika. Odczytane rekordy informacji zaprezentujemy w kontrolce ActiveX - Microsoft Forms 2.0 ListBox. Doradztwo techniczne: simatic.pl@siemens.com 5

Dim kwerenda Dim lista Dim dane 'deklaracja kwerendy do bazy danych SQL kwerenda = "select * from MojaTabela" 'wskazanie obiektu ListBox (Control1) Set lista = HMIRuntime.ActiveScreen.ScreenItems.Item("Control1") 'wywo anie kwerendy oraz przepisanie jej wyniku do zmiennj Set dane = polaczenie.execute(kwerenda) 'wczyysc list przed wpisaniem danych lista.clear 'wpisz dane do obiektu ListBox oddziel kolumny znakiem tabulacji While Not dane.eof 'wpisz rekord danych lista.additem dane.fields(0) & vbtab & dane.fields(1) & vbtab & dane.fields(2) & vbtab & dane.fields(3) Wend 'przejd do nast pnego rekordu danych dane.movenext 'Zamknij po czenie z baz danych polaczenie.close Wywo uj c powy szy skrypt otrzymamy prezentacj danych zarchiwizowanych w serwerze SQL. Dane te zaprezentowane s w postaci przewijanej listy z podzia em na kolumny oddzielone znakiem tabulacji. W przypadku wi kszej ilo ci danych warto uzupe ni program o dodatkowe funkcje filtrowania danych. Szerokie mo liwo ci, jakie udost pnia w tym zakresie baza danych SQL daje praktycznie nieograniczone mo liwo ci przeszukiwania danych oraz wy wietlania interesuj cych u ytkownika rekordów. W dalszej cz ci spróbujmy wzbogaci nasz projekt o mo liwo wylistowania danych tylko z okre lonego przedzia u czasu. Odczyt oraz prezentacja danych archiwalnych ze wskazaniem zakresu czasu W pierwszej kolejno ci nale y zastanowi si - w jaki sposób b dziemy wprowadza interesuj cy nas przedzia czasu z poziomu interfejsu u ytkownika. Mo emy zastosowa w tym celu np. pole I/O, do którego czas b dzie wprowadzany w postaci odpowiednio sformatowanej zmiennej typu string. Jest to najprostsza i najpewniejsza metoda, gdy jest to obiekt systemowy WinCC, a warto b dzie zapisywane automatycznie do zmiennej WinCC. Wad mo e by jednak format, którego trzeba si b dzie ci le trzyma. Mo na jednak zastosowa równie kombinacj kilku pól I/O lub pól wyboru, np. ComboBox w celu unikni cia pomy ek. Doradztwo techniczne: simatic.pl@siemens.com 6

Z drugiej strony mo na równie zastosowa kontrolki ActiveX, które na pewno uprosz spraw wyboru, np. daty, aczkolwiek dla ró nych systemów operacyjnych mog pojawi si problemy z kompatybilno ci zewn trznych elementów graficznych. Zadanie sprowadza si do wstawienia dodatkowych obiektów s cych wprowadzaniu ko ca i pocz tku przedzia u czasu, odczytania ich warto ci w skrypcie VBA oraz uwzgl dnienia tych warto ci w kwerendzie, która zostaje wys ana do serwera SQL. Do wprowadzania daty zastosujemy w naszym projekcie kontrolk ActiveX mo e by to np. Formant Kalendarza 12.0 lub Microsoft Date and Time Picker Control v6.0. Kontrolki dodajemy w analogiczny sposób jak w powy szym punkcie. Poni szy skrypt obejmuje pe funkcjonalno odczytu danych ze wskazanego przedzia u czasu oraz wylistowanie ich do wgl du u ytkownika w trybie RT. '---------------------otworz po czenie do bazy danych-------------------- Dim polaczenie Dim cstring 'utworzenie obiektu interfejsu ADODB Set polaczenie = CreateObject("ADODB.Connection") 'definiujemy connection string do bazy SQL, zawieraj cy dane 'logowania, które skonfigurowane zosta y we wcze niejszych krokach cstring = "Provider=SQLOLEDB;Data Source=KOMPUTER1\WINCC;User Id=User_1;Password=Pass_1" 'otwórz po czenie u ywaj c powy szych parametrów polaczenie.open cstring 'aktywuj domy ln bazd danych, na której b dziemy pracowa polaczenie.defaultdatabase = "MojaBazaDanych" '--------------wczytaj oraz wy wietl wybrane rekordy danych--------------- Dim objdatepicker1, objdatepicker2 Dim DateFrom, DateTo Dim kwerenda Dim lista Dim dane 'wskazanie obiektów typu Date and Time Picker (Control2, Control3) Set objdatepicker1 = HMIRuntime.ActiveScreen.ScreenItems.Item("Control2") Set objdatepicker2 = HMIRuntime.ActiveScreen.ScreenItems.Item("Control3") 'odczyt wybranego przedzia u czasu DateFrom = objdatepicker1.value DateTo = objdatepicker2.value 'deklaracja kwerendy do bazy danych SQL kwerenda = "set dateformat ymd Select * from MojaTabela where Data_czas >= '" & DateFrom & "' and Data_czas <= '" & DateTo & "'" 'wskazanie obiektu typu ListBox Set lista = HMIRuntime.ActiveScreen.ScreenItems.Item("Control1") Doradztwo techniczne: simatic.pl@siemens.com 7

'wywo anie kwerendy oraz przepisanie jej wyniku do zmiennj Set dane = polaczenie.execute(kwerenda) 'wczyysc list przed wpisaniem danych lista.clear 'wpisz dane do obiektu ListBox oddziel kolumny znakiem tabulacji While Not dane.eof 'wpisz rekord danych lista.additem dane.fields(0) & vbtab & dane.fields(1) & vbtab & dane.fields(2) & vbtab & dane.fields(3) Wend 'przejd do nast pnego rekordu danych dane.movenext '--------------------zamknij po czenie z baz danych--------------------- polaczenie.close Instrukcja zosta a wykonana w oparciu o WinCC v7.0 SP3, MS SQL Server 2005 oraz system operacyjny Windows 7 64-bit SP1. Doradztwo techniczne: simatic.pl@siemens.com 8