¶Ô±ÈÐÂÎļþ |
| | |
| | | using Newtonsoft.Json.Linq; |
| | | using NModbus; |
| | | using System; |
| | | using System.Data; |
| | | using System.IO; |
| | | using System.Net.Sockets; |
| | | using System.Text; |
| | | |
| | | namespace Gs.DevApp |
| | | { |
| | | public partial class XtraForm1 : DevExpress.XtraEditors.XtraForm |
| | | { |
| | | public XtraForm1() |
| | | { |
| | | InitializeComponent(); |
| | | |
| | | } |
| | | |
| | | private void simpleButton2_Click(object sender, EventArgs e) |
| | | { |
| | | string strCsl1 = ""; |
| | | string strSw1 = ""; |
| | | string strCsl2 = ""; |
| | | string strSw2 = ""; |
| | | string strCsl3 = ""; |
| | | string strSw3 = ""; |
| | | string strCsl4 = ""; |
| | | string strSw4 = ""; |
| | | string strCsl5 = ""; |
| | | string strSw5 = ""; |
| | | string SJJG = ""; |
| | | try//æ°´æ£åæ°ï¼åé¢è¡¥å
|
| | | { |
| | | System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder(); |
| | | System.Text.StringBuilder sbFj = new System.Text.StringBuilder(); |
| | | string hx = "\r\n"; |
| | | string hostname = "192.168.60.51"; |
| | | ModbusFactory modbusFactory = new ModbusFactory(); |
| | | IModbusMaster master = modbusFactory.CreateMaster(new TcpClient(hostname, 502)); |
| | | master.Transport.ReadTimeout = 10000; |
| | | master.Transport.Retries = 10000; |
| | | |
| | | //åæ°(åå«ä¸ºä»ç«å°å,èµ·å§å°å,é¿åº¦) |
| | | byte slaveAddress = byte.Parse(txt_slaveAddress.SelectedText.Trim()); |
| | | ushort numberOfPoints = ushort.Parse("1"); |
| | | float fsw = 0; |
| | | |
| | | //模å¼1åºæ°´é |
| | | ushort[] csl1 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(32.ToString()), numberOfPoints); |
| | | strCsl1 = csl1[0].ToString(); |
| | | sbFj.Append("模å¼1åºæ°´é:" + strCsl1 + hx); |
| | | //模å¼1水温 |
| | | ushort[] sw1 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(31.ToString()), numberOfPoints); |
| | | strSw1 = (float.Parse(sw1[0].ToString()) / 10).ToString(); |
| | | sbFj.Append("模å¼1水温:" + strSw1 + hx); |
| | | //模å¼2åºæ°´é |
| | | ushort[] csl2 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(34.ToString()), numberOfPoints); |
| | | strCsl2 = csl2[0].ToString(); |
| | | sbFj.Append("模å¼2åºæ°´é:" + strCsl2 + hx); |
| | | //模å¼2水温 |
| | | ushort[] sw2 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(33.ToString()), numberOfPoints); |
| | | strSw2 = (float.Parse(sw2[0].ToString()) / 10).ToString(); |
| | | sbFj.Append("模å¼2水温:" + strSw2 + hx); |
| | | //模å¼3åºæ°´é |
| | | ushort[] csl3 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(36.ToString()), numberOfPoints); |
| | | strCsl3 = csl3[0].ToString(); |
| | | sbFj.Append("模å¼3åºæ°´é:" + strCsl3 + hx); |
| | | //模å¼3水温 |
| | | ushort[] sw3 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(35.ToString()), numberOfPoints); |
| | | strSw3 = (float.Parse(sw3[0].ToString()) / 10).ToString(); |
| | | sbFj.Append("模å¼3水温:" + strSw3 + hx); |
| | | //模å¼4åºæ°´é |
| | | ushort[] csl4 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(38.ToString()), numberOfPoints); |
| | | strCsl4 = csl4[0].ToString(); |
| | | sbFj.Append("模å¼4åºæ°´é:" + strCsl4 + hx); |
| | | //模å¼4水温 |
| | | ushort[] sw4 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(37.ToString()), numberOfPoints); |
| | | strSw4 = (float.Parse(sw4[0].ToString()) / 10).ToString(); |
| | | sbFj.Append("模å¼4水温:" + strSw4 + hx); |
| | | //模å¼5åºæ°´é |
| | | ushort[] csl5 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(40.ToString()), numberOfPoints); |
| | | strCsl5 = csl5[0].ToString(); |
| | | sbFj.Append("模å¼5åºæ°´é:" + strCsl5 + hx); |
| | | //模å¼5水温 |
| | | ushort[] sw5 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(39.ToString()), numberOfPoints); |
| | | strSw5 = (float.Parse(sw5[0].ToString()) / 10).ToString(); |
| | | sbFj.Append("模å¼5水温:" + strSw5 + hx); |
| | | //ç»æ |
| | | bool[] sjjg = master.ReadCoils(slaveAddress, ushort.Parse(77.ToString()), numberOfPoints); |
| | | SJJG = sjjg[0].ToString(); |
| | | sbFj.Append("ç»æ:" + SJJG + hx); |
| | | /////////////////// |
| | | |
| | | // 3. 读åä»ç«è®¾å¤çå¯åå¨shortï¼æ 符å·çæ´åï¼æ¯ä¸ç§æ°æ®ç±»åï¼ç¨äºè¡¨ç¤º16使 ç¬¦å·æ´æ°ï¼å
¶åå¼èå´ä»0å°65,535 |
| | | ushort startAddress = 0; // å¯åå¨èµ·å§å°å |
| | | ushort numRegisters = ushort.Parse(txtGs.Text.Trim()); // 读å 10 个å¯åå¨ |
| | | try |
| | | { |
| | | // 读åä¿æå¯åå¨ï¼ä»ç«å°å为 1ï¼ |
| | | // åæ°(åå«ä¸ºä»ç«å°å,èµ·å§å°å,é¿åº¦) |
| | | ushort[] registers = master.ReadHoldingRegisters(1, startAddress, numRegisters); |
| | | // è¾åºç»æ |
| | | Console.WriteLine("读åå°çå¯åå¨å¼ï¼"); |
| | | stringBuilder.Append("æ»åè串ï¼"); |
| | | foreach (var register in registers) |
| | | { |
| | | Console.WriteLine(register); |
| | | stringBuilder.Append(register); |
| | | } |
| | | stringBuilder.Append(hx + "è§£æç»æï¼" + hx); |
| | | stringBuilder.Append(sbFj); |
| | | richTextBox1.Text = stringBuilder.ToString(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | Console.WriteLine($"读åé误: {ex.Message}"); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | //VisiblePanel(txtDQBarCode.EditValue.ToString(), ex.Message, "NG", Color.Yellow); |
| | | //txtGWM.EditValue = ""; |
| | | return; |
| | | } |
| | | } |
| | | } |
| | | } |