background image

 

Technika Napędowa  

MICROMASTER 4

Porady & Wskazówki 

Nr: 0015

 

Temat  

Wymiana danych z komputerem PC przy 
pomocy skryptów Microsoft Visual Basic 

Opis 

Przy pomocy niniejszego opisu przedstawimy użytkownikowi możliwość wymiany danych 
pomiędzy komputerem PC z systemem operacyjnym Windows i przekształtnikami częstotliwości 
z rodzin MICROMASTER 4 i SINAMICS G110. Przy czym transfer danych nie odbywa się przy 
pomocy programów narzędziowych „STARTER“ lub „DriveMonitor“, ponieważ programy te nie 
posiadają interfejsu do  innych programów, jak np. LabView. Opis ten prezentuje sposób 
bezpośredniej wymiany danych pomiędzy programem Windows i przekształtnikiem 
czestotliwości przy pomocy skryptów Microsoft Visual Basic. 

Typową aplikacją jest zautomatyzowane stanowisko testowe, przy którym komputer 
przemysłowy (Industry PC - IPC) jest używany do sterowania regulacji i graficznej prezentacji 
wyników testów. W tym przypadku np. program LabView powinien sterować przekształtnikiem, 
wymieniać z nim dane i odpowiednio do wymagań przetwarzać i prezentować wyniki. 

 

 

M

Stanowisko

testowe

IPC

MICROMASTER

440

 

Sprzężenie

szeregowe

 

Rys. 1.0. 

Budowa przykładowego stanowiska testowego 

Dla tego i podobnych zastosowań rodzi się pytanie o możliwości komunikacyjne pomiędzy 
komputerem PC i przekształtnikiem MICROMASTER 4 ?  

Standardowo wiekszość komputerów PC/ IPC dysponuje portem szeregowym RS232. 
Przekształtniki MICROMASTER 4 (MM420, MM430, MM440) posiadają dwa niezależne porty 
komunikacyjne (złącze BOP – pod panelem obsługi BOP i złącze COM – na listwie zaciskowej), 
natomiast przekształtniki SINAMICS G110 mają do dyspozycji tylko jeden port komunikacyjny. 
Do wyżj wymienionyc przekształtników jako opcje dostępne są zestawy do połaczenia z 
komputerem PC. Taki zestaw jest nakładany w miejsce panela obsługi BOP (złącze BOP) i 

Data 07.2004 

Nr:  0015 

background image

Technika Napędowa, MICROMASTER 4 

Porady & Wskazówki 

moze służyć jako standardowy port szeregowy RS232. W zestawie znajduje się również kabel 
połączeniowy pomiędzy PC i MM4 (Null-Modem RS232 9-SUB). 

Do komunikacji MM4 przez złącze BOP lub COM wykorzystywany jest telegram USS, który jest 
zaimplementowany również w innych rodzinach napędów firmy SIEMENS.  

Dla nawiązania tą drogą komunikacji pomiędzy przekształtnikiem i innymi programami windows 
należy uwzględnić następujące dwa punkty: 

1. Zależnie od używanego języka programowania trzeba posiadać odpowiedni sterownik 

(np. element sterujący ActivX), który może wysyłać i odbierać dane przez port 
szeregowy komputera PC. Program windows (np. LabView) przekazuje sterownikowi 
dane do wysyłki lub sterownik udostępnia odebrane dane dla programu. Zadaniem tego 
sterownika jest tylko przejęcie wymiany danych przez port szeregowy, przy czym 
przenoszone dane nie są sprawdzane przez sterownik! 

2.  Program windows / użytkownika jest odpowiedzialny za zawartość danych 

przekazywanych do sterownika i przetwarzanie odebranych danych. W odniesieniudo 
przekształtnika MM4 oznacza to, że wewnątrz programu musi zostać wygenerowany 
ważny telegram USS, lub program musi odpowiednio przetworzyć dane użytkowe z 
odebranego telegramu USS. Tak więc program jest odpowiedzialny za np. stworzenie 
waznego słowa sterowania, normalizację wartości zadanej lub przekazywanie wartości 
parametrów. 

 

Bardzo łatwą metodą do realizacji dostępu do przekształtnika MM4 przez port szeregowy 
komputera jest użycie elementu sterującego ActivX i programowanie skryptów VB. Możliwość ta 
jest wykorzystywana w przykładowej aplikacji stanowiska testowego wewnątrz platformy 
LabView komputera IPC. 

