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 System;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace DataBlockHelper
|
|
|
|
|
{
|
|
|
|
|
public class PlcConnect
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
private static readonly Lazy<SiemensS7Net> lazy = new Lazy<SiemensS7Net>(() => new PlcConnect().SiemensS7NetConnection());
|
|
|
|
|
public static SiemensS7Net Instance => lazy.Value;
|
|
|
|
|
|
|
|
|
|
private PlcConnect()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public SiemensS7Net SiemensS7NetConnection()
|
|
|
|
|
{
|
|
|
|
|
SiemensPLCS siemensPLCS = SiemensPLCS.S1500;
|
|
|
|
|
SiemensS7Net s7 = new SiemensS7Net(siemensPLCS);
|
|
|
|
|
s7.SetPersistentConnection();
|
|
|
|
|
|
|
|
|
|
//输送IP
|
|
|
|
|
// s7.IpAddress = "192.168.1.110";
|
|
|
|
|
|
|
|
|
|
//配料IP
|
|
|
|
|
s7.IpAddress = "172.18.4.110";
|
|
|
|
|
|
|
|
|
|
s7.Port = 102;
|
|
|
|
|
var su = s7.ConnectServer();
|
|
|
|
|
|
|
|
|
|
if (!su.IsSuccess)
|
|
|
|
|
{
|
|
|
|
|
s7.IpAddress = "192.168.0.100";
|
|
|
|
|
s7.Port = 7788;
|
|
|
|
|
var su1 = s7.ConnectServer();
|
|
|
|
|
if (!su1.IsSuccess)
|
|
|
|
|
{
|
|
|
|
|
return new SiemensS7Net(siemensPLCS);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return s7;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|