private void ThreadPoolLoadPortrait(object obj)
        {
            // 向服务器请求小头像
            if (m_NetAccount != null)
            {
                try
                {
                    System.IO.MemoryStream ms = new System.IO.MemoryStream();

                    HslCommunication.OperateResult result = UserClient.Net_File_Client.DownloadFile(
                        PortraitSupport.SmallPortrait,
                        "Files",
                        "Portrait",
                        m_NetAccount.UserName,
                        null,
                        ms
                        );
                    if (result.IsSuccess)
                    {
                        Bitmap bitmap = new Bitmap(ms);
                        pictureBox1.Image = bitmap;
                    }
                    else
                    {
                        // 可能网络错误,也可能因为服务器没有头像
                        // MessageBox.Show(result.Message);
                        pictureBox1.Image = Properties.Resources.person_1;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
Esempio n. 2
0
 private void ThreadPoolCheckVersion(object obj)
 {
     System.Threading.Thread.Sleep(100);
     HslCommunication.Enthernet.NetSimplifyClient simplifyClient = new HslCommunication.Enthernet.NetSimplifyClient("118.24.36.220", 18467);
     HslCommunication.OperateResult <string>      read           = simplifyClient.ReadFromServer(1, "");
     if (read.IsSuccess)
     {
         HslCommunication.BasicFramework.SystemVersion version = new HslCommunication.BasicFramework.SystemVersion(read.Content);
         if (version > HslCommunication.BasicFramework.SoftBasic.FrameworkVersion)
         {
             // 有更新
             Invoke(new Action(() =>
             {
                 if (MessageBox.Show("服务器有新版本:" + read.Content + Environment.NewLine + "是否启动更新?", "检测到更新", MessageBoxButtons.YesNo) == DialogResult.Yes)
                 {
                     try
                     {
                         System.Diagnostics.Process.Start("软件自动更新.exe");
                         System.Threading.Thread.Sleep(50);
                         Close( );
                     }
                     catch
                     {
                         MessageBox.Show("更新软件丢失,无法启动更新");
                     }
                 }
             }));
         }
     }
 }
Esempio n. 3
0
        private void userButton7_Click(object sender, EventArgs e)
        {
            // 写单个寄存器测试
            if (!ushort.TryParse(textBox8.Text, out ushort address))
            {
                MessageBox.Show("地址输入格式错误或范围超出预期!");
                textBox8.Focus();
                return;
            }

            if (!short.TryParse(textBox7.Text, out short value))
            {
                MessageBox.Show("写入值输入格式错误或范围超出预期!");
                textBox7.Focus();
                return;
            }

            for (int i = 0; i < 1; i++)
            {
                HslCommunication.OperateResult write = modBusTcpClient.WriteOneRegister(address, value);
                if (write.IsSuccess)
                {
                    MessageInfoShow("写入地址" + address + "成功");
                }
                else
                {
                    MessageBox.Show(write.ToMessageShowString());
                }
            }
        }
Esempio n. 4
0
        private void ThreadBackground(object obj)
        {
            if (obj is short value)
            {
                MessageInfoShow("开始写值");
                HslCommunication.OperateResult result = modBusTcpClient.WriteOneRegister(0, value);


                MessageInfoShow("开始读取值并进行对比");
                HslCommunication.OperateResult <byte[]> read = modBusTcpClient.ReadRegister(30, 1);


                if ((read.Content[0] * 256 + read.Content[1]) == value)
                {
                    MessageInfoShow("开始清空原数据");
                    modBusTcpClient.WriteOneRegister(0, 0);
                    MessageInfoShow("操作完成");
                }

                Invoke(new Action(() =>
                {
                    userButton8.Enabled = true;
                }));
            }
        }
Esempio n. 5
0
        private void userButton5_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(textBox6.Text))
            {
                short value = short.Parse(textBox6.Text);
                textBox2.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + Environment.NewLine);
                if (!busTcpClient.WriteOneRegister(0, value).IsSuccess)
                {
                    textBox2.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "失败" + Environment.NewLine);
                }

                textBox2.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + Environment.NewLine);
                HslCommunication.OperateResult <short> read = busTcpClient.ReadShortRegister(30);

                textBox2.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + Environment.NewLine);

                System.Threading.Thread.Sleep(10);
                if (read.Content == value)
                {
                    busTcpClient.WriteOneRegister(0, 0);
                    textBox2.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + Environment.NewLine);
                }
                else
                {
                    textBox2.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "失败" + Environment.NewLine);
                }

                textBox2.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + busTcpClient.ReadBoolCoil(0).Content + Environment.NewLine);
            }
        }
