private bool OnConnPlc() { try { string PlcIP = this.textBoxPlcIP.Text;//ConfigurationManager.AppSettings["plcIP"]; int PlcPort = int.Parse(this.textBoxPlcPort.Text); EnumNetProto proto = EnumNetProto.TCP; EnumPlcCata plcCata = EnumPlcCata.FX5U; if (this.radionTcp.Checked) { proto = EnumNetProto.TCP; } else { proto = EnumNetProto.UDP; } switch (cbxPlcCata.Text) { case "FX5U": { plcCata = EnumPlcCata.FX5U; break; } case "Q系列": { plcCata = EnumPlcCata.Qn; break; } case "Fx3uNET模块": { plcCata = EnumPlcCata.FX3UENET; break; } default: break; } if (presenter.ConnPlc(PlcIP, PlcPort, plcCata, proto)) { label2.Text = "PLC 连接成功!"; this.buttonClosePlc.Enabled = true; this.buttonConnectPlc.Enabled = false; return(true); } else { label2.Text = "PLC 连接失败!"; return(false); } } catch (Exception ex) { Console.WriteLine(ex.ToString()); return(false); } }
public bool ConnPlc(string ip, int port, EnumPlcCata plcCata, EnumNetProto proto) { try { if (SimMode) { plcRW = new PlcRWSim(); } else { PLCRwMCPro plcRwMC = new PLCRwMCPro(plcCata, 20, 20); plcRW = plcRwMC; plcRwMC.PlcCata = plcCata; plcRwMC.ConnStr = ip + ":" + port.ToString(); } stacker.PlcRW = plcRW; string reStr = ""; if (plcRW.ConnectPLC(ref reStr)) { Console.WriteLine("PLC连接成功!"); return(true); } else { Console.WriteLine("PLC连接失败!"); return(false); } } catch (Exception ex) { Console.WriteLine(ex.ToString()); return(false); } }