{"id":14643,"date":"2024-03-15T09:40:37","date_gmt":"2024-03-15T09:40:37","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-modbus-in-c\/"},"modified":"2025-08-06T11:29:14","modified_gmt":"2025-08-06T11:29:14","slug":"what-is-the-usage-of-modbus-in-c","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-modbus-in-c\/","title":{"rendered":"Modbus C# Implementation Tutorial"},"content":{"rendered":"<p>To use Modbus in C#, you first need to install a Modbus library such as NModbus. Then, you can use Modbus by following these steps:<\/p>\n<ol>\n<li>Import the NModbus library:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">using<\/span> Modbus;\r\n<\/code><\/pre>\n<ol>\n<li>Set up Modbus master:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code>IModbusMaster master = ModbusSerialMaster.CreateRtu(port); <span class=\"hljs-comment\">\/\/ \u4f7f\u7528\u4e32\u884cRTU\u901a\u4fe1<\/span>\r\nIModbusMaster master = ModbusTcpMaster.CreateTcp(ipAddress); <span class=\"hljs-comment\">\/\/ \u4f7f\u7528TCP\u901a\u4fe1<\/span>\r\n<\/code><\/pre>\n<ol>\n<li>Connect to Modbus slave:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code>master.Connect(); <span class=\"hljs-comment\">\/\/ \u8fde\u63a5\u5230\u4ece\u673a<\/span>\r\n<\/code><\/pre>\n<ol>\n<li>Read the registers of the Modbus slave:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-built_in\">ushort<\/span> startAddress = <span class=\"hljs-number\">0<\/span>; <span class=\"hljs-comment\">\/\/ \u8d77\u59cb\u5730\u5740<\/span>\r\n<span class=\"hljs-built_in\">ushort<\/span> numRegisters = <span class=\"hljs-number\">10<\/span>; <span class=\"hljs-comment\">\/\/ \u5bc4\u5b58\u5668\u6570\u91cf<\/span>\r\n<span class=\"hljs-built_in\">ushort<\/span>[] registers = master.ReadHoldingRegisters(startAddress, numRegisters);\r\n<\/code><\/pre>\n<ol>\n<li>Write registers to Modbus slave:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-built_in\">ushort<\/span> startAddress = <span class=\"hljs-number\">0<\/span>; <span class=\"hljs-comment\">\/\/ \u8d77\u59cb\u5730\u5740<\/span>\r\n<span class=\"hljs-built_in\">ushort<\/span>[] registers = <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-built_in\">ushort<\/span>[] { <span class=\"hljs-number\">1<\/span>, <span class=\"hljs-number\">2<\/span>, <span class=\"hljs-number\">3<\/span>, <span class=\"hljs-number\">4<\/span>, <span class=\"hljs-number\">5<\/span> }; <span class=\"hljs-comment\">\/\/ \u8981\u5199\u5165\u7684\u5bc4\u5b58\u5668\u7684\u503c<\/span>\r\nmaster.WriteMultipleRegisters(startAddress, registers);\r\n<\/code><\/pre>\n<ol>\n<li>Disconnect from the Modbus slave:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code>master.Disconnect(); <span class=\"hljs-comment\">\/\/ \u65ad\u5f00\u8fde\u63a5<\/span>\r\n<\/code><\/pre>\n<p>This is just the basic usage of Modbus, specific operations may vary depending on your needs. Other Modbus functions such as reading input registers or writing to single registers can also be used as needed.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To use Modbus in C#, you first need to install a Modbus library such as NModbus. Then, you can use Modbus by following these steps: Import the NModbus library: using Modbus; Set up Modbus master: IModbusMaster master = ModbusSerialMaster.CreateRtu(port); \/\/ \u4f7f\u7528\u4e32\u884cRTU\u901a\u4fe1 IModbusMaster master = ModbusTcpMaster.CreateTcp(ipAddress); \/\/ \u4f7f\u7528TCP\u901a\u4fe1 Connect to Modbus slave: master.Connect(); \/\/ \u8fde\u63a5\u5230\u4ece\u673a Read [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[19771,19677,19773,19770,19772],"class_list":["post-14643","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-c-modbus-tutorial","tag-modbus-c","tag-modbus-tcp","tag-nmodbus","tag-serial-rtu"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Modbus C# Implementation Tutorial - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn how to implement Modbus protocol in C# with NModbus. Step-by-step tutorial for RTU and TCP communication.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-modbus-in-c\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Modbus C# Implementation Tutorial\" \/>\n<meta property=\"og:description\" content=\"Learn how to implement Modbus protocol in C# with NModbus. Step-by-step tutorial for RTU and TCP communication.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-modbus-in-c\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T09:40:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-06T11:29:14+00:00\" \/>\n<meta name=\"author\" content=\"Noah Thompson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Noah Thompson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-modbus-in-c\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-modbus-in-c\/\"},\"author\":{\"name\":\"Noah Thompson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a\"},\"headline\":\"Modbus C# Implementation Tutorial\",\"datePublished\":\"2024-03-15T09:40:37+00:00\",\"dateModified\":\"2025-08-06T11:29:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-modbus-in-c\/\"},\"wordCount\":93,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"C# Modbus Tutorial\",\"Modbus C#\",\"Modbus TCP\",\"NModbus\",\"Serial RTU\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-modbus-in-c\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-modbus-in-c\/\",\"name\":\"Modbus C# Implementation Tutorial - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T09:40:37+00:00\",\"dateModified\":\"2025-08-06T11:29:14+00:00\",\"description\":\"Learn how to implement Modbus protocol in C# with NModbus. Step-by-step tutorial for RTU and TCP communication.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-modbus-in-c\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-modbus-in-c\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-modbus-in-c\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Modbus C# Implementation Tutorial\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a\",\"name\":\"Noah Thompson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g\",\"caption\":\"Noah Thompson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/noahthompson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Modbus C# Implementation Tutorial - Blog - Silicon Cloud","description":"Learn how to implement Modbus protocol in C# with NModbus. Step-by-step tutorial for RTU and TCP communication.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-modbus-in-c\/","og_locale":"en_US","og_type":"article","og_title":"Modbus C# Implementation Tutorial","og_description":"Learn how to implement Modbus protocol in C# with NModbus. Step-by-step tutorial for RTU and TCP communication.","og_url":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-modbus-in-c\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T09:40:37+00:00","article_modified_time":"2025-08-06T11:29:14+00:00","author":"Noah Thompson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Noah Thompson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-modbus-in-c\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-modbus-in-c\/"},"author":{"name":"Noah Thompson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a"},"headline":"Modbus C# Implementation Tutorial","datePublished":"2024-03-15T09:40:37+00:00","dateModified":"2025-08-06T11:29:14+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-modbus-in-c\/"},"wordCount":93,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["C# Modbus Tutorial","Modbus C#","Modbus TCP","NModbus","Serial RTU"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-modbus-in-c\/","url":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-modbus-in-c\/","name":"Modbus C# Implementation Tutorial - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T09:40:37+00:00","dateModified":"2025-08-06T11:29:14+00:00","description":"Learn how to implement Modbus protocol in C# with NModbus. Step-by-step tutorial for RTU and TCP communication.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-modbus-in-c\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-modbus-in-c\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-modbus-in-c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Modbus C# Implementation Tutorial"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a","name":"Noah Thompson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g","caption":"Noah Thompson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/noahthompson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/14643","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=14643"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/14643\/revisions"}],"predecessor-version":[{"id":158680,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/14643\/revisions\/158680"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=14643"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=14643"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=14643"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}