W niżej przedstawionych przykładowych skryptach VB w ten sam sposób realizowane jest:  

- załączanie / wyłączanie przekształtnika MM4, 

- transfer 

częstotliwości zadanej,  

- odczyt 

wartości dowolnych parametrów.  

Przedstawione tu skrypty VB ograniczają się ważniejszych funkcji i komunikatów jednak w razie 
potrzeby użytkownik może w zalezności od aplikacji wprowadzić odpowiednie zmiany lub 
rozszerzenia skryptów. 

 

Ważne ustawienia parametrów 

Wymaganiem wstępnym dla bezbłędnej komunikacji pomiędzy PC i MICROMASTER 4 / 
SINAMICS G110 jest ustawienie jednakowych paramtrów dla pracy portu szeregowego. 
Konfiguracja portu szeregowego PC (np. COM1, COM2) następuje w przykładowych skryptach 
poprzez wywołanie procedury „Init“. Wewnątrz tej procedury najpierw użytkownik jest pytany o 
numer i szybkość transmisji używanego portu COM. Wszystkie pozostałe parametry portu są 
ustawione na stałe. 
Konfiguracja portu szeregowego przekształtnika MM4 (złącze BOP) odbywa się przez 
odpowiednie ustawienie parametrów przez użytkownika – patrz następująca tabela.  
 
Wskazówka: 
Zaleca się najpierw przywrócić ustawienia fabryczne przekształtnika, a nastepnie przeprowadzić 
szybkie uruchamianie i dopiero potem odpowiednio ustawić dalsze parametry aplikacyjne. 
 

Data 07.2004 

Nr:  0015 

background image

Technika Napędowa, MICROMASTER 4 

Porady & Wskazówki 

Wartość 

parametru 

Znaczenie Wskazówki 

P0700.0 = 4 

P0700: Wybór źródła sterowania 
4: Złącze BOP 

Sygnały sterujace np. ZAŁ/WYŁ1 będą 
podawane przez złącze BOP. Wymagane dla 
skryptu „MM4_sterowanie_napędem“ 

P1000.0 = 4 

P1000: Wybór źródła zadawania częstotliwości 
4: Złącze BOP 

Częstotliwość zadana będzie podawana przez 
złącze BOP. Wymagane dla skryptu 
„MM4_sterowanie_napędem“ 

P2000.0 = 50 

P2000: Częstotliwość odniesienia 
50 Hz = 100% = 4000Hex 

W przykładowych skryptach wartość zadana 
częstoliwości jest normalizowana na 
50Hz=4000Hex. 

P2010.1 = 6 

P2010.1: Szybkość transmisji złącza BOP 
np. 6 = 9600 bps 

Ustala szybkość transmisji dla złącza BOP 
przekształtnika MM4. 

P2011.1=0 

P2011.1: Adres sieciowy USS złącza BOP 
0  

Ustala adres sieciowy USS dla złącza BOP 
przekształtnika MM4. 

P2012.1=2 P2012.1: 

Ilość słów PZD złącza BOP 

2: wysyłanie / odbiór 2 słów PZD 

Ustala ilość słów PZD w telegramie USS dla 
złącza BOP przekształtnika MM4. 

P2013.1=4  

P2013.1: Ilość słów PKW złącza BOP 
4: wysyłanie / odbiór 4 słów PKW 

Dal przykładowych skryptów ilość słów PKW 
telegramu USS należy ustawić na 4. 

P2014.1=0 

P2014.1: Czas kontrolny tel. USS zł. BOP 
0: brak monitoringu 

Ustawienie na 0 deaktywuje monitoring (bo nie 
występuje cykliczna wymiana danych). 

 

Dalsze objaśnienia 

Skrypt Visual Basic 

Język skryptowy VB-Script jest łatwym i ogólnie dostępnym językiem programowania, który 
zawiera pewną część funkcji języka Visual Basic. Jednak przy pomocy VB-Script można 
tworzyć również złożone programy.  

Skrypty VB moga być uruchamiane pod systemem Windows jako normalne pliki wykonywalne 
lub mogą być wykorzystywane wewnatrz innych programów. Wymaganiem dla wykonywania 
skryptów VB jest instalacja Windows-Scripting-Host (WSH V.5.6 lub wyzej). Host WSH nalezy 
obecnie do standardowej instalacji systemów operacyjnych Windows 2000 i XP. Po pomyślnej 
instalacji w katalogu Windows można znaleźć plik „cscript.exe“. Proszę pamiętać, że częściowo 
dla ochrony przed wirusami wykonywanie skryptów VB może być zablokowane. 

