Example #1
0
        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);
            }
        }
Example #2
0
        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);
            }
        }