S7-communication-driver LAN for .NET (COM-interface)
SDK to read, write and inspect data of
SIEMENS SIMATIC S7-300, S7-400, S7-1200,
S7-1500, LOGO! and more controllers using
Visual Basic 6, Excel Makros, Visual Basic for
Applications (VBA) and ActiveX with (D)COM
for Windows 8+ and Windows Server 2016+
incl. 12 months top level support and update
service including new features
Verwendung:
The framework enables direct data exchange with the SIMATIC S7 via TCP/IP. IPS7LnkNet.Advanced supports all SIMATIC-S7 PLC types with Ethernet OnBoard (PN), S7-Ethernet-CP (CP-343 ...) and ProfiNet.
Communication with all S7-compatible PLCs such as VIPA-S7, S7-LAN and S5-LAN has been implemented.
Communication takes place via TCP/IP. To connect to the PLC, only the IP address and slot of the CPU in the rack are required.
The PLC data can already be accessed. (Inputs, outputs, flags, data blocks, timers and counters).
No additional PLC program is necessary! IPS7LnkNet.Advanced offers comfortable objects for .Net languages. The Microsoft standards are adhered to.
more...
ARTNR: 9742.NET.COM-S7-D
IPS7LnkNet.Advanced.COM, Single Developer License
EAN number: | 4260363249706 | |
HS-code: | 85234990 |
Alternativen
IPS7LnkNet.Advanced.COM, Single Developer License
SDK to read, write and inspect data of SIEMENS SIMATIC S7-300, S7-400, S7-1200, S7-1500, LOGO! and more controllers using Visual Basic 6, Excel Makros, Visual Basic for Applications (VBA) and ActiveX with (D)COM for Windows 8+ and Windows Server 2016+ incl. 12 months top level support and update service including new features
plus VAT. and shipping
IPS7LnkNet.Advanced.COM, Site / Branch Lic
SDK to read, write and inspect data of SIEMENS SIMATIC S7-300, S7-400, S7-1200, S7-1500, LOGO! and more controllers using Visual Basic 6, Excel Makros, Visual Basic for Applications (VBA) and ActiveX with (D)COM for Windows 8+ and Windows Server 2016+ incl. 12 months top level support and update service including new features
plus VAT. and shipping
Software Update & Support service
12 months - Top level support and update service including new features
plus VAT. and shipping
Software Update & Support service
12 months - Top level support and update service including new features
plus VAT. and shipping
Verwendung:
The framework enables direct data exchange with the SIMATIC S7 via TCP/IP.
IPS7LnkNet.Advanced supports all SIMATIC-S7 PLC types with Ethernet OnBoard (PN),
S7-Ethernet-CP (CP-343 ...) and ProfiNet.
Communication with all S7-compatible PLCs such as VIPA-S7, S7-LAN and S5-LAN has been implemented.
Communication takes place via TCP/IP. To connect to the PLC, only the IP address and slot of the CPU in the
rack are required.
The PLC data can already be accessed. (Inputs, outputs, flags, data blocks, timers and counters).
No additional PLC program is necessary! IPS7LnkNet.Advanced offers comfortable objects for .Net languages.
The Microsoft standards are adhered to.
Features:
- Communication without PLC-program/-changes b>
- Support of old firmware-stands
- PDU-optimized telegrams
- Automatic communication-abort detection
- developed in pure C #
- executable on 32- and 64-bit
- completely object-oriented
- optimized read and write access
- automatic data conversion (PLC <--> C#/VB.net)
- simple interface (e.g. for MS Excel VBA)
this makes it easy to implement and work with the DLL - PLC-types:
S7-1500/S7-1200/S7-300/S7-400/S7-200/Siemens LOGO! - All Siemens S7-CPU with TCP/IP (e.g. CP-343-1, CP343-1IT, CP-443-1, CP443-1IT, CP-343 LEAN, PN or onboard)
- PLC data areas:
Flags, inputs, outputs, counters, timers, data blocks - high performance through optimized reading routine:
different data areas (I / O / M / DB / T / Z) are read in a protocol frame - PLC data types:
BIT, BYTE, WORD, INT, LINT, ULINT, REAL, S7-STRING, all TIME-formats , all types as array - Operating systems:
Windows (any)
Development:
- Without license of Siemens (STEP7 / TIA)
- .NET-Framework 4.6+ / .NET 5.0+
- C#, VB.NET & C++/CLI
- PLC- & User-data types
- Addressing with Siemens- and IEC-syntax
Example - simple interface:
Here is an example in C#: write and read "Hello World" in the PLC IP 192.168.0.80
namespace HelloWorld
{
using System;
using IPS7Lnk.Advanced;
///
/// This sample demonstrates a Hello World! application.
///
///
/// This application does write/read the 'Hello World!' message to/from the
PLC and when
/// prints the message on the standard output.
///
public class Program
{
public static void Main(string[] args)
{
SiemensDevice device = new SiemensDevice(
new IPDeviceEndPoint("192.168.0.80"), SiemensDeviceType.S7300_400);
PlcDeviceConnection connection = device.CreateConnection();
connection.Open();
connection.WriteString("DB111.DBB100", "Hello World!");
string message = connection.ReadString("DB111.DBB 100", 16);
Console.WriteLine(message);
connection.Close();
Console.ReadKey();
}
}
}
Many examples in the evaluation package reading/writing PLC data
- into a database
- into a CSV file
- MultiRead/MultiWrite (Mixed) access to the PLC by own objects or lists
Licenses: | |
Single Developer License | Site / Branch / Standort License |
|
|
IP-S7-Link .Net Advanced Code Snippets
Device Provider
Use one of the different PLC device providers by instantiating an instance of the appropriate PlcDevice class derivates.
PlcDevice device = new SiemensDevice(new IPDeviceEndPoint("192.168.0.80")); |
Device Configuration
After an instance of (for e.g.) the
SiemensDevice class has been created just use the properties provided by the
class to setup the appropriate
device metadata.
SiemensDevice device = new SiemensDevice(new IPDeviceEndPoint("192.168.0.80")); device.Type = SiemensDeviceType.S71200; |
In the most scenarios its already
enough to create a device using the appropriate device type in the constructor
of the device, because the
default channel does mostly match the common needs.
SiemensDevice device = new SiemensDevice(new IPDeviceEndPoint("192.168.0.80"), SiemensDeviceType.S71200); |
Device End Point
The framework does provide the ability
to define different types of end points through the PlcDeviceEndPoint class.
The most common end point
implementation to use is the IPDeviceEndPoint class. Using this class it is
possible to specify the IP address and optionally the rack and slot
number of the PLC.
PlcDeviceEndPoint endPoint
= new IPDeviceEndPoint("192.168.0.80"); |
Device Connection
After creating an instance of one
of the PlcDevice class derivates just create a new connection associated with
the device represented.
Creating an instance using this factory method will then return the device provider
dependent implementation of the PlcDeviceConnection class.
PlcDevice device = new SiemensDevice(new
IPDeviceEndPoint("192.168.0.80")); |
Handle Connection State
To retrieve the current connectivity
state of the PlcDeviceConnection class instance use the State property to get
the according
PlcDeviceConnectionState enumeration member.
if (connection.State
== PlcDeviceConnectionState.Connected)
{ |
To handle the state transitions use one or more of the state specific events of the PlcDeviceConnection class instance.
connection.Connected += Program.HandleConnectionConnected; |
To handle the event declare the matching event handler as follows:
private static
void
HandleConnectionConnected(object sender,
EventArgs e) |
Read Values
To read a single value use one of the Read methods of the PlcDeviceConnection class.
int value = connection.ReadInt32("DB1.DBD 1"); |
To read an array of values use the additional read overloads to specify the number of items to read as an array as follows:
int[] values = connection.ReadInt32("DB1.DBD 1", 3); |
Read Values using PlcValue
To read a single value using an derivate
of the PlcValue class use one of the ReadValue overloads of the
PlcDeviceConnection class as follows.
PlcInt32 value
= new
PlcInt32("DB1.DBD
1"); |
To read an array of values using an derivate of the PlcArray class use one of the ReadValue overloads as follows:
PlcInt32Array values =
new PlcInt32Array("DB1.DBD
1", 3); |
To read multiple values at once using
derivates of the PlcValue class use one of the ReadValues overloads of the PlcDeviceConnection
class
as follows.
PlcInt32 value1 =
new
PlcInt32("DB1.DBD
1"); |
To read multiple arrays of values
at once using derivates of the PlcArray class use one of the ReadValues overloads
of the PlcDeviceConnection
class as follows.
PlcInt32 value1
= new
PlcInt32("DB1.DBD
1"); |
Read Values using PlcObject
To read a custom derivate of the PlcObject class use the Read method as follows:
MachineData data = connection.Read<MachineData>(); |
The MachineData class could look like as follows:
public
class MachineData : PlcObject |
Write Values
To write a single value use one of the Write methods of the PlcDeviceConnection class.
connection.WriteInt32("DB1.DBD 1", 123); |
To write an array of values use the additional write overloads to specify an array of items to write as follows:
connection.WriteInt32("DB1.DBD 1", 123, 456, 789); |
Write Values using PlcValue
To write a single value using an derivate of the PlcValue class use one of the WriteValue overloads of the PlcDeviceConnection class as follows.
PlcInt32 value
= new
PlcInt32("DB1.DBD
1", 123); |
To write an array of values using an derivate of the PlcArray class use one of the WriteValue overloads as follows:
PlcInt32Array values =
new
PlcInt32Array("DB1.DBD
1", 123,
456, 789); |
To write multiple values at once
using derivates of the PlcValue class use one of the WriteValues overloads of
the PlcDeviceConnection class
as follows.
PlcInt32 value1
= new
PlcInt32("DB1.DBD
1", 123); |
To write multiple arrays of values
at once using derivates of the PlcArray class use one of the WriteValues overloads
of the PlcDeviceConnection
class as follows.
PlcInt32Array values1 =
new
PlcInt32Array("DB1.DBD
1", 1,
2, 3); |
To write multiple derivates of the
PlcValue class or of the PlcArray class use one of the WriteValues overloads
of the PlcDeviceConnection
class as follows.
PlcInt32 value1 =
new
PlcInt32("DB1.DBD
1", 123); |
Write Values using PlcObject
To write a custom derivate of the PlcObject class use the Write method as follows:
PlcInt32 value1 =
new
PlcInt32("DB1.DBD
1", 123); |
The MillJob class could look like as follows:
public
class MillJob : PlcObject |
Licensing process:
Free download of the complete range of functions
with a date-dependent duration:
/s7-kommunikations-treiber-lan-fuer-net-com-schnittstelle.html/
Order by email to verkauf@process-informatik.de
You will receive a license code to enter in the
sourcecode, so that the program is licensed.
Support-service:
Software Update & Support service
12 months - Top level support and update service including new features
plus VAT. and shipping
Software Update & Support service
12 months - Top level support and update service including new features
plus VAT. and shipping
Branch License
IPS7LnkNet.Advanced.COM, Site / Branch Lic
SDK to read, write and inspect data of SIEMENS SIMATIC S7-300, S7-400, S7-1200, S7-1500, LOGO! and more controllers using Visual Basic 6, Excel Makros, Visual Basic for Applications (VBA) and ActiveX with (D)COM for Windows 8+ and Windows Server 2016+ incl. 12 months top level support and update service including new features
plus VAT. and shipping