W sytemie Windows skrypty mogą być tworzone lub przerabiane przy pomocy prostego edytora 
(np. Notatnik). Dalsze informacje odnośnie rozkazów i składni skryptów VB można zlaeźć w 
pliku pomocy „Script56.CHM“ w archiwum ZIP dołączonym do tego opisu. 

 

Element sterujący ActivX 

Wewnątrz skryptów VB dostęp do portu szeregowego realizowany jest przy pomocy elementu 
sterującego ActiveX. 

Jako element sterujący ActivX wykorzystywana jest 30-dniowa wersja testowa – patrz: 
http://www.activexperts.com/activcomport/ .  

 

Po dopasowaniu skryptów VB można wykorzystać również inne elementy sterujące np. 
Microsoft Object MSComm z pakietu Visual Basic Professional lub wersji Enterprise. 

Data 07.2004 

Nr:  0015 

background image

Technika Napędowa, MICROMASTER 4 

Porady & Wskazówki 

 

Protokół USS 

Protokół USS (Universelles Serielles Schnittstellen-Protokoll) służy do wymiany danych w 
układzie Master-Slave. Pełną specyfikację sieci USS można znaleźć w archiwum ZIP 
dołączonym do tego opisu“.  

 

Następująca ilustracja przedstawia zasadniczą strukturę telegramu USS. 
 
 

n bajtów

danych użytkowych

ADR

STX

LGE

PKW

PZD

BCC

1 Bajt

 

 

Rys. 2 – Struktura telegramu USS 

 
STX: 

 

1 Bajt, stały znak startowy ASCII: 02 Hex 

LGE:  

 

1 Bajt, zawiera długość telegramujako liczbę binarną, do długości 
telegramu liczą się tylko dane użytkowe (PKW, PZD), bajt adresu 
(ADR) i znak kontrolny (BCC) 

ADR: 

 

1 Bajt, adres urządzenia Slave i typ telegramu 

 
Dane użytkowe

maks. 252 bajty danych użytkowych, blok danych uzytkowych dzieli się 
na dwa obszary: obszar wartości parametrów (PKW) i obszar danych 
procesowych (PZD), ilość słów w obszarach PKW i PZD musi być 
zgodna z ustawieniami w przekształtniku MM4. 

 
BCC: 

 

1 Bajt, znak kontrolny telegramu, wynik operacji EXOR bajtów 
telegramu 

 
 
 
Obszar PKW 
Obszar PKW służy do obsługi wartosci parametrów. W obszarze tym przy pomocy tzw. 
„zapytań” i „odpowiedzi” obsługiwany jest dostęp przez port komunikacyjny USS do parametrów 
znajdujących się w urządzeniu, np. odczyt i zapis parametrów. 

 

 

 

 

Data 07.2004 

Nr:  0015 

background image

Technika Napędowa, MICROMASTER 4 

Porady & Wskazówki 

Obszar PKW dzieli się dalej na następujące elementy: 

 

PKE 

1 słowo, służy do identyfikacji żądań mastera lub odpowiedzi 
slave, zawiera również numer parametru przekształtnika 

 

Bit 0..10:  

Numer parametru (PNU) 

Bit 11:   

Raport o stanie zmiany parametru 

Bit 12-15: 

Identyfikator typu żądania lub odpowiedzi 

 
IND (Indeks)  

1 słowo,  

 

Bit 0..7:  

Indeks parametru 

Bit 8..9:  

Rozszerzenie dla tekstów 

Bit 10..11: 

Nie używane 

Bit 12..15:  

Rozszerzenie PNU dla parametrów > 2000 

 
PWE-Element: 

3/ 4 słowa lub zmienna ilość, w obszarze tym przenoszone są 
informacje należące do zapytań lub odpowiedzi, jak np. 
wartości parametrów, teksty lub opisy parametrów.  

 
Obszar PZD 
Obszar PZD zawiera sygnały potrzebne dla automatyzacji sterowania pracą napędu: 

Słowo(a) sterowania i wartości zadane   

od mastera do slave 

Słowo(a) stanu i wartości aktualne  

 

