{"id":15567,"date":"2023-08-24T11:58:20","date_gmt":"2023-08-24T11:58:20","guid":{"rendered":"https:\/\/imperix.com\/doc\/?p=15567"},"modified":"2025-05-27T12:35:55","modified_gmt":"2025-05-27T12:35:55","slug":"tpi-rly-relays","status":"publish","type":"post","link":"https:\/\/imperix.com\/doc\/software\/tpi-rly-relays","title":{"rendered":"TPI RLY &#8211; Relays"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 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\/tpi-rly-relays\/#Simulink-block\" >Simulink block<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/imperix.com\/doc\/software\/tpi-rly-relays\/#Signal-specification\" >Signal specification<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/imperix.com\/doc\/software\/tpi-rly-relays\/#Parameters\" >Parameters<\/a><\/li><\/ul><\/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\/tpi-rly-relays\/#PLECS-block\" >PLECS block<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/imperix.com\/doc\/software\/tpi-rly-relays\/#Signal-specification-2\" >Signal specification<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/imperix.com\/doc\/software\/tpi-rly-relays\/#Parameters-2\" >Parameters<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/imperix.com\/doc\/software\/tpi-rly-relays\/#C-functions\" >C++ functions<\/a><\/li><\/ul><\/nav><\/div>\n\n<p>The TPI RLY block controls the relays of the AC precharge circuit of the <a href=\"https:\/\/imperix.com\/products\/power\/programmable-inverter\/\">all-in-one programmable inverter<\/a> (TPI8032 22kW).<\/p>\n\n\n\n<p>For reference, the topology of the converter is shown below. The inverter naturally acts as a diode rectifier due to the anti-parallel body diodes of the MOSFETs. Uncontrollable currents will flow through the diodes should the DC bus voltage drop below the rectified AC voltage. For this reason, it is essential to precharge the DC bus before initiating regular operation. More information can be found in <a href=\"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques\">TN131: DC bus precharging techniques<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"539\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/08\/topology-tpi8032.png\" alt=\"Topology of the TPI8032\" class=\"wp-image-15781\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/08\/topology-tpi8032.png 1200w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/08\/topology-tpi8032-300x135.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/08\/topology-tpi8032-1024x460.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/08\/topology-tpi8032-768x345.png 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><figcaption class=\"wp-element-caption\">Topology of the TPI8032<\/figcaption><\/figure>\n\n\n\n<p>By default, the relays of the AC precharge circuit are fully automated with a Finite State Machine and allow a safe and seamless connection to the grid. Please refer to the <a href=\"https:\/\/imperix.com\/wp-content\/uploads\/document\/TPI8032_Datasheet.pdf\">TPI8032 datasheet<\/a> for more details. Optionally, it is possible to control the precharge and bypass relays manually. By doing so, the user bears the risk of damaging the equipment in case of inadequate operation.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"698\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/08\/state-machine-AC-precharge.png\" alt=\"State machine of the relays\" class=\"wp-image-15660\" style=\"width:400px;height:349px\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/08\/state-machine-AC-precharge.png 800w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/08\/state-machine-AC-precharge-300x262.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/08\/state-machine-AC-precharge-768x670.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Finite State Machine of the AC precharge circuit<\/figcaption><\/figure>\n<\/div>\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">The TPI RLY block is available starting from <a href=\"https:\/\/imperix.com\/downloads\/\">version 2024.2<\/a> of the SDK. The TPI8032 is <strong>required<\/strong> to use this driver.<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-simulink-block\"><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\" id=\"h-signal-specification\"><span class=\"ez-toc-section\" id=\"Signal-specification\"><\/span>Signal specification<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 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>Setting the <code>close<\/code> input to >0 initiates the precharge of the DC bus.<\/li>\n\n\n\n<li>The <code>ready<\/code> signal is set to &#8216;1&#8217; once the DC bus is precharged and the inverter is ready for operation.<\/li>\n\n\n\n<li>When manual control is enabled, the precharge and bypass relays are controlled using <code>R1<\/code> and <code>R2<\/code> respectively.<\/li>\n\n\n\n<li>The\u00a0<code>sim R1<\/code>\u00a0and\u00a0<code>sim R2<\/code>\u00a0output signals are used in simulation and documented in\u00a0<a href=\"https:\/\/imperix.com\/doc\/help\/simulation-essentials-simulink\">Simulation essentials with Simulink (PN135)<\/a>.<\/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-large\"><img loading=\"lazy\" decoding=\"async\" width=\"103\" height=\"64\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/08\/simulink-tpi-rly-block.png\" alt=\"Simulink block for the relays\" class=\"wp-image-15661\"\/><\/figure>\n<\/div><\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-parameters\"><span class=\"ez-toc-section\" id=\"Parameters\"><\/span>Parameters<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>Device ID<\/code> selects which TPI to address when used in a multi-device configuration.<\/li>\n\n\n\n<li><code>Enable manual control<\/code> bypasses the automation provided by the state machine and provides direct control of the precharge and bypass relays.<\/li>\n\n\n\n<li><code>Show simulation ouput port(s)<\/code> defines if the simulation output ports are displayed or not.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"424\" height=\"655\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/08\/simulink-tpi-rly-mask.png\" alt=\"Mask of the Simulink block for the relays.\" class=\"wp-image-15662\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/08\/simulink-tpi-rly-mask.png 424w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/08\/simulink-tpi-rly-mask-194x300.png 194w\" sizes=\"auto, (max-width: 424px) 100vw, 424px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-plecs-block\"><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\" id=\"h-signal-specification-1\"><span class=\"ez-toc-section\" id=\"Signal-specification-2\"><\/span>Signal specification<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 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>Setting the <code>close<\/code> input to >0 initiates the precharge of the DC bus.<\/li>\n\n\n\n<li>The <code>ready<\/code> signal is set to &#8216;1&#8217; once the DC bus is precharged and the inverter is ready for operation.<\/li>\n\n\n\n<li>When manual control is enabled, the precharge and bypass relays are controlled using <code>R1<\/code> and <code>R2<\/code> respectively.<\/li>\n\n\n\n<li>The target output ports (only visible at the atomic subsystem level) are used in simulation and documented in\u00a0<a href=\"https:\/\/imperix.com\/doc\/help\/simulation-essentials-simulink\"><\/a><a href=\"https:\/\/imperix.com\/doc\/help\/simulation-essentials-plecs\">Simulation essentials with PLECS (PN137)<\/a>.<\/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-large\"><img loading=\"lazy\" decoding=\"async\" width=\"92\" height=\"74\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/08\/plecs-tpi-rly-block-blank.png\" alt=\"PLECS block for the relays\" class=\"wp-image-15824\"\/><\/figure>\n<\/div><\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-parameters-1\"><span class=\"ez-toc-section\" id=\"Parameters-2\"><\/span>Parameters<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>Device ID<\/code> selects which TPI to address when used in a multi-device configuration.<\/li>\n\n\n\n<li><code>Enable manual control<\/code> bypasses the automation provided by the state machine and provides direct control of the precharge and bypass relays.<\/li>\n\n\n\n<li><code>Show simulation ouput port(s)<\/code> defines if the simulation output ports are displayed or not.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 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=\"441\" height=\"444\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/08\/plecs-tpi-rly-mask.png\" alt=\"PLECS mask\" class=\"wp-image-15663\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/08\/plecs-tpi-rly-mask.png 441w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/08\/plecs-tpi-rly-mask-298x300.png 298w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/08\/plecs-tpi-rly-mask-150x150.png 150w\" sizes=\"auto, (max-width: 441px) 100vw, 441px\" \/><\/figure>\n<\/div><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-c-functions\"><span class=\"ez-toc-section\" id=\"C-functions\"><\/span>C++ functions<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n<style>.kt-accordion-id15567_193eca-e1 .kt-accordion-inner-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:1px;}.kt-accordion-id15567_193eca-e1 .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-id15567_193eca-e1 > .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-id15567_193eca-e1: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-id15567_193eca-e1: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-id15567_193eca-e1: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-id15567_193eca-e1: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-id15567_193eca-e1: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-id15567_193eca-e1 > .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-id15567_193eca-e1 .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-id15567_193eca-e1: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-id15567_193eca-e1: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-id15567_193eca-e1: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-id15567_193eca-e1: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-id15567_193eca-e1: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-id15567_193eca-e1: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-id15567_193eca-e1: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-id15567_193eca-e1: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-id15567_193eca-e1: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-id15567_193eca-e1: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-id15567_193eca-e1 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id15567_193eca-e1 > .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-id15567_193eca-e1: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-id15567_193eca-e1: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-id15567_193eca-e1: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-id15567_193eca-e1: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-id15567_193eca-e1: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-id15567_193eca-e1 .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-id15567_193eca-e1 > .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-id15567_193eca-e1 > .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-id15567_193eca-e1 .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-id15567_193eca-e1 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id15567_193eca-e1 > .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-id15567_193eca-e1 .kt-accordion-inner-wrap{display:block;}.kt-accordion-id15567_193eca-e1 .kt-accordion-inner-wrap .kt-accordion-pane:not(:first-child){margin-top:1px;}.kt-accordion-id15567_193eca-e1 .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-id15567_193eca-e1 > .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-id15567_193eca-e1 > .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-id15567_193eca-e1 .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-id15567_193eca-e1 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id15567_193eca-e1 > .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-id15567_193eca-e1 kt-accordion-has-30-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-27 kt-pane15567_801667-68\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><code><code>Rly_CloseAll<\/code> <\/code><strong>\u2014 <strong>Initiates the precharge of the DC bus<\/strong><\/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\">void<\/span> <span class=\"hljs-title\">Rly_CloseAll<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> device=<span class=\"hljs-number\">0<\/span>)<\/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>Initiates the precharge of the DC bus.<\/p>\n\n\n\n<p>It can be called in <code>UserInit()<\/code> or in the control interrupt routine.<\/p>\n\n\n\n<p><strong>Parameters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>device<\/code>: the ID of the addressed device (optional, used in multi-device configuration only).<\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-21 kt-pane15567_df8c17-a7\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><code><code>Rly_OpenAll<\/code> <\/code><strong>\u2014 <strong>Open all relays of the precharge circuit<\/strong><\/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\">void<\/span> <span class=\"hljs-title\">Rly_OpenAll<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> device=<span class=\"hljs-number\">0<\/span>)<\/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>Open all relays of the precharge circuit.<\/p>\n\n\n\n<p>It can be called in <code>UserInit()<\/code> or in the control interrupt routine.<\/p>\n\n\n\n<p><strong>Parameters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>device<\/code>: the ID of the addressed device (optional, used in multi-device configuration only).<\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-23 kt-pane15567_6e9a17-73\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><code><code>Rly_ReadyToOperate<\/code> <\/code><strong>\u2014 <strong>Indicates the status of the precharge<\/strong><\/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\">Rly_ReadyToOperate<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> device=<span class=\"hljs-number\">0<\/span>)<\/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>Indicates that the DC bus is precharged and the inverter is ready for operation.<\/p>\n\n\n\n<p>It has to be called during the control interrupt.<\/p>\n\n\n\n<p><strong>Parameters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>device<\/code>: the ID of the addressed device (optional, used in multi-device configuration only).<\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-25 kt-pane15567_032876-d5\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><code><code>Rly_EnableManualControl<\/code> <\/code><strong>\u2014 <strong>Provides direct control of the relays<\/strong><\/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\">void<\/span> <span class=\"hljs-title\">Rly_EnableManualControl<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> device=<span class=\"hljs-number\">0<\/span>)<\/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>Provides direct control over the precharge and bypass relays and bypasses the automation provided by the state machine.<\/p>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-warning\" role=\"alert\">By doing so, the user bears the risk of damaging the equipment in case of inadequate operation.<\/div>\n\n\n\n<p>Enables the use of <code>Rly_ClosePrecharge<\/code>, <code>Rly_OpenPrecharge<\/code>, <code>Rly_CloseBypass<\/code>, and <code>Rly_OpenBypass<\/code>.<br>Disables <code>Rly_CloseAll<\/code>, <code>Rly_OpenAll<\/code>, and <code>Rly_ReadyToOperate<\/code>.<\/p>\n\n\n\n<p>It has to be called in <code>UserInit()<\/code>.<\/p>\n\n\n\n<p><strong>Parameters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>device<\/code>: the ID of the addressed device (optional, used in multi-device configuration only).<\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-26 kt-pane15567_3e5eb6-82\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><code><code>Rly_ClosePrecharge<\/code> <\/code><strong>\u2014 <strong>Closes the precharge relay<\/strong><\/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\">void<\/span> <span class=\"hljs-title\">Rly_ClosePrecharge<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> device=<span class=\"hljs-number\">0<\/span>)<\/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>Closes the precharge relay.<\/p>\n\n\n\n<p>It can be called in <code>UserInit()<\/code> or in the control interrupt routine.<\/p>\n\n\n\n<p><strong>Parameters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>device<\/code>: the ID of the addressed device (optional, used in multi-device configuration only).<\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-30 kt-pane15567_768803-de\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><code><code>Rly_OpenPrecharge<\/code> <\/code><strong>\u2014 Opens<strong> the precharge relay<\/strong><\/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\">void<\/span> <span class=\"hljs-title\">Rly_OpenPrecharge<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> device=<span class=\"hljs-number\">0<\/span>)<\/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>Opens the precharge relay.<\/p>\n\n\n\n<p>It can be called in <code>UserInit()<\/code> or in the control interrupt routine.<\/p>\n\n\n\n<p><strong>Parameters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>device<\/code>: the ID of the addressed device (optional, used in multi-device configuration only).<\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-28 kt-pane15567_18b85a-bc\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><code><code>Rly_CloseBypass<\/code> <\/code><strong>\u2014 <strong>Closes the bypass relay<\/strong><\/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\">void<\/span> <span class=\"hljs-title\">Rly_CloseBypass<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> device=<span class=\"hljs-number\">0<\/span>)<\/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>Closes the bypass relay.<\/p>\n\n\n\n<p>It can be called in <code>UserInit()<\/code> or in the control interrupt routine.<\/p>\n\n\n\n<p><strong>Parameters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>device<\/code>: the ID of the addressed device (optional, used in multi-device configuration only).<\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-29 kt-pane15567_c13c27-08\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><code><code>Rly_OpenBypass<\/code> <\/code><strong>\u2014 Opens<strong> the bypass relay<\/strong><\/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\">void<\/span> <span class=\"hljs-title\">Rly_OpenBypass<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> device=<span class=\"hljs-number\">0<\/span>)<\/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>Opens the bypass relay.<\/p>\n\n\n\n<p>It can be called in <code>UserInit()<\/code> or in the control interrupt routine.<\/p>\n\n\n\n<p><strong>Parameters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>device<\/code>: the ID of the addressed device (optional, used in multi-device configuration only).<\/li>\n<\/ul>\n<\/div><\/div><\/div>\n<\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>The TPI RLY block controls the relays of the AC precharge circuit of the all-in-one programmable inverter (TPI8032 22kW). For reference, the topology of the&#8230;<\/p>\n","protected":false},"author":8,"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,51,110],"guidedreadings":[],"tutorials":[],"user-manuals":[],"coauthors":[62],"class_list":["post-15567","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-cpp-sdk","related-products-tpi"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>TPI RLY - Relays - Simulink, PLECS and C++ documentation<\/title>\n<meta name=\"description\" content=\"The TPI RLY block controls the relays of the AC precharge circuit of the all-in-one programmable inverter (TPI8032 22kW).\" \/>\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\/tpi-rly-relays\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"TPI RLY - Relays - Simulink, PLECS and C++ documentation\" \/>\n<meta property=\"og:description\" content=\"The TPI RLY block controls the relays of the AC precharge circuit of the all-in-one programmable inverter (TPI8032 22kW).\" \/>\n<meta property=\"og:url\" content=\"https:\/\/imperix.com\/doc\/software\/tpi-rly-relays\" \/>\n<meta property=\"og:site_name\" content=\"imperix\" \/>\n<meta property=\"article:published_time\" content=\"2023-08-24T11:58:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-27T12:35:55+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=\"Simon Strobl\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Simon Strobl\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/tpi-rly-relays#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/tpi-rly-relays\"},\"author\":{\"name\":\"Simon Strobl\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/person\\\/112ed48191405cbe3befbc660d112803\"},\"headline\":\"TPI RLY &#8211; Relays\",\"datePublished\":\"2023-08-24T11:58:20+00:00\",\"dateModified\":\"2025-05-27T12:35:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/tpi-rly-relays\"},\"wordCount\":721,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/tpi-rly-relays#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\\\/tpi-rly-relays#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/tpi-rly-relays\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/tpi-rly-relays\",\"name\":\"TPI RLY - Relays - Simulink, PLECS and C++ documentation\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/tpi-rly-relays#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/tpi-rly-relays#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/software.png\",\"datePublished\":\"2023-08-24T11:58:20+00:00\",\"dateModified\":\"2025-05-27T12:35:55+00:00\",\"description\":\"The TPI RLY block controls the relays of the AC precharge circuit of the all-in-one programmable inverter (TPI8032 22kW).\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/tpi-rly-relays#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/tpi-rly-relays\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/tpi-rly-relays#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\\\/tpi-rly-relays#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\":\"TPI RLY &#8211; Relays\"}]},{\"@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\\\/112ed48191405cbe3befbc660d112803\",\"name\":\"Simon Strobl\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/01a557e9dd9b026995e8879a2e25a855fee79a8760b7edf92dc4bb95b8234ae0?s=96&d=mm&r=g8c569d7d1207aa0c02ea7380aa91b0fe\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/01a557e9dd9b026995e8879a2e25a855fee79a8760b7edf92dc4bb95b8234ae0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/01a557e9dd9b026995e8879a2e25a855fee79a8760b7edf92dc4bb95b8234ae0?s=96&d=mm&r=g\",\"caption\":\"Simon Strobl\"},\"description\":\"Simon is a power electronics engineer and product director at imperix. On the knowledge base, he authored several articles related to motor drive applications.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/simon-s-9723ab21a\"],\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/author\\\/strobl\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"TPI RLY - Relays - Simulink, PLECS and C++ documentation","description":"The TPI RLY block controls the relays of the AC precharge circuit of the all-in-one programmable inverter (TPI8032 22kW).","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\/tpi-rly-relays","og_locale":"en_US","og_type":"article","og_title":"TPI RLY - Relays - Simulink, PLECS and C++ documentation","og_description":"The TPI RLY block controls the relays of the AC precharge circuit of the all-in-one programmable inverter (TPI8032 22kW).","og_url":"https:\/\/imperix.com\/doc\/software\/tpi-rly-relays","og_site_name":"imperix","article_published_time":"2023-08-24T11:58:20+00:00","article_modified_time":"2025-05-27T12:35:55+00:00","og_image":[{"width":500,"height":334,"url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/05\/software.png","type":"image\/png"}],"author":"Simon Strobl","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Simon Strobl","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/imperix.com\/doc\/software\/tpi-rly-relays#article","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/software\/tpi-rly-relays"},"author":{"name":"Simon Strobl","@id":"https:\/\/imperix.com\/doc\/#\/schema\/person\/112ed48191405cbe3befbc660d112803"},"headline":"TPI RLY &#8211; Relays","datePublished":"2023-08-24T11:58:20+00:00","dateModified":"2025-05-27T12:35:55+00:00","mainEntityOfPage":{"@id":"https:\/\/imperix.com\/doc\/software\/tpi-rly-relays"},"wordCount":721,"commentCount":0,"publisher":{"@id":"https:\/\/imperix.com\/doc\/#organization"},"image":{"@id":"https:\/\/imperix.com\/doc\/software\/tpi-rly-relays#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\/tpi-rly-relays#respond"]}]},{"@type":"WebPage","@id":"https:\/\/imperix.com\/doc\/software\/tpi-rly-relays","url":"https:\/\/imperix.com\/doc\/software\/tpi-rly-relays","name":"TPI RLY - Relays - Simulink, PLECS and C++ documentation","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/#website"},"primaryImageOfPage":{"@id":"https:\/\/imperix.com\/doc\/software\/tpi-rly-relays#primaryimage"},"image":{"@id":"https:\/\/imperix.com\/doc\/software\/tpi-rly-relays#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/05\/software.png","datePublished":"2023-08-24T11:58:20+00:00","dateModified":"2025-05-27T12:35:55+00:00","description":"The TPI RLY block controls the relays of the AC precharge circuit of the all-in-one programmable inverter (TPI8032 22kW).","breadcrumb":{"@id":"https:\/\/imperix.com\/doc\/software\/tpi-rly-relays#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/imperix.com\/doc\/software\/tpi-rly-relays"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imperix.com\/doc\/software\/tpi-rly-relays#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\/tpi-rly-relays#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":"TPI RLY &#8211; Relays"}]},{"@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\/112ed48191405cbe3befbc660d112803","name":"Simon Strobl","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/01a557e9dd9b026995e8879a2e25a855fee79a8760b7edf92dc4bb95b8234ae0?s=96&d=mm&r=g8c569d7d1207aa0c02ea7380aa91b0fe","url":"https:\/\/secure.gravatar.com\/avatar\/01a557e9dd9b026995e8879a2e25a855fee79a8760b7edf92dc4bb95b8234ae0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/01a557e9dd9b026995e8879a2e25a855fee79a8760b7edf92dc4bb95b8234ae0?s=96&d=mm&r=g","caption":"Simon Strobl"},"description":"Simon is a power electronics engineer and product director at imperix. On the knowledge base, he authored several articles related to motor drive applications.","sameAs":["https:\/\/www.linkedin.com\/in\/simon-s-9723ab21a"],"url":"https:\/\/imperix.com\/doc\/author\/strobl"}]}},"_links":{"self":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/15567","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\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/comments?post=15567"}],"version-history":[{"count":45,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/15567\/revisions"}],"predecessor-version":[{"id":33283,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/15567\/revisions\/33283"}],"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=15567"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/categories?post=15567"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tags?post=15567"},{"taxonomy":"software-environments","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/software-environments?post=15567"},{"taxonomy":"provided-results","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/provided-results?post=15567"},{"taxonomy":"related-products","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/related-products?post=15567"},{"taxonomy":"guidedreadings","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/guidedreadings?post=15567"},{"taxonomy":"tutorials","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tutorials?post=15567"},{"taxonomy":"user-manuals","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/user-manuals?post=15567"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/coauthors?post=15567"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}