.NET application for the SIMATIC RF350M with WiFi connection









PIE Interface Specification

standards are not fully implemented in digital pathology yet the solution also supports Convert byte array to hexadecimal lowercase string.
FINAL SystemX manual upload API document V DOC PJOS AJVKXX


.NET application for the SIMATIC RF350M with WiFi connection

NET API created with C# that demonstrates the basic functions of RFID. This This method converts a hex string into a byte array.
RF M DotNet DOC V en


Buffer Overflows

Suppose in a C program we have an array of length 4 char buffer[4]; assumption that 1 char was 1 byte allowed buffer overflows after the move from ASCI to ...
BufferOverflows


Siemens TCP/IP Ethernet Driver

String conversion warning: Auto generated tag names and descriptions may not Unable to read <block size> bytes starting at address <address/offset> on ...
siemens tcp ip ethernet manual





4 Channel Relay Board

C# was developed by Anders Hejlsberg and his team during foreach (string person in names) ... method to convert hex string into a byte array.
C SHARP Book


Technical Note Canonical Data Types for OPC

Many of the data types used in OPC may even be incorporated into only String. 8. 1 – n Bytes. All Characters supported in the standard ASCII table.


Siemens TCP/IP Ethernet Driver

HEXSTRING length is different from tag length.
siemens tcp ip ethernet manual


Address = '<address>' HEXSTRING length = <length> (bytes)





Deveploer Guide

27 Jan 2021 1.2.5 C#. ... To use C# to call an API through App authentication obtain the C# SDK
romaconnect devg


Programming with CAPL

14 Dec 2004 consequential damages in connection with or arising out of
a e f a ce


Delphi and Unicode

A RawByteString can be considered as a string of bytes which ignores the attached encoding in case of an automatic conversion when assigning to an AnsiString.
delphi and unicode marco cantu


212611 .NET application for the SIMATIC RF350M with WiFi connection .NET application for the SIMATIC RF350M with WiFi connection

SIMATIC RF350M / .Net / TCP/IP via WiFi

https://support.industry.siemens.com/cs/ww/en/view/109747584

Siemens

Industry

Online

Support

Warranty and Liability

RF350M_DotNet

Entry ID: 109747584, V1.1, 08/2019 2

Siemens AG

2019

All rights reserved

Warranty and Liability

Note The Application Examples are not binding and do not claim to be complete regarding the circuits shown, equipping and any eventuality. The Application Examples do not represent customer-specific solutions. They are only intended to provide support for typical applications. You are responsible for ensuring that the described products are used correctly. These Application Examples do not relieve you of the responsibility to use safe practices in application, installation, operation and maintenance. When using these Application Examples, you recognize that we cannot be made liable for any damage/claims beyond the liability clause described. We reserve the right to make changes to these Application Examples at any time without prior notice. If there are any deviations between the recommendations provided in these Application Examples and other Siemens publications e.g. Catalogs the contents of the other documents have priority. We do not accept any liability for the information contained in this document. Any claims against us based on whatever legal reason resulting from the use of the examples, information, programs, engineering and performance data etc., described in this Application Example shall be excluded. Such an exclusion shall not apply in the case of mandatory liability, e.g. under the German Product Liability s negligence, or injury of life, body or health, guarantee for the quality of a product, fraudulent concealment of a deficiency or breach of a condition which goes to the root of the contract substantial contractual obligation are, however, limited to the foreseeable damage, typical for the type of contract, except in the event of intent or gross negligence or injury to life, body or health. The above provisions do not imply a change of the burden of proof to your detriment. Any form of duplication or distribution of these Application Examples or excerpts hereof is prohibited without the expressed consent of the Siemens AG.

Security

informa- tion Siemens provides products and solutions with industrial security functions that support the secure operation of plants, systems, machines and networks. In order to protect plants, systems, machines and networks against cyber threats, it is necessary to implement and continuously maintain a holistic, state-of-the-art industrial concept. Customer is responsible to prevent unauthorized access to its plants, systems, machines and networks. Systems, machines and components should only be connected to the enterprise network or the internet if and to the extent necessary and with appropriate security measures (e.g. use of firewalls and network segmentation) in place. res should be taken into account. For more information about industrial security, please visit http://www.siemens.com/industrialsecurity. nt to make them more secure. Siemens strongly recommends to apply product updates as soon as available and to always use the latest product versions. Use of product versions that are no longer supported, and failure to apply latest updates may increase cus threats. To stay informed about product updates, subscribe to the Siemens Industrial Security RSS Feed under http://www.siemens.com/industrialsecurity.