od slave do Mastera. 

W obszrze tym wymieniane są dane procesowe pomiędzy masterem i urządzeniami slave.  

Ilość słów obszaru PZD jest określana przez liczbę elementów PZD. W przeciwieństwie do 
obszaru PKW, który może mieć zmienną długość, obszar PZD musi mieć zawsze stałą długość 
pomiędzy partnerami komunikacyjnymi! Maksymalna ilość słów PZD na telegram jest 
ograniczona do 16 słów. Jeśli w obszarze danych użytkowych mają być przenoszone tylko dane 
PKW, wtedy można ustawić ilość słów PZD na 0! 

Zależnie od kierunku przesyłu w PZD1 przekazywane jest słowo sterowania lub słowo stanu. W 
PZD 2 odpowiednio do kierunku przesyłu przekazywana jest główna wartość zadanan lub 
główna wartość aktualna. W kolejnych danych procesowych PZD3 ... PZDn mogą być 
przekazywane dalsze wartości zadane (aktualne) lub słowa sterowania (stanu). Struktura słów 
sterowania i stanu jest zdefioniowana na stałe (analogicznie jak w przypadku komunikacji przez 
sieć PROFIBUS).  

 

Przykładowe skrypty VB 

Odpowiednio do konfiguracji z przykładowej aplikacji stanowiska testowego, dostępne są 3 
przykłady skryptów. Wszystkie te skrypty zostały pomyslnie przetestowane z przekształtnikiem 
MM4. Skrypty te mogą być dalej zmodyfikowane odpowiednio do potrzeb aplikacji lub mogą być 
włączone do innych projektów. 

 

 

Wskazówka! 

W przedstawianych tu przykładach nie występuje cykliczna wymiana telegramów pomiędzy PC 
(USS- Master) i MM4 (USS- Slave)!  

 

Data 07.2004 

Nr:  0015 

background image

Technika Napędowa, MICROMASTER 4 

Porady & Wskazówki 

Data 07.2004 

Nr:  0015 

W celu użycia przykładowych skryptów należy wykonać poniższe kroki: 

 

1.  Rozpakować archiwum ZIP „0015_MicrosoftVBScript“. Archiwum zawiera przykładowe 

skrypty, element sterujący ActivX, plik pomocy do języka VB-Script i specyfikację 
protokołu USS. 

 

2.  Zainstalować element sterujący ActivX firmy ActiveExpert. W tym celu uruchomić 

Setup.exe w katalogu „ActivX-Steuerelement“.   

 

3.  Uruchomić poszczególne skrypty VB przez dwukrotne kliknięcie na odpowiednim pliku. 

 

Przykład 1: MM4_sterowanie_napędem.vbs 

Jest to przykładowy skrypt do sterowania przekształtnika MM4 przez port szeregowy PC 
przy użyciu telegramu USS. Przy pomocy tego skryptu można załączać / wyłączać 
przekształtnik i podawać dla niego wartość zadaną częstotliwości.  

 

Przykład 2: MM4_odczyt_parametrów.vbs 

Skrypt ten służy do odczytu i wyświetlania aktualnych wartości parametrów przekształtnika. 

Wskazówka: 

Wartości parametrów w formacie U32 (BICO) są przez przykładowy skrypt prawidłowo 
odczytywane jednak nie są właściwie wyświetlane. Powodem tego jest brak różniących się 
identyfikatorów odpowiedzi dla wartości zmiennoprzecinkowych Float i U32 (BICO). Jednak 
możliwa jest odpowiednia modyfikacja skryptu tak, aby użytkownik podawał numer 
parametru, a potem jego typ. Wtedy program mógłby odpowiednio przedstawić otrzymaną 
odpowiedź. Ten przykładowy skrypt nie oferuje jednak tej funkcjonalności.  

 

Przykład 3: MM4_archiwizacja_parametrów.vbs 

Przykład ten mozna wykorzystać do odczytu i archiwizacji wartości parametrów. Wystarczy 
podać żądane numery parametrów, których wartości mają być archiwizowane, a następnie 
wprowadzić czas rozpoczecia i zakończenia archiwizacji. Wtedy skrypt samodzielnie 
rozpocznie odczyt parametrów w podanych odstępach czasowych. Odczytane wartości 
parametrów są zapisywane w pliku tekstowym z podanym czasem odczytu. 


Document Outline