Cookies helfen uns bei der Bereitstellung unserer Dienste. Durch die Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies setzen.
Cookies help us in providing our services. By using our services, you agree that we set cookies.
OK
S7-communication-driver LAN for .NET (COM-interface) - Process Informatik Entwicklungsgesellschaft mbH

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


Site / Branch / Standort License
S7-200/300/400/1200/1500
Win 32/64-Bit Branch License
windows (any)
incl. 12 month top level support and update
service

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:

3517,00 € plus VAT. and shipping

ARTNR: 9742.NET.COM-S7
IPS7LnkNet.Advanced.COM, Site / Branch Lic
EAN number: 4260363249690
HS-code: 85234990



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:
/9742.NET.COM-S7_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

Single-Developer-License IPS7LnkNet.Advanced 12 months subscription new features and support included requires Single-Developer-License IP-S7-LINK SDK COM renewal for additional 12 months condition: remaining active support for at least one month
Quickbestellung INFOMAIL
by e-mail
263,00 €
plus VAT. and shipping


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

Site / Branch / Standort License IPS7LnkNet.Advanced 12 months subscription new features and support included requires Site / Branch / Standort License IP-S7-LINK SDK COM renewal for additional 12 months condition: remaining active support for at least one month
Quickbestellung INFOMAIL
by e-mail
527,00 €
plus VAT. and shipping


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

Einzel-Entwickler-Lizenz

9742.NET.COM-S7-D
IPS7LnkNet.Advanced.COM, Single Developer License

Single-Developer-License S7-200/300/400/1200/1500 Win 32/64-Bit Single Developer License windows (any) incl. 12 month top level support and update service
Quickbestellung INFOMAIL
by e-mail
1755,00 €
plus VAT. and shipping


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

9742.32-S7-P
IP-S7-LINK for windows, Project License Obsolete

Successor: IP-S7-LINK for windows, Single Developer License (Art.No: 9742.32-S7-D)
project license Only one project may be realized with this license and implemented. Further projects require a new license. S7-200/300/400/1200/1500 windows (any) 32-bit Can be charged 100% within 6 months when upgrading to branch license
Quickbestellung INFOMAIL
by e-mail
0,00 €
plus VAT. and shipping

Automatic-mode

Versionstory

Other downloads

Extension

Support-videos