Table of Contents

RF350M_DotNet

Entry ID: 109747584, V1.1, 08/2019 3

Siemens AG

2019

All rights reserved

Warranty and Liability ................................................................................................. 2

1 Introduction ........................................................................................................ 4

1.1 Overview............................................................................................... 4

1.2 Mode of operation ................................................................................ 5

1.3 Components used ................................................................................ 6

2 Engineering ........................................................................................................ 8

2.1 Explanation on the API "RfidHfDotNet" ................................................ 8

2.2 Programming the API functions ......................................................... 11

2.2.1 API integration and connection to the RFID read head ..................... 11

2.2.2 Implementing RFID functions ............................................................. 12

2.3 Explanations on the sample application ............................................. 15

2.3.1 Structural configuration of the application .......................................... 15

2.3.2 Implementing the API functions in the sample application ................. 16

2.3.3 Implementing the TCP data exchange ............................................... 19

2.4 Explanations on the TCP server for Windows ................................... 20

2.4.1 Structural configuration of the application .......................................... 20

2.4.2 Mode of operation .............................................................................. 20

2.5 Explanations on the S7 server block for a PLC ................................. 22

2.5.1 Structure of the S7 user program ....................................................... 22

2.5.2 Mode of operation .............................................................................. 22

2.6 Commissioning ................................................................................... 24

2.6.1 Establishing a WiFi connection .......................................................... 24

2.6.2 Upload and start of the RFID application on the hand-held

terminal ............................................................................................... 26

2.6.3 Commissioning the server application for Windows .......................... 27

2.6.4 Commissioning the S7 server block ................................................... 27

2.7 Operating the Application Example .................................................... 29

2.7.1 Selecting the RFID protocol and connecting to the TCP server ........ 29

2.7.2 Performing inventories ....................................................................... 29

2.7.3 Reading the transponder .................................................................... 30

2.7.4 Writing on the transponder ................................................................. 31

2.7.5 Initializing the transponder ................................................................. 32

2.7.6 Sending transponder data to the TCP server..................................... 33

3 Valuable Information ....................................................................................... 36

4 Annex ................................................................................................................ 37

4.1 Service and support ........................................................................... 37

4.2 Links and literature ............................................................................. 38

4.3 Change documentation ...................................................................... 38

1 Introduction

RF350M_DotNet

Entry ID: 109747584, V1.1, 08/2019 4

Siemens AG

2019

All rights reserved

1

1.1 Overview

The hand-held terminal SIMATIC RF350M is designed for the flexible use of radio frequency identification (RFID). The hand-held terminal is wireless and provides all standard functions for reading out or writing on the RFID transponder. The device is based on Windows CE and therefore offers the opportunity to create and use individual, user-specific applications for RFID cheaply and in a standardized way. An SDK is offered to create own applications for the RF350M, which maps all available RFID functions. It also contains an API for the native implementation via C++ and another API for the Microsoft .NET Compact Framework. This application example shows a customized application of RFID based on the .NET API created with C#, that demonstrates the basic functions of RFID. This includes reading, writing, stocktaking and initialization of transponders as well as the opportunity to switch the read head regarding the available air interfaces

RF300 and ISO15693.

In addition, the example shows how to use the integrated WiFi interface of the RF350M to send read out transponder data to a PC or a S7-PLC.

Figure 1-1

RFID Use for the

SIMATIC RF350MS7-PLC/PC/PG

RFID transponder

Advantages of the application example

This application example offers you the following advantages: Expandable Visual Studio project for the SIMATIC RF350M with implemented

RFID functions

Simple and expandable Windows application to receive transponder data from

RF350M on a PC/PG

Simple and expandable TIA Portal project to receive transponder data from

