using HslCommunication.Profinet.Siemens; using System; namespace Mesnac.Action.ChemicalWeighing { public class PlcConnect { private static readonly Lazy lazy = new Lazy(() => 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() { SiemensPLCS siemensPLCS = SiemensPLCS.S1500; SiemensS7Net s7 = new SiemensS7Net(siemensPLCS); //配料IP s7.IpAddress = "192.168.10.130"; s7.Port = 102; var su = s7.ConnectServer(); if (!su.IsSuccess) { s7.IpAddress = "192.168.10.130"; s7.Port = 102; var su1 = s7.ConnectServer(); if (!su1.IsSuccess) { return new SiemensS7Net(siemensPLCS); } } return s7; } } }