{"id":42977,"date":"2026-08-06T08:24:35","date_gmt":"2026-08-06T08:24:35","guid":{"rendered":"https:\/\/imperix.com\/doc\/?p=42977"},"modified":"2026-08-06T14:43:03","modified_gmt":"2026-08-06T14:43:03","slug":"modbus-output-mailbox","status":"publish","type":"post","link":"https:\/\/imperix.com\/doc\/software\/modbus-output-mailbox","title":{"rendered":"Modbus out &#8211; Modbus TCP output 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-output-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-output-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-output-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-output-mailbox\/#C-functions\" >C++ functions<\/a><\/li><\/ul><\/nav><\/div>\n\n<p class=\"wp-block-paragraph\">The <strong>Modbus_out 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>, <span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">which runs a Modbus client on a\u00a0<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 receive data, use the <a href=\"https:\/\/imperix.com\/doc\/software\/modbus-input-mailbox\">Modbus_in<\/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-output-mailbox\">Ethernet UDP output 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 sent.<\/li>\n\n\n\n<li><strong>Type<\/strong>: Selects the Modbus register type to write to.\n<ul class=\"wp-block-list\">\n<li><em>Discrete input<\/em> (Slave mode only)<\/li>\n\n\n\n<li><em>Coil<\/em><\/li>\n\n\n\n<li><em>Input register<\/em> (Slave mode only)<\/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>Data transmission mode<\/strong>: Selects when the controller sends data.\n<ul class=\"wp-block-list\">\n<li><em>On-demand<\/em>: The user manually triggers each transmission via the trigger input (at the rising edge).<\/li>\n\n\n\n<li><em>Periodically<\/em>: The controller sends data at a fixed rate, regardless of whether the data has changed.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Tx frequency (Hz)<\/strong>: Defines the transmission rate in Hz (only relevant in <em>Periodically<\/em> mode).<\/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 writes the raw register contents directly. Since imperix targets use a little-endian CPU, multi-register values written directly by the application 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 input<\/strong> accepts a vector containing the data to write 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 input data type. <\/li>\n\n\n\n<li>The second input is the <strong>trigger<\/strong> (only visible in &#8220;on-demand&#8221; mode). The block sends data on a rising edge of this signal.<\/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=\"466\" height=\"273\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD038_simulink_block.png\" alt=\"\" class=\"wp-image-43419\" style=\"aspect-ratio:1.6536956969322627;width:136px;height:auto\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD038_simulink_block.png 466w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD038_simulink_block-300x176.png 300w\" sizes=\"auto, (max-width: 466px) 100vw, 466px\" \/><\/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\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"524\" height=\"811\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD038_simulink_port_config-4.png\" alt=\"\" class=\"wp-image-45816\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD038_simulink_port_config-4.png 524w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD038_simulink_port_config-4-194x300.png 194w\" sizes=\"auto, (max-width: 524px) 100vw, 524px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"524\" height=\"811\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD038_simulink_ip-3.png\" alt=\"\" class=\"wp-image-45805\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD038_simulink_ip-3.png 524w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD038_simulink_ip-3-194x300.png 194w\" sizes=\"auto, (max-width: 524px) 100vw, 524px\" \/><\/figure>\n<\/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 input<\/strong> (D) accepts a vector containing the data to write 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 input data type. <\/li>\n\n\n\n<li>The second input is the <strong>trigger<\/strong> (only visible in &#8220;on-demand&#8221; mode). The block sends data on a rising edge of this signal.<\/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=\"439\" height=\"321\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD038_plecs_block-1.png\" alt=\"\" class=\"wp-image-43422\" style=\"aspect-ratio:1.3677309493401448;width:128px;height:auto\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD038_plecs_block-1.png 439w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD038_plecs_block-1-300x219.png 300w\" sizes=\"auto, (max-width: 439px) 100vw, 439px\" \/><\/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=\"531\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD038_plecs_addressing-4.png\" alt=\"\" class=\"wp-image-45813\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD038_plecs_addressing-4.png 342w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD038_plecs_addressing-4-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=\"531\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD038_plecs_mailbox_config-5.png\" alt=\"\" class=\"wp-image-45814\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD038_plecs_mailbox_config-5.png 342w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SD038_plecs_mailbox_config-5-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-id42977_4eb682-74 .kt-accordion-inner-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:1px;}.kt-accordion-id42977_4eb682-74 .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-id42977_4eb682-74 > .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-id42977_4eb682-74: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-id42977_4eb682-74: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-id42977_4eb682-74: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-id42977_4eb682-74: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-id42977_4eb682-74: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-id42977_4eb682-74 > .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-id42977_4eb682-74 .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-id42977_4eb682-74: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-id42977_4eb682-74: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-id42977_4eb682-74: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-id42977_4eb682-74: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-id42977_4eb682-74: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-id42977_4eb682-74: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-id42977_4eb682-74: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-id42977_4eb682-74: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-id42977_4eb682-74: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-id42977_4eb682-74: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-id42977_4eb682-74 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id42977_4eb682-74 > .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-id42977_4eb682-74: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-id42977_4eb682-74: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-id42977_4eb682-74: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-id42977_4eb682-74: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-id42977_4eb682-74: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-id42977_4eb682-74 .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-id42977_4eb682-74 > .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-id42977_4eb682-74 > .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-id42977_4eb682-74 .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-id42977_4eb682-74 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id42977_4eb682-74 > .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-id42977_4eb682-74 .kt-accordion-inner-wrap{display:block;}.kt-accordion-id42977_4eb682-74 .kt-accordion-inner-wrap .kt-accordion-pane:not(:first-child){margin-top:1px;}.kt-accordion-id42977_4eb682-74 .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-id42977_4eb682-74 > .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-id42977_4eb682-74 > .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-id42977_4eb682-74 .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-id42977_4eb682-74 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id42977_4eb682-74 > .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-id42977_4eb682-74 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-pane42977_6354d7-1a\"><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_ConfigureHoldingRegisterOutputMailbox<\/code> <strong>\u2014 Configure a Holding Register output 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_ConfigureHoldingRegisterOutputMailbox<\/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 output mailbox for Modbus Master mode. Once configured, the controller sends the mailbox data to the specified register(s) on the remote Slave device.<\/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>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 write (must be a multiple of 2, max 246 bytes).<\/li>\n\n\n\n<li><code>regByteOrder<\/code>: register byte order \u2014 either <code>tModbusRegByteOrder::STANDARD<\/code> or <code>tModbusRegByteOrder::SWAPPED<\/code>.<\/li>\n\n\n\n<li><code>pollingFrequency<\/code>: maximum transmission frequency 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 fails (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-pane42977_f3e3f6-98\"><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_ConfigureCoilOutputMailbox<\/code> <strong>\u2014 Configure a Coil output 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_ConfigureCoilOutputMailbox<\/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-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 a Coil output mailbox for Modbus Master mode. Once configured, the controller sends the mailbox coil values to the remote Slave device.<\/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>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 coil address on the Slave (0\u201365535).<\/li>\n\n\n\n<li><code>size<\/code>: number of coils to write.<\/li>\n\n\n\n<li><code>pollingFrequency<\/code>: maximum transmission frequency 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 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-pane42977_3cf969-98\"><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_WriteHoldingRegister<\/code> <strong>\u2014 Write 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-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_WriteHoldingRegister<\/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\">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-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\">Writes data to a Holding Register output mailbox for transmission to the remote Slave.<\/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 data to write.<\/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 the data was successfully queued for transmission.<\/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-pane42977_8a469e-fe\"><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_WriteCoil<\/code> <strong>\u2014 Write 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-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_WriteCoil<\/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\">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-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\">Writes data to a Coil output mailbox for transmission to the remote Slave. Each byte in the input 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 coil data array.<\/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<ul class=\"wp-block-list\">\n<li><code>bool<\/code>: returns <code>true<\/code> if the data was successfully queued for transmission.<\/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-pane42977_7c926b-bd\"><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<\/div><\/div><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Slave<\/h3>\n\n\n<style>.kt-accordion-id42977_46dc5a-55 .kt-accordion-inner-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:1px;}.kt-accordion-id42977_46dc5a-55 .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-id42977_46dc5a-55 > .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-id42977_46dc5a-55: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-id42977_46dc5a-55: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-id42977_46dc5a-55: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-id42977_46dc5a-55: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-id42977_46dc5a-55: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-id42977_46dc5a-55 > .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-id42977_46dc5a-55 .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-id42977_46dc5a-55: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-id42977_46dc5a-55: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-id42977_46dc5a-55: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-id42977_46dc5a-55: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-id42977_46dc5a-55: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-id42977_46dc5a-55: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-id42977_46dc5a-55: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-id42977_46dc5a-55: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-id42977_46dc5a-55: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-id42977_46dc5a-55: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-id42977_46dc5a-55 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id42977_46dc5a-55 > .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-id42977_46dc5a-55: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-id42977_46dc5a-55: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-id42977_46dc5a-55: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-id42977_46dc5a-55: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-id42977_46dc5a-55: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-id42977_46dc5a-55 .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-id42977_46dc5a-55 > .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-id42977_46dc5a-55 > .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-id42977_46dc5a-55 .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-id42977_46dc5a-55 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id42977_46dc5a-55 > .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-id42977_46dc5a-55 .kt-accordion-inner-wrap{display:block;}.kt-accordion-id42977_46dc5a-55 .kt-accordion-inner-wrap .kt-accordion-pane:not(:first-child){margin-top:1px;}.kt-accordion-id42977_46dc5a-55 .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-id42977_46dc5a-55 > .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-id42977_46dc5a-55 > .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-id42977_46dc5a-55 .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-id42977_46dc5a-55 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id42977_46dc5a-55 > .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-id42977_46dc5a-55 kt-accordion-has-14-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-pane42977_35a956-26\"><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_ConfigureHoldingRegisterOutputMailbox<\/code> <strong>\u2014 Configure a Holding Register output 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-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\">ModbusSlave_ConfigureHoldingRegisterOutputMailbox<\/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-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=\"wp-block-paragraph\">Configures a Holding Register output mailbox for Modbus Slave mode. After configuration, your code writes data to this mailbox, and an external Modbus Master can 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-pane42977_266545-65\"><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_ConfigureInputRegisterOutputMailbox<\/code> <strong>\u2014 Configure an Input Register output 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-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\">ModbusSlave_ConfigureInputRegisterOutputMailbox<\/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-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=\"wp-block-paragraph\">Configures an Input Register output mailbox for Modbus Slave mode. After configuration, your code writes data to this mailbox, and an external Modbus Master can read it as input registers.<\/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-5 kt-pane42977_9cf2cb-f4\"><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_ConfigureCoilOutputMailbox<\/code> <strong>\u2014 Configure a Coil output 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-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\">ModbusSlave_ConfigureCoilOutputMailbox<\/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-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=\"wp-block-paragraph\">Configures a Coil output mailbox for Modbus Slave mode. After configuration, your code writes coil values to this mailbox, and an external Modbus Master can read them.<\/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-6 kt-pane42977_f0bcd7-e8\"><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_ConfigureDiscreteInputOutputMailbox<\/code> <strong>\u2014 Configure a Discrete Input output 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-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\">ModbusSlave_ConfigureDiscreteInputOutputMailbox<\/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-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=\"wp-block-paragraph\">Configures a Discrete Input output mailbox for Modbus Slave mode. After configuration, your code writes discrete input values to this mailbox, and an external Modbus Master can read them.<\/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 discrete input address (0\u201365535).<\/li>\n\n\n\n<li><code>size<\/code>: number of discrete inputs (each 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-7 kt-pane42977_535a86-d8\"><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_WriteHoldingRegister<\/code> <strong>\u2014 Write 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-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\">ModbusSlave_WriteHoldingRegister<\/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\">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-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\">Writes data to a Holding Register output mailbox, making it available for an external Master to read.<\/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 data to write.<\/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 the data was successfully written.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-12 kt-pane42977_a9af87-af\"><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_WriteInputRegister<\/code> <strong>\u2014 Write 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-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_WriteInputRegister<\/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\">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-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=\"has--font-size wp-block-paragraph\">Writes data to an Input Register output mailbox, making it available for an external Master to read.<\/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 data to write.<\/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 the data was successfully written.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-13 kt-pane42977_c0f180-6d\"><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_WriteCoil<\/code> <strong>\u2014 Write 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-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_WriteCoil<\/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\">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-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=\"has--font-size wp-block-paragraph\">Writes data to a Coil output mailbox, making it available for an external Master to read. Each byte in the input 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 coil data array.<\/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 the data was successfully written.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-14 kt-pane42977_453f1b-17\"><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_WriteDiscreteInput<\/code> <strong>\u2014 Write 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-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_WriteDiscreteInput<\/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\">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-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=\"has--font-size wp-block-paragraph\">Writes data to a Discrete Input output mailbox, making it available for an external Master to read. Each byte in the input 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 discrete input data array.<\/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 the data was successfully written.<\/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_out 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-42977","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 out - Modbus TCP output mailbox - imperix<\/title>\n<meta name=\"description\" content=\"The Modbus TCP output mailbox block writes data to 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-output-mailbox\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Modbus out - Modbus TCP output mailbox - imperix\" \/>\n<meta property=\"og:description\" content=\"The Modbus TCP output mailbox block writes data to Modbus registers via Ethernet, in either Master or Slave mode.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/imperix.com\/doc\/software\/modbus-output-mailbox\" \/>\n<meta property=\"og:site_name\" content=\"imperix\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-06T08:24:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-06T14:43:03+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=\"9 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-output-mailbox#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/modbus-output-mailbox\"},\"author\":{\"name\":\"Jules Perrin\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/person\\\/32c999aeeedb3d8426771111a1d5c10a\"},\"headline\":\"Modbus out &#8211; Modbus TCP output mailbox\",\"datePublished\":\"2026-08-06T08:24:35+00:00\",\"dateModified\":\"2026-08-06T14:43:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/modbus-output-mailbox\"},\"wordCount\":1612,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/modbus-output-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-output-mailbox#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/modbus-output-mailbox\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/modbus-output-mailbox\",\"name\":\"Modbus out - Modbus TCP output mailbox - imperix\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/modbus-output-mailbox#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/modbus-output-mailbox#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/software.png\",\"datePublished\":\"2026-08-06T08:24:35+00:00\",\"dateModified\":\"2026-08-06T14:43:03+00:00\",\"description\":\"The Modbus TCP output mailbox block writes data to Modbus registers via Ethernet, in either Master or Slave mode.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/modbus-output-mailbox#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/modbus-output-mailbox\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/modbus-output-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-output-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 out &#8211; Modbus TCP output 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 out - Modbus TCP output mailbox - imperix","description":"The Modbus TCP output mailbox block writes data to 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-output-mailbox","og_locale":"en_US","og_type":"article","og_title":"Modbus out - Modbus TCP output mailbox - imperix","og_description":"The Modbus TCP output mailbox block writes data to Modbus registers via Ethernet, in either Master or Slave mode.","og_url":"https:\/\/imperix.com\/doc\/software\/modbus-output-mailbox","og_site_name":"imperix","article_published_time":"2026-08-06T08:24:35+00:00","article_modified_time":"2026-08-06T14:43:03+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":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/imperix.com\/doc\/software\/modbus-output-mailbox#article","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/software\/modbus-output-mailbox"},"author":{"name":"Jules Perrin","@id":"https:\/\/imperix.com\/doc\/#\/schema\/person\/32c999aeeedb3d8426771111a1d5c10a"},"headline":"Modbus out &#8211; Modbus TCP output mailbox","datePublished":"2026-08-06T08:24:35+00:00","dateModified":"2026-08-06T14:43:03+00:00","mainEntityOfPage":{"@id":"https:\/\/imperix.com\/doc\/software\/modbus-output-mailbox"},"wordCount":1612,"commentCount":0,"publisher":{"@id":"https:\/\/imperix.com\/doc\/#organization"},"image":{"@id":"https:\/\/imperix.com\/doc\/software\/modbus-output-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-output-mailbox#respond"]}]},{"@type":"WebPage","@id":"https:\/\/imperix.com\/doc\/software\/modbus-output-mailbox","url":"https:\/\/imperix.com\/doc\/software\/modbus-output-mailbox","name":"Modbus out - Modbus TCP output mailbox - imperix","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/#website"},"primaryImageOfPage":{"@id":"https:\/\/imperix.com\/doc\/software\/modbus-output-mailbox#primaryimage"},"image":{"@id":"https:\/\/imperix.com\/doc\/software\/modbus-output-mailbox#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/05\/software.png","datePublished":"2026-08-06T08:24:35+00:00","dateModified":"2026-08-06T14:43:03+00:00","description":"The Modbus TCP output mailbox block writes data to Modbus registers via Ethernet, in either Master or Slave mode.","breadcrumb":{"@id":"https:\/\/imperix.com\/doc\/software\/modbus-output-mailbox#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/imperix.com\/doc\/software\/modbus-output-mailbox"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imperix.com\/doc\/software\/modbus-output-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-output-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 out &#8211; Modbus TCP output 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\/42977","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=42977"}],"version-history":[{"count":40,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/42977\/revisions"}],"predecessor-version":[{"id":47524,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/42977\/revisions\/47524"}],"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=42977"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/categories?post=42977"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tags?post=42977"},{"taxonomy":"software-environments","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/software-environments?post=42977"},{"taxonomy":"provided-results","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/provided-results?post=42977"},{"taxonomy":"related-products","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/related-products?post=42977"},{"taxonomy":"guidedreadings","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/guidedreadings?post=42977"},{"taxonomy":"tutorials","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tutorials?post=42977"},{"taxonomy":"user-manuals","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/user-manuals?post=42977"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/coauthors?post=42977"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}