Esempio n. 6
0
        private void button3_Click(object sender, EventArgs e)
        {
            if (!ushort.TryParse(textBox8.Text, out ushort address))
            {
                MessageBox.Show("IP位址格式錯誤或超出範圍");
                textBox8.Focus();
                return;
            }

            if (!short.TryParse(textBox7.Text, out short value))
            {
                MessageBox.Show("寫入格式錯誤或超出範圍");
                textBox7.Focus();
                return;
            }

            for (int i = 0; i < 1; i++)
            {
                HslCommunication.OperateResult write = modBusTcpClient.WriteOneRegister(address, value);
                if (write.IsSuccess)
                {
                    MessageInfoShow("寫入位址" + address + "完成");
                }
                else
                {
                    MessageBox.Show(write.ToMessageShowString());
                }
            }
        }
Esempio n. 7
0
 private void ThreadPoolCheckVersion(object obj)
 {
     System.Threading.Thread.Sleep(100);
     HslCommunication.Enthernet.NetSimplifyClient simplifyClient = new HslCommunication.Enthernet.NetSimplifyClient("118.24.36.220", 18467);
     HslCommunication.OperateResult <HslCommunication.NetHandle, string> read = simplifyClient.ReadCustomerFromServer(100, versionCurr.ToString());
     if (read.IsSuccess)
     {
         HslCommunication.BasicFramework.SystemVersion version = new HslCommunication.BasicFramework.SystemVersion(read.Content2);
         if (version > versionCurr)
         {
             // 有更新
             Invoke(new Action(() =>
             {
                 if (MessageBox.Show("服务器有新版本:" + read.Content2 + Environment.NewLine + "是否启动更新?", "检测到更新", MessageBoxButtons.YesNo) == DialogResult.Yes)
                 {
                     try
                     {
                         System.Diagnostics.Process.Start(Application.StartupPath + "\\软件自动更新.exe");
                         System.Threading.Thread.Sleep(50);
                         Close( );
                     }
                     catch (Exception ex)
                     {
                         MessageBox.Show("更新软件丢失,无法启动更新: " + ex.Message);
                     }
                 }
             }));
         }
     }
 }
Esempio n. 8
0
 private void userButton4_Click(object sender, EventArgs e)
 {
     if (!string.IsNullOrEmpty(textBox6.Text))
     {
         HslCommunication.OperateResult result = busTcpClient.WriteRegister(ushort.Parse(textBox6.Text), short.Parse(textBox7.Text));
         MessageBox.Show(result.IsSuccess ? "写入成功!" : "写入失败");
     }
 }
Esempio n. 9
0
 private void userButton6_Click(object sender, EventArgs e)
 {
     for (int i = 0; i < 10; i++)
     {
         HslCommunication.OperateResult result = busTcpClient.WriteRegister(0, new short[] { 0, 0, 0, 0 });
         textBox2.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + result.IsSuccess + Environment.NewLine);
     }
 }
Esempio n. 10
0
 private void userButton5_Click_1(object sender, EventArgs e)
 {
     if (!string.IsNullOrEmpty(textBox6.Text))
     {
         HslCommunication.OperateResult <short> read = busTcpClient.ReadShortRegister(ushort.Parse(textBox6.Text));
         MessageBox.Show(read.IsSuccess ? read.Content.ToString() : "读取失败");
     }
 }
Esempio n. 11
0
 private string StopPLC( )
 {
     if (isReadRandom)
     {
         return("停止成功");              // 测试模式专用
     }
     HslCommunication.OperateResult write = siemensTcpNet.Write("M102", (byte)0);
     return(write.IsSuccess ? "成功停止" : "停止失败:" + write.Message);
 }
