"# C#\u63a7\u5236\u7f51\u7edc\u7ee7\u7535\u5668\u4ee3\u7801\u793a\u4f8b\n\n> 2022-07-17 | 2022-07-17\n> https:\/\/www.modbus.cn\/en\/10408.html\n\n**Modbus\u7f16\u7a0b\u5f00\u53d1**\n\n---\n\n```\nusing System;\r\nusing System.Collections.Generic;\r\nusing System.ComponentModel;\r\nusing System.Data;\r\nusing System.Drawing;\r\nusing System.Linq;\r\nusing System.Net;\r\nusing System.Net.Sockets;\r\nusing System.Text;\r\nusing System.Threading.Tasks;\r\nusing System.Windows.Forms;\r\n\r\nnamespace WinFormsApp1\r\n{\r\n    public partial class Form1 : Form\r\n    {\r\n        public static Socket ClientSocket;\r\n        public static string IP = \"192.168.0.200\";\r\n        public static int port = 8899;\r\n        public Form1()\r\n        {\r\n            InitializeComponent();\r\n        }\r\n\r\n        private void Form1_Load(object sender, EventArgs e)\r\n        {\r\n            \r\n        }\r\n\r\n        private void SocketSendMessage(string CMD)\r\n        {\r\n            IPAddress ip = IPAddress.Parse(IP);  \/\/\u5c06IP\u5730\u5740\u5b57\u7b26\u4e32\u8f6c\u6362\u6210IPAddress\u5b9e\u4f8b\r\n            ClientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);\/\/\u4f7f\u7528\u6307\u5b9a\u7684\u5730\u5740\u7c07\u534f\u8bae\u3001\u5957\u63a5\u5b57\u7c7b\u578b\u548c\u901a\u4fe1\u534f\u8bae\r\n            IPEndPoint endPoint = new IPEndPoint(ip, port); \/\/ \u7528\u6307\u5b9a\u7684ip\u548c\u7aef\u53e3\u53f7\u521d\u59cb\u5316IPEndPoint\u5b9e\u4f8b\r\n            ClientSocket.Connect(endPoint);  \/\/\u4e0e\u8fdc\u7a0b\u4e3b\u673a\u5efa\u7acb\u8fde\u63a5\r\n\r\n            byte&#91;] message = HexStrTobyte(CMD);\r\n            ClientSocket.Send(message);\r\n            byte&#91;] receive = new byte&#91;message.Length];\r\n            int length = ClientSocket.Receive(receive);  \/\/ length \u63a5\u6536\u5b57\u8282\u6570\u7ec4\u957f\u5ea6\r\n            richTextBox1.Text = DateTime.Now.ToString(\"HH:mm:ss\") + \":\" + byteToHexStr(receive)+\"\\n\" + richTextBox1.Text;\r\n            ClientSocket.Close();  \/\/\u5173\u95ed\u8fde\u63a5\r\n        }\r\n\r\n        private static byte&#91;] HexStrTobyte(string hexString)\r\n        {\r\n            hexString = hexString.Replace(\" \", \"\");\r\n            if ((hexString.Length % 2) != 0)\r\n                hexString += \" \";\r\n            byte&#91;] returnBytes = new byte&#91;hexString.Length \/ 2];\r\n            for (int i = 0; i &lt; returnBytes.Length; i++)\r\n                returnBytes&#91;i] = Convert.ToByte(hexString.Substring(i * 2, 2).Trim(), 16);\r\n            return returnBytes;\r\n        }\r\n\r\n        \/\/ \u5b57\u8282\u6570\u7ec4\u8f6c16\u8fdb\u5236\u5b57\u7b26\u4e32   \r\n        public static string byteToHexStr(byte&#91;] bytes)\r\n        {\r\n            string returnStr = \"\";\r\n            if (bytes != null)\r\n            {\r\n                for (int i = 0; i &lt; bytes.Length; i++)\r\n                {\r\n                    returnStr = returnStr+\" \"+ bytes&#91;i].ToString(\"X2\");\/\/ToString(\"X2\") \u4e3aC#\u4e2d\u7684\u5b57\u7b26\u4e32\u683c\u5f0f\u63a7\u5236\u7b26\r\n                }\r\n            }\r\n            return returnStr;\r\n        }\r\n\r\n        private void button1_Click(object sender, EventArgs e)\r\n        {\r\n            SocketSendMessage(\"01 06 00 00 00 01 48 0A\");\r\n        }\r\n\r\n        private void button2_Click(object sender, EventArgs e)\r\n        {\r\n            SocketSendMessage(\"01 06 00 00 00 00 89 CA\");\r\n        }\r\n\r\n        private void button4_Click(object sender, EventArgs e)\r\n        {\r\n            SocketSendMessage(\"01 06 00 01 00 01 19 CA\");\r\n        }\r\n\r\n        private void button3_Click(object sender, EventArgs e)\r\n        {\r\n            SocketSendMessage(\"01 06 00 01 00 00 D8 0A\");\r\n        }\r\n\r\n        private void button6_Click(object sender, EventArgs e)\r\n        {\r\n            SocketSendMessage(\"01 06 00 02 00 01 E9 CA\");\r\n        }\r\n\r\n        private void button5_Click(object sender, EventArgs e)\r\n        {\r\n            SocketSendMessage(\"01 06 00 02 00 00 28 0A\");\r\n        }\r\n\r\n        private void button8_Click(object sender, EventArgs e)\r\n        {\r\n            SocketSendMessage(\"01 06 00 03 00 01 B8 0A\");\r\n        }\r\n\r\n        private void button7_Click(object sender, EventArgs e)\r\n        {\r\n            SocketSendMessage(\"01 06 00 03 00 00 79 CA\");\r\n        }\r\n\r\n        private void button9_Click(object sender, EventArgs e)\r\n        {\r\n        }\r\n\r\n        private void button10_Click(object sender, EventArgs e)\r\n        {\r\n\r\n        }\r\n\r\n        private void button9_Click_1(object sender, EventArgs e)\r\n        {\r\n            richTextBox1.Text = \"\";\r\n        }\r\n    }\r\n}\r\n\r\n\n```\n\n---\n*modbus.cn*\n"