You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.5 KiB
C#

using HslCommunication.Profinet.Siemens;
using log4net;
using System;
namespace Admin.Core.PlcServer
{
public class PlcConnect
{
private static readonly log4net.ILog log = LogManager.GetLogger(typeof(PlcConnect));
private static readonly Lazy<SiemensS7Net> lazy = new Lazy<SiemensS7Net>(() => new PlcConnect().SiemensS7NetConnection());
public static SiemensS7Net Instance => lazy.Value;
private PlcConnect()
{
if (HslCommunication.Authorization.SetAuthorizationCode("ed1415f8-e06a-43ad-95f7-c04f7ae93b41"))
{
Console.WriteLine("HslCommunication激活成功!");
}
}
public SiemensS7Net SiemensS7NetConnection()
{
Console.WriteLine("HslCommunication激活成功!");
SiemensPLCS siemensPLCS = SiemensPLCS.S1500;
SiemensS7Net s7 = new SiemensS7Net(siemensPLCS);
//配料IP
//s7.IpAddress = "192.168.10.130";
s7.IpAddress = "127.0.0.1";
s7.Port = 102;
var su = s7.ConnectServer();
if (!su.IsSuccess)
{
//s7.IpAddress ="192.168.10.130";
s7.IpAddress = "127.0.0.1";
s7.Port = 102;
var su1 = s7.ConnectServer();
if (!su1.IsSuccess)
{
return new SiemensS7Net(siemensPLCS);
}
}
return s7;
}
}
}