Esempio n. 1
0
        private void button1_Click(object sender, EventArgs e)
        {
            // 连接
            if (!System.Net.IPAddress.TryParse(textBox1.Text, out System.Net.IPAddress address))
            {
                MessageBox.Show("Ip地址输入不正确!");
                return;
            }

            siemensTcpNet.IpAddress = textBox1.Text;

            try
            {
                OperateResult connect = siemensTcpNet.ConnectServer( );
                if (connect.IsSuccess)
                {
                    MessageBox.Show("连接成功!");
                    button2.Enabled = true;
                    button1.Enabled = false;
                    panel2.Enabled  = true;
                }
                else
                {
                    MessageBox.Show("连接失败!");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 连接
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Btn_Connect_Click(object sender, EventArgs e)
        {
            //连接

            if (!IPAddress.TryParse(txt_IP.Text, out IPAddress address))
            {
                MessageBox.Show("IP错误");
                return;
            }

            //设置ip
            siemensTcpNet.IpAddress = address.ToString();

            try
            {
                //连接
                OperateResult connect = siemensTcpNet.ConnectServer();
                if (connect.IsSuccess)
                {
                    MessageBox.Show("连接成功");
                    btn_Connect.Enabled    = false;
                    btn_DisConnect.Enabled = true;
                    panel2.Enabled         = true;
                }
                else
                {
                    MessageBox.Show("连接失败");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 3
0
 //连接PLC  SiemensPLCS.S1200
 public void SiemensS7NetConnect(SiemensPLCS siemens, out string strMsg)
 {
     strMsg                       = "";
     siemensTcpNet                = new SiemensS7Net(siemens);                                 // 实例化西门子的对象
     siemensTcpNet.IpAddress      = ConfigurationManager.AppSettings["S7IpAdress"].ToString(); // 设置IP地址
     siemensTcpNet.ConnectTimeOut = 1000;                                                      // 超时时间为1秒
     try
     {
         OperateResult connect = siemensTcpNet.ConnectServer();                             //切换为长连接
         if (connect.IsSuccess)
         {
             //成功添加处理,日志?
             Log.loginfo.Info("PLC连接成功!");
             strMsg = "PLC连接成功";
         }
         else
         {
             strMsg = HslCommunication.StringResources.Language.ConnectedFailed + connect.Message;
             Log.logerror.Error("PLC连接失败!", new Exception("失败"));
         }
     }
     catch (Exception ex)
     {
         strMsg = ex.Message;
     }
 }
Esempio n. 4
0
        //连接PLC
        private void btnConnect_Click(object sender, EventArgs e)
        {
            IPAddress address;

            if (!IPAddress.TryParse(txtIP.Text, out address))
            {
                MessageBox.Show("IP地址输入错误!");
                return;
            }

            m_siemensTcpNet.IpAddress = txtIP.Text;

            try
            {
                //长连接
                OperateResult connect = m_siemensTcpNet.ConnectServer();
                if (connect.IsSuccess)
                {
                    MessageBox.Show("连接成功!");
                    btnConnect.Enabled    = false;
                    btnDisConnect.Enabled = true;
                    panel3.Enabled        = true;
                }
                else
                {
                    MessageBox.Show("连接失败!");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            // 连接
            if (!int.TryParse(textBox2.Text, out int port))
            {
                MessageBox.Show("端口输入不正确!");
                return;
            }

            siemensTcpNet = new SiemensS7Net(siemensPLCSelected, "127.0.0.1");
            if (siemensPLCSelected != SiemensPLCS.S200Smart)
            {
                siemensTcpNet.Rack = byte.Parse(textBox15.Text);
                siemensTcpNet.Slot = byte.Parse(textBox16.Text);
            }

            try
            {
                siemensTcpNet.ConnectionId = textBox1.Text; // 设置唯一的ID
                NetworkAlienStart(port);
                siemensTcpNet.ConnectServer(null);          // 切换为异形客户端,并等待服务器的连接。
                userControlReadWriteOp1.SetReadWriteNet(siemensTcpNet, "M100", true);

                MessageBox.Show("等待服务器的连接!");
                button1.Enabled = false;
                button2.Enabled = true;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 6
0
        /// <summary>
        /// 连接到PLC
        /// </summary>
        /// <returns>true-连接成功;false-连接失败</returns>
        private bool Connect()
        {
            try
            {
                siemensTcpNet.IpAddress = IPAddress;
                siemensTcpNet.Port      = 102;
                siemensTcpNet.Rack      = (byte)Rack;
                siemensTcpNet.Slot      = (byte)Slot;

                OperateResult connect = siemensTcpNet.ConnectServer();
                if (connect.IsSuccess)
                {
                    return(true);
                }
                else
                {
                    _log.Error(
                        $"连接到[{IPAddress}:{siemensTcpNet.Port}][" +
                        $"Rack={Rack}|Slot={Slot}失败,原因:[({connect.ErrorCode})" +
                        $"{connect.Message}");
                    return(false);
                }
            }
            catch (Exception error)
            {
                _log.Error(
                    $"连接到[{IPAddress}:{siemensTcpNet.Port}][" +
                    $"Rack={Rack}|Slot={Slot}失败,原因:{error.Message}",
                    error);
                return(false);
            }
        }
 /// <summary>
 /// 初始化连接client,传递PLC构建类型list
 /// </summary>
 /// <param name="siemensPLCS"></param>
 /// <exception cref="ArgumentNullException">未传递参数</exception>
 /// <exception cref="Exception">其他可能异常</exception>
 public HslSiemensImplement(List <SiemensPLCBuildModel> siemensPLCBuildModels)
 {
     if (siemensPLCBuildModels == null || siemensPLCBuildModels.Count == 0)
     {
         throw new ArgumentNullException("请传递参数");
     }
     try
     {
         foreach (var item in siemensPLCBuildModels)
         {
             var siemensTcpNet = new SiemensS7Net(item.SiemensPLCS);
             siemensTcpNet.IpAddress = item.IP;
             siemensTcpNet.Port      = item.Port;
             siemensTcpNet.Rack      = byte.Parse(item.Rack.ToString());
             siemensTcpNet.Slot      = byte.Parse(item.Slot.ToString());
             //长链接模式;后面的每次请求都共享一个通道
             siemensTcpNet.ConnectServer();
             siemensTcpNets.Add(siemensTcpNet);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Esempio n. 8
0
        /// <summary>
        /// S7协议连接PLC
        /// </summary>
        /// <param name="IPAdrr">PLC地址</param>
        /// <returns></returns>
        public bool Connect(string IPAdrr)
        {
            bool result = false;

            if (!System.Net.IPAddress.TryParse(IPAdrr, out System.Net.IPAddress address))
            {
                MessageBox.Show("IP地址错误!");
            }
            else
            {
                siemensS7Net = new SiemensS7Net(SiemensPLCS.S200Smart, IPAdrr)
                {
                    ConnectTimeOut = 1000
                };
                OperateResult connect = siemensS7Net.ConnectServer();
                if (connect.IsSuccess)
                {
                    result = true;
                }
                else
                {
                    result = false;
                }
            }
            return(result);
        }
Esempio n. 9
0
        private void btnConnect_Click(object sender, EventArgs e)
        {
            plc = new SiemensS7Net(plcType);
            try
            {
                plc.IpAddress = edtIPAddress.Text;
                if (int.TryParse(edtPort.Text, out int port))
                {
                    plc.Port = port;
                }
                else
                {
                    plc.Port     = 102;
                    edtPort.Text = "102";
                }
                if (byte.TryParse(edtSlot.Text, out byte slot))
                {
                    plc.Slot = slot;
                }
                else
                {
                    plc.Slot     = 0;
                    edtSlot.Text = "0";
                }
                if (byte.TryParse(edtRack.Text, out byte rack))
                {
                    plc.Rack = rack;
                }
                else
                {
                    plc.Rack     = 0;
                    edtRack.Text = "0";
                }

                OperateResult connect = plc.ConnectServer();
                if (connect.IsSuccess)
                {
                    isConnected           = true;
                    btnConnect.Enabled    = false;
                    btnDisconnect.Enabled = true;

                    edtIPAddress.Enabled = false;
                    edtPort.Enabled      = false;
                    edtRack.Enabled      = false;
                    edtSlot.Enabled      = false;
                }
                else
                {
                    MessageBox.Show($"({connect.ErrorCode}){connect.Message}");
                    isConnected = false;
                }
            }
            catch (Exception error)
            {
                MessageBox.Show(error.Message);
                isConnected = false;
            }
        }
        private void TheadConnection()
        {
            SiemensS7Net siemensS7 = new SiemensS7Net(SiemensPLCS.S1200);

            siemensS7.ConnectTimeOut = 10000;

            siemensS7.ConnectServer( );
            siemensS7.ConnectClose( );
        }
Esempio n. 11
0
        /// <summary>
        /// 初始化
        /// </summary>
        /// <param name="siemensServer">传入西门子服务器</param>
        /// <param name="vs">地址</param>
        public SiemensPLCSolution(SiemensS7Net siemensServer, List <string> vs)
        {
            Vs = vs;

            SiemensTcpNet = siemensServer;
            OperateResult connect = SiemensTcpNet.ConnectServer();

            if (!connect.IsSuccess)
            {
                throw new Exception("初始化失败!" + connect.Message);
            }
        }
 private void NetworkAlien_OnClientConnected(AlienSession session)
 {
     if (session.DTU == siemensTcpNet.ConnectionId)
     {
         siemensTcpNet.ConnectServer(session);
         Invoke(new Action(() =>
         {
             panel2.Enabled  = true;
             button2.Enabled = true;
         }));
     }
 }
Esempio n. 13
0
        /// <summary>
        /// 长连接(调用此方法就是使用了长连接,如果不调用直接读取数据,那就是短连接)
        /// </summary>
        /// <returns></returns>
        private bool ConnectPLC2_Write()
        {
            OperateResult connect = siemensTcpNet2_Write.ConnectServer();

            if (connect.IsSuccess)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Esempio n. 14
0
        /// <summary>
        /// 长连接(调用此方法就是使用了长连接,如果不调用直接读取数据,那就是短连接)
        /// </summary>
        /// <returns></returns>
        public static bool ConnectPLC()
        {
            OperateResult connect = siemensS7Net.ConnectServer();

            if (connect.IsSuccess)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Esempio n. 15
0
        /// <summary>
        /// 长连接(调用此方法就是使用了长连接,如果不调用直接读取数据,那就是短连接)
        /// </summary>
        /// <returns></returns>
        private static bool ConnectPLC1()
        {
            OperateResult connect = siemensTcpNet1.ConnectServer();

            if (connect.IsSuccess)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Esempio n. 16
0
        public SiemensS7(SiemensS7Net siemensPLCS, List <string> listItem)
        {
            SiemensTcpNet = siemensPLCS;
            ListItem      = listItem;
            OperateResult operate = SiemensTcpNet.ConnectServer();

            if (!operate.IsSuccess)
            {
                throw new Exception("PLC连接失败!" + operate.Message);
            }
            else
            {
                IsConnectioned = true;
            }
        }
Esempio n. 17
0
        /// <summary>
        /// 长连接(调用此方法就是使用了长连接,如果不调用直接读取数据,那就是短连接)
        /// </summary>
        /// <returns></returns>
        public static bool ConnectPLC()
        {
            OperateResult connect = siemensS7Net.ConnectServer();

            if (connect.IsSuccess)
            {
                userItem.ConnectionState = true;
                return(true);
            }
            else
            {
                userItem.ConnectionState = false;
                return(false);
            }
        }
Esempio n. 18
0
        public bool Connect()
        {
            string str  = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
            string Ip   = IniService.Instance.ReadIniData("PLC", "Ip", "127.0.0.1", str + "Config.ini");
            string port = IniService.Instance.ReadIniData("PLC", "Port", "102", str + "Config.ini");

            if (!System.Net.IPAddress.TryParse(Ip, out System.Net.IPAddress address))
            {
                return(false);
            }

            if (!int.TryParse(port, out int nPort))
            {
                return(false);
            }

            siemensTcpNet.IpAddress = Ip;
            siemensTcpNet.Port      = nPort;

            try
            {
                string type = IniService.Instance.ReadIniData("PLC", "Type", "S1200", str + "Config.ini");
                if (type != "S200Smart")
                {
                    string Rack = IniService.Instance.ReadIniData("PLC", "Rack", "0", str + "Config.ini");
                    string Slot = IniService.Instance.ReadIniData("PLC", "Slot", "0", str + "Config.ini");
                    siemensTcpNet.Rack = byte.Parse(Rack);
                    siemensTcpNet.Slot = byte.Parse(Slot);
                }


                OperateResult connect = siemensTcpNet.ConnectServer();
                if (connect.IsSuccess)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            return(true);
        }
Esempio n. 19
0
File: DevicePlc.cs Progetto: Gz1d/Gz
        //SiemensPLC初始化
        void DoInitS7Plc(LD.Config.PlcTypeItem item)
        {
            //if (item.Timer == null) item.Timer = new System.Timers.Timer();
            //item.Timer.Enabled = false;
            //item.Timer.Interval = 1000;
            //item.Timer.Elapsed += TimerCheck_Tick;

            SiemensS7Net S7PLC = new SiemensS7Net((SiemensPLCS)item.DevType);

            S7PLC.ConnectTimeOut = item.ConnectOutTime;
            S7PLC.Rack           = byte.Parse(item.Rack);
            S7PLC.Slot           = byte.Parse(item.Slot);

            System.Net.IPAddress address;
            if (!System.Net.IPAddress.TryParse(item.IP, out address))
            {
                System.Windows.Forms.MessageBox.Show(string.Format("{0} input wrong!", item.IP));
                return;
            }

            int port;

            if (!int.TryParse(item.Port.ToString(), out port))
            {
                System.Windows.Forms.MessageBox.Show(string.Format("port {0} input wrong!", item.Port));
                return;
            }
            S7PLC.IpAddress = item.IP;
            S7PLC.Port      = port;
            item.Tag        = S7PLC;

            if (S7PLC != null)
            {
                S7PLC.ConnectClose();
            }
            OperateResult connect = S7PLC.ConnectServer();

            if (connect.IsSuccess)
            {
                item.IsConnected = true;
                //Plcs.Add(item.DevName, S7PLC);
            }
            else
            {
                item.IsConnected = false;
                //Plcs.Add(item, S7PLC);
            }
        }
Esempio n. 20
0
        private void button1_Click(object sender, EventArgs e)
        {
            // 连接
            if (!System.Net.IPAddress.TryParse(textBox1.Text, out System.Net.IPAddress address))
            {
                MessageBox.Show(DemoUtils.IpAddressInputWrong);
                return;
            }

            if (!int.TryParse(textBox2.Text, out int port))
            {
                MessageBox.Show(DemoUtils.PortInputWrong);
                return;
            }

            siemensTcpNet.IpAddress = textBox1.Text;
            siemensTcpNet.Port      = port;
            try
            {
                if (siemensPLCSelected != SiemensPLCS.S200Smart)
                {
                    siemensTcpNet.Rack = byte.Parse(textBox15.Text);
                    siemensTcpNet.Slot = byte.Parse(textBox16.Text);
                }


                OperateResult connect = siemensTcpNet.ConnectServer( );
                if (connect.IsSuccess)
                {
                    MessageBox.Show(HslCommunication.StringResources.Language.ConnectedSuccess);
                    button2.Enabled = true;
                    button1.Enabled = false;
                    panel2.Enabled  = true;
                    userControlCurve1.ReadWriteNet = siemensTcpNet;
                }
                else
                {
                    MessageBox.Show(HslCommunication.StringResources.Language.ConnectedFailed);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 21
0
 private void btnConnect_Click(object sender, EventArgs e)
 {
     try
     {
         string IP = txtIP.Text.Trim();
         if (string.IsNullOrEmpty(IP))
         {
             MessageBox.Show("请输入IP地址!");
             return;
         }
         string Port = txtPort.Text.Trim();
         if (string.IsNullOrEmpty(Port))
         {
             MessageBox.Show("请输入端口号!");
             return;
         }
         OperateResult connect;
         using (WaitDialogForm dialog = new WaitDialogForm("正在连接,请稍后...", "提示"))
         {
             int port = Convert.ToInt16(Port);
             melsecMc = new SiemensS7Net(SiemensPLCS.S1200)
             {
                 IpAddress = IP, Port = port, ConnectTimeOut = 5000, ReceiveTimeOut = 5000
             };
             melsecMc.ConnectClose();
             connect = melsecMc.ConnectServer();
         }
         if (!connect.IsSuccess)
         {
             MessageBox.Show("连接失败:" + connect.Message);
             return;
         }
         else
         {
             MessageBox.Show("连接成功");
             btnConnect.Enabled = false;
             btnRead.Enabled    = true;
             btnOff.Enabled     = true;
             return;
         }
     }
     catch (Exception ex)
     { MessageBox.Show(ex.Message); }
 }
Esempio n. 22
0
 public bool Connect()
 {
     lock (this)
     {
         siemensTcpNet.IpAddress = _IP;
         OperateResult connect = siemensTcpNet.ConnectServer();
         if (connect.IsSuccess)
         {
             IsConnect = true;
             return(true);
         }
         else
         {
             IsConnect = false;
             ErrorCode = connect.ToMessageShowString();
             return(false);
         }
     }
 }
Esempio n. 23
0
        public void Connect()
        {
            if (ConnectStatus)
            {
                return;
            }

            var rs = _deviceApi.ConnectServer();

            if (rs.IsSuccess)
            {
                Logger.Main.Info($"[{_serviceName}]重新连接设备成功: {_ipAddress}:{_port}");
                //ConnectStatus = true;
            }
            else
            {
                Logger.Main.Info($"[{_serviceName}]重新连接设备失败: {_ipAddress}:{_port}");
            }
        }
Esempio n. 24
0
        public void ConnectToPlc()
        {
            siemensPLCS = SiemensPLCS.S1200;
            switch (_device.Type)
            {
            case PLCType.Simens1200:
                siemensPLCS = SiemensPLCS.S1200;
                break;

            case PLCType.Simens1500:
                siemensPLCS = SiemensPLCS.S1500;
                break;

            case PLCType.Simens300:
                siemensPLCS = SiemensPLCS.S300;
                break;

            case PLCType.Simens200Smart:
                siemensPLCS = SiemensPLCS.S200Smart;
                break;
            }
            deviceDriver?.ConnectClose();
            deviceDriver?.Dispose();
            deviceDriver = new SiemensS7Net(siemensPLCS, _device.Ip)
            {
                ConnectTimeOut = 2000
            };

            //siemensTcpNet.LogNet = LogNet;
            deviceDriver.SetPersistentConnection();   // 设置长连接
            OperateResult res = deviceDriver.ConnectServer();

            if (res.IsSuccess)
            {
                _log.WriteLog($"{_device.Name}{_device.Ip}连接成功");
            }
            else
            {
                _log.WriteLog($"{_device.Name}{_device.Ip}连接失败");
            }
            _device.IsConnected = res.IsSuccess;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            if (!int.TryParse(textBox2.Text, out int port))
            {
                MessageBox.Show(DemoUtils.PortInputWrong);
                return;
            }

            siemensTcpNet.IpAddress = textBox1.Text;
            siemensTcpNet.Port      = port;
            //siemensTcpNet.LocalBinding = new System.Net.IPEndPoint( System.Net.IPAddress.Parse( "127.0.0.1" ), 12345 );
            try
            {
                if (siemensPLCSelected != SiemensPLCS.S200Smart)
                {
                    siemensTcpNet.Rack = byte.Parse(textBox15.Text);
                    siemensTcpNet.Slot = byte.Parse(textBox16.Text);

                    siemensTcpNet.ConnectionType = byte.Parse(textBox3.Text);
                    siemensTcpNet.LocalTSAP      = int.Parse(textBox4.Text);
                }


                OperateResult connect = siemensTcpNet.ConnectServer( );
                if (connect.IsSuccess)
                {
                    MessageBox.Show(HslCommunication.StringResources.Language.ConnectedSuccess);
                    button2.Enabled = true;
                    button1.Enabled = false;
                    panel2.Enabled  = true;
                    userControlReadWriteOp1.SetReadWriteNet(siemensTcpNet, "M100", true);
                }
                else
                {
                    MessageBox.Show(HslCommunication.StringResources.Language.ConnectedFailed + connect.Message);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 26
0
        private void button1_Click(object sender, EventArgs e)
        {
            // 连接

            siemensTcpNet.IpAddress = textBox1.Text;
            //尝试连接操作
            try
            {
                OperateResult connect = siemensTcpNet.ConnectServer();
                if (connect.IsSuccess)
                {
                    MessageBox.Show("连接成功!");
                    button2.Enabled = true;
                    button1.Enabled = false;
                    panel2.Enabled  = true;

                    //timer = new System.Timers.Timer();
                    //timer.Enabled = true;
                    //timer.Interval = 10000;
                    //timer.Start();
                    //timer.Elapsed += timer_Elapsed;

                    ////铁水转运线程
                    //thread1 = new Thread(ThreadReadServer1);
                    //thread1.IsBackground = true;
                    //thread1.Start();

                    //异常检测线程
                    thread9 = new Thread(ThreadReadServer9);
                    thread9.IsBackground = true;
                    thread9.Start();
                }
                else
                {
                    MessageBox.Show("连接失败!");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
 protected override bool Connect()
 {
     try
     {
         var opres = PLC.ConnectServer();
         if (opres.IsSuccess)
         {
             LOG.Info($"Connect to Step7DataSource [{SourceName}] success.");
         }
         else
         {
             LOG.Warn($"Connect to Step7DataSource [{SourceName}] failed.");
         }
         return(opres.IsSuccess);
     }
     catch (Exception ex)
     {
         LOG.Error($"Connect to Step7DataSource [{SourceName}] failed. Message [{ex.Message}]");
         return(false);
     }
 }
Esempio n. 28
0
        private void BgwLoad_DoWork(object sender, DoWorkEventArgs e)
        {
            siemensTcpNet = new SiemensS7Net(SiemensPLCS.S1200)
            {
                IpAddress = plcIp,
                Rack      = byte.Parse("0"),
                Slot      = byte.Parse("0")
            };
            OperateResult result = siemensTcpNet.ConnectServer();

            if (!result.IsSuccess)
            {
                SetTag(this);//调用方法
                MessageBox.Show("PLC连接失败,请检查PLC网络");
                Close();
                return;
            }
            list = new List <Model_Data>();
            list = BLL_Data.GetData(pno);
            if (list.Count <= 0)
            {
                MessageBox.Show("请先接收数据!");
            }
            else
            {
                try
                {
                    index = list.Where(item => item.LabelingStatus == "0").Min(item => item.ID) - 1;
                }
                catch
                {
                    MessageBox.Show("已接收数据中都已完成");
                    return;
                }
                count = int.Parse(list[index].PackageNum);
                Display();
                siemensTcpNet.Write(db, (short)0);
                BgwReadPlc.RunWorkerAsync();
            }
        }
Esempio n. 29
0
        public void ClassTest2( )
        {
            #region Usage2

            // 实例化对象,指定PLC的ip地址和端口号
            SiemensS7Net siemens = new SiemensS7Net(SiemensPLCS.S1200, " 192.168.1.110");

            // 连接对象
            OperateResult connect = siemens.ConnectServer( );
            if (!connect.IsSuccess)
            {
                Console.WriteLine("connect failed:" + connect.Message);
                return;
            }

            // 举例读取M100的值
            short M100 = siemens.ReadInt16("M100").Content;

            siemens.ConnectClose( );

            #endregion
        }
Esempio n. 30
0
        public bool OpenPLC(string IPAddress)
        {
            try
            {
                _SiementsTcpNet = new SiemensS7Net(SiemensPLCS.S1200, IPAddress);
                _SiementsTcpNet.ConnectTimeOut = 5000;
                _SiementsTcpNet.Port           = 102;
                OperateResult result = _SiementsTcpNet.ConnectServer();

                //MessageBox.Show((result.IsSuccess).ToString());

                if (result.IsSuccess)
                {
                    //AtuoRun = true;
                    //MessageBox.Show("连接PLC成功");

                    //NetLog.WriteTextLog("连接PLC成功");
                    PLCIsopen = true;
                    return(true);
                }
                else
                {
                    //MessageBox.Show("连接PLC失败");

                    //NetLog.WriteTextLog("连接PLC失败");
                    PLCIsopen = false;
                    return(false);
                }
            }
            catch (Exception ex)
            {
                PLCIsopen = false;
                //MessageBox.Show(ex.Message);

                //NetLog.WriteTextLog("连接PLC错误"+ex.Message);
                return(false);
            }
        }