• Keine Ergebnisse gefunden

UID in Excel mittels SIMATIC RF1000 auslesen. SIMATIC RF1000 / C# /Excel 365. Siemens Industry Online Support

N/A
N/A
Protected

Academic year: 2022

Aktie "UID in Excel mittels SIMATIC RF1000 auslesen. SIMATIC RF1000 / C# /Excel 365. Siemens Industry Online Support"

Copied!
31
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

UID in Excel mittels SIMATIC RF1000

auslesen

(2)

© Siemens AG 2021 All rights reserved

Rechtliche Hinweise

Nutzung der Anwendungsbeispiele

In den Anwendungsbeispielen wird die Lösung von Automatisierungsaufgaben im Zusammen- spiel mehrerer Komponenten in Form von Text, Grafiken und/oder Software-Bausteinen beispielhaft dargestellt. Die Anwendungsbeispiele sind ein kostenloser Service der Siemens AG und/oder einer Tochtergesellschaft der Siemens AG („Siemens“). Sie sind unverbindlich und erheben keinen Anspruch auf Vollständigkeit und Funktionsfähigkeit hinsichtlich Konfiguration und Ausstattung. Die Anwendungsbeispiele stellen keine kundenspezifischen Lösungen dar, sondern bieten lediglich Hilfestellung bei typischen Aufgabenstellungen. Sie sind selbst für den sachgemäßen und sicheren Betrieb der Produkte innerhalb der geltenden Vorschriften verantwortlich und müssen dazu die Funktion des jeweiligen Anwendungsbeispiels überprüfen und auf Ihre Anlage individuell anpassen.

Sie erhalten von Siemens das nicht ausschließliche, nicht unterlizenzierbare und nicht übertragbare Recht, die Anwendungsbeispiele durch fachlich geschultes Personal zu nutzen.

Jede Änderung an den Anwendungsbeispielen erfolgt auf Ihre Verantwortung. Die Weitergabe an Dritte oder Vervielfältigung der Anwendungsbeispiele oder von Auszügen daraus ist nur in Kombination mit Ihren eigenen Produkten gestattet. Die Anwendungsbeispiele unterliegen nicht zwingend den üblichen Tests und Qualitätsprüfungen eines kostenpflichtigen Produkts, können Funktions- und Leistungsmängel enthalten und mit Fehlern behaftet sein. Sie sind verpflichtet, die Nutzung so zu gestalten, dass eventuelle Fehlfunktionen nicht zu Sachschäden oder der

Verletzung von Personen führen.

Haftungsausschluss

Siemens schließt seine Haftung, gleich aus welchem Rechtsgrund, insbesondere für die Verwendbarkeit, Verfügbarkeit, Vollständigkeit und Mangelfreiheit der Anwendungsbeispiele, sowie dazugehöriger Hinweise, Projektierungs- und Leistungsdaten und dadurch verursachte Schäden aus. Dies gilt nicht, soweit Siemens zwingend haftet, z.B. nach dem Produkthaftungs- gesetz, in Fällen des Vorsatzes, der groben Fahrlässigkeit, wegen der schuldhaften Verletzung des Lebens, des Körpers oder der Gesundheit, bei Nichteinhaltung einer übernommenen Garantie, wegen des arglistigen Verschweigens eines Mangels oder wegen der schuldhaften Verletzung wesentlicher Vertragspflichten. Der Schadensersatzanspruch für die Verletzung wesentlicher Vertragspflichten ist jedoch auf den vertragstypischen, vorhersehbaren Schaden begrenzt, soweit nicht Vorsatz oder grobe Fahrlässigkeit vorliegen oder wegen der Verletzung des Lebens, des Körpers oder der Gesundheit gehaftet wird. Eine Änderung der Beweislast zu Ihrem Nachteil ist mit den vorstehenden Regelungen nicht verbunden. Von in diesem Zusammen- hang bestehenden oder entstehenden Ansprüchen Dritter stellen Sie Siemens frei, soweit Siemens nicht gesetzlich zwingend haftet.

Durch Nutzung der Anwendungsbeispiele erkennen Sie an, dass Siemens über die beschriebene Haftungsregelung hinaus nicht für etwaige Schäden haftbar gemacht werden kann.

Weitere Hinweise

Siemens behält sich das Recht vor, Änderungen an den Anwendungsbeispielen jederzeit ohne Ankündigung durchzuführen. Bei Abweichungen zwischen den Vorschlägen in den Anwendungs- beispielen und anderen Siemens Publikationen, wie z. B. Katalogen, hat der Inhalt der anderen Dokumentation Vorrang.

