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.
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|