instrukcja_opc-excel.pdf

(400 KB) Pobierz
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
INSTRUKCJA
TWORZENIA
W
PROGRAMIE
MS
EXCEL
PRZYKŁADOWEGO
PLIKU,
SŁUśĄCEGO
DO
PODGLĄDU
AKTUALNYCH WARTOŚĆI ZMIENNYCH (ITEMS) Z STEROWNIKA
PLC FIRMY SIEMENS – SIMATIC S5/S7
1. Pobrać i zainstalować OPC Server firmy Deltalogic (link poniŜej):
http://www.inee.pl/download/software/deltalogic/SetupS7OPCServer.exe
2. Podczas instalacji naleŜy zaznaczyć opcję "S7/S5-OPC-Server–Client Controls"
3. Uruchomić MS-Excel i z menu wybrać Narzędzia > Makro > Edytor Visual Basic lub
wcisnąć Alt+F11
4. W otwartym edytorze, wybrać z menu Tools > References
5. W okienku References wybrać Softing OPC DA Client Controls 3.0
6. Dodać pasek narzędzi: Przybornik formantów
MoŜna to zrobić na dwa sposoby:
a)klikając prawym przyciskiem myszy na górnym panelu (obok menu)
b)z menu wybierając Narzędzia > Dostosuj
7. UŜywając przycisku Więcej formantów (ostatni na dole) z rozwijanej listy wybrać
Softing OpcDataControl 3.0
8. Zostanie utworzony obiekt
9. Klikając prawym przyciskiem myszy na ten obiekt, rozwinąć menu podręczne i
wybrać Obiekt Softing OpcDataControl 3.0 > Properties .
10. W oknie Właściwości w pierwszej zakładce (OPC Source) w polu OPC Server ,
wybrać serwer Deltalogic .
11. Zamknąć okno, klikając OK , utworzyć (narysować) dwa przyciski (korzystając z
przybornika formantów) i zapisać plik na dysku.
12. Podwójne kliknięcie na przycisk spowoduje przejście do edytora, gdzie naleŜy go
zaprogramować.
842781126.007.png 842781126.008.png 842781126.009.png
 