Esempio n. 12
0
 private void MessageResultShowBool(HslCommunication.OperateResult <byte[]> result, int length)
 {
     if (result.IsSuccess)
     {
         MessageInfoShow(GetStringFromBoolArray(HslCommunication.BasicFramework.SoftBasic.ByteToBoolArray(result.Content, length)));
     }
     else
     {
         MessageBox.Show(result.ToMessageShowString());
     }
 }
Esempio n. 13
0
 private void MessageResultShow(HslCommunication.OperateResult <byte[]> result)
 {
     if (result.IsSuccess)
     {
         MessageInfoShow(HslCommunication.BasicFramework.SoftBasic.ByteToHexString(result.Content, ' '));
     }
     else
     {
         MessageBox.Show(result.ToMessageShowString());
     }
 }
Esempio n. 14
0
 private void MessageResultShow(HslCommunication.OperateResult result)
 {
     if (result.IsSuccess)
     {
         MessageInfoShow("写入成功");
     }
     else
     {
         MessageBox.Show(result.ToMessageShowString());
     }
 }
Esempio n. 15
0
 private void userButton10_Click(object sender, EventArgs e)
 {
     HslCommunication.OperateResult <string> result = GetInformation("D:\\123.txt");
     if (result.IsSuccess)
     {
         MessageBox.Show(result.Content);
     }
     else
     {
         MessageBox.Show("读取失败:" + result.Message);
     }
 }
Esempio n. 16
0
 private void userButton3_Click(object sender, EventArgs e)
 {
     // 停止运行,修改M102为0
     HslCommunication.OperateResult write = siemensTcpNet.WriteIntoPLC("M102", (byte)0);
     if (write.IsSuccess)
     {
         MessageBox.Show("停止成功!");
     }
     else
     {
         MessageBox.Show("停止失败:" + write.ToMessageShowString( ));
     }
 }
Esempio n. 17
0
 private void userButton5_Click(object sender, EventArgs e)
 {
     // 读离散
     HslCommunication.OperateResult <ushort, ushort> result = GetAddressAndLength();
     if (result.IsSuccess)
     {
         MessageResultShowBool(modBusTcpClient.ReadDiscrete(result.Content1, result.Content2), result.Content2);
     }
     else
     {
         MessageBox.Show(result.ToMessageShowString());
     }
 }
Esempio n. 18
0
 private void userButton3_Click(object sender, EventArgs e)
 {
     // 远程通知服务器停止设备
     HslCommunication.OperateResult <string> operate = simplifyClient.ReadFromServer(2, "");
     if (operate.IsSuccess)
     {
         MessageBox.Show(operate.Content);
     }
     else
     {
         MessageBox.Show("启动失败!");
     }
 }
Esempio n. 19
0
 private void userButton11_Click(object sender, EventArgs e)
 {
     HslCommunication.OperateResult write = busTcpClient.WriteOneCoil(0, true);
     if (write.IsSuccess)
     {
         // 写入成功
         textBox1.Text = "写入成功";
     }
     else
     {
         MessageBox.Show(write.ToMessageShowString());
     }
 }
Esempio n. 20
0
        public ActionResult StopPlc()
        {
            NetSimplifyClient simplifyClient = new NetSimplifyClient("127.0.0.1", 23457);

            HslCommunication.OperateResult <string> operate = simplifyClient.ReadFromServer(2, "");
            if (operate.IsSuccess)
            {
                return(Content(operate.Content));
            }
            else
            {
                return(Content("停止失败!" + operate.Message));
            }
        }
Esempio n. 21
0
        public ActionResult StopPlc()
        {
            MqttSyncClient mqttSyncClient = new MqttSyncClient("127.0.0.1", 1883);

            HslCommunication.OperateResult <string, string> operate = mqttSyncClient.ReadString("StopPLC", "");
            if (operate.IsSuccess)
            {
                return(Content(operate.Content1));
            }
            else
            {
                return(Content("通讯失败!" + operate.Message));
            }
        }
Esempio n. 22
0
        static void MelsecTest( )
        {
            MelsecMcAsciiNet melsec = new MelsecMcAsciiNet("192.168.1.192", 6000);

            HslCommunication.OperateResult <short> read = melsec.ReadInt16("D100");
            if (read.IsSuccess)
            {
                Console.WriteLine(read.Content);
            }
            else
            {
                Console.WriteLine(read.Message);
            }
        }