RF350M on an S7-PLC.

Assumed knowledge

The following basic user knowledge is required:

Basics of programming in C#/.NET

Basics of programming and configuration in the TIA Portal

Basics of RFID

Basics of TCP/IP communication

1 Introduction

RF350M_DotNet

Entry ID: 109747584, V1.1, 08/2019 5

Siemens AG

2019

All rights reserved

1.2 Mode of operation

Below, you will find an explanation of what components, functions and mode of operations are used in the application example.

General function description

The following figure shows the function principle of this application example and the key components:

Figure 1-2

SIMATIC S7-1500

TCP/IP via Ethernet/WiFi

Windows PC

"RF350M_DotNet_Server_Example"

SIMATIC RF350M

"RF350M_DotNet_Example"

Application example

for Windows CE with TCP client for sending transponder data

RFID Transponder

(RF300/ISO15693) .NET Compact

Framework 2.0

RfidHfDotNet API

.NET TCP server for Windows .NET application for the SIMATIC RF350M with WiFi connection

SIMATIC RF350M / .Net / TCP/IP via WiFi

https://support.industry.siemens.com/cs/ww/en/view/109747584

Siemens

Industry

Online

Support

Warranty and Liability

RF350M_DotNet

Entry ID: 109747584, V1.1, 08/2019 2

Siemens AG

2019

All rights reserved

Warranty and Liability

Note The Application Examples are not binding and do not claim to be complete regarding the circuits shown, equipping and any eventuality. The Application Examples do not represent customer-specific solutions. They are only intended to provide support for typical applications. You are responsible for ensuring that the described products are used correctly. These Application Examples do not relieve you of the responsibility to use safe practices in application, installation, operation and maintenance. When using these Application Examples, you recognize that we cannot be made liable for any damage/claims beyond the liability clause described. We reserve the right to make changes to these Application Examples at any time without prior notice. If there are any deviations between the recommendations provided in these Application Examples and other Siemens publications e.g. Catalogs the contents of the other documents have priority. We do not accept any liability for the information contained in this document. Any claims against us based on whatever legal reason resulting from the use of the examples, information, programs, engineering and performance data etc., described in this Application Example shall be excluded. Such an exclusion shall not apply in the case of mandatory liability, e.g. under the German Product Liability s negligence, or injury of life, body or health, guarantee for the quality of a product, fraudulent concealment of a deficiency or breach of a condition which goes to the root of the contract substantial contractual obligation are, however, limited to the foreseeable damage, typical for the type of contract, except in the event of intent or gross negligence or injury to life, body or health. The above provisions do not imply a change of the burden of proof to your detriment. Any form of duplication or distribution of these Application Examples or excerpts hereof is prohibited without the expressed consent of the Siemens AG.

Security

informa- tion Siemens provides products and solutions with industrial security functions that support the secure operation of plants, systems, machines and networks. In order to protect plants, systems, machines and networks against cyber threats, it is necessary to implement and continuously maintain a holistic, state-of-the-art industrial concept. Customer is responsible to prevent unauthorized access to its plants, systems, machines and networks. Systems, machines and components should only be connected to the enterprise network or the internet if and to the extent necessary and with appropriate security measures (e.g. use of firewalls and network segmentation) in place. res should be taken into account. For more information about industrial security, please visit http://www.siemens.com/industrialsecurity. nt to make them more secure. Siemens strongly recommends to apply product updates as soon as available and to always use the latest product versions. Use of product versions that are no longer supported, and failure to apply latest updates may increase cus threats. To stay informed about product updates, subscribe to the Siemens Industrial Security RSS Feed under http://www.siemens.com/industrialsecurity.

Table of Contents

RF350M_DotNet

Entry ID: 109747584, V1.1, 08/2019 3

Siemens AG

2019

All rights reserved

Warranty and Liability ................................................................................................. 2

1 Introduction ........................................................................................................ 4

1.1 Overview............................................................................................... 4

1.2 Mode of operation ................................................................................ 5

1.3 Components used ................................................................................ 6

2 Engineering ........................................................................................................ 8

2.1 Explanation on the API "RfidHfDotNet" ................................................ 8

