Derek Heiser a470073d4c Merge pull request #14 from abenedykt/master
Fixed bug in IPlc.Read as well as reset IsConnected on socketconnection.
2014-08-29 13:03:45 -05:00
2013-02-09 10:17:47 -06:00
2013-02-09 10:17:47 -06:00
2014-08-08 21:00:18 +02:00

s7netplus

A .NET Library for Siemens S7 Connectivity

Overview

S7.Net Plus is a continuation of the work done on the S7.Net project by Juergen1969. I found the library simple and effective, but the project has languished unchanged since late 2009.

I was doing some automation work already and saw a few places where the code base could be improved. Because Juergen did not respond to my request for committing code, I decided to pick up where he left off here on GitHub.

Requirements

  • Compatible S7 PLC (S7-200, S7-300, S7-400, S7-1200)
  • .NET Framework 3.5 or higher

Basic Usage

//Basic connection properties
string deviceIpAddress = "172.25.116.87";
int rackNumber = 0;
int slotNumber = 2;

//Connection to device
using (var plc = new PLC(CPU_Type.S7300, deviceIpAddress, rackNumber, slotNumber))
{
	//Ensure IP is responding
    if (plc.IsAvailable)
    {
        ErrorCode connectionResult = plc.Open();

		 //Verify that connection was successful
        if (connectionResult.Equals(ErrorCode.NoError))
        {
            //Get data
            object data = plc.Read("MB59");

            Console.WriteLine("SUCCESS: Read result of MB59 is {0}", data);
        }
        else
        {
            Console.WriteLine("ERROR: Device is available but connection was unsuccessful!");
        }
    }
    else
    {
        Console.WriteLine("ERROR: Device is not available!");
    }
} 
Description
S7.NET+ -- A .NET library to connect to Siemens Step7 devices
Readme 3.2 MiB
Languages
C# 100%