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); } } }
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("更新软件丢失,无法启动更新"); } } })); } } }
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()); } } }
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; })); } }
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); } }
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()); } } }
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); } } })); } } }
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 ? "写入成功!" : "写入失败"); } }
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); } }
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() : "读取失败"); } }
private string StopPLC( ) { if (isReadRandom) { return("停止成功"); // 测试模式专用 } HslCommunication.OperateResult write = siemensTcpNet.Write("M102", (byte)0); return(write.IsSuccess ? "成功停止" : "停止失败:" + write.Message); }
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()); } }
private void MessageResultShow(HslCommunication.OperateResult <byte[]> result) { if (result.IsSuccess) { MessageInfoShow(HslCommunication.BasicFramework.SoftBasic.ByteToHexString(result.Content, ' ')); } else { MessageBox.Show(result.ToMessageShowString()); } }
private void MessageResultShow(HslCommunication.OperateResult result) { if (result.IsSuccess) { MessageInfoShow("写入成功"); } else { MessageBox.Show(result.ToMessageShowString()); } }
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); } }
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( )); } }
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()); } }
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("启动失败!"); } }
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()); } }
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)); } }
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)); } }
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); } }
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()); } }
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()); } }
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()); } }
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); } }
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()); } } }
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()); } }
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()); } }
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); } }