2.2 Programming the API functions ......................................................... 11

2.2.1 API integration and connection to the RFID read head ..................... 11

2.2.2 Implementing RFID functions ............................................................. 12

2.3 Explanations on the sample application ............................................. 15

2.3.1 Structural configuration of the application .......................................... 15

2.3.2 Implementing the API functions in the sample application ................. 16

2.3.3 Implementing the TCP data exchange ............................................... 19

2.4 Explanations on the TCP server for Windows ................................... 20

2.4.1 Structural configuration of the application .......................................... 20

2.4.2 Mode of operation .............................................................................. 20

2.5 Explanations on the S7 server block for a PLC ................................. 22

2.5.1 Structure of the S7 user program ....................................................... 22

2.5.2 Mode of operation .............................................................................. 22

2.6 Commissioning ................................................................................... 24

2.6.1 Establishing a WiFi connection .......................................................... 24

2.6.2 Upload and start of the RFID application on the hand-held

terminal ............................................................................................... 26

2.6.3 Commissioning the server application for Windows .......................... 27

2.6.4 Commissioning the S7 server block ................................................... 27

2.7 Operating the Application Example .................................................... 29

2.7.1 Selecting the RFID protocol and connecting to the TCP server ........ 29

2.7.2 Performing inventories ....................................................................... 29

2.7.3 Reading the transponder .................................................................... 30

2.7.4 Writing on the transponder ................................................................. 31

2.7.5 Initializing the transponder ................................................................. 32

2.7.6 Sending transponder data to the TCP server..................................... 33

3 Valuable Information ....................................................................................... 36

4 Annex ................................................................................................................ 37

4.1 Service and support ........................................................................... 37

4.2 Links and literature ............................................................................. 38

4.3 Change documentation ...................................................................... 38

1 Introduction

RF350M_DotNet

Entry ID: 109747584, V1.1, 08/2019 4

Siemens AG

2019

All rights reserved

1

1.1 Overview

The hand-held terminal SIMATIC RF350M is designed for the flexible use of radio frequency identification (RFID). The hand-held terminal is wireless and provides all standard functions for reading out or writing on the RFID transponder. The device is based on Windows CE and therefore offers the opportunity to create and use individual, user-specific applications for RFID cheaply and in a standardized way. An SDK is offered to create own applications for the RF350M, which maps all available RFID functions. It also contains an API for the native implementation via C++ and another API for the Microsoft .NET Compact Framework. This application example shows a customized application of RFID based on the .NET API created with C#, that demonstrates the basic functions of RFID. This includes reading, writing, stocktaking and initialization of transponders as well as the opportunity to switch the read head regarding the available air interfaces

RF300 and ISO15693.

In addition, the example shows how to use the integrated WiFi interface of the RF350M to send read out transponder data to a PC or a S7-PLC.

Figure 1-1

RFID Use for the

SIMATIC RF350MS7-PLC/PC/PG

RFID transponder

Advantages of the application example

This application example offers you the following advantages: Expandable Visual Studio project for the SIMATIC RF350M with implemented

RFID functions

Simple and expandable Windows application to receive transponder data from

RF350M on a PC/PG

Simple and expandable TIA Portal project to receive transponder data from

RF350M on an S7-PLC.

Assumed knowledge

The following basic user knowledge is required:

Basics of programming in C#/.NET

Basics of programming and configuration in the TIA Portal

Basics of RFID

Basics of TCP/IP communication

1 Introduction

RF350M_DotNet

Entry ID: 109747584, V1.1, 08/2019 5

Siemens AG

2019

All rights reserved

1.2 Mode of operation

Below, you will find an explanation of what components, functions and mode of operations are used in the application example.

General function description

The following figure shows the function principle of this application example and the key components:

Figure 1-2

SIMATIC S7-1500

TCP/IP via Ethernet/WiFi

Windows PC

"RF350M_DotNet_Server_Example"

SIMATIC RF350M

"RF350M_DotNet_Example"

Application example

for Windows CE with TCP client for sending transponder data

RFID Transponder

(RF300/ISO15693) .NET Compact

Framework 2.0

RfidHfDotNet API

.NET TCP server for Windows