Cookies help us in providing our services. By using our services, you agree that we set functionally necessary cookies.
Optional cookies that are used for statistical or marketing purposes will only be set after your consent.

       
OK
S7-communication-driver LAN for .NET (COM-interface) - Process Informatik Entwicklungsgesellschaft mbH

S7-communication-driver LAN for .NET (COM-interface) Download


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...
variants:

1970,00 € plus VAT. and shipping

ARTNR: 9742.NET.COM-S7-D
IPS7LnkNet.Advanced.COM, Single Developer License
EAN number: 4260363249706
HS-code: 85234990



Alternativen

9742.NET.COM-S7-D
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
Quickbestellung INFOMAIL
by e-mail
1970,00 €
plus VAT. and shipping


9742.NET.COM-S7
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
Quickbestellung INFOMAIL
by e-mail
3970,00 €
plus VAT. and shipping


SUP-9742.NET.COM-S7-D
Software Update & Support service

12 months - Top level support and update service including new features
Quickbestellung INFOMAIL
by e-mail
492,00 €
plus VAT. and shipping


SUP-9742.NET.COM-S7
Software Update & Support service

12 months - Top level support and update service including new features
Quickbestellung INFOMAIL
by e-mail
992,00 €
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
  • 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
  • one registered developer may use the SDK
  • all products/applications developed with the SDK may be delivered to your users/customers in unlimited numbers and used by them (Royalty Free)
  • the term of the license is unlimited
  • ideal for mass-produced products
  • applies to a single registered developer
  • the term of the license is unlimited

  • unlimited number of developers in this location are allowed to use the SDK
  • all products/applications developed with the SDK may be delivered to your users/customers in unlimited numbers and used by them (Royalty Free)
  • the term of the license is unlimited
  • ideal for mass-produced products
  • applies to a developer location (= one postal address where development takes place)
  • the term of the license is unlimited


Unbenanntes Dokument

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;
device.ChannelType = SiemensChannelType.OperationPanel;

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");

// Alternatively also specify the rack.
PlcDeviceEndPoint endPointWithRack = new IPDeviceEndPoint(
"192.168.0.80", 0);

// Alternatively also specify the rack and slot.
PlcDeviceEndPoint endPointWithRackSlot = new IPDeviceEndPoint(
"192.168.0.80", 0, 2);


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"));
PlcDeviceConnection connection = device.CreateConnection();


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)
{
Console.WriteLine(
"Connection established!");
}


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");
int valueData = connection.ReadValue(
value);

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);
int
[] values = connection.ReadValue(values);

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");
PlcInt32 value2 =
new PlcInt32("DB2.DBD 1");
PlcInt32 value3 =
new PlcInt32("DB3.DBD 1");

int
[] values = connection.ReadValues(value1, value2, value3);

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");
PlcInt32Array values2 =
new PlcInt32Array("DB2.DBD 1", 4);
PlcBoolean value3 =
new PlcBoolean("DB3.DBX 1.0");
PlcBooleanArray values4 =
new PlcBooleanArray("DB4.DBX 1.0", 5);
PlcString value5 =
new PlcString("DB5.DBB 1", 32);

object
[] values = connection.ReadValues(value1, values2, value3, values4, value5);


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
{
[PlcMember(
"DB1.DBX 100.0", Length = 7)]
private bool[] toolConfigurations;



public MachineData()
  : base()
{
 }



[PlcMember("DB1.DBB 120"
)]
public DateTime EstimatedFinishDate {
get; set; }

[PlcMember("DB1.DBB 1", Length = 16)]
public string JobNumber {
get; set; }

[PlcMember("DB1.DBD 100"
)]
public int Speed {
get; set; }

[PlcMember("DB1.DBW 50"
)]
public float Temperature {
get; set; }

[PlcMember("DB1.DBX 100.0"
)]
public bool UseCuttingTool {
get; set; }



public bool IsToolConfigured(int toolIndex)
{
  return this.toolConfigurations[toolIndex];
}
}


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);
connection.WriteValue(value);

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);
connection.WriteValue(values);

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);
PlcInt32 value2 =
new PlcInt32("DB2.DBD 1", 456);
PlcInt32 value3 =
new PlcInt32("DB3.DBD 1", 789);

connection.WriteValues(value1, value2, value3);

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);
PlcInt32Array values2 =
new PlcInt32Array("DB2.DBD 1", 4, 5, 6);
PlcInt32Array values3 =
new PlcInt32Array("DB3.DBD 1", 7, 8, 9);

connection.WriteValues(values1, values2, values3);

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);
PlcInt32Array values2 =
new PlcInt32Array("DB2.DBD 1", 4, 5, 6);
PlcBoolean value3 =
new PlcBoolean("DB3.DBX 1.0", true);
PlcBooleanArray values4 =
new PlcBooleanArray("DB4.DBX 1.0", true, false, true, false, true);
PlcString value5 =
new PlcString("DB5.DBB 1", "This is my string value.");

connection.WriteValues(value1, values2, value3, values4, value5);


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);
PlcInt32 value2 =
new PlcInt32("DB2.DBD 1", 456);
PlcInt32 value3 =
new PlcInt32("DB3.DBD 1", 789);

connection.WriteValues(value1, value2, value3);

The MillJob class could look like as follows:

public class MillJob : PlcObject
{
public MillJob(string number)
  : base()
{
  this.Number = number;
}



[PlcMember(
"DB1.DBD 20")]
public int Input { get; set; }

[PlcMember(
"DB1.DBB 1")]
public string Number {
get; private set; }

[PlcMember(
"DB1.DBD 25")]
public int Output {
get; set; }

[PlcMember(
"DB1.DBD 30")]
public int RotationSpeed {
get; set; }

[PlcMember(
"DB1.DBW 40")]
public float ToolDiameter {
get; set; }


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.
All prices plus costs of delivery, shipping insurance and VAT.

Support-service:

SUP-9742.NET.COM-S7-D
Software Update & Support service

12 months - Top level support and update service including new features
Quickbestellung INFOMAIL
by e-mail
492,00 €
plus VAT. and shipping


SUP-9742.NET.COM-S7
Software Update & Support service

12 months - Top level support and update service including new features
Quickbestellung INFOMAIL
by e-mail
992,00 €
plus VAT. and shipping


All prices plus costs of delivery, shipping insurance and VAT.

Branch License

9742.NET.COM-S7
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
Quickbestellung INFOMAIL
by e-mail
3970,00 €
plus VAT. and shipping


All prices plus costs of delivery, shipping insurance and VAT.

Automatic-mode

Versionstory

Other downloads

Extension

Support-videos