Ergänzend gelten die Siemens Nutzungsbedingungen (https://support.industry.siemens.com).

Securityhinweise

Siemens bietet Produkte und Lösungen mit Industrial Security-Funktionen an, die den sicheren Betrieb von Anlagen, Systemen, Maschinen und Netzwerken unterstützen.

Um Anlagen, Systeme, Maschinen und Netzwerke gegen Cyber-Bedrohungen zu sichern, ist es erforderlich, ein ganzheitliches Industrial Security-Konzept zu implementieren (und kontinuierlich aufrechtzuerhalten), das dem aktuellen Stand der Technik entspricht. Die Produkte und Lösungen von Siemens formen nur einen Bestandteil eines solchen Konzepts.

Der Kunde ist dafür verantwortlich, unbefugten Zugriff auf seine Anlagen, Systeme, Maschinen und Netzwerke zu verhindern. Systeme, Maschinen und Komponenten sollten nur mit dem Unternehmensnetzwerk oder dem Internet verbunden werden, wenn und soweit dies notwendig ist und entsprechende Schutzmaßnahmen (z.B. Nutzung von Firewalls und Netzwerk-

Segmentierung) ergriffen wurden.

Zusätzlich sollten die Empfehlungen von Siemens zu entsprechenden Schutzmaßnahmen beachtet werden. Weiterführende Informationen über Industrial Security finden Sie unter:

https://www.siemens.com/industrialsecurity.

Die Produkte und Lösungen von Siemens werden ständig weiterentwickelt, um sie noch sicherer zu machen. Siemens empfiehlt ausdrücklich, Aktualisierungen durchzuführen, sobald die entsprechenden Updates zur Verfügung stehen und immer nur die aktuellen Produktversionen zu verwenden. Die Verwendung veralteter oder nicht mehr unterstützter Versionen kann das Risiko von Cyber-Bedrohungen erhöhen.

Um stets über Produkt-Updates informiert zu sein, abonnieren Sie den Siemens Industrial Security RSS Feed unter: https://www.siemens.com/industrialsecurity.

(3)

© Siemens AG 2021 All rights reserved

Inhaltsverzeichnis

Rechtliche Hinweise ... 2

1 Einführung ... 4

1.1 Überblick... 4

1.2 Funktionsweise ... 5

1.3 Verwendete Komponenten ... 6

2 Engineering ... 7

2.1 Hardwareaufbau ... 7

2.1.1 RF1000R Einbau in Montageplatte ... 7

2.1.2 RF1000R Einbau in Extension Unit ... 7

2.2 Installation ... 8

2.2.1 Installation Entwicklungsumgebung ... 8

2.2.2 Installation Endanwendung ... 10

2.3 Details Funktionsweise ... 12

2.3.1 Kundenspezifische Applikationen ... 12

2.3.2 Struktur der Applikation "Seriennummer lesen" in Excel ... 13

2.3.3 Methode brp_open_usb_session ... 14

2.3.4 Methode brp_close_session... 15

2.3.5 Methode vhl_select ... 16

2.3.6 Methode vhl_get_snr ... 18

2.3.7 Rückgabewerte ... 19

2.3.8 Status-Codes ... 20

2.4 Bedienung der Applikation ... 21

2.4.1 Bedienoberfläche ... 21

2.5 Fehlerhandling ... 22

2.5.1 Bedienbarkeit Windows Forms-Elemente ... 22

2.5.2 DLL konnte nicht gefunden werden ... 22

3 Wissenswertes ... 23

3.1 Grundlagen ... 23

3.1.1 Microsoft Visual Studio Tools for Office (VSTO) ... 23

3.1.2 Übersicht über die Office-Projektvorlagen ... 24

3.1.3 Aufbau Arbeitsmappenprojekt ... 25

3.1.4 Codeansicht ... 26

3.1.5 Anwendungsgebiete VBA und VSTO ... 28

4 Anhang... 29

4.1 Service und Support ... 29

4.2 Industry Mall ... 30

4.3 Links und Literatur ... 30

4.4 Änderungsdokumentation ... 31

(4)

© Siemens AG 2021 All rights reserved

1 Einführung

1.1 Überblick

In einer Excel Arbeitsmappe soll die Seriennummer (UID) einer Karte ausgelesen werden. Dazu wird das Gerät SIMATIC RF1000 über USB mit dem PC verbunden.

Für die SIMATIC RF1000 Geräte existieren zwei Dynamic Link Librarys (DLLs) für 32-Bit-Anwendungen und 64-Bit-Anwendungen, um auf das Lesegerät

zuzugreifen. Die DLLs werden über SIOS unter der Beitrags-ID: 109741590 bereitgestellt. Mithilfe der Programmierumgebung "Visual Studio" und "Visual Studio Tools for Office (VSTO)" soll die Funktionalität des RF1000 Readers in Excel über die bereitgestellten DLLs genutzt werden. Weitere Informationen zu den VSTO-Grundlagen finden Sie im Kapitel Wissenswertes. Die Funktionalität wurde mit der Programmiersprache C# in Visual Studio realisiert. Den vorhanden kommentierten Quellcode sowie die Endanwendung finden Sie im

Downloadbereich der SIOS-Seite.

Abbildung 1-1

SIMATIC RF1000

BrpDriver_x64.dll BrpDriver_x86.dll DLL

Excel mit VSTO + RF1000 DLL

Bediener

Karte UID: 46127508000104E0

Administrator

Karte UID: 797D7183480108E0

USB

Vorausgesetzte Kenntnisse

Folgende grundlegenden Kenntnisse werden vorausgesetzt:

• Grundlagen der Programmierung in C#/.NET und Microsoft Excel

(5)

© Siemens AG 2021 All rights reserved

1.2 Funktionsweise

Die RF1000-Excel-Applikation ist eine Microsoft Excel-C#-Anwendung, die eine UID einer Karte ausliest und diese in Excel anzeigt.

Layout und Funktionalität der Applikation sind speziell an den Hardwareaufbau eines RF1000 angepasst.

Abbildung 1-2

• Die Excel-C#-Applikation baut eine Verbindung mit dem RF1000-Lesegerät auf, beim Klicken der Schaltfläche "Start Scan".

• Die Excel-C#-Applikation liest zyklisch die UID der Karte aus und zeigt die UID in einer Excelmappe an.

• Die Excel-C#-Applikation kehrt die Byte-Reihenfolge der UID beim Aktivieren der Checkbox um.

• Die Excel-C#-Applikation baut eine Verbindung mit dem RF1000-Lesegerät ab, beim Klicken der Schaltfläche "Stop Scan".

• Die Excel-C#-Applikation zeigt den Status des Lesegeräts an.

(6)

© Siemens AG 2021 All rights reserved

1.3 Verwendete Komponenten

Dieses Anwendungsbeispiel wurde mit den folgenden Hard- und Softwarekomponenten erstellt:

Tabelle 1-1

Komponente Anzahl Artikelnummer Hinweis

Microsoft Windows 10 1 Betriebssystem

Microsoft Visual Studio Professional 2019

1 Programmierumgebung

Microsoft Excel 365 1 Microsoft. NET

Framework 4.6.1

1 Visual Studio Tools for Office

1

SIMATIC RF1070R 1 6GT2831-6BA50 Benötigt USB-Anschluss

Dieses Anwendungsbeispiel besteht aus den folgenden Komponenten:

Tabelle 1-2

Komponente Dateiname Hinweis

Dokumentation 109783361_Excel_RF1000_DOC_V1_0_de.pdf Applikation 109783361_Excel_RF1000_Application_V1_0.zip Lies mich-Datei

Software

109783361_ReadMe_Software.txt

(7)

© Siemens AG 2021 All rights reserved

2 Engineering

2.1 Hardwareaufbau

Den Einbau des Card Readers RF1000R entnehmen Sie den nachfolgend genannten Handbüchern. Schließen Sie den Kartenleser an einen freien USB- Steckplatz Ihres PCs an.

2.1.1 RF1000R Einbau in Montageplatte

Weitere Informationen zur Montage finden Sie im Handbuch "SIMATIC Ident RFID- Systeme SIMATIC RF1000" (Beitrags-ID: 109745368).

2.1.2 RF1000R Einbau in Extension Unit

Weitere Informationen zur Montage finden Sie im Handbuch "SIMATIC

Systemkomponenten für PRO-Geräte Extension Units" (Beitrags-ID: 109742323).

Abbildung 2-1

USB

Bediener

Karte UID: 46127508000104E0

Administrator

Karte UID: 797D7183480108E0

(8)

© Siemens AG 2021 All rights reserved

2.2 Installation

Bei der Installation müssen Sie unterscheiden, ob Sie die Excel-Applikation und Programmcode nutzen möchten (Entwickler) oder nur die Excel-Applikation (Endanwender). Installieren Sie die nachfolgenden Programme.

Hinweis

Dieses Beispiel wurde in der folgenden Umgebung getestet und entwickelt:

• Windows 10 Enterprise

• Microsoft Visual Studio Professional 2019

• Microsoft Excel 365 32 Bit

2.2.1 Installation Entwicklungsumgebung

Abbildung 2-2

Microsoft Visual Studio Excel Applikation +

Programmcode

Microsoft Excel

+

Installation Visual Studio 2019

Installieren Sie Visual Studio. Wenn Sie Visual Studio auf ihren Rechner installiert haben, wurden für die VSTO-Entwicklung alle erforderlichen Komponenten

mitinstalliert. Hierzu gehören neben dem .NET Framework auch die VSTO-Laufzeit Umgebung. Um mit der VSTO-Entwicklung zu beginnen, müssen Sie eine

Microsoft Office Version installieren. Laden Sie die Projektmappe, die Sie unter der Beitrags-ID: 109783361 finden herunter, um den vorhanden Quellcode der Excel Applikation zu verstehen. Anhand des Beispiels wird gezeigt, wie Sie eine anspruchsvolle Programmieraufgabe mithilfe von Visual Studio Tools for Office erstellen können. Sie benötigen grundlegende Kenntnisse in der

Programmiersprache C# sowie dem Umgang mit der Microsoft Visual-Studio- Entwicklungsumgebung.

Hinweis

Die kostenlose Visual Studio Community Edition können Sie auf den Microsoft Support Seiten herunterladen. Diese dient zum Experimentieren und

Kennenlernen von Visual Studio. Die im Anwendungsbeispiel gezeigte Funktionalität können Sie auch mit der Community Edition realisieren. Für die Anschaffung von geschäftlichen Applikationen ist die Anschaffung der

Professional-Version von Visual Studio erforderlich.

(9)

© Siemens AG 2021 All rights reserved

Installation Microsoft Excel 365

Installieren Sie Microsoft Excel 365 auf Ihrem PC.

Hinweis

Sie können nur Office Lösungen entwickeln welche lokal auf Ihren

Entwicklungsrechner installiert ist. Es ist offiziell nicht möglich auf einen PC zwei verschiedene Excel Versionen zu betreiben. Bei der Entwicklung mit Visual Studio Tools for Office führt dies zu Problemen. Installieren Sie daher immer nur eine Excel Version auf Ihren PC.

(10)

© Siemens AG 2021 All rights reserved

2.2.2 Installation Endanwendung

Abbildung 2-3

Excel Applikation Microsoft Visual Studio 2010

Tools for Office Runtime

Microsoft .NET Framework

Microsoft Excel

+ +

Installation Microsoft Excel 365

1. Installieren Sie Microsoft Excel 365 auf Ihrem PC.

Installation .NET Framework 4.6.1

1. Laden Sie das .NET Framework aus dem Microsoft Download Center herunter.

2. Installieren Sie das .NET Framework auf Ihrem PC.

Installation Visual Studio 2010 Tools for Office Runtime

Um VSTO-Add-Ins auszuführen, die mithilfe der Office-Entwicklertools in Visual Studio erstellt werden, müssen auf Endbenutzercomputern Visual Studio-Tools für Office-Laufzeit installiert sein. Die Laufzeit enthält das Objektmodell, das Ihren VSTO-Add-In-Code verwendet, um die Anwendung zu automatisieren und zu erweitern.

1. Laden Sie Visual Studio 2010 Tools for Office Runtime aus dem Microsoft Download Center herunter.

2. Installieren Sie Visual Studio 2010 Tools for Office Runtime auf Ihrem PC.

(11)

© Siemens AG 2021 All rights reserved

Installation der Excel Applikation

1. Laden Sie die Applikation "109783361_Excel_RF1000_Application_V1_0.zip"

herunter.

2. Entpacken Sie die Applikation in ein Verzeichnis Ihrer Wahl.

3. Öffnen Sie den Ordner "Applikation".

In diesem Ordner befinden sich alle für die Applikation notwendigen Daten.

4. Doppelklicken Sie auf die Anwendung "setup.exe". Bei der ersten Verwendung der Applikation öffnet sich ein Installationsdialog.

Abbildung 2-4

5. Bestätigen Sie diesen über die Schaltfläche "Install".

Abbildung 2-5

6. Warten Sie, bis die Applikation erfolgreich installiert wurde.

7. Nach erfolgreicher Installation öffnet sich die Excel-Applikation.

Hinweis Sie deinstallieren die Applikation über "Systemsteuerung > Programme und Features".

(12)

© Siemens AG 2021 All rights reserved

2.3 Details Funktionsweise

2.3.1 Kundenspezifische Applikationen

Mit Hilfe der SIMATIC RF1000 DLLs können Sie eine eigene kundenspezifische Applikation erstellen. Im nachfolgenden werden einige Beispiele zum Einsatz des RF1000 genannt.

Abbildung 2-6

BrpDriver_x64.dll BrpDriver_x86.dll

Excel Anwendung Desktopanwendung

Web Anwendung HMI/SCADA Anwendung

+ DLL

.exe

SIMATIC RF1040R, RF1060R, RF1070R

Eine ausführliche kundenspezifische Applikation in Form einer Desktopanwendung (C# Forms Anwendung) finden Sie unter der Beitrags-ID 109741590.

Eine ausführliche kundenspezifische Applikation in Form einer Excel-Applikation finden Sie unter der Beitrags-ID 109783361.

Eine ausführliche kundenspezifische Applikation in Form einer SIMATIC HMI Comfort Panel und PC Runtime (WinCC RT Advanced)-Applikation finden Sie unter der Beitrags-ID 109754400.

Eine ausführliche kundenspezifische Applikation in Form einer SCADA Applikation finden Sie unter der Beitrags-ID 109756169.

(13)

© Siemens AG 2021 All rights reserved

2.3.2 Struktur der Applikation "Seriennummer lesen" in Excel

In diesem Abschnitt lernen Sie die Kernmodule kennen, aus denen das C#

Programm in Excel aufgebaut ist. Weitere Programmdetails entnehmen Sie dem dokumentierten Code in der Projektmappe. Gehen Sie folgendermaßen vor, um eine eigene Applikation zum Lesen der Seriennummer zu erstellen:

Verbindung starten

Die Methode öffnet die USB-Schnittstelle, um eine Verbindung zum Reader aufzubauen. Beachten Sie, dass alle nachfolgenden Methoden beim Betrieb über die USB-Schnittstelle erst dann durchgeführt werden können, wenn Sie mit der Methode "brp_open_usb_session" eine Verbindung zum Reader aufgebaut haben.

Seriennummer zyklisch lesen

Der Timer überprüft zyklisch, ob sich ein Transponder im Lesebereich des Readers befindet. Mit Hilfe der Methode "vhl_select" wird ein sich im Antennenfeld

befindlicher Transponder ausgewählt.

Ein Transponder befindet sich im Lesebereich. Mit der Methode "vhl_get_snr" wird die Seriennummer des betreffenden Transponders ausgelesen. Die Applikation meldet, dass der Transponder mit der Seriennummer "x" erkannt wurde.

Anschließend wird in die Excel-Applikation ein Eintrag der Seriennummer und des Zeitstempels hinzugefügt.

Verbindung beenden

Diese Methode beendet eine bestehende Verbindung zum Reader, die zuvor aufgebaut worden ist.

Abbildung 2-7

Klasse Reader

Methoden

brp_oben_usb_session() vhl_select()

vhl_get_snr() brp_close_session()

Excel Workbook Anwendung

Button Start

Button Stop Timer PollforCard

DLL

BrpDriver_x64() BrpDriver_x86()

Hinweis

Bei den BrpDriver_x64() und BrpDriver_x86() DLLs handelt es sich um keine .NET-DLLs. Um die Interoperabilität zu gewährleisten, wurde der Mechanismus P/Invoke eingesetzt. Mit dem DLLImport-Attribut wurden die aufzurufenden Funktionen der DLL in .NET-Schreibweise explizit definiert. Eine ausführliche Beschreibung zum Methodenaufruf finden Sie auf den nachfolgenden Seiten.

(14)

© Siemens AG 2021 All rights reserved

2.3.3 Methode brp_open_usb_session

Die Methode öffnet über die USB-Schnittstelle eine Verbindung zum Reader und gibt einen Sitzungsschlüssel zurück, der für alle Methoden und die weitere Kommunikation über die Verbindung benötigt wird. Wurde die Verbindung erfolgreich aufgebaut, wird der Rückgabewert "BRP_OK" zurückgegeben.

Beachten Sie, dass alle nachfolgenden Methoden beim Betrieb über die USB- Schnittstelle erst dann durchgeführt werden können, wenn Sie mit der Funktion

"brp_open_usb_session" eine Verbindung zu dem Reader aufgebaut haben. Ist dies nicht der Fall, wird ein Fehler zurückgemeldet.

Hinweis Parallelbetrieb nicht möglich

Beachten Sie, dass mit der Applikation nur zu einem einzelnen Reader zeitgleich eine Verbindung aufgebaut werden kann. Aus diesem Grund darf

"brp_open_usb_session" immer nur einmalig aufgerufen werden und muss vor einem erneuten Aufruf erst durch die Funktion "brp_close_session" geschlossen werden.

Der Parameter "Handle" muss nach einem "brp_open_usb_session" immer ="0"

sein. Ist der Parameter ungleich "0", liegt entweder ein Fehler vor oder die Funktion "brp_open_usb_session" wurde mehrmals hintereinander aufgerufen.

Aufruf

Int brp_open_usb_session{int *Handle, DWORD Product ID};

Tabelle 2-1

Parameter Beschreibung

Brp_open_usb_session Dieser Methodenaufruf öffnet über die USB-Schnittstelle eine Verbindung zum Reader.

Handle Sitzungsschlüssel der von der Methode initialisiert wird. Der Schlüssel ist gültig, sobald "BRP_OK" zurückgeliefert wird.

Product ID 0x00

Rückgabewert • BRP_OK

• BRP_ERR_BUSY

• BRP_ERR_GENERAL_IO

• BRP_ERR_BUFFER_OVERFLOW

• BRP_ERR_NO_MORE_HANDLES

• BRP_ERR_INSUFFICIENT_NEM

Weitere Informationen zu den Rückgabewerten, finden Sie im Kapitel Rückgabewerte.

(15)

© Siemens AG 2021 All rights reserved

2.3.4 Methode brp_close_session

Diese Methode beendet eine bestehende Verbindung zum Reader, die zuvor aufgebaut worden ist.

Aufruf

int brp_close_session (int Handle);

Tabelle 2-2

Parameter Beschreibung

brp_close_session Dieser Methodenaufruf beendet eine Verbindung.

Handle Der von der Methode "brp_open_usb_session" zurückgelieferte Sitzungsschlüssel.

Rückgabewert • BRP_OK

• BRP_ERR_WRONG_HANDLE

Weitere Informationen zu den Rückgabewerten, finden Sie im Kapitel Rückgabewerte.

(16)

© Siemens AG 2021 All rights reserved

2.3.5 Methode vhl_select

Mit Hilfe dieser Methode wählen Sie eine im Antennenfeld befindliche Karte aus.

Bei Erfolg wird der Status "OK" zurückgegeben.

Der Typ der ausgewählten Karte wird in den Parameter "Card Type"

zurückgegeben.

Mit der Methode "vhl_select" können Sie die im Antennenfeld des Readers befindliche Karte selektieren. Wenn "vhl_select" erneut aufgerufen wird, wird die gerade ausgewählte Karte in den "Halt-Modus" versetzt und "vhl_select" gibt den Wert "NOTAG_ERR" zurück.

Wenn Sie eine Karte erneut auswählen, ohne diese physikalisch aus dem Antennenfeld zu entfernen, müssen Sie den Parameter "Reselect" auf "true"

setzen. Wenn sich mehrere Karten im Antennenfeld des Readers befinden und Sie alle Karten auswählen möchten, setzen Sie den Parameter "Reselect = false".

Rufen Sie anschließend die Funktion "vhl_select" so häufig auf, bis alle im Antennenfeld befindliche Karten erkannt wurden. Wird keine neue Karte mehr erkannt, wird "CARD_NOT_SELECTED_ERR" zurückgegeben.

Aufruf

Int vhl_select(

Int Handle,

word CardTypeMask, bool Reselect

bool Allow Config, byte* CardType, int* Status );

(17)

© Siemens AG 2021 All rights reserved

Tabelle 2-3

Parameter Beschreibung

vhl_select Mit diesem Funktionsaufruf wählen Sie eine im Antennenfeld befindliche Karte aus.

Handle Der von der Funktion "brp_open_usb_session" zurückgelieferte Sitzungsschlüssel.

CardTypeMask Mit diesen Parametern legen Sie die Kartenfamilie fest, die erkannt werden soll. Wenn die Kartenfamilie erkannt werden soll, setzen Sie den Parameter auf den Wert "0xFFFF".

Reselect Setzen Sie "Reselect = true", wenn sich nur eine Karte im Antennenfeld befindet, die erkannt werden soll. Setzen Sie den

"Reselct = false", wenn sich mehrere Karten im Antennenfeld befinden, die erkannt werden sollen.

Allow Config Dieser Wert ist "true", wenn eine Konfigurationskarte eingelesen werden soll. Im Normalbetrieb muss der Wert "false" gesetzt werden, um eine unbeabsichtigte Übernahme der Reader-Konfiguration zu vermeiden.

CardType Der zurückgegebene Wert bezeichnet den Kartentyp.

Status • OK

• NOTAG_ERR

• HF_ERR

• HW_ERR

• CONFCARD_Reader

Weitere Informationen zu dem Reader-Status, finden Sie im Kapitel Status-Codes.

Rückgabewert • BRP_OK

Weitere Informationen zu den Rückgabewerten, finden Sie im Kapitel Rückgabewerte.

(18)

© Siemens AG 2021 All rights reserved

2.3.6 Methode vhl_get_snr

Die Methode gibt die Seriennummer der gerade ausgewählten Karte zurück. Wenn die Methode "vhl_select" zuvor nicht erfolgreich ausgeführt werden konnte oder die Karte sich nicht mehr im Antennenfeld befindet, wird der Rückgabewert

"CARD_NOT_SELECTED_ERR" (Status Code "0x0102") zurückgegeben. In diesem Fall wird eine undefinierte Seriennummer zurückgegeben. Beachten Sie, dass das niederwertigste Byte der Seriennummer zuerst ausgelesen wird.

Aufruf

Int vhl_get_snr(

Int Handle, byte * snr, byte * Length, int * Status );

Tabelle 2-4

Parameter Beschreibung

vhl_get_snr Der Methodenaufruf gibt die Seriennummer der gerade ausgewählten Karte zurück.

Handle Der von der Methode "brp_open_usb_session" zurückgelieferte Sitzungsschlüssel.

Snr Seriennummer der Karte.

Length Länge der Seriennummer in Bytes.

Status • OK

• CARD_NOT_SELECTED_ERR

Weitere Informationen zu dem Reader-Status, finden Sie im Kapitel Status-Codes.

Rückgabewert • BRP_OK

• CARD_NOT_SELECTED_ERR

Weitere Informationen zu den Rückgabewerten, finden Sie im Kapitel Rückgabewerte.

(19)

© Siemens AG 2021 All rights reserved

2.3.7 Rückgabewerte

Die nachfolgende Tabelle enthält eine Liste der möglichen Werte, die der Reader auf die verschiedenen Methoden zurückgeben kann.

Tabelle 2-5

Wert Variable Beschreibung

0x00 BRP_OK Kein Fehler ist aufgetreten.

0x01 BRP_ERR_STATUS Der Reader hat einen Status-Code zurückgegeben, der ungleich "0" ist.

0x02 BRP_ERR_BUSY Der Reader bearbeitet gerade eine

Funktion.

0x07 BRP_ERR_GENERAL_IO Der zugrundeliegende serielle Port hat einen Fehler verursacht.

0x08 BRP_ERR_BUFFER_OVERFLOW Der Reader sendet mehr Daten als erwartet.

0x09 BRP_ERR_NO_MORE_HANDLES Es gibt keine freien Sitzungsschlüssel.

0x0A BRP_ERR_INSUFFICIENT_MEM Zur Erzeugung eines neuen Sitzungsschlüssels steht nicht genügend Speicher zur Verfügung.

0x0B BRP_ERR_WRONG_HANDLE Der spezifizierte Sitzungsschlüssel ist nicht vorhanden.

(20)

© Siemens AG 2021 All rights reserved

2.3.8 Status-Codes

Die nachfolgende Tabelle enthält eine Liste der Status-Codes des VHL- Befehlssatzes, aufgeteilt nach Befehlsgruppen.

Tabelle 2-6

Wert Variable Beschreibung

0x0000 STATUS_OK Kein Fehler.

0x0101 NOTAG_ERR Transponder nicht vorhanden oder

keine Antwort.

Dieser Status-Code erfordert eine Neuauswahl der Karte mit der Methode "vhl_select".

0x0102 CARD_NOT_SELECTED_ERR Die Methode kann nicht ausgeführt werden, weil keine Transponder ausgewählt sind.

0x0103 HF_ERR Kommunikationsprobleme mit dem

Transponder.

0x0108 CONFCARD_READ Ein Transponder wurde erkannt.

0x010C VHL_HW_ERR Hardware-Probleme beim Zugriff

(z.B. auf den Reader-Chip).

(21)

© Siemens AG 2021 All rights reserved

2.4 Bedienung der Applikation

2.4.1 Bedienoberfläche

Abbildung 2-8

1 2 3

Tabelle 2-7

Bereich Aktion

1. Schaltfläche für Verbindungsaufbau zum Reader.

Öffnet die USB-Schnittstelle, um eine Verbindung zum Reader aufzubauen.

Die Seriennummer der Karten werden im Anschluss zyklisch ausgelesen und in die Excel Tabelle eingetragen.

2. Schaltfläche zum Verbindungsabbau zum Reader.

Schließt die USB-Schnittstelle, um eine Verbindung zum Reader abzubauen. Es werden keine Einträge mehr in die Excel Tabelle vorgenommen.

3. Checkbox zur Byte-Reihenfolge Umkehr.

Die Byte-Reihenfolge der UID wird umgekehrt.

4. Status des Lesegeräts Der Status des Readers wird in Zeile 3 angezeigt. Hier finden Sie auch die im vorherigen Kapitel beschriebenen Fehlermeldungen.

(22)

© Siemens AG 2021 All rights reserved

2.5 Fehlerhandling

2.5.1 Bedienbarkeit Windows Forms-Elemente

Die Zoom-Einstellungen der Excel-Applikation müssen auf 100 % eingestellt sein.

Sonst ist eine Bedienung der Windows Forms-Elemente (Schaltfläche, Checkbox) nicht möglich.

Lösen Sie das Problem wie folgt:

1. Bestätigen Sie das Dialogfenster mit dem Hinweis zu den Zoom-Einstellungen.

2. Ändern Sie die Zoom-Einstellungen der Excelmappe über den Schieberegler auf 100 %.

Hinweis Die Excel-Applikation wird beim Starten mit einer 100 % Zoom-Einstellung geöffnet.

2.5.2 DLL konnte nicht gefunden werden

Die DLLs befinden sich standardmäßig im aktuellen Verzeichnis der Applikation.

Sollte die Excel-Applikation in ein anderes Verzeichnis kopiert werden, so kopieren Sie entweder die DLLs in das gleiche Verzeichnis oder legen Sie diese im

Systemordner C:\windows\system32 oder C:\windows\SysWOW64 (32-Bit oder 64 Bit) ab.

(23)

© Siemens AG 2021 All rights reserved

3 Wissenswertes

3.1 Grundlagen

Die nachfolgenden Kapitel beschreiben die wichtigsten Grundlagen zur

Entwicklung mit Visual Studio Tools for Office. Microsoft bietet zur Einführung in die Office-Programmierung auf ihrer Webseite ein breites Spektrum an Beispielen an. Unter Links und Literatur finden Sie vertiefende Praxisbücher zum Thema VSTO.

3.1.1 Microsoft Visual Studio Tools for Office (VSTO)

Abbildung 3-1

Produkt Excel VSTO Add-In

RF1000 Lesegerät +

Mit Visual Studio Tools for Office wird ein Entwicklertool bereitgestellt, mit dem Sie Add-Ins oder Projektvorlagen für Office-Anwendungen erstellen können. Sie können Microsoft Office-Anwendungen automatisieren, Funktionen der

Anwendung erweitern und die Benutzeroberfläche der Anwendung anpassen. Die VSTO-Entwicklung erfolgt dabei mit Visual Studio. Mithilfe von Projektvorlagen können Office-Anwendungen unter Verwendung von Visual Basic oder C# um neue Funktionalitäten ergänzt werden. Da die Erweiterungen auf dem .NET Framework basieren, wird die Welt von Office mit dem .NET Framework erweitert.

Sie können somit den vollständigen Leistungsumfang aller Klassen des .NET Frameworks nutzen. VSTO hat den vollständigen Zugriff auf alle Office- Objektmodelle. VSTO ist somit auch für komplexe Lösungen geeignet.

Programmierte VSTO Lösungen benötigen zum Ablauf eine VSTO Runtime sowie das .NET Framework. Beides können Sie im Microsoft Download Center

herunterladen. Visual Studio Tools for Office ist seit der Version 2008 ein fester Bestandteil von Visual Studio Professional und muss nicht mehr als eigenständiges Produkt erworben werden.

(24)

© Siemens AG 2021 All rights reserved

3.1.2 Übersicht über die Office-Projektvorlagen

Die Office-Projektvorlagen sind im Dialogfeld "Neues Projekt" unter dem Menüpunkt "Visual C# Office" verfügbar.

Abbildung 3-2

Bei der Erstellung eines Office-Projektes stehen Ihn folgende 2 Möglichkeiten zur Verfügung:

• Anpassungen eines einzelnen Dokuments

• Anpassungen einer Dokumentvorlage anwendungsweit in allen Dokumenten

Die RF1000-Excel-Applikation wurde innerhalb eines VSTO Arbeitsmappe erstellt.

Die Anpassungen beziehen sich daher auf das vorhandene Dokument. Das Dokument wird mit den programmierten Erweiterungen ("Code behind-Prinzip") verknüpft.

Innerhalb von Visual Studio steht Ihnen eine Excel-Arbeitsmappe zur Verfügung.

Im Excel-Dokument können Sie Steuerelemente (.NET-Controls) aus der Toolbox von Visual Studio direkt platzieren. Diese können anschließend mit einer

individuellen Funktionalität versehen werden. Das Dokument wird zum Teil der Anwendung.

(25)

© Siemens AG 2021 All rights reserved

3.1.3 Aufbau Arbeitsmappenprojekt

Die Excel Arbeitsmappe wird in Visual Studio integriert. Sie können alle Excel- Funktionalitäten wie gewohnt in Visual Studio verwenden.

In der nachfolgenden Abbildung wird der Aufbau der Visual Studio Applikation erläutert.

Abbildung 3-3

1 2 3

4

5

Tabelle 3-1

Beschreibung 1. Toolbox:

Die Toolbox enthält eine Sammlung verschiedenster Steuerelemente, die in die Arbeitsmappe integriert werden können.

2. Designer:

Im Designer können Sie die Steuerelemente platzieren. Sie können wie gewohnt die Excel-Funktionalität verwenden.

3. Projektmappen-Explorer:

Sie können über den Projetmappen-Explorer zwischen den Dateien wechseln.

4. Eigenschaftsfenster

Dieses Fenster zeigt die Eigenschaften des aktuell im Designer ausgewählten Elements an.

5. Fehlerliste

Das Fehlerliste-Fenster informiert Sie darüber, ob es in Ihrem Code Fehler gibt.

(26)

© Siemens AG 2021 All rights reserved

3.1.4 Codeansicht

Über den Projetmappen-Explorer gelangen Sie auf die Codeansicht der Arbeitsmappe und der Arbeitsblätter.

Abbildung 3-4

Beispiel: Auf Zellen im Excel Objektmodell zugreifen

Das nachfolgende Beispiel soll zeigen, wie Sie auf Zellen innerhalb des Excel- Objektmodells zugegriffen können.

Abbildung 3-5

Workbook (Arbeitsmappe)

Worksheet

(Arbeitsblatt Tabelle1, Tabelle 2, …) Cells

(Zellen)

Möchten Sie auf eine Zelle des Objektmodells zugreifen, so können Sie dies wie folgt realisieren:

Um auf Eigenschaften oder Methoden der Arbeitsmappe zugreifen zu können benötigen Sie das Objekt "Globals.ThisWorkbook".

Im Beispiel wird das gerade aktive Arbeitsblatt ausgewählt. Über die Eigenschaft

"Cells" können Sie auf die Zeilen und Spalten des Arbeitsblattes zugreifen.

(27)

© Siemens AG 2021 All rights reserved

Abbildung 3-6

(28)

© Siemens AG 2021 All rights reserved

3.1.5 Anwendungsgebiete VBA und VSTO

Im Nachfolgenden werden auf einige Eigenschaften von VSTO und VBA näher eingegangen. Diese sollen dem Entwickler eine Entscheidungshilfe für die Lösung seiner jeweiligen Aufgabe geben.

Projektumfang

Die Wahl zwischen der Makrosprache VBA und der Entwicklungsumgebung Visual Studio Tools hängt von der zu bearbeitenden Aufgabe ab. Mit VBA lassen sich leichte Programmieraufgaben schnell realisieren. Ein Beispiel hierfür ist der

Makrorecorder, der einfache Makros leichter und schneller in VBA realisieren lässt.

Geht es um umfangreichere Projekte, ist die Entwicklung mit Visual Studio Tools for Office (VSTO) zu bevorzugen. In VSTO stehen umfangreiche .NET-

Klassenbibliotheken zur Verfügung. Im Team können umfangreiche Projekte realisiert werden. Der vorhandene Quellcode kann leicht in andere Projekte realisiert werden (siehe Kundenspezifische Applikationen). Dem Entwickler steht eine moderne, robuste und komfortable Entwicklungsumgebung zur Verfügung.

Codeablage/Sicherheit

In VBA wird der geschriebene Code mit dem Dokument verknüpft und in diesem gespeichert. Wird beispielsweise eine Datenbankabfrage mit Zugangsdaten in VBA realisiert, kann jeder im Quellcode die Zugangsdaten der Datenbank einsehen.

Bei VSTO hingegen müssen Sie keine Angst vor dem Diebstahl geistigen Eigentums oder unberechtigten Zugriff auf Ihre Datenbanken haben. Der geschriebene Code wird separat gespeichert ("Code behind-Prinzip"). Der vorhandene .Net Code liegt somit kompiliert vor. Dadurch ist ein "Reverse Engineering" ohne das Projekt ausgeschlossen.

Benutzeroberflächen

In VBA existiert eine Handvoll an Steuerelementen für den Design einer Forms Anwendung.

VSTO bietet durch das .NET-Framework eine große Auswahl an Steuerelementen in der Toolbox.

Interoperabilität

VBA- und VSTO-Programmcodes können kombiniert werden. Durch das

Zusammenspiel müssen alte VBA-Lösungen nicht neu in VSTO entwickelt werden.

(29)

© Siemens AG 2021 All rights reserved

4 Anhang

4.1 Service und Support

Industry Online Support

Sie haben Fragen oder brauchen Unterstützung?

Über den Industry Online Support greifen Sie rund um die Uhr auf das gesamte Service und Support Know-how sowie auf unsere Dienstleistungen zu.

Der Industry Online Support ist die zentrale Adresse für Informationen zu unseren Produkten, Lösungen und Services.

Produktinformationen, Handbücher, Downloads, FAQs und Anwendungsbeispiele – alle Informationen sind mit wenigen Mausklicks erreichbar:

support.industry.siemens.com Technical Support

Der Technical Support von Siemens Industry unterstützt Sie schnell und kompetent bei allen technischen Anfragen mit einer Vielzahl maßgeschneiderter Angebote – von der Basisunterstützung bis hin zu individuellen Supportverträgen.

Anfragen an den Technical Support stellen Sie per Web-Formular:

siemens.com/SupportRequest SITRAIN – Digital Industry Academy

Mit unseren weltweit verfügbaren Trainings für unsere Produkte und Lösungen unterstützen wir Sie praxisnah, mit innovativen Lernmethoden und mit einem kundenspezifisch abgestimmten Konzept.

Mehr zu den angebotenen Trainings und Kursen sowie deren Standorte und Termine erfahren Sie unter:

siemens.de/sitrain Serviceangebot

Unser Serviceangebot umfasst folgendes:

• Plant Data Services

• Ersatzteilservices

• Reparaturservices

• Vor-Ort und Instandhaltungsservices

• Retrofit- und Modernisierungsservices

• Serviceprogramme und Verträge

Ausführliche Informationen zu unserem Serviceangebot finden Sie im Servicekatalog:

support.industry.siemens.com/cs/sc

Industry Online Support App

(30)

© Siemens AG 2021 All rights reserved

4.2 Industry Mall

Die Siemens Industry Mall ist die Plattform, auf der das gesamte Produktportfolio von Siemens Industry zugänglich ist. Von der Auswahl der Produkte über die Bestellung und die Lieferverfolgung ermöglicht die Industry Mall die komplette Einkaufsabwicklung – direkt und unabhängig von Zeit und Ort:

mall.industry.siemens.com

4.3 Links und Literatur

Tabelle 4-1

Nr. Thema

\1\ Siemens Industry Online Support https://support.industry.siemens.com

\2\ Link auf die Beitragsseite des Anwendungsbeispiels

https://support.industry.siemens.com/cs/ww/de/view/109783361

\3\ Demo-Applikation SIMATIC RF1000 Reader

https://support.industry.siemens.com/cs/ww/de/view/109741590

\4\ SIMATIC RF1000 Handbuch

https://support.industry.siemens.com/cs/ww/de/view/109778640

\5\ SIMATIC HMI Option+

https://support.industry.siemens.com/cs/ww/de/view/109754400

\6\ Benutzeranmeldung in WinCC V7.4 mit RFID-Kartenleser RF 1060R https://support.industry.siemens.com/cs/ww/de/view/109756169

\7\ Beispiele zur VSTO Entwicklung

https://docs.microsoft.com/de-de/office/dev/add-ins/

\8\ Office 2010 Programmierung mit VSTO und .NET4.0 Holger Schwichtenberg, Jan Tittel

ISBN-10: 3446424113 ISBN-13: 978-3446424111

\9\ Excel 2016 programmieren Michael Kofler, Ralf Nebelo ISBN-10: 3446447989 ISBN-13: 978-3446447981

(31)

© Siemens AG 2021 All rights reserved

4.4 Änderungsdokumentation

Tabelle 4-2

Version Datum Änderung

V1.0 12/2021 Erste Ausgabe

Referenzen

ÄHNLICHE DOKUMENTE

Dieses Training vermittelt die notwendigen Kompetenzen zur Erstellung und Verwaltung von Arbeitsblättern und Arbeitsmappen, zur Erstellung von Zellen und Bereichen, der Erstellung

Dieses Training vermittelt die notwendigen Kompetenzen zur Erstellung und Verwaltung von Arbeitsblättern und Arbeitsmappen, zur Erstellung von Zellen und Bereichen, der Erstellung

Dieses Training vermittelt die notwendigen Kompetenzen zur Erstellung und Verwaltung von Arbeitsblättern und Arbeitsmappen, zur Erstellung von Zellen und Bereichen, der Erstellung

Dieses Training vermittelt die notwendigen Kompetenzen zur Erstellung und Verwaltung von Arbeitsblättern und Arbeitsmappen, zur Erstellung von Zellen und Bereichen, der Erstellung

Dieses Training vermittelt die notwendigen Kompetenzen zur Erstellung und Verwaltung von Arbeitsblättern und Arbeitsmappen, zur Erstellung von Zellen und Bereichen, der Erstellung

Dieses Training vermittelt die notwendigen Kompetenzen zur Erstellung und Verwaltung von Arbeitsblättern und Arbeitsmappen, zur Erstellung von Zellen und Bereichen, der Erstellung

Dieses Training vermittelt die notwendigen Kompetenzen zur Erstellung und Verwaltung von Arbeitsblättern und Arbeitsmappen, zur Erstellung von Zellen und Bereichen, der Erstellung

bedeutet, dass Tod oder schwere Körperverletzung eintreten kann, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen