{"id":42972,"date":"2026-08-06T08:18:59","date_gmt":"2026-08-06T08:18:59","guid":{"rendered":"https:\/\/imperix.com\/doc\/?p=42972"},"modified":"2026-08-06T14:43:17","modified_gmt":"2026-08-06T14:43:17","slug":"modbus-input-mailbox","status":"publish","type":"post","link":"https:\/\/imperix.com\/doc\/software\/modbus-input-mailbox","title":{"rendered":"Modbus in &#8211; Modbus TCP input mailbox"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 ez-toc-wrap-right-text counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/imperix.com\/doc\/software\/modbus-input-mailbox\/#Parameters\" >Parameters<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/imperix.com\/doc\/software\/modbus-input-mailbox\/#Simulink-block\" >Simulink block<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/imperix.com\/doc\/software\/modbus-input-mailbox\/#PLECS-block\" >PLECS block<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/imperix.com\/doc\/software\/modbus-input-mailbox\/#C-functions\" >C++ functions<\/a><\/li><\/ul><\/nav><\/div>\n\n<p class=\"wp-block-paragraph\">The <strong>Modbus_in block<\/strong> transmits data over Ethernet using the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Modbus#Modbus_messaging_on_TCP\/IP\">Modbus TCP<\/a> protocol on TCP port 502. The block can be configured to operate in one of two modes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Master\/Client<\/strong>: the controller actively sends write requests to a remote Slave\/Server device.<\/li>\n\n\n\n<li><strong>Slave\/Server<\/strong>: the controller updates its own internal registers, making the data available for an external Master\/Client device to read.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The block supports the <strong>Register types<\/strong> listed below. <\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><th class=\"has-text-align-left\" data-align=\"left\">Register type<\/th><th class=\"has-text-align-left\" data-align=\"left\">Access<\/th><th class=\"has-text-align-left\" data-align=\"left\">Size<\/th><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">Discrete input<\/td><td class=\"has-text-align-left\" data-align=\"left\">R<\/td><td class=\"has-text-align-left\" data-align=\"left\">1 bit (encoded as 1 byte, using the LSB)<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">Coil (discrete output)<\/td><td class=\"has-text-align-left\" data-align=\"left\">R\/W<\/td><td class=\"has-text-align-left\" data-align=\"left\">1 bit (encoded as 1 byte, using the LSB)<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">Input register<\/td><td class=\"has-text-align-left\" data-align=\"left\">R <\/td><td class=\"has-text-align-left\" data-align=\"left\">16 bit (2 bytes)<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">Holding register<\/td><td class=\"has-text-align-left\" data-align=\"left\">R\/W<\/td><td class=\"has-text-align-left\" data-align=\"left\">16 bit (2 bytes)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A concrete application example is presented in <a href=\"https:\/\/imperix.com\/doc\/help\/exchanging-data-with-modbus-tcp\">PN203<\/a>, which runs a Modbus client on a\u00a0<span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"><a href=\"https:\/\/imperix.com\/products\/power\/programmable-inverter\/\" target=\"_blank\">TPI8032<\/a><\/span>\u00a0and uses an external master\u00a0on a computer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To send data, use the&nbsp;<a href=\"https:\/\/imperix.com\/doc\/software\/modbus-output-mailbox\" type=\"link\" id=\"https:\/\/imperix.com\/doc\/software\/modbus-output-mailbox\">Modbus_out<\/a> block instead.  Alternatively, for periodic transfers without explicit requests, especially at higher rates or with numerous variables, the&nbsp;<a href=\"https:\/\/imperix.com\/doc\/software\/ethernet-input-mailbox\">Ethernet UDP input mailbox<\/a>&nbsp;can be used instead.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Parameters\"><\/span>Parameters<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Mode<\/strong>: Selects the mailbox&#8217;s operating mode (<em>Master\/Client<\/em> or <em>Slave\/Server<\/em>).<\/li>\n\n\n\n<li><strong>IP Address<\/strong> (Master mode only): Selects the IP address to whom the data will be read.<\/li>\n\n\n\n<li><strong>Type<\/strong>: Selects the Modbus register type to read from\n<ul class=\"wp-block-list\">\n<li><em>Discrete input (Master mode only)<\/em><\/li>\n\n\n\n<li><em>Coil<\/em><\/li>\n\n\n\n<li><em>Input register (Master mode only)<\/em><\/li>\n\n\n\n<li><em>Holding register<\/em><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Start address<\/strong>: Sets the starting Modbus address for the range of registers to write (0\u201365535).<\/li>\n\n\n\n<li><strong>Signal(s) type<\/strong>: Defines the data type of the input signal (<em>int8<\/em>, <em>int16<\/em>, <em>int32<\/em>, <em>uint8<\/em>, <em>uint16<\/em>, <em>uint32<\/em>, <em>float32<\/em>, or <em>float64<\/em>).<\/li>\n\n\n\n<li><strong>Number of signals<\/strong>:\u00a0Specifies the vector size of the data to be sent. The number of registers physically used is determined by the equivalent vector size in 16-bit words.<\/li>\n\n\n\n<li><strong>Initial value<\/strong>: Sets the default output value.<\/li>\n\n\n\n<li><strong>Poll frequency (Hz)<\/strong> (Master mode only): Defines the rate at which the controller polls the remote Modbus Slave for new data.<\/li>\n\n\n\n<li><strong>Endianness<\/strong> (Master mode only): Defines the order of the 16-bit registers used to encode multi-register values.<\/li>\n\n\n\n<li><strong>Byte swap<\/strong> (Master mode only): When enabled, swaps the two bytes inside each 16-bit register.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The four combinations of Byte order and swap produce the following byte sequences, where A is the most significant byte of a 32-bit value and D the least significant:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong><strong>Endianness<\/strong><\/strong><\/td><td><strong>Byte swap<\/strong><\/td><td><strong>Sequence<\/strong><\/td><\/tr><tr><td>Big-endian<\/td><td>false<\/td><td>ABCD<\/td><\/tr><tr><td>Big-endian<\/td><td>true<\/td><td>BADC<\/td><\/tr><tr><td>Little-endian<\/td><td>true<\/td><td>CDAB<\/td><\/tr><tr><td>Little-endian<\/td><td>false<\/td><td>DCBA<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">In Slave\/Server mode, the mailbox does not reorder registers; the application reads the raw register contents directly. Since imperix controllers use a little-endian CPU, multi-register values written directly by an external Master typically correspond to the CDBA (Little-endian, byte swap) layout.<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Simulink-block\"><\/span>Simulink block<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Signal specification<\/h3>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<ul class=\"wp-block-list\">\n<li>The <strong>data output<\/strong> signal returns a vector containing the data read via Modbus TCP. Use the <strong>Number of signals<\/strong> parameter to set the vector length, and the <strong>Signal(s) type<\/strong> parameter to set the output data type.<\/li>\n\n\n\n<li>The second signal is the <strong>data valid<\/strong> output. It goes high each time new data arrives.<\/li>\n<\/ul>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"546\" height=\"325\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD037_Simulink_block.png\" alt=\"\" class=\"wp-image-43350\" style=\"aspect-ratio:1.6801589791862777;width:129px;height:auto\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD037_Simulink_block.png 546w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD037_Simulink_block-300x179.png 300w\" sizes=\"auto, (max-width: 546px) 100vw, 546px\" \/><\/figure>\n<\/div><\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Mask<\/h3>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"524\" height=\"811\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD038_simulink_prot_config-3.png\" alt=\"\" class=\"wp-image-45818\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD038_simulink_prot_config-3.png 524w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD038_simulink_prot_config-3-194x300.png 194w\" sizes=\"auto, (max-width: 524px) 100vw, 524px\" \/><\/figure>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"524\" height=\"811\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD037_simulink_ip-2.png\" alt=\"\" class=\"wp-image-45819\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD037_simulink_ip-2.png 524w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD037_simulink_ip-2-194x300.png 194w\" sizes=\"auto, (max-width: 524px) 100vw, 524px\" \/><\/figure>\n<\/div><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"PLECS-block\"><\/span>PLECS block<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Signal specification<\/h3>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<ul class=\"wp-block-list\">\n<li>The <strong>data output<\/strong> signal (D) returns a vector containing the data read via Modbus TCP. Use the <strong>Number of signals<\/strong> parameter to set the vector length, and the <strong>Signal(s) type<\/strong> parameter to set the output data type.<\/li>\n\n\n\n<li>The second signal is the <strong>data valid<\/strong> output. It goes high each time new data arrives.<\/li>\n<\/ul>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"442\" height=\"321\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD037_Plecs_block.png\" alt=\"\" class=\"wp-image-43352\" style=\"aspect-ratio:1.3771110158594084;width:123px;height:auto\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD037_Plecs_block.png 442w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD037_Plecs_block-300x218.png 300w\" sizes=\"auto, (max-width: 442px) 100vw, 442px\" \/><\/figure>\n<\/div><\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Mask<\/h3>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"342\" height=\"532\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD037_plecs_addressing-1.png\" alt=\"\" class=\"wp-image-45820\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD037_plecs_addressing-1.png 342w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD037_plecs_addressing-1-193x300.png 193w\" sizes=\"auto, (max-width: 342px) 100vw, 342px\" \/><\/figure>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"342\" height=\"532\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD037_plecs_mailbox_config-2.png\" alt=\"\" class=\"wp-image-45821\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD037_plecs_mailbox_config-2.png 342w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD037_plecs_mailbox_config-2-193x300.png 193w\" sizes=\"auto, (max-width: 342px) 100vw, 342px\" \/><\/figure>\n<\/div><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">The Ethernet IP addresses can be configured in the controller&#8217;s target window (<em>Coder<\/em>\u00a0\u2192\u00a0<em>Coder option<\/em>\u00a0\u2192\u00a0<em>Target<\/em>).<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"C-functions\"><\/span>C++ functions<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Master<\/h3>\n\n\n<style>.kt-accordion-id42972_2d9e86-25 .kt-accordion-inner-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:1px;}.kt-accordion-id42972_2d9e86-25 .kt-accordion-panel-inner{border-top:2px solid transparent;border-right:2px solid transparent;border-bottom:2px solid transparent;border-left:2px solid transparent;border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:2px;background:#ffffff;padding-top:20px;padding-right:20px;padding-bottom:20px;padding-left:20px;}.kt-accordion-id42972_2d9e86-25 > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header{border-top:2px solid #f2f2f2;border-right:2px solid #f2f2f2;border-bottom:2px solid #f2f2f2;border-left:2px solid #f2f2f2;border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:2px;background:#ffffff;font-size:16px;line-height:24px;letter-spacing:0px;font-weight:bold;text-transform:none;color:var(--global-palette3, #1A202C);padding-top:12px;padding-right:10px;padding-bottom:8px;padding-left:16px;}.kt-accordion-id42972_2d9e86-25:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle )  > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id42972_2d9e86-25:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle )  > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap .kt-blocks-accordion-icon-trigger:before{background:var(--global-palette3, #1A202C);}.kt-accordion-id42972_2d9e86-25:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-icon-trigger{background:var(--global-palette3, #1A202C);}.kt-accordion-id42972_2d9e86-25:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id42972_2d9e86-25:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-icon-trigger:before{background:#ffffff;}.kt-accordion-id42972_2d9e86-25 > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header:hover, \n\t\t\t\tbody:not(.hide-focus-outline) .kt-accordion-id42972_2d9e86-25 .kt-blocks-accordion-header:focus-visible{color:#444444;background:#ffffff;border-top:2px solid #eeeeee;border-right:2px solid #eeeeee;border-bottom:2px solid #eeeeee;border-left:2px solid #eeeeee;}.kt-accordion-id42972_2d9e86-25:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id42972_2d9e86-25:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:before, body:not(.hide-focus-outline) .kt-accordion-id42972_2d9e86-25:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-blocks-accordion--visible .kt-blocks-accordion-icon-trigger:after, body:not(.hide-focus-outline) .kt-accordion-id42972_2d9e86-25:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger:before{background:#444444;}.kt-accordion-id42972_2d9e86-25:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger, body:not(.hide-focus-outline) .kt-accordion-id42972_2d9e86-25:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger{background:#444444;}.kt-accordion-id42972_2d9e86-25:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id42972_2d9e86-25:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:before, body:not(.hide-focus-outline) .kt-accordion-id42972_2d9e86-25:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger:after, body:not(.hide-focus-outline) .kt-accordion-id42972_2d9e86-25:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger:before{background:#ffffff;}.kt-accordion-id42972_2d9e86-25 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id42972_2d9e86-25 > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active{color:var(--global-palette3, #1A202C);background:var(--global-palette9, #ffffff);border-top:2px solid var(--global-palette6, #718096);border-right:2px solid var(--global-palette6, #718096);border-bottom:2px solid var(--global-palette6, #718096);border-left:2px solid var(--global-palette6, #718096);}.kt-accordion-id42972_2d9e86-25:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle )  > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id42972_2d9e86-25:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle )  > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:before{background:var(--global-palette3, #1A202C);}.kt-accordion-id42972_2d9e86-25:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger{background:var(--global-palette3, #1A202C);}.kt-accordion-id42972_2d9e86-25:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id42972_2d9e86-25:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:before{background:var(--global-palette9, #ffffff);}@media all and (max-width: 1024px){.kt-accordion-id42972_2d9e86-25 .kt-accordion-panel-inner{border-top:2px solid transparent;border-right:2px solid transparent;border-bottom:2px solid transparent;border-left:2px solid transparent;}}@media all and (max-width: 1024px){.kt-accordion-id42972_2d9e86-25 > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header{border-top:2px solid #f2f2f2;border-right:2px solid #f2f2f2;border-bottom:2px solid #f2f2f2;border-left:2px solid #f2f2f2;}}@media all and (max-width: 1024px){.kt-accordion-id42972_2d9e86-25 > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header:hover, \n\t\t\t\tbody:not(.hide-focus-outline) .kt-accordion-id42972_2d9e86-25 .kt-blocks-accordion-header:focus-visible{border-top:2px solid #eeeeee;border-right:2px solid #eeeeee;border-bottom:2px solid #eeeeee;border-left:2px solid #eeeeee;}}@media all and (max-width: 1024px){.kt-accordion-id42972_2d9e86-25 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id42972_2d9e86-25 > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active{border-top:2px solid var(--global-palette6, #718096);border-right:2px solid var(--global-palette6, #718096);border-bottom:2px solid var(--global-palette6, #718096);border-left:2px solid var(--global-palette6, #718096);}}@media all and (max-width: 767px){.kt-accordion-id42972_2d9e86-25 .kt-accordion-inner-wrap{display:block;}.kt-accordion-id42972_2d9e86-25 .kt-accordion-inner-wrap .kt-accordion-pane:not(:first-child){margin-top:1px;}.kt-accordion-id42972_2d9e86-25 .kt-accordion-panel-inner{border-top:2px solid transparent;border-right:2px solid transparent;border-bottom:2px solid transparent;border-left:2px solid transparent;}.kt-accordion-id42972_2d9e86-25 > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header{border-top:2px solid #f2f2f2;border-right:2px solid #f2f2f2;border-bottom:2px solid #f2f2f2;border-left:2px solid #f2f2f2;}.kt-accordion-id42972_2d9e86-25 > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header:hover, \n\t\t\t\tbody:not(.hide-focus-outline) .kt-accordion-id42972_2d9e86-25 .kt-blocks-accordion-header:focus-visible{border-top:2px solid #eeeeee;border-right:2px solid #eeeeee;border-bottom:2px solid #eeeeee;border-left:2px solid #eeeeee;}.kt-accordion-id42972_2d9e86-25 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id42972_2d9e86-25 > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active{border-top:2px solid var(--global-palette6, #718096);border-right:2px solid var(--global-palette6, #718096);border-bottom:2px solid var(--global-palette6, #718096);border-left:2px solid var(--global-palette6, #718096);}}<\/style>\n<div class=\"wp-block-kadence-accordion alignnone\"><div class=\"kt-accordion-wrap kt-accordion-id42972_2d9e86-25 kt-accordion-has-13-panes kt-active-pane-0 kt-accordion-block kt-pane-header-alignment-left kt-accodion-icon-style-arrow kt-accodion-icon-side-left\" style=\"max-width:none\"><div class=\"kt-accordion-inner-wrap\" data-allow-multiple-open=\"false\" data-start-open=\"none\">\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-4 kt-pane42972_e263b3-51\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><code>ModbusMaster_ConfigureHoldingRegisterInputMailbox<\/code> <strong>\u2014 Configure a Holding Register input mailbox<\/strong><\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\"><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"C++\" data-shcb-language-slug=\"cpp\"><span><code class=\"hljs language-cpp shcb-wrap-lines\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">bool<\/span> <span class=\"hljs-title\">ModbusMaster_ConfigureHoldingRegisterInputMailbox<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> mailboxId, <span class=\"hljs-keyword\">const<\/span> <span class=\"hljs-keyword\">char<\/span>* ip, <span class=\"hljs-keyword\">uint16_t<\/span> port, <span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> modbusAddress, <span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> size, tModbusRegByteOrder regByteOrder, <span class=\"hljs-keyword\">float<\/span> pollingFrequency)<\/span><\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C++<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cpp<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Configures a Holding Register input mailbox for Modbus Master mode. The controller will periodically poll the specified register(s) on the remote Slave device.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It has to be called in <code>UserInit()<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Parameters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>mailboxId<\/code>: a unique ID used to distinguish mailboxes from each other. This ID must be unique throughout the code for all ETH, CAN, and Modbus input\/output mailboxes.<\/li>\n\n\n\n<li><code>ip<\/code>: IP address of the remote Modbus Slave (e.g., <code>\"192.168.1.100\"<\/code>).<\/li>\n\n\n\n<li><code>port<\/code>: TCP port of the Modbus Slave (typically 502).<\/li>\n\n\n\n<li><code>modbusAddress<\/code>: starting Modbus register address on the Slave (0\u201365535).<\/li>\n\n\n\n<li><code>size<\/code>: size in bytes of the data to read (must be a multiple of 2, max 246 bytes).<\/li>\n\n\n\n<li><code>regByteOrder<\/code>: register byte order (<code>tModbusRegByteOrder::STANDARD<\/code> or <code>tModbusRegByteOrder::SWAPPED<\/code>).<\/li>\n\n\n\n<li><code>pollingFrequency<\/code>: frequency at which to poll the Slave, in Hz.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Return value<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>bool<\/code>: returns <code>false<\/code> if the configuration failed (e.g., too many mailboxes or invalid parameters).<\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane42972_46f3c5-a9\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><code>ModbusMaster_ConfigureInputRegisterInputMailbox<\/code> <strong>\u2014 Configure an Input Register input mailbox<\/strong><\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\"><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"C++\" data-shcb-language-slug=\"cpp\"><span><code class=\"hljs language-cpp shcb-wrap-lines\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">bool<\/span> <span class=\"hljs-title\">ModbusMaster_ConfigureInputRegisterInputMailbox<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> mailboxId, <span class=\"hljs-keyword\">const<\/span> <span class=\"hljs-keyword\">char<\/span>* ip, <span class=\"hljs-keyword\">uint16_t<\/span> port, <span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> modbusAddress, <span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> size, tModbusRegByteOrder regByteOrder, <span class=\"hljs-keyword\">float<\/span> pollingFrequency)<\/span><\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C++<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cpp<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Configures an Input Register input mailbox for Modbus Master mode. The controller will periodically poll the specified input register(s) on the remote Slave device.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It has to be called in <code>UserInit()<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Parameters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>mailboxId<\/code>: a unique ID used to distinguish mailboxes from each other. This ID must be unique throughout the code for all ETH, CAN, and Modbus input\/output mailboxes.<\/li>\n\n\n\n<li><code>ip<\/code>: IP address of the remote Modbus Slave (e.g., <code>\"192.168.1.100\"<\/code>).<\/li>\n\n\n\n<li><code>port<\/code>: TCP port of the Modbus Slave (typically 502).<\/li>\n\n\n\n<li><code>modbusAddress<\/code>: starting Modbus register address on the Slave (0\u201365535).<\/li>\n\n\n\n<li><code>size<\/code>: size in bytes of the data to read (must be a multiple of 2, max 246 bytes).<\/li>\n\n\n\n<li><code>regByteOrder<\/code>: register byte order (<code>tModbusRegByteOrder::STANDARD<\/code> or <code>tModbusRegByteOrder::SWAPPED<\/code>).<\/li>\n\n\n\n<li><code>pollingFrequency<\/code>: frequency at which to poll the Slave, in Hz.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Return value<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>bool<\/code>: returns <code>false<\/code> if the configuration failed (e.g., too many mailboxes or invalid parameters).<\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-5 kt-pane42972_c2535e-7d\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><code>ModbusMaster_ConfigureCoilInputMailbox<\/code> <strong>\u2014 Configure a Coil input mailbox<\/strong><\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\"><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"C++\" data-shcb-language-slug=\"cpp\"><span><code class=\"hljs language-cpp shcb-wrap-lines\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">bool<\/span> <span class=\"hljs-title\">ModbusMaster_ConfigureCoilInputMailbox<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> mailboxId, <span class=\"hljs-keyword\">const<\/span> <span class=\"hljs-keyword\">char<\/span>* ip, <span class=\"hljs-keyword\">uint16_t<\/span> port, <span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> modbusAddress, <span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> size, <span class=\"hljs-keyword\">float<\/span> pollingFrequency)<\/span><\/span>;;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C++<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cpp<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Configures a Coil input mailbox for Modbus Master mode. The controller will periodically poll the specified coil(s) on the remote Slave device.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It has to be called in <code>UserInit()<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Parameters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>mailboxId<\/code>: unique mailbox identifier.<\/li>\n\n\n\n<li><code>ip<\/code>: IP address of the remote Modbus Slave.<\/li>\n\n\n\n<li><code>port<\/code>: TCP port of the Modbus Slave (typically 502).<\/li>\n\n\n\n<li><code>modbusAddress<\/code>: starting Modbus coil address on the Slave (0\u201365535).<\/li>\n\n\n\n<li><code>size<\/code>: number of coils to read.<\/li>\n\n\n\n<li><code>pollingFrequency<\/code>: frequency at which to poll the Slave, in Hz.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Return value<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>bool<\/code>: returns <code>false<\/code> if the configuration failed.<\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-6 kt-pane42972_a04c94-a1\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><code>ModbusMaster_ConfigureDiscreteInputInputMailbox<\/code> <strong>\u2014 Configure a Discrete Input input mailbox<\/strong><\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\"><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"C++\" data-shcb-language-slug=\"cpp\"><span><code class=\"hljs language-cpp shcb-wrap-lines\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">bool<\/span> <span class=\"hljs-title\">ModbusMaster_ConfigureDiscreteInputInputMailbox<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> mailboxId, <span class=\"hljs-keyword\">const<\/span> <span class=\"hljs-keyword\">char<\/span>* ip, <span class=\"hljs-keyword\">uint16_t<\/span> port, <span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> modbusAddress, <span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> size, <span class=\"hljs-keyword\">float<\/span> pollingFrequency)<\/span><\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C++<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cpp<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Configures a Discrete Input input mailbox for Modbus Master mode. The controller will periodically poll the specified discrete input(s) on the remote Slave device.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It has to be called in <code>UserInit()<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Parameters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>mailboxId<\/code>: unique mailbox identifier.<\/li>\n\n\n\n<li><code>ip<\/code>: IP address of the remote Modbus Slave (e.g., <code>\"192.168.1.100\"<\/code>).<\/li>\n\n\n\n<li><code>port<\/code>: TCP port of the Modbus Slave (typically 502).<\/li>\n\n\n\n<li><code>modbusAddress<\/code>: starting Modbus discrete input address on the Slave (0\u201365535).<\/li>\n\n\n\n<li><code>size<\/code>: number of discrete inputs to read.<\/li>\n\n\n\n<li><code>pollingFrequency<\/code>: frequency at which to poll the Slave, in Hz.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Return value<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>bool<\/code>: returns <code>false<\/code> if the configuration failed.<\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-13 kt-pane42972_4dc495-7c\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><code>ModbusMaster_ConfigureRegisterMailboxEndianness<\/code> \u2014 <strong>Configure register mailbox endianness<\/strong><\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\"><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"C++\" data-shcb-language-slug=\"cpp\"><span><code class=\"hljs language-cpp shcb-wrap-lines\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">bool<\/span> <span class=\"hljs-title\">ModbusMaster_ConfigureRegisterMailboxEndianness<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> mailboxId, tEndianness endianness, <span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> bytesPerValue)<\/span><\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C++<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cpp<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Configures how a Modbus Master holding-register or input-register mailbox interprets multi-register values. By default, register mailboxes are interpreted as independent 16-bit registers (<code>bytesPerValue = 2<\/code>, <code>endianness = BIG_ENDIAN<\/code>). The <code>endianness<\/code> parameter only affects values spanning more than one 16-bit register, so it has no effect when <code>bytesPerValue<\/code> is 1 or 2. <br><br>Call this function in <code>UserInit()<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Parameters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>mailboxId<\/code>: unique mailbox identifier.<\/li>\n\n\n\n<li><code>endianness<\/code>: register order inside each logical value (<code>LITTLE_ENDIAN<\/code> = low word first, <code>BIG_ENDIAN<\/code> = high word first).<\/li>\n\n\n\n<li><code>bytesPerValue<\/code>: size in bytes of one interpreted value (must be 1, or an even number \u2265 2, and divide the mailbox size).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Return value<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>bool<\/code>: returns <code>false<\/code> if the mailbox does not exist, is not a master holding-register or input-register mailbox, or if the size is invalid. Otherwise, returns <code>true<\/code>.<\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-7 kt-pane42972_a7531e-e7\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><code>ModbusMaster_ConfigureInputMailboxInitialValue<\/code> <strong>\u2014 Configure a Master input mailbox initial value<\/strong><\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\"><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"C++\" data-shcb-language-slug=\"cpp\"><span><code class=\"hljs language-cpp shcb-wrap-lines\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">bool<\/span> <span class=\"hljs-title\">ModbusMaster_ConfigureInputMailboxInitialValue<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> mailboxId, <span class=\"hljs-keyword\">void<\/span>* data, <span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> size)<\/span><\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C++<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cpp<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"has--font-size wp-block-paragraph\">Sets the initial value that the read functions return before any data arrives from the remote Slave. If the provided value is smaller than the mailbox size, it repeats to fill the entire mailbox.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Call this function in <code>UserInit()<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Parameters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>mailboxId<\/code>: unique mailbox identifier.<\/li>\n\n\n\n<li><code>data<\/code>: pointer to the initial value data.<\/li>\n\n\n\n<li><code>size<\/code>: size of the initial value in bytes (must divide the mailbox size evenly).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Return value<\/strong><\/p>\n\n\n\n<p class=\"has--font-size wp-block-paragraph\"><code>bool<\/code>: returns <code>false<\/code> if the mailbox doesn&#8217;t exist or the size is invalid.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-8 kt-pane42972_062816-3d\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><code>ModbusMaster_ReadHoldingRegister<\/code> <strong>\u2014 Read Holding Register data<\/strong><\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\"><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"C++\" data-shcb-language-slug=\"cpp\"><span><code class=\"hljs language-cpp shcb-wrap-lines\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">bool<\/span> <span class=\"hljs-title\">ModbusMaster_ReadHoldingRegister<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> mailboxId, <span class=\"hljs-keyword\">void<\/span>* data, <span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> size)<\/span><\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C++<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cpp<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"has--font-size wp-block-paragraph\">Reads data from a Holding Register input mailbox that the controller has polled from the remote Slave. The output remains unchanged until new data arrives.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Call this function during the control interrupt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Parameters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>mailboxId<\/code>: unique mailbox identifier.<\/li>\n\n\n\n<li><code>data<\/code>: pointer to the buffer where the function stores the data.<\/li>\n\n\n\n<li><code>size<\/code>: size in bytes (must match the configured mailbox size).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Return value<\/strong><\/p>\n\n\n\n<p class=\"has--font-size wp-block-paragraph\"><code>bool<\/code>: returns <code>true<\/code> if new data has arrived since the last read, <code>false<\/code> otherwise.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-9 kt-pane42972_00b12e-e1\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><code>ModbusMaster_ReadInputRegister<\/code> <strong>\u2014 Read Input Register data<\/strong><\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\"><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"C++\" data-shcb-language-slug=\"cpp\"><span><code class=\"hljs language-cpp shcb-wrap-lines\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">bool<\/span> <span class=\"hljs-title\">ModbusMaster_ReadInputRegister<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> mailboxId, <span class=\"hljs-keyword\">void<\/span>* data, <span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> size)<\/span><\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C++<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cpp<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"has--font-size wp-block-paragraph\">Reads data from an Input Register input mailbox that the controller has polled from the remote Slave. The output remains unchanged until new data arrives.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Call this function during the control interrupt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Parameters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>mailboxId<\/code>: unique mailbox identifier.<\/li>\n\n\n\n<li><code>data<\/code>: pointer to the buffer where the function stores the data.<\/li>\n\n\n\n<li><code>size<\/code>: size in bytes (must match the configured mailbox size).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Return value<\/strong><\/p>\n\n\n\n<p class=\"has--font-size wp-block-paragraph\"><code>bool<\/code>: returns <code>true<\/code> if new data has arrived since the last read, <code>false<\/code> otherwise.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-10 kt-pane42972_0c6c61-83\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><code>ModbusMaster_ReadCoil<\/code> <strong>\u2014 Read Coil data<\/strong><\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\"><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-9\" data-shcb-language-name=\"C++\" data-shcb-language-slug=\"cpp\"><span><code class=\"hljs language-cpp shcb-wrap-lines\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">bool<\/span> <span class=\"hljs-title\">ModbusMaster_ReadCoil<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> mailboxId, <span class=\"hljs-keyword\">uint8_t<\/span>* data, <span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> size)<\/span><\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-9\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C++<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cpp<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"has--font-size wp-block-paragraph\">Reads data from a Coil input mailbox that the controller has polled from the remote Slave. Each byte in the output array represents one coil value.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Call this function during the control interrupt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Parameters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>mailboxId<\/code>: unique mailbox identifier.<\/li>\n\n\n\n<li><code>data<\/code>: pointer to the buffer where the function stores the coil data.<\/li>\n\n\n\n<li><code>size<\/code>: number of coils (must match the configured mailbox size).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Return value<\/strong><\/p>\n\n\n\n<p class=\"has--font-size wp-block-paragraph\"><code>bool<\/code>: returns <code>true<\/code> if new data has arrived since the last read, <code>false<\/code> otherwise.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-11 kt-pane42972_044838-f6\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><code>ModbusMaster_ReadDiscreteInput<\/code> <strong>\u2014 Read Discrete Input data<\/strong><\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\"><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-10\" data-shcb-language-name=\"C++\" data-shcb-language-slug=\"cpp\"><span><code class=\"hljs language-cpp shcb-wrap-lines\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">bool<\/span> <span class=\"hljs-title\">ModbusMaster_ReadDiscreteInput<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> mailboxId, <span class=\"hljs-keyword\">uint8_t<\/span>* data, <span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> size)<\/span><\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-10\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C++<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cpp<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"has--font-size wp-block-paragraph\">Reads data from a Discrete Input input mailbox that the controller has polled from the remote Slave. Each byte in the output array represents one discrete input value.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Call this function during the control interrupt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Parameters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>mailboxId<\/code>: unique mailbox identifier.<\/li>\n\n\n\n<li><code>data<\/code>: pointer to the buffer where the function stores the discrete input data.<\/li>\n\n\n\n<li><code>size<\/code>: number of discrete inputs (must match the configured mailbox size).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Return value<\/strong><\/p>\n\n\n\n<p class=\"has--font-size wp-block-paragraph\"><code>bool<\/code>: returns <code>true<\/code> if new data has arrived since the last read, <code>false<\/code> otherwise.<\/p>\n<\/div><\/div><\/div>\n<\/div><\/div><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Slave<\/h3>\n\n\n<style>.kt-accordion-id42972_7b8e57-ba .kt-accordion-inner-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:1px;}.kt-accordion-id42972_7b8e57-ba .kt-accordion-panel-inner{border-top:2px solid transparent;border-right:2px solid transparent;border-bottom:2px solid transparent;border-left:2px solid transparent;border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:2px;background:#ffffff;padding-top:20px;padding-right:20px;padding-bottom:20px;padding-left:20px;}.kt-accordion-id42972_7b8e57-ba > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header{border-top:2px solid #f2f2f2;border-right:2px solid #f2f2f2;border-bottom:2px solid #f2f2f2;border-left:2px solid #f2f2f2;border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:2px;background:#ffffff;font-size:16px;line-height:24px;letter-spacing:0px;font-weight:bold;text-transform:none;color:var(--global-palette3, #1A202C);padding-top:12px;padding-right:10px;padding-bottom:8px;padding-left:16px;}.kt-accordion-id42972_7b8e57-ba:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle )  > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id42972_7b8e57-ba:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle )  > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap .kt-blocks-accordion-icon-trigger:before{background:var(--global-palette3, #1A202C);}.kt-accordion-id42972_7b8e57-ba:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-icon-trigger{background:var(--global-palette3, #1A202C);}.kt-accordion-id42972_7b8e57-ba:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id42972_7b8e57-ba:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-icon-trigger:before{background:#ffffff;}.kt-accordion-id42972_7b8e57-ba > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header:hover, \n\t\t\t\tbody:not(.hide-focus-outline) .kt-accordion-id42972_7b8e57-ba .kt-blocks-accordion-header:focus-visible{color:#444444;background:#ffffff;border-top:2px solid #eeeeee;border-right:2px solid #eeeeee;border-bottom:2px solid #eeeeee;border-left:2px solid #eeeeee;}.kt-accordion-id42972_7b8e57-ba:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id42972_7b8e57-ba:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:before, body:not(.hide-focus-outline) .kt-accordion-id42972_7b8e57-ba:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-blocks-accordion--visible .kt-blocks-accordion-icon-trigger:after, body:not(.hide-focus-outline) .kt-accordion-id42972_7b8e57-ba:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger:before{background:#444444;}.kt-accordion-id42972_7b8e57-ba:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger, body:not(.hide-focus-outline) .kt-accordion-id42972_7b8e57-ba:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger{background:#444444;}.kt-accordion-id42972_7b8e57-ba:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id42972_7b8e57-ba:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:before, body:not(.hide-focus-outline) .kt-accordion-id42972_7b8e57-ba:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger:after, body:not(.hide-focus-outline) .kt-accordion-id42972_7b8e57-ba:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger:before{background:#ffffff;}.kt-accordion-id42972_7b8e57-ba .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id42972_7b8e57-ba > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active{color:var(--global-palette3, #1A202C);background:var(--global-palette9, #ffffff);border-top:2px solid var(--global-palette6, #718096);border-right:2px solid var(--global-palette6, #718096);border-bottom:2px solid var(--global-palette6, #718096);border-left:2px solid var(--global-palette6, #718096);}.kt-accordion-id42972_7b8e57-ba:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle )  > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id42972_7b8e57-ba:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle )  > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:before{background:var(--global-palette3, #1A202C);}.kt-accordion-id42972_7b8e57-ba:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger{background:var(--global-palette3, #1A202C);}.kt-accordion-id42972_7b8e57-ba:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id42972_7b8e57-ba:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:before{background:var(--global-palette9, #ffffff);}@media all and (max-width: 1024px){.kt-accordion-id42972_7b8e57-ba .kt-accordion-panel-inner{border-top:2px solid transparent;border-right:2px solid transparent;border-bottom:2px solid transparent;border-left:2px solid transparent;}}@media all and (max-width: 1024px){.kt-accordion-id42972_7b8e57-ba > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header{border-top:2px solid #f2f2f2;border-right:2px solid #f2f2f2;border-bottom:2px solid #f2f2f2;border-left:2px solid #f2f2f2;}}@media all and (max-width: 1024px){.kt-accordion-id42972_7b8e57-ba > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header:hover, \n\t\t\t\tbody:not(.hide-focus-outline) .kt-accordion-id42972_7b8e57-ba .kt-blocks-accordion-header:focus-visible{border-top:2px solid #eeeeee;border-right:2px solid #eeeeee;border-bottom:2px solid #eeeeee;border-left:2px solid #eeeeee;}}@media all and (max-width: 1024px){.kt-accordion-id42972_7b8e57-ba .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id42972_7b8e57-ba > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active{border-top:2px solid var(--global-palette6, #718096);border-right:2px solid var(--global-palette6, #718096);border-bottom:2px solid var(--global-palette6, #718096);border-left:2px solid var(--global-palette6, #718096);}}@media all and (max-width: 767px){.kt-accordion-id42972_7b8e57-ba .kt-accordion-inner-wrap{display:block;}.kt-accordion-id42972_7b8e57-ba .kt-accordion-inner-wrap .kt-accordion-pane:not(:first-child){margin-top:1px;}.kt-accordion-id42972_7b8e57-ba .kt-accordion-panel-inner{border-top:2px solid transparent;border-right:2px solid transparent;border-bottom:2px solid transparent;border-left:2px solid transparent;}.kt-accordion-id42972_7b8e57-ba > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header{border-top:2px solid #f2f2f2;border-right:2px solid #f2f2f2;border-bottom:2px solid #f2f2f2;border-left:2px solid #f2f2f2;}.kt-accordion-id42972_7b8e57-ba > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header:hover, \n\t\t\t\tbody:not(.hide-focus-outline) .kt-accordion-id42972_7b8e57-ba .kt-blocks-accordion-header:focus-visible{border-top:2px solid #eeeeee;border-right:2px solid #eeeeee;border-bottom:2px solid #eeeeee;border-left:2px solid #eeeeee;}.kt-accordion-id42972_7b8e57-ba .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id42972_7b8e57-ba > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active{border-top:2px solid var(--global-palette6, #718096);border-right:2px solid var(--global-palette6, #718096);border-bottom:2px solid var(--global-palette6, #718096);border-left:2px solid var(--global-palette6, #718096);}}<\/style>\n<div class=\"wp-block-kadence-accordion alignnone\"><div class=\"kt-accordion-wrap kt-accordion-id42972_7b8e57-ba kt-accordion-has-11-panes kt-active-pane-0 kt-accordion-block kt-pane-header-alignment-left kt-accodion-icon-style-arrow kt-accodion-icon-side-left\" style=\"max-width:none\"><div class=\"kt-accordion-inner-wrap\" data-allow-multiple-open=\"false\" data-start-open=\"none\">\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-4 kt-pane42972_cbba3a-08\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><code>ModbusSlave_ConfigureHoldingRegisterInputMailbox<\/code> <strong>\u2014 Configure a Holding Register input mailbox<\/strong><\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\"><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-11\" data-shcb-language-name=\"C++\" data-shcb-language-slug=\"cpp\"><span><code class=\"hljs language-cpp shcb-wrap-lines\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">bool<\/span> <span class=\"hljs-title\">ModbusSlave_ConfigureHoldingRegisterInputMailbox<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> mailboxId, <span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> modbusAddress, <span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> size)<\/span><\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-11\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C++<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cpp<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Configures a Holding Register input mailbox for Modbus Slave mode. After configuration, an external Modbus Master can write data to this mailbox, and your code can then read it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Call this function in <code>UserInit()<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Parameters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>mailboxId<\/code>: a unique ID that distinguishes this mailbox from all others. This ID must be unique throughout the code for all ETH, CAN, and Modbus input\/output mailboxes.<\/li>\n\n\n\n<li><code>modbusAddress<\/code>: starting Modbus register address (0\u201365535).<\/li>\n\n\n\n<li><code>size<\/code>: size in bytes (must be a multiple of 2, max 246 bytes).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Return value<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>bool<\/code>: returns <code>false<\/code> if the configuration fails.<\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane42972_3c2447-15\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><code>ModbusSlave_ConfigureCoilInputMailbox<\/code> <strong>\u2014 Configure a Coil input mailbox<\/strong><\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\"><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-12\" data-shcb-language-name=\"C++\" data-shcb-language-slug=\"cpp\"><span><code class=\"hljs language-cpp shcb-wrap-lines\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">bool<\/span> <span class=\"hljs-title\">ModbusSlave_ConfigureCoilInputMailbox<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> mailboxId, <span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> modbusAddress, <span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> size)<\/span><\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-12\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C++<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cpp<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Configures a Coil input mailbox for Modbus Slave mode. After configuration, an external Modbus Master can write coil values to this mailbox.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Call this function in <code>UserInit()<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Parameters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>mailboxId<\/code>: unique mailbox identifier.<\/li>\n\n\n\n<li><code>modbusAddress<\/code>: starting Modbus coil address (0\u201365535).<\/li>\n\n\n\n<li><code>size<\/code>: number of coils (each coil uses 1 byte in the data array).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Return value<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>bool<\/code>: returns <code>false<\/code> if the configuration fails.<\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-5 kt-pane42972_9d584d-8a\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><code>ModbusSlave_ConfigureInputMailboxInitialValue<\/code> <strong>\u2014 Configure a Slave input mailbox initial value<\/strong><\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\"><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-13\" data-shcb-language-name=\"C++\" data-shcb-language-slug=\"cpp\"><span><code class=\"hljs language-cpp shcb-wrap-lines\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">bool<\/span> <span class=\"hljs-title\">ModbusSlave_ConfigureInputMailboxInitialValue<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> mailboxId, <span class=\"hljs-keyword\">void<\/span>* data, <span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> size)<\/span><\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-13\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C++<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cpp<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Sets the initial value for a Modbus Slave input mailbox. If the provided value is smaller than the mailbox size, it repeats to fill the entire mailbox.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Call this function in <code>UserInit()<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Parameters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>mailboxId<\/code>: unique mailbox identifier.<\/li>\n\n\n\n<li><code>data<\/code>: pointer to the initial value data.<\/li>\n\n\n\n<li><code>size<\/code>: size of the initial value in bytes (1\u20138 bytes, must divide the mailbox size evenly).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Return value<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>bool<\/code>: returns <code>false<\/code> if the mailbox doesn&#8217;t exist or the size is invalid.<\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-6 kt-pane42972_eb1407-d9\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><code>ModbusSlave_ReadHoldingRegister<\/code> <strong>\u2014 Read Holding Register data<\/strong><\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\"><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-14\" data-shcb-language-name=\"C++\" data-shcb-language-slug=\"cpp\"><span><code class=\"hljs language-cpp shcb-wrap-lines\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">bool<\/span> <span class=\"hljs-title\">ModbusSlave_ReadHoldingRegister<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> mailboxId, <span class=\"hljs-keyword\">void<\/span>* data, <span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> size)<\/span><\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-14\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C++<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cpp<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Reads data from a Holding Register input mailbox containing values that an external Modbus Master has written. The output remains unchanged until the Master writes new values.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Call this function during the control interrupt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Parameters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>mailboxId<\/code>: unique mailbox identifier.<\/li>\n\n\n\n<li><code>data<\/code>: pointer to the buffer where the function stores the data.<\/li>\n\n\n\n<li><code>size<\/code>: size in bytes (must match the configured mailbox size).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Return value<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>bool<\/code>: returns <code>true<\/code> if new data has arrived since the last read, <code>false<\/code> otherwise.<\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-7 kt-pane42972_050393-d0\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><code>ModbusSlave_ReadCoil<\/code> <strong>\u2014 Read Coil data<\/strong><\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\"><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-15\" data-shcb-language-name=\"C++\" data-shcb-language-slug=\"cpp\"><span><code class=\"hljs language-cpp shcb-wrap-lines\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">bool<\/span> <span class=\"hljs-title\">ModbusSlave_ReadCoil<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> mailboxId, <span class=\"hljs-keyword\">uint8_t<\/span>* data, <span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> size)<\/span><\/span>;;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-15\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C++<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cpp<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"has--font-size wp-block-paragraph\">Reads data from a Coil input mailbox containing values that an external Modbus Master has written.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Call this function during the control interrupt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Parameters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>mailboxId<\/code>: unique mailbox identifier.<\/li>\n\n\n\n<li><code>data<\/code>: pointer to the buffer where the function stores the coil data.<\/li>\n\n\n\n<li><code>size<\/code>: number of coils (must match the configured mailbox size).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Return value<\/strong><\/p>\n\n\n\n<p class=\"has--font-size wp-block-paragraph\"><code>bool<\/code>: returns <code>true<\/code> if new data has arrived since the last read, <code>false<\/code> otherwise.<\/p>\n<\/div><\/div><\/div>\n<\/div><\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Modbus_in block transmits data over Ethernet using the Modbus TCP protocol on TCP port 502. The block can be configured to operate in one&#8230;<\/p>\n","protected":false},"author":31,"featured_media":33315,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[16],"tags":[],"software-environments":[105,103,104],"provided-results":[],"related-products":[50,31,32,92,166,51,110],"guidedreadings":[],"tutorials":[],"user-manuals":[],"coauthors":[173],"class_list":["post-42972","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software","software-environments-c-plus-plus","software-environments-matlab","software-environments-plecs","related-products-acg-sdk","related-products-b-board-pro","related-products-b-box-rcp","related-products-b-box-micro","related-products-b-box-rcp-3-0","related-products-cpp-sdk","related-products-tpi"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Modbus input mailbox - imperix Simulink, PLECS and C++ documentation<\/title>\n<meta name=\"description\" content=\"The Modbus TCP input mailbox block reads data from Modbus registers via Ethernet, in either Master or Slave mode\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/imperix.com\/doc\/software\/modbus-input-mailbox\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Modbus input mailbox - imperix Simulink, PLECS and C++ documentation\" \/>\n<meta property=\"og:description\" content=\"The Modbus TCP input mailbox block reads data from Modbus registers via Ethernet, in either Master or Slave mode\" \/>\n<meta property=\"og:url\" content=\"https:\/\/imperix.com\/doc\/software\/modbus-input-mailbox\" \/>\n<meta property=\"og:site_name\" content=\"imperix\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-06T08:18:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-06T14:43:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/05\/software.png\" \/>\n\t<meta property=\"og:image:width\" content=\"500\" \/>\n\t<meta property=\"og:image:height\" content=\"334\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jules Perrin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jules Perrin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/modbus-input-mailbox#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/modbus-input-mailbox\"},\"author\":{\"name\":\"Jules Perrin\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/person\\\/32c999aeeedb3d8426771111a1d5c10a\"},\"headline\":\"Modbus in &#8211; Modbus TCP input mailbox\",\"datePublished\":\"2026-08-06T08:18:59+00:00\",\"dateModified\":\"2026-08-06T14:43:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/modbus-input-mailbox\"},\"wordCount\":1844,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/modbus-input-mailbox#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/software.png\",\"articleSection\":[\"Software reference\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/modbus-input-mailbox#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/modbus-input-mailbox\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/modbus-input-mailbox\",\"name\":\"Modbus input mailbox - imperix Simulink, PLECS and C++ documentation\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/modbus-input-mailbox#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/modbus-input-mailbox#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/software.png\",\"datePublished\":\"2026-08-06T08:18:59+00:00\",\"dateModified\":\"2026-08-06T14:43:17+00:00\",\"description\":\"The Modbus TCP input mailbox block reads data from Modbus registers via Ethernet, in either Master or Slave mode\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/modbus-input-mailbox#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/modbus-input-mailbox\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/modbus-input-mailbox#primaryimage\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/software.png\",\"contentUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/software.png\",\"width\":500,\"height\":334},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/modbus-input-mailbox#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Knowledge base\",\"item\":\"https:\\\/\\\/imperix.com\\\/doc\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Software reference\",\"item\":\"https:\\\/\\\/imperix.com\\\/doc\\\/category\\\/software\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Modbus in &#8211; Modbus TCP input mailbox\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#website\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/\",\"name\":\"imperix\",\"description\":\"power electronics\",\"publisher\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/imperix.com\\\/doc\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\",\"name\":\"imperix\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/imperix_logo.png\",\"contentUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/imperix_logo.png\",\"width\":350,\"height\":120,\"caption\":\"imperix\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/person\\\/32c999aeeedb3d8426771111a1d5c10a\",\"name\":\"Jules Perrin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9adf567c8d657bac518c3c14383ac929cbcfc75f6b25e011e72803abb3d43c38?s=96&d=mm&r=g3dad3fc9bba6b6a2d48c6063ec63d57b\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9adf567c8d657bac518c3c14383ac929cbcfc75f6b25e011e72803abb3d43c38?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9adf567c8d657bac518c3c14383ac929cbcfc75f6b25e011e72803abb3d43c38?s=96&d=mm&r=g\",\"caption\":\"Jules Perrin\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/jules-perrin-7aa9b828b\\\/\"],\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/author\\\/perrin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Modbus input mailbox - imperix Simulink, PLECS and C++ documentation","description":"The Modbus TCP input mailbox block reads data from Modbus registers via Ethernet, in either Master or Slave mode","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:\/\/imperix.com\/doc\/software\/modbus-input-mailbox","og_locale":"en_US","og_type":"article","og_title":"Modbus input mailbox - imperix Simulink, PLECS and C++ documentation","og_description":"The Modbus TCP input mailbox block reads data from Modbus registers via Ethernet, in either Master or Slave mode","og_url":"https:\/\/imperix.com\/doc\/software\/modbus-input-mailbox","og_site_name":"imperix","article_published_time":"2026-08-06T08:18:59+00:00","article_modified_time":"2026-08-06T14:43:17+00:00","og_image":[{"width":500,"height":334,"url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/05\/software.png","type":"image\/png"}],"author":"Jules Perrin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Jules Perrin","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/imperix.com\/doc\/software\/modbus-input-mailbox#article","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/software\/modbus-input-mailbox"},"author":{"name":"Jules Perrin","@id":"https:\/\/imperix.com\/doc\/#\/schema\/person\/32c999aeeedb3d8426771111a1d5c10a"},"headline":"Modbus in &#8211; Modbus TCP input mailbox","datePublished":"2026-08-06T08:18:59+00:00","dateModified":"2026-08-06T14:43:17+00:00","mainEntityOfPage":{"@id":"https:\/\/imperix.com\/doc\/software\/modbus-input-mailbox"},"wordCount":1844,"commentCount":0,"publisher":{"@id":"https:\/\/imperix.com\/doc\/#organization"},"image":{"@id":"https:\/\/imperix.com\/doc\/software\/modbus-input-mailbox#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/05\/software.png","articleSection":["Software reference"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/imperix.com\/doc\/software\/modbus-input-mailbox#respond"]}]},{"@type":"WebPage","@id":"https:\/\/imperix.com\/doc\/software\/modbus-input-mailbox","url":"https:\/\/imperix.com\/doc\/software\/modbus-input-mailbox","name":"Modbus input mailbox - imperix Simulink, PLECS and C++ documentation","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/#website"},"primaryImageOfPage":{"@id":"https:\/\/imperix.com\/doc\/software\/modbus-input-mailbox#primaryimage"},"image":{"@id":"https:\/\/imperix.com\/doc\/software\/modbus-input-mailbox#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/05\/software.png","datePublished":"2026-08-06T08:18:59+00:00","dateModified":"2026-08-06T14:43:17+00:00","description":"The Modbus TCP input mailbox block reads data from Modbus registers via Ethernet, in either Master or Slave mode","breadcrumb":{"@id":"https:\/\/imperix.com\/doc\/software\/modbus-input-mailbox#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/imperix.com\/doc\/software\/modbus-input-mailbox"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imperix.com\/doc\/software\/modbus-input-mailbox#primaryimage","url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/05\/software.png","contentUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/05\/software.png","width":500,"height":334},{"@type":"BreadcrumbList","@id":"https:\/\/imperix.com\/doc\/software\/modbus-input-mailbox#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Knowledge base","item":"https:\/\/imperix.com\/doc\/"},{"@type":"ListItem","position":2,"name":"Software reference","item":"https:\/\/imperix.com\/doc\/category\/software"},{"@type":"ListItem","position":3,"name":"Modbus in &#8211; Modbus TCP input mailbox"}]},{"@type":"WebSite","@id":"https:\/\/imperix.com\/doc\/#website","url":"https:\/\/imperix.com\/doc\/","name":"imperix","description":"power electronics","publisher":{"@id":"https:\/\/imperix.com\/doc\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/imperix.com\/doc\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/imperix.com\/doc\/#organization","name":"imperix","url":"https:\/\/imperix.com\/doc\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imperix.com\/doc\/#\/schema\/logo\/image\/","url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/imperix_logo.png","contentUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/imperix_logo.png","width":350,"height":120,"caption":"imperix"},"image":{"@id":"https:\/\/imperix.com\/doc\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/imperix.com\/doc\/#\/schema\/person\/32c999aeeedb3d8426771111a1d5c10a","name":"Jules Perrin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/9adf567c8d657bac518c3c14383ac929cbcfc75f6b25e011e72803abb3d43c38?s=96&d=mm&r=g3dad3fc9bba6b6a2d48c6063ec63d57b","url":"https:\/\/secure.gravatar.com\/avatar\/9adf567c8d657bac518c3c14383ac929cbcfc75f6b25e011e72803abb3d43c38?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9adf567c8d657bac518c3c14383ac929cbcfc75f6b25e011e72803abb3d43c38?s=96&d=mm&r=g","caption":"Jules Perrin"},"sameAs":["https:\/\/www.linkedin.com\/in\/jules-perrin-7aa9b828b\/"],"url":"https:\/\/imperix.com\/doc\/author\/perrin"}]}},"_links":{"self":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/42972","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/users\/31"}],"replies":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/comments?post=42972"}],"version-history":[{"count":29,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/42972\/revisions"}],"predecessor-version":[{"id":47523,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/42972\/revisions\/47523"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media\/33315"}],"wp:attachment":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media?parent=42972"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/categories?post=42972"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tags?post=42972"},{"taxonomy":"software-environments","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/software-environments?post=42972"},{"taxonomy":"provided-results","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/provided-results?post=42972"},{"taxonomy":"related-products","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/related-products?post=42972"},{"taxonomy":"guidedreadings","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/guidedreadings?post=42972"},{"taxonomy":"tutorials","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tutorials?post=42972"},{"taxonomy":"user-manuals","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/user-manuals?post=42972"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/coauthors?post=42972"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}