Esempio n. 23
0
 private void userButton14_Click(object sender, EventArgs e)
 {
     ushort[] value = new ushort[] { 46789, 467, 12345 };
     HslCommunication.OperateResult write = busTcpClient.WriteRegister(0, value);
     if (write.IsSuccess)
     {
         // 写入成功
         textBox1.Text = "写入成功";
     }
     else
     {
         MessageBox.Show(write.ToMessageShowString());
     }
 }
Esempio n. 24
0
 private void userButton12_Click(object sender, EventArgs e)
 {
     // 0x00为高位,0x10为低位
     HslCommunication.OperateResult write = busTcpClient.WriteOneRegister(0, 0x00, 0x10);
     if (write.IsSuccess)
     {
         // 写入成功
         textBox1.Text = "写入成功";
     }
     else
     {
         MessageBox.Show(write.ToMessageShowString());
     }
 }
Esempio n. 25
0
 private void TimerReadPLC_Tick(object sender, EventArgs e)
 {
     // 每秒执行一次去读取PLC数据,此处简便操作,放在前台执行,正常逻辑应该放到后台
     HslCommunication.OperateResult <byte[]> read = siemensTcp.ReadFromPLC("M100", 24);
     if (read.IsSuccess)
     {
         handler.UpdateMachineOne("1#", read.Content);
     }
     else
     {
         // 读取失败,应该提示并记录日志,此处省略
         MessageBox.Show(read.ToMessageShowString());
     }
 }
Esempio n. 26
0
 public void Example5( )
 {
     // 异形连接,modbus服务器运行在本地,客户端运行在云端,客户端需要对服务器进行读写
     // 更多的信息请点击 https://www.cnblogs.com/dathlin/p/8934266.html
     HslCommunication.OperateResult connect = modbusServer.ConnectHslAlientClient("117.48.203.204", 12345, "12345678901");
     if (connect.IsSuccess)
     {
         Console.WriteLine("success!");
     }
     else
     {
         Console.WriteLine("failed:" + connect.Message);
     }
 }
Esempio n. 27
0
 private void button4_Click(object sender, EventArgs e)
 {
     for (int i = 0; i < 20; i++)
     {
         HslCommunication.OperateResult <ushort, ushort> result = GetAddressAndLength();
         if (result.IsSuccess)
         {
             MessageResultShow(modBusTcpClient.ReadRegister(result.Content1, result.Content2));
         }
         else
         {
             MessageBox.Show(result.ToMessageShowString());
         }
     }
 }
Esempio n. 28
0
 private void userButton13_Click(object sender, EventArgs e)
 {
     // 线圈0为True,线圈1为false,线圈2为true.....等等,以此类推,数组长度多少,就写入多少线圈
     bool[] value = new bool[] { true, false, true, true, false, false };
     HslCommunication.OperateResult write = busTcpClient.WriteCoil(0, value);
     if (write.IsSuccess)
     {
         // 写入成功
         textBox1.Text = "写入成功";
     }
     else
     {
         MessageBox.Show(write.ToMessageShowString());
     }
 }
Esempio n. 29
0
        private void userButton2_Click(object sender, EventArgs e)
        {
            byte[] data = HslCommunication.BasicFramework.SoftBasic.HexStringToBytes(textBox3.Text);

            HslCommunication.OperateResult <byte[]> read = busTcpClient.ReadFromServerCore(data);
            if (read.IsSuccess)
            {
                // 获取结果,并转化为Hex字符串,方便显示
                string result = HslCommunication.BasicFramework.SoftBasic.ByteToHexString(read.Content, ' ');
            }
            else
            {
                MessageBox.Show(read.ToMessageShowString());
            }
        }
Esempio n. 30
0
        private void userButton10_Click(object sender, EventArgs e)
        {
            textBox1.Text = random.Next(10000000).ToString( );
            return;

            HslCommunication.OperateResult <string> result = GetInformation("D:\\123.txt");
            if (result.IsSuccess)
            {
                MessageBox.Show(result.Content);
            }
            else
            {
                MessageBox.Show("读取失败:" + result.Message);
            }
        }