13. Przycisk pierwszy ma słuŜyć do połączenia z serwerem i pobrania wartości
zdefiniowanych zmiennych:
a)najpierw dobrze jest „wyczyścić” pamięć ze starych zmiennych
OPCDataControl1.Items.RemoveAll
b)następnie dodać nowe zmienne
OPCDataControl1.Items.AddItem (0.2/MW10) ‘identyfikator = 0
PowyŜsza instrukcja odnosi się do zmiennej MW10 w sterowniku o adresie równym 2 (Profibus/MPI) i
podłączonym do urządzenia (np. adaptera z serii ACCON-NetLink), który w konfiguracji serwera OPC, w
zakładce Connections , widnieje jako device 0 .
c)pierwsza zmienna otrzymuje identyfikator 0 (zero), druga – 1, trzecia – 2 itd.:
OPCDataControl1.Items.AddItem (0.2/MW10) ‘identyfikator = 0
OPCDataControl1.Items.AddItem (0.3/MW10) ‘identyfikator = 1
OPCDataControl1.Items.AddItem (0.3/M10.7) ‘identyfikator = 2
d)po zadeklarowaniu zmiennych moŜna połączyć się z serwerem
OPCDataControl1.Connect
e)oraz pobrać dane ze sterownika (na razie tylko jeden raz)
Arkusz1.Cells(5, 4).Value = CStr(OPCDataControl1.Items.Item(0).Value)
PowyŜsza instrukcja powoduje zapis wartości zmiennej o identyfikatorze 0 (pierwszej od góry) do komórki
znajdującej się na przecięciu 5-go wiersza i 4-tej kolumny w arkuszu o nazwie Arkusz1
14. Przycisk drugi ma słuŜyć do usunięcia połączenia. W celu jego zaprogramowania
naleŜy z lewej listy rozwijanej w edytorze, wybrać CommandButton2 . Wystarczy
wpisać tylko jedno polecenie:
OPCDataControl1.Disconnect
15. Następnie z tej samej listy , naleŜy wybrać OPCDataControl1 . Utworzone zostanie
zdarzenie OPCDataControl1_OnConnect(), w którym wpisujemy np.:
MsgBox "Połączono"
16. Z drugiej listy rozwijanej (prawej) wybieramy nowe zdarzenia dla obiektu
OPCDataControl1.
Będą to:
OPCDataControl1_OnDataChanged()
OPCDataControl1_OnDisconnect()
842781126.001.png 842781126.002.png
17. W drugim zdarzeniu ( OnDisconnect ) wpisujemy identyczne polecenie jak w pkt.15,
róŜniące się tylko treścią komunikatu:
MsgBox "Rozłączono"
18. Natomiast zdarzenie OPCDataControl1_OnDataChanged() słuŜy do aktualizacji
danych w komórce - pobraniu ze sterownika nowej wartości. Polecenia będą
identyczne jak w pkt. 13. e) - a więc naleŜy je skopiować .
Tak sporządzone makro naleŜy zapisać , ponownie zapisać cały plik na dysku i po
kliknięciu na przycisk pierwszy , po chwili powinien się wyświetlić komunikat o treści z
pkt. 15, a we wskazanych komórkach powinny zmieniać się na bieŜąco wartości
zmiennych, o ile oczywiście zmieniają się w samym sterowniku.
Opracował:
Krzysztof Kuźniarz
INEE Sp. z o.o.
2008
OSTRZEśENIE
Niniejsza instrukcja stanowi wartość intelektualną INEE Sp. z o.o.
Jej uŜycie w celach innych, niŜ testowych, a zwłaszcza w celach komercyjnych lub
przekazywanie jako własnej, jest bezprawne. Dopuszcza się rozpowszechnianie i
publikowanie tego dokumentu, ale jest to moŜliwe tylko i wyłącznie po uzyskaniu uprzedniej
zgody firmy INEE oraz pod warunkiem, iŜ treść jest przekazywana i publikowana w całości i
w niezmienionej formie.
Niniejsze ostrzeŜenie stanowi równieŜ integralną i nierozłączną część niniejszej instrukcji.
842781126.003.png 842781126.004.png
PoniŜej przykład gotowego makra, które moŜna skopiować i stosować do monitoringu
własnych zmiennych, po zdefiniowaniu ich w sposób jaki przedstawiono powyŜej.
UWAGA!
NIE naleŜy kopiować linii zaznaczonych kolorem niebieskim . Linie te zostaną wygenerowane przez edytor VB
automatycznie po wykonaniu czynności z pkt. 12, 14, 15 i 16. Następnie do kaŜdego zdarzenia (pomiędzy
niebieskie linie w edytorze), naleŜy wkleić odpowiednio skopiowane fragmenty z poniŜszego przykładu.
Private Sub CommandButton1_Click()
'usunięcie starych zmiennych
OPCDataControl1.Items.RemoveAll
‘dodanie zmiennej M100.0 ze sterownika o adresie 2 (PLC no.) podłączonego do urządzenia o identyfikatorze 0 (device)
OPCDataControl1.Items.AddItem ("0.2/M100.0")
‘dodanie zmiennej M100.0 ze sterownika, dla którego zdefiniowane połączenie w serwerze OPC ma nazwę „ster1”
OPCDataControl1.Items.AddItem ("ster1/M100.0")
‘dodanie zmiennej M100.0 ze sterownika, dla którego zdefiniowane połączenie w serwerze OPC ma status „Primary
connection”
OPCDataControl1.Items.AddItem ("M100.0")
‘ustanowienie połączenia z serwerem OPC
OPCDataControl1.Connect
‘pobieranie wartości kolejnych zmiennych i wyświetlenie w poszczególnych komórkach
Arkusz1.Cells(5, 4).Value = CStr(OPCDataControl1.Items.Item(0).Value) ‘5 wiersz, 4 kolumna, zmienna 0.2/M100.0
Arkusz1.Cells(6, 4).Value = CStr(OPCDataControl1.Items.Item(1).Value) ‘6 wiersz, 4 kolumna, zmienna ster1/M100.0
Arkusz1.Cells(7, 4).Value = CStr(OPCDataControl1.Items.Item(2).Value) ‘7 wiersz, 4 kolumna, zmienna M100.0
End Sub
Private Sub CommandButton2_Click()
‘zamknięcię połączenia z serwerem
OPCDataControl1.Disconnect
End Sub
Private Sub OPCDataControl1_OnConnect()
‘komunikat, wyświetlany gdy połączenie zostanie ustanowione
MsgBox "Połączono"
End Sub
Private Sub OPCDataControl1_OnDataChanged(ByVal bOkay As Integer, ByVal ChangedItems As
SoftingAxC.OPCDataItems)
‘aktualizacja wartości zmiennych w komórkach (aktualizacja, gdy zmiana wartości w sterowniku)
Arkusz1.Cells(5, 4).Value = CStr(OPCDataControl1.Items.Item(0).Value)
Arkusz1.Cells(6, 4).Value = CStr(OPCDataControl1.Items.Item(1).Value)
Arkusz1.Cells(7, 4).Value = CStr(OPCDataControl1.Items.Item(2).Value)
Arkusz1.Cells(8, 4).Value = CStr(OPCDataControl1.Items.Item(3).Value)
End Sub
Private Sub OPCDataControl1_OnDisconnect()
‘komunikat, wyświetlany gdy połączenie z serwerem zostanie przerwane
MsgBox "Rozłączono"
End Sub
842781126.005.png 842781126.006.png
Zgłoś jeśli naruszono regulamin