using HslCommunication.Instrument.DLT; using HslCommunication.Profinet.Siemens; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; namespace DataBlockHelper { public class PlcConnect { private static readonly Lazy lazy = new Lazy(() => 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(); s7.IpAddress = "172.18.4.100"; s7.Port = 102; var su = s7.ConnectServer(); if (!su.IsSuccess) { s7.IpAddress = "192.168.0.100"; s7.Port = 7788; var fn = s7.ConnectServer(); if (!fn.IsSuccess) { return new SiemensS7Net(siemensPLCS); } } return s7; } } }