{"id":10717,"date":"2020-05-06T11:14:58","date_gmt":"2020-05-06T14:14:58","guid":{"rendered":"http:\/\/kb.elipse.com.br\/en\/?p=10717"},"modified":"2020-05-06T15:23:04","modified_gmt":"2020-05-06T18:23:04","slug":"common-issues-faced-by-modbus-driver-incrementing-non-standard-addresses","status":"publish","type":"post","link":"https:\/\/kb.elipse.com.br\/en\/common-issues-faced-by-modbus-driver-incrementing-non-standard-addresses\/","title":{"rendered":"Common issues faced by Modbus driver: Incrementing non-standard addresses"},"content":{"rendered":"<h3>Question:<\/h3>\n<p>The standard for <a href=\"https:\/\/www.elipse.com.br\/en\/downloads\/?cat=48&#038;key=&#038;language=enus\" target=\"_blank\" rel=\"noopener noreferrer\">Modbus<\/a> protocol establishes that to every address there is a corresponding 16-bit space. However, there are some devices that address their memory in 8-bit groups. In this case, how can I have access to registers? How can I increment a non-standard address?<\/p>\n<p>&nbsp;<\/p>\n<h3>Solution:<\/h3>\n<p>Due to the way addresses are incremented, the Modbus driver won&#8217;t allow for the use of I\/O blocks in its operations. This helps avoid many of the problems related to the increment of a non-standard address. Therefore, when accessing the properties of the <a href=\"https:\/\/kb.elipse.com.br\/en\/category\/english\/elipse-e3-en\/iodriver-ioserver-2\/\" target=\"_blank\" rel=\"noopener noreferrer\">IODriver<\/a>, change the <em>EnableReadGrouping<\/em> property value to False. Likewise, use only I\/O tags in this driver, not I\/O blocks.<\/p>\n<p><img loading=\"lazy\" class=\"aligncenter size-full wp-image-10297\" src=\"http:\/\/kb.elipse.com.br\/wp-content\/uploads\/2020\/03\/10296\/EnableReadGroupingFalse_.png\" alt=\"\" width=\"420\" height=\"529\" \/><\/p>\n<p>Firstly, consider the table below. As you can see, addresses are indexed starting from 40000. In this example, the Modbus 40001 address corresponds to a 16-bit group. To the device, this same memory space is shared by two 8-bit groups, addressed as 40002 and 40003; as a result, <strong>you can&#8217;t access each of these addresses individually<\/strong>.<\/p>\n<table border=\"1\">\n<tbody>\n<tr>\n<td style=\"text-align: center;\" colspan=\"2\" width=\"126\"><strong>Size<\/strong><\/td>\n<td style=\"text-align: center;\" width=\"120\"><strong>Address in the device<\/strong><\/td>\n<td style=\"text-align: center;\" width=\"108\"><strong>Modbus address<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\" rowspan=\"2\" width=\"60\">16 bits<\/td>\n<td style=\"text-align: center;\" width=\"66\">8 bits<\/td>\n<td style=\"text-align: center;\" width=\"120\">40000<\/td>\n<td style=\"text-align: center;\" width=\"108\">40000<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\" width=\"66\">8 bits<\/td>\n<td style=\"text-align: center;\" width=\"120\">40001<\/td>\n<td style=\"text-align: center;\" width=\"108\"><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\" rowspan=\"2\" width=\"60\">16 bits<\/td>\n<td style=\"text-align: center;\" width=\"66\">8 bits<\/td>\n<td style=\"text-align: center;\" width=\"120\"><span style=\"color: #3366ff;\">40002<\/span><\/td>\n<td style=\"text-align: center;\" width=\"108\"><span style=\"color: #3366ff;\">40001<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\" width=\"66\">8 bits<\/td>\n<td style=\"text-align: center;\" width=\"120\"><span style=\"color: #3366ff;\">40003<\/span><\/td>\n<td style=\"text-align: center;\" width=\"108\"><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\" rowspan=\"2\" width=\"60\">16 bits<\/td>\n<td style=\"text-align: center;\" width=\"66\">8 bits<\/td>\n<td style=\"text-align: center;\" width=\"120\">40004<\/td>\n<td style=\"text-align: center;\" width=\"108\">40002<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\" width=\"66\">8 bits<\/td>\n<td style=\"text-align: center;\" width=\"120\">40005<\/td>\n<td width=\"108\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Consequently, all addresses are accessed in 16-bit groups. To read the values at the device&#8217;s addresses 40002 and 40003, the driver must access the address 40001, thus retrieving a 16-bit value which can be later broken into two 8-bit parts. Likewise, when writing at the address 40001, the values from 40002 and 40003 will be overwritten in the device. Therefore, if you want to change just one of these addresses, the value to be written must be merged to the value in another address before via a binary operation.<\/p>\n<p>Another simpler yet more limited way to work around this situation is to access the Modbus addresses as if they were all 8-bit values. In this case, the only accessible device addresses are\u00a0 40000, 40002, 40004, etc., which will correspond to the addresses\u00a0 40000, 40001, 40002, etc. in the driver.<\/p>\n<h3>Related articles:<\/h3>\n<hr \/>\n<p>The articles below all refer to common issues faced by the Modbus driver:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><a href=\"https:\/\/kb.elipse.com.br\/en\/common-issues-faced-by-modbus-driver-multiple-slaves-with-rs-485-converter\/\" target=\"_blank\" rel=\"noopener noreferrer\">Multiple slaves with RS-485 converter<\/a>.<\/li>\n<li><a href=\"https:\/\/kb.elipse.com.br\/en\/?p=10699\" target=\"_blank\" rel=\"noopener noreferrer\">Discontinuous address in the device<\/a>.<\/li>\n<li><a href=\"https:\/\/kb.elipse.com.br\/en\/?p=10711\" target=\"_blank\" rel=\"noopener noreferrer\">Protocol exception codes<\/a>.<\/li>\n<li><a href=\"https:\/\/kb.elipse.com.br\/en\/?p=10727\" target=\"_blank\" rel=\"noopener noreferrer\">Scrambled bytes and words<\/a>.<\/li>\n<li><a href=\"https:\/\/kb.elipse.com.br\/en\/?p=10735\" target=\"_blank\" rel=\"noopener noreferrer\">Registers addresses indexation<\/a>.<\/li>\n<li><a href=\"https:\/\/kb.elipse.com.br\/en\/?p=10742\" target=\"_blank\" rel=\"noopener noreferrer\">Interpreting addresses prefixes<\/a>.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Question: The standard for Modbus protocol establishes that to every address there is a corresponding 16-bit space. However, there are some devices that address their memory in 8-bit groups. In&hellip;<\/p>\n","protected":false},"author":34,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0},"categories":[792,789],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Common issues faced by Modbus: Increment a non-standard address<\/title>\n<meta name=\"description\" content=\"This article illustrates how to increment a non-standard address (8 bits) at a Modbus driver, whose default address is 16 bits.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kb.elipse.com.br\/en\/common-issues-faced-by-modbus-driver-incrementing-non-standard-addresses\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Common issues faced by Modbus: Increment a non-standard address\" \/>\n<meta property=\"og:description\" content=\"This article illustrates how to increment a non-standard address (8 bits) at a Modbus driver, whose default address is 16 bits.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kb.elipse.com.br\/en\/common-issues-faced-by-modbus-driver-incrementing-non-standard-addresses\/\" \/>\n<meta property=\"og:site_name\" content=\"Elipse Knowledgebase\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/www.facebook.com\/elipsesoftware\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-06T14:14:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-05-06T18:23:04+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/kb.elipse.com.br\/wp-content\/uploads\/2020\/03\/10296\/EnableReadGroupingFalse_.png\" \/>\n<meta name=\"author\" content=\"Guilherme de Paoli Beal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Guilherme de Paoli Beal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kb.elipse.com.br\/en\/common-issues-faced-by-modbus-driver-incrementing-non-standard-addresses\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kb.elipse.com.br\/en\/common-issues-faced-by-modbus-driver-incrementing-non-standard-addresses\/\"},\"author\":{\"name\":\"Guilherme de Paoli Beal\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/person\/d51146cee48c7c49ca02ef4bd83187e6\"},\"headline\":\"Common issues faced by Modbus driver: Incrementing non-standard addresses\",\"datePublished\":\"2020-05-06T14:14:58+00:00\",\"dateModified\":\"2020-05-06T18:23:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kb.elipse.com.br\/en\/common-issues-faced-by-modbus-driver-incrementing-non-standard-addresses\/\"},\"wordCount\":360,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#organization\"},\"articleSection\":[\"Modicon Modbus Master (ASC\/RTU\/TCP)\",\"Drivers\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kb.elipse.com.br\/en\/common-issues-faced-by-modbus-driver-incrementing-non-standard-addresses\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kb.elipse.com.br\/en\/common-issues-faced-by-modbus-driver-incrementing-non-standard-addresses\/\",\"url\":\"https:\/\/kb.elipse.com.br\/en\/common-issues-faced-by-modbus-driver-incrementing-non-standard-addresses\/\",\"name\":\"Common issues faced by Modbus: Increment a non-standard address\",\"isPartOf\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#website\"},\"datePublished\":\"2020-05-06T14:14:58+00:00\",\"dateModified\":\"2020-05-06T18:23:04+00:00\",\"description\":\"This article illustrates how to increment a non-standard address (8 bits) at a Modbus driver, whose default address is 16 bits.\",\"breadcrumb\":{\"@id\":\"https:\/\/kb.elipse.com.br\/en\/common-issues-faced-by-modbus-driver-incrementing-non-standard-addresses\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kb.elipse.com.br\/en\/common-issues-faced-by-modbus-driver-incrementing-non-standard-addresses\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kb.elipse.com.br\/en\/common-issues-faced-by-modbus-driver-incrementing-non-standard-addresses\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/kb.elipse.com.br\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Common issues faced by Modbus driver: Incrementing non-standard addresses\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kb.elipse.com.br\/#website\",\"url\":\"https:\/\/kb.elipse.com.br\/\",\"name\":\"Elipse Knowledgebase\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kb.elipse.com.br\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kb.elipse.com.br\/#organization\",\"name\":\"Elipse Software\",\"url\":\"https:\/\/kb.elipse.com.br\/\",\"sameAs\":[\"http:\/\/www.facebook.com\/elipsesoftware\"],\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png\",\"contentUrl\":\"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png\",\"width\":161,\"height\":58,\"caption\":\"Elipse Software\"},\"image\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/person\/d51146cee48c7c49ca02ef4bd83187e6\",\"name\":\"Guilherme de Paoli Beal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5832a66cd553433cf4bd1cdaffe31804?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5832a66cd553433cf4bd1cdaffe31804?s=96&d=mm&r=g\",\"caption\":\"Guilherme de Paoli Beal\"},\"url\":\"https:\/\/kb.elipse.com.br\/en\/author\/beal\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Common issues faced by Modbus: Increment a non-standard address","description":"This article illustrates how to increment a non-standard address (8 bits) at a Modbus driver, whose default address is 16 bits.","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:\/\/kb.elipse.com.br\/en\/common-issues-faced-by-modbus-driver-incrementing-non-standard-addresses\/","og_locale":"en_US","og_type":"article","og_title":"Common issues faced by Modbus: Increment a non-standard address","og_description":"This article illustrates how to increment a non-standard address (8 bits) at a Modbus driver, whose default address is 16 bits.","og_url":"https:\/\/kb.elipse.com.br\/en\/common-issues-faced-by-modbus-driver-incrementing-non-standard-addresses\/","og_site_name":"Elipse Knowledgebase","article_publisher":"http:\/\/www.facebook.com\/elipsesoftware","article_published_time":"2020-05-06T14:14:58+00:00","article_modified_time":"2020-05-06T18:23:04+00:00","og_image":[{"url":"http:\/\/kb.elipse.com.br\/wp-content\/uploads\/2020\/03\/10296\/EnableReadGroupingFalse_.png"}],"author":"Guilherme de Paoli Beal","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Guilherme de Paoli Beal","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kb.elipse.com.br\/en\/common-issues-faced-by-modbus-driver-incrementing-non-standard-addresses\/#article","isPartOf":{"@id":"https:\/\/kb.elipse.com.br\/en\/common-issues-faced-by-modbus-driver-incrementing-non-standard-addresses\/"},"author":{"name":"Guilherme de Paoli Beal","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/person\/d51146cee48c7c49ca02ef4bd83187e6"},"headline":"Common issues faced by Modbus driver: Incrementing non-standard addresses","datePublished":"2020-05-06T14:14:58+00:00","dateModified":"2020-05-06T18:23:04+00:00","mainEntityOfPage":{"@id":"https:\/\/kb.elipse.com.br\/en\/common-issues-faced-by-modbus-driver-incrementing-non-standard-addresses\/"},"wordCount":360,"commentCount":0,"publisher":{"@id":"https:\/\/kb.elipse.com.br\/#organization"},"articleSection":["Modicon Modbus Master (ASC\/RTU\/TCP)","Drivers"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kb.elipse.com.br\/en\/common-issues-faced-by-modbus-driver-incrementing-non-standard-addresses\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kb.elipse.com.br\/en\/common-issues-faced-by-modbus-driver-incrementing-non-standard-addresses\/","url":"https:\/\/kb.elipse.com.br\/en\/common-issues-faced-by-modbus-driver-incrementing-non-standard-addresses\/","name":"Common issues faced by Modbus: Increment a non-standard address","isPartOf":{"@id":"https:\/\/kb.elipse.com.br\/#website"},"datePublished":"2020-05-06T14:14:58+00:00","dateModified":"2020-05-06T18:23:04+00:00","description":"This article illustrates how to increment a non-standard address (8 bits) at a Modbus driver, whose default address is 16 bits.","breadcrumb":{"@id":"https:\/\/kb.elipse.com.br\/en\/common-issues-faced-by-modbus-driver-incrementing-non-standard-addresses\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kb.elipse.com.br\/en\/common-issues-faced-by-modbus-driver-incrementing-non-standard-addresses\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kb.elipse.com.br\/en\/common-issues-faced-by-modbus-driver-incrementing-non-standard-addresses\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/kb.elipse.com.br\/en\/"},{"@type":"ListItem","position":2,"name":"Common issues faced by Modbus driver: Incrementing non-standard addresses"}]},{"@type":"WebSite","@id":"https:\/\/kb.elipse.com.br\/#website","url":"https:\/\/kb.elipse.com.br\/","name":"Elipse Knowledgebase","description":"","publisher":{"@id":"https:\/\/kb.elipse.com.br\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kb.elipse.com.br\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/kb.elipse.com.br\/#organization","name":"Elipse Software","url":"https:\/\/kb.elipse.com.br\/","sameAs":["http:\/\/www.facebook.com\/elipsesoftware"],"logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/","url":"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png","contentUrl":"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png","width":161,"height":58,"caption":"Elipse Software"},"image":{"@id":"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/person\/d51146cee48c7c49ca02ef4bd83187e6","name":"Guilherme de Paoli Beal","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5832a66cd553433cf4bd1cdaffe31804?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5832a66cd553433cf4bd1cdaffe31804?s=96&d=mm&r=g","caption":"Guilherme de Paoli Beal"},"url":"https:\/\/kb.elipse.com.br\/en\/author\/beal\/"}]}},"_links":{"self":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts\/10717"}],"collection":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/users\/34"}],"replies":[{"embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/comments?post=10717"}],"version-history":[{"count":5,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts\/10717\/revisions"}],"predecessor-version":[{"id":10755,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts\/10717\/revisions\/10755"}],"wp:attachment":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/media?parent=10717"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/categories?post=10717"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/tags?post=10717"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}