{"id":45973,"date":"2026-09-14T11:44:00","date_gmt":"2026-09-14T11:44:00","guid":{"rendered":"https:\/\/imperix.com\/doc\/?p=45973"},"modified":"2026-09-14T12:26:14","modified_gmt":"2026-09-14T12:26:14","slug":"read-from-file","status":"publish","type":"post","link":"https:\/\/imperix.com\/doc\/software\/read-from-file","title":{"rendered":"Read from file"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_88 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\/read-from-file\/#Principles-of-operation\" >Principles of operation<\/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\/read-from-file\/#Sample-time\" >Sample time<\/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\/read-from-file\/#Hardware-resources-and-constraints\" >Hardware resources and constraints<\/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\/read-from-file\/#File-format\" >File format<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/imperix.com\/doc\/software\/read-from-file\/#Parameters\" >Parameters<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/imperix.com\/doc\/software\/read-from-file\/#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-7\" href=\"https:\/\/imperix.com\/doc\/software\/read-from-file\/#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-8\" href=\"https:\/\/imperix.com\/doc\/software\/read-from-file\/#C-functions\" >C++ functions<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/imperix.com\/doc\/software\/read-from-file\/#File-management\" >File management<\/a><\/li><\/ul><\/nav><\/div>\n\n<p class=\"wp-block-paragraph\" id=\"https:\/\/ch.mathworks.com\/help\/matlab\/import_export\/mat-file-versions.html\">The &#8220;Read from file&#8221; function allows applying dataset profiles from the controller&#8217;s non-volatile memory into user code during runtime. This mechanism is available in the Simulink and PLECS blocksets or in the related C\/C++ routines.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Applying pre-recorded profiles, regardless of size, is typically useful for executing standardized test suites (e.g., WLTP). This provides an attractive alternative to <a href=\"https:\/\/imperix.com\/doc\/help\/pre-recorded-profiles-setpoint?currentThread=going-further-with-acg-sdk\">Simulink&#8217;s native option<\/a> by avoiding the direct embedding of the profile dataset in the compiled user code.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To perform the inverse operation, i.e., long-term data logging, the &#8220;Write to file&#8221; function should be used instead. This is documented in <a href=\"https:\/\/imperix.com\/doc\/software\/write-to-file\">SD040<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Principles-of-operation\"><\/span>Principles of operation<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">During offline simulation, the &#8220;Read from file&#8221; function reads a selected dataset profile from the host computer and makes the data available through the output <strong>d<\/strong>. In code generation mode, <a href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\">Cockpit<\/a> automatically transfers the dataset to the controller&#8217;s non-volatile memory (SSD or eMMC memory) before starting the code. As such, the controller reads data from its local storage at runtime.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The read process can be started by setting the <strong>enable input <\/strong>to 1. Reciprocally, it can be stopped by setting this input to 0.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When the dataset reaches its end during the read process, the<strong> eof<\/strong> output flag is set to 1.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, the <strong>a<\/strong> output is set to 1 when the block is active and outputting data. If the enable input is set to 1, but the &#8220;Read from file&#8221; function has either reached the end of file or met a <a href=\"#bandwidth-constraint\" data-type=\"internal\" data-id=\"#bandwidth-constraint\"><em>bandwidth constraint<\/em><\/a>, the active output flag is set to 0.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"943\" height=\"495\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/read_block_demo_model.png\" alt=\"Read from file demo example\" class=\"wp-image-49603\" style=\"width:670px;height:auto\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/read_block_demo_model.png 943w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/read_block_demo_model-300x157.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/read_block_demo_model-768x403.png 768w\" sizes=\"auto, (max-width: 943px) 100vw, 943px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Sample-time\"><\/span>Sample time<span class=\"ez-toc-section-end\"><\/span><\/h2>\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=\"424\" height=\"362\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/read_mask_slow_sample_time.png\" alt=\"Slow rate configuration\" class=\"wp-image-49604\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/read_mask_slow_sample_time.png 424w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/read_mask_slow_sample_time-300x256.png 300w\" sizes=\"auto, (max-width: 424px) 100vw, 424px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"wp-block-paragraph\">The read action takes place at a configurable rate, namely:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Data is read from disk <strong>at the control rate<\/strong>: Sample time is configured as <code>CTRLPERIOD<\/code>.<\/li>\n\n\n\n<li>Data is read <strong>at a different rate<\/strong>: A specific sample time is configured.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">For more details on multirate configurations, see the <a href=\"https:\/\/imperix.com\/doc\/help\/multi-rate-control-with-acg-sdk-on-simulink?currentThread=going-further-with-acg-sdk\">PN145<\/a> for Simulink or <a href=\"https:\/\/imperix.com\/doc\/help\/multi-rate-control-on-plecs-acg-sdk?currentThread=going-further-with-acg-sdk\">PN155<\/a> for PLECS.<\/p>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Hardware-resources-and-constraints\"><\/span>Hardware resources and constraints<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Since the dataset profile is uploaded to the target&#8217;s internal non-volatile memory prior to user code execution, sufficient storage space is required. The available storage space can be seen from the <strong>Target Configuration<\/strong> view in Cockpit (see <a href=\"#file-management\" data-type=\"internal\" data-id=\"#file-management\"><em>File management<\/em> section<\/a>).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once enabled, the &#8220;Read from file&#8221; operation runs continuously unless the required data throughput exceeds the maximum achievable read bandwidth.<\/p>\n\n\n\n<h4 id=\"bandwidth-constraint\" class=\"wp-block-heading\">Bandwidth constraint<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The total required bandwidth is a function of the number of instances, the signal count, the data type size, and the execution frequency. This must be lower than the controller&#8217;s maximum achievable bandwidth. As the bandwidth is shared among other system resources (e.g., CAN, UDP), using them simultaneously may limit the achievable throughput.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">$$\\text{Bandwidth} = \\text{Signals} \\times \\text{Size of Data Type (Bytes)} \\times \\text{Sample Rate (Hz)}$$<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Consider, for example, two concurrent &#8220;Read from file&#8221; instances, each configured with 3 signals, a <code>float<\/code> data type (4 bytes), and a sample rate of 100 kHz. If both instances read data at the exact same time, each requires 1.2 MB\/s, resulting in a combined demand of <strong>2.4 MB\/s<\/strong>. This cumulative demand exceeds the maximum allowable bandwidth for Gen 3 devices, resulting in an immediate halt to the read procedure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The table below summarizes the storage resources available on each imperix controller:<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-regular\"><table class=\"has-fixed-layout\"><thead><tr><th>Param.<\/th><th><strong>B-Box 4<\/strong><\/th><th><strong>B-Box 3<\/strong><\/th><th><strong>B-Box micro<\/strong><\/th><th><strong>B-Board 3<\/strong><\/th><\/tr><\/thead><tbody><tr><td>Memory type<\/td><td>SSD<\/td><td>eMMC<\/td><td>eMMC<\/td><td>eMMC<\/td><\/tr><tr><td>Capacity<sup data-fn=\"f092ce26-8e2f-4b1b-bf86-4e3bd3232710\" class=\"fn\"><a href=\"#f092ce26-8e2f-4b1b-bf86-4e3bd3232710\" id=\"f092ce26-8e2f-4b1b-bf86-4e3bd3232710-link\">1<\/a><\/sup><\/td><td>500 GB<\/td><td>8 GB<\/td><td>8 GB<\/td><td>8 GB<\/td><\/tr><tr><td>Max. achievable bandwidth<\/td><td>2 MB\/s<\/td><td>512 KB\/s<\/td><td>512 KB\/s<\/td><td>512 KB\/s<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 id=\"h-simulink-block\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"File-format\"><\/span>File format<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The &#8220;Read from file&#8221; function expects a column-oriented MAT-file format, where each signal must be assigned to its own dedicated column. The number of columns determines the <strong>Number of signals<\/strong>, and the data type defines the <strong>Signal(s) type<\/strong> of the output signals.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"235\" height=\"185\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/apply_profile_simulink_mat.png\" alt=\"MAT file content\" class=\"wp-image-47223\"\/><\/figure>\n<\/div>\n\n<style>.kt-accordion-id45973_fbd964-a5 .kt-accordion-inner-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:1px;}.kt-accordion-id45973_fbd964-a5 .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-id45973_fbd964-a5 > .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-id45973_fbd964-a5: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-id45973_fbd964-a5: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-id45973_fbd964-a5: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-id45973_fbd964-a5: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-id45973_fbd964-a5: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-id45973_fbd964-a5 > .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-id45973_fbd964-a5 .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-id45973_fbd964-a5: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-id45973_fbd964-a5: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-id45973_fbd964-a5: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-id45973_fbd964-a5: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-id45973_fbd964-a5: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-id45973_fbd964-a5: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-id45973_fbd964-a5: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-id45973_fbd964-a5: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-id45973_fbd964-a5: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-id45973_fbd964-a5: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-id45973_fbd964-a5 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id45973_fbd964-a5 > .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-id45973_fbd964-a5: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-id45973_fbd964-a5: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-id45973_fbd964-a5: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-id45973_fbd964-a5: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-id45973_fbd964-a5: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-id45973_fbd964-a5 .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-id45973_fbd964-a5 > .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-id45973_fbd964-a5 > .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-id45973_fbd964-a5 .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-id45973_fbd964-a5 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id45973_fbd964-a5 > .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-id45973_fbd964-a5 .kt-accordion-inner-wrap{display:block;}.kt-accordion-id45973_fbd964-a5 .kt-accordion-inner-wrap .kt-accordion-pane:not(:first-child){margin-top:1px;}.kt-accordion-id45973_fbd964-a5 .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-id45973_fbd964-a5 > .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-id45973_fbd964-a5 > .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-id45973_fbd964-a5 .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-id45973_fbd964-a5 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id45973_fbd964-a5 > .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-id45973_fbd964-a5 kt-accordion-has-6-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-pane45973_7421fb-fd\"><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><code>Code snippet<\/code><\/code> <strong>\u2014<\/strong> Generating a MAT-file profile<\/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=\"Matlab\" data-shcb-language-slug=\"matlab\"><span><code class=\"hljs language-matlab\"><span class=\"hljs-comment\">% Create a ramp with float datatype<\/span>\nnb_samples = <span class=\"hljs-number\">2000<\/span>;\nramp = single((<span class=\"hljs-number\">1<\/span>:nb_samples)');\n\n<span class=\"hljs-comment\">% Save as MAT file version 6 (only required if using PLECS)<\/span>\nsave(<span class=\"hljs-string\">'ramp.mat'<\/span>,<span class=\"hljs-string\">'ramp'<\/span>,<span class=\"hljs-string\">'-v6'<\/span>);<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Matlab<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">matlab<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div><\/div><\/div>\n<\/div><\/div><\/div>\n\n\n\n<h2 id=\"h-standard-parameters\" 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>Number of signals<\/strong>:&nbsp;sets the total number of signals contained within the specified MAT-file.<\/li>\n\n\n\n<li><strong>Signal(s) type<\/strong>: selects the data type of the signals to be read from the MAT-file (<em><em>float\/single<\/em><\/em>, <em>int32<\/em>, <em>uint32, <\/em>and <em>double<\/em>). <strong>The selected type must strictly match the actual data type of the data stored within the MAT-file<\/strong>.<\/li>\n\n\n\n<li><strong>Filename<\/strong>:\u00a0sets the local path to the target MAT-file (which is automatically uploaded to the target prior to user code execution).<\/li>\n\n\n\n<li><strong>End of file action<\/strong>: selects the behavior when the file reaches its end.\n<ul class=\"wp-block-list\">\n<li><strong>Hold the last value<\/strong><\/li>\n\n\n\n<li><strong>Restart<\/strong><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Sample time<\/strong>: sets the execution sample time of the block, allowing configuration of a specific decimation rate for its execution.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-warning\" role=\"alert\">While relative file paths are supported during offline simulation, <strong>absolute paths<\/strong> must be used for code generation.<\/div>\n\n\n\n<h2 id=\"h-simulink-block\" 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 id=\"h-signal-specification\" 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 enable input signal initiates the MAT-file reading procedure. Setting this input to <strong>0<\/strong> resets the block to its initial conditions.<\/li>\n\n\n\n<li>The data output signal <code>d<\/code> returns a vector containing the data read from the MAT-file. The vector length can be configured with the <strong>Number of signals<\/strong> parameter, and its data type using the <strong>Signal type <\/strong>parameter.<\/li>\n\n\n\n<li>The activate output signal <code>a<\/code> is set to <strong>1<\/strong> when the block is outputting data.<\/li>\n\n\n\n<li>The end-of-file output flag <code>eof<\/code> is set to <strong>1<\/strong> when the end of the file is reached.<\/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%\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"163\" height=\"94\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/read_block_simulink.png\" alt=\"Read from file block in Simulink\" class=\"wp-image-49606\"\/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h3 id=\"CANinputmailbox-Parameters\" class=\"wp-block-heading\">Mask<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"424\" height=\"362\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/read_default_mask_simulink.png\" alt=\"Default Simulink mask\" class=\"wp-image-49607\" style=\"width:392px;height:auto\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/read_default_mask_simulink.png 424w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/read_default_mask_simulink-300x256.png 300w\" sizes=\"auto, (max-width: 424px) 100vw, 424px\" \/><\/figure>\n<\/div>\n\n\n<h2 id=\"h-plecs-block\" 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 id=\"h-signal-specification-1\" 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 enable input signal initiates the MAT-file reading procedure. Setting this input to <strong>0<\/strong> resets the block to its initial conditions.<\/li>\n\n\n\n<li>The data output signal <code>d<\/code> returns a vector containing the data read from the MAT-file. The vector length can be configured with the <strong>Number of signals<\/strong> parameter, and its data type using the <strong>Signal type <\/strong>parameter.<\/li>\n\n\n\n<li>The activate output signal <code>a<\/code> is set to <strong>1<\/strong> when the block is outputting data.<\/li>\n\n\n\n<li>The end-of-file output flag <code>eof<\/code> is set to <strong>1<\/strong> when the end of the file is reached.<\/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%\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"156\" height=\"95\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/read_block_plecs.png\" alt=\"Read from file block in PLECS\" class=\"wp-image-49608\"\/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h3 id=\"CANinputmailbox-Parameters\" class=\"wp-block-heading\">Mask<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"432\" height=\"450\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/read_default_mask_plecs.png\" alt=\"Default PLECS mask\" class=\"wp-image-49609\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/read_default_mask_plecs.png 432w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/read_default_mask_plecs-288x300.png 288w\" sizes=\"auto, (max-width: 432px) 100vw, 432px\" \/><\/figure>\n<\/div>\n\n\n<h2 id=\"h-c-functions\" 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<style>.kt-accordion-id45973_d31d06-23 .kt-accordion-inner-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:1px;}.kt-accordion-id45973_d31d06-23 .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-id45973_d31d06-23 > .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-id45973_d31d06-23: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-id45973_d31d06-23: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-id45973_d31d06-23: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-id45973_d31d06-23: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-id45973_d31d06-23: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-id45973_d31d06-23 > .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-id45973_d31d06-23 .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-id45973_d31d06-23: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-id45973_d31d06-23: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-id45973_d31d06-23: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-id45973_d31d06-23: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-id45973_d31d06-23: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-id45973_d31d06-23: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-id45973_d31d06-23: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-id45973_d31d06-23: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-id45973_d31d06-23: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-id45973_d31d06-23: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-id45973_d31d06-23 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id45973_d31d06-23 > .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-id45973_d31d06-23: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-id45973_d31d06-23: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-id45973_d31d06-23: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-id45973_d31d06-23: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-id45973_d31d06-23: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-id45973_d31d06-23 .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-id45973_d31d06-23 > .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-id45973_d31d06-23 > .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-id45973_d31d06-23 .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-id45973_d31d06-23 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id45973_d31d06-23 > .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-id45973_d31d06-23 .kt-accordion-inner-wrap{display:block;}.kt-accordion-id45973_d31d06-23 .kt-accordion-inner-wrap .kt-accordion-pane:not(:first-child){margin-top:1px;}.kt-accordion-id45973_d31d06-23 .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-id45973_d31d06-23 > .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-id45973_d31d06-23 > .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-id45973_d31d06-23 .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-id45973_d31d06-23 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id45973_d31d06-23 > .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-id45973_d31d06-23 kt-accordion-has-4-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-pane45973_0c0888-d3\"><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><code>Rd_Configure<\/code> <\/code><strong>\u2014 <\/strong>Configure the Read from file instance <\/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\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title\">Rd_Configure<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> id, <span class=\"hljs-keyword\">const<\/span> <span class=\"hljs-keyword\">char<\/span> *filename, <span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> number_of_sig, <span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> data_type, <span class=\"hljs-keyword\">void<\/span> *data, <span class=\"hljs-keyword\">bool<\/span> restart)<\/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 the &#8220;Read from file&#8221; instance.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Can only be called in <code>UserInit()<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Parameters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>id<\/code>: the unique identifier of the &#8220;Read from file&#8221; instance. The valid range is <strong>0 to 7<\/strong> (inclusive)<\/li>\n\n\n\n<li><code>filename<\/code>: the local path to a given MAT-file. This file is automatically uploaded to the target prior to execution<\/li>\n\n\n\n<li><code>number_of_sig<\/code>: the total number of signals contained within the specified MAT-file.<\/li>\n\n\n\n<li><code>data_type<\/code>: the data type of the signals to be read from the MAT-file (0 for float, 1 for int32, 2 for uint32, and 3 for double). <strong>The selected type must strictly match the actual data type of the data stored within the MAT-file<\/strong><\/li>\n\n\n\n<li><code>data<\/code>: a pointer to the memory location where the data read from the MAT-file will be stored. The destination buffer must be pre-allocated, and its size must be exactly equal to <code>number_of_sig * sizeof(dataType)<\/code> (e.g., 3 * sizeof(double))<\/li>\n\n\n\n<li><code>restart<\/code>: flag indicating whether the read procedure should restart from the beginning of the file once it reaches the end<\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane45973_d4acde-ac\"><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><code><code><code>Rd_Read<\/code> <\/code><\/code><\/code><strong>\u2014 Read<\/strong> from file<\/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\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">int<\/span> <span class=\"hljs-title\">Rd_Read<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> id, <span class=\"hljs-keyword\">int<\/span> start)<\/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\">Reads data from a given &#8220;Read from file&#8221; instance. The data is stored at the data pointer configured in <code>Rd_Configure()<\/code>, and it persists until overwritten by a subsequent read.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Can only be called in the interrupt routine.<\/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>id<\/code>: the unique identifier of the &#8220;Read from file&#8221; instance. The valid range is <strong>0 to 7<\/strong> (inclusive)<\/li>\n\n\n\n<li><code>enable<\/code>: control flag where <strong>1<\/strong> (logic high) starts execution and <strong>0<\/strong>(logic low) resets the instance to its initial conditions<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"CANinputmailbox-Returnvalue.1\"><strong>Return value<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Returns <strong>1<\/strong> once the file reaches its end, <strong>0<\/strong> otherwise.<\/li>\n<\/ul>\n<\/div><\/div><\/div>\n<\/div><\/div><\/div>\n\n\n\n<h2 id=\"file-management\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"File-management\"><\/span>File management<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The target\u2019s internal storage unit is accessible via the <strong>Target Configuration<\/strong> view in Cockpit, providing the following file management capabilities:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>File listing:<\/strong> View all files currently residing on the target device.<\/li>\n\n\n\n<li><strong>Exporting:<\/strong> Download and convert target files into CSV or MAT-file formats.<\/li>\n\n\n\n<li><strong>Deletion:<\/strong> Permanently remove files from the device&#8217;s storage.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"334\" height=\"195\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/target_view_storage.png\" alt=\"\" class=\"wp-image-47214\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/target_view_storage.png 334w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/target_view_storage-300x175.png 300w\" sizes=\"auto, (max-width: 334px) 100vw, 334px\" \/><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"760\" height=\"520\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/06\/target_view_storage_browse-1.png\" alt=\"\" class=\"wp-image-46075\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/06\/target_view_storage_browse-1.png 760w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/06\/target_view_storage_browse-1-300x205.png 300w\" sizes=\"auto, (max-width: 760px) 100vw, 760px\" \/><\/figure>\n<\/div>\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-45973_df0256-2f .kt-block-spacer{height:60px;}.wp-block-kadence-spacer.kt-block-spacer-45973_df0256-2f .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-45973_df0256-2f\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n<ol class=\"wp-block-footnotes\"><li id=\"f092ce26-8e2f-4b1b-bf86-4e3bd3232710\">Gen. 4 reserves 10 GB and Gen. 3 reserves 0.8 GB for internal system use (e.g., filesystem). <a href=\"#f092ce26-8e2f-4b1b-bf86-4e3bd3232710-link\" aria-label=\"Jump to footnote reference 1\">\u21a9\ufe0e<\/a><\/li><\/ol>","protected":false},"excerpt":{"rendered":"<p>The &#8220;Read from file&#8221; function allows applying dataset profiles from the controller&#8217;s non-volatile memory into user code during runtime. This mechanism is available in the&#8230;<\/p>\n","protected":false},"author":32,"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":"[{\"content\":\"Gen. 4 reserves 10 GB and Gen. 3 reserves 0.8 GB for internal system use (e.g., filesystem).\",\"id\":\"f092ce26-8e2f-4b1b-bf86-4e3bd3232710\"}]"},"categories":[16],"tags":[],"software-environments":[105,103,104],"provided-results":[],"related-products":[50,31,32,92,166,51,110],"guidedreadings":[],"tutorials":[],"user-manuals":[],"coauthors":[175,62],"class_list":["post-45973","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.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Read from file - imperix Simulink, PLECS and C++ documentation<\/title>\n<meta name=\"description\" content=\"The Read from file block allows to apply a given pre-recorded dataset (profile) into the control implementation.\" \/>\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\/read-from-file\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Read from file - imperix Simulink, PLECS and C++ documentation\" \/>\n<meta property=\"og:description\" content=\"The Read from file block allows to apply a given pre-recorded dataset (profile) into the control implementation.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/imperix.com\/doc\/software\/read-from-file\" \/>\n<meta property=\"og:site_name\" content=\"imperix\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-14T11:44:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-14T12:26:14+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=\"Rafael Basso, 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=\"Rafael Basso, Simon Strobl\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/read-from-file#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/read-from-file\"},\"author\":{\"name\":\"Rafael Basso\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/person\\\/7b8b9195745f175d838339eb04338149\"},\"headline\":\"Read from file\",\"datePublished\":\"2026-09-14T11:44:00+00:00\",\"dateModified\":\"2026-09-14T12:26:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/read-from-file\"},\"wordCount\":1198,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/read-from-file#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\\\/read-from-file#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/read-from-file\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/read-from-file\",\"name\":\"Read from file - imperix Simulink, PLECS and C++ documentation\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/read-from-file#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/read-from-file#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/software.png\",\"datePublished\":\"2026-09-14T11:44:00+00:00\",\"dateModified\":\"2026-09-14T12:26:14+00:00\",\"description\":\"The Read from file block allows to apply a given pre-recorded dataset (profile) into the control implementation.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/read-from-file#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/read-from-file\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/read-from-file#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\\\/read-from-file#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\":\"Read from file\"}]},{\"@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\\\/7b8b9195745f175d838339eb04338149\",\"name\":\"Rafael Basso\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6df9d43ecf2a496453ea54d5e701f6e86b8ae3c13618477009d296b0414492c9?s=96&d=mm&r=ge163ae97148d9cf79d8e1b2187a65d7c\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6df9d43ecf2a496453ea54d5e701f6e86b8ae3c13618477009d296b0414492c9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6df9d43ecf2a496453ea54d5e701f6e86b8ae3c13618477009d296b0414492c9?s=96&d=mm&r=g\",\"caption\":\"Rafael Basso\"},\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/author\\\/rafael-bassoimperix-ch\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Read from file - imperix Simulink, PLECS and C++ documentation","description":"The Read from file block allows to apply a given pre-recorded dataset (profile) into the control implementation.","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\/read-from-file","og_locale":"en_US","og_type":"article","og_title":"Read from file - imperix Simulink, PLECS and C++ documentation","og_description":"The Read from file block allows to apply a given pre-recorded dataset (profile) into the control implementation.","og_url":"https:\/\/imperix.com\/doc\/software\/read-from-file","og_site_name":"imperix","article_published_time":"2026-09-14T11:44:00+00:00","article_modified_time":"2026-09-14T12:26:14+00:00","og_image":[{"width":500,"height":334,"url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/05\/software.png","type":"image\/png"}],"author":"Rafael Basso, Simon Strobl","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Rafael Basso, Simon Strobl","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/imperix.com\/doc\/software\/read-from-file#article","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/software\/read-from-file"},"author":{"name":"Rafael Basso","@id":"https:\/\/imperix.com\/doc\/#\/schema\/person\/7b8b9195745f175d838339eb04338149"},"headline":"Read from file","datePublished":"2026-09-14T11:44:00+00:00","dateModified":"2026-09-14T12:26:14+00:00","mainEntityOfPage":{"@id":"https:\/\/imperix.com\/doc\/software\/read-from-file"},"wordCount":1198,"commentCount":0,"publisher":{"@id":"https:\/\/imperix.com\/doc\/#organization"},"image":{"@id":"https:\/\/imperix.com\/doc\/software\/read-from-file#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\/read-from-file#respond"]}]},{"@type":"WebPage","@id":"https:\/\/imperix.com\/doc\/software\/read-from-file","url":"https:\/\/imperix.com\/doc\/software\/read-from-file","name":"Read from file - imperix Simulink, PLECS and C++ documentation","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/#website"},"primaryImageOfPage":{"@id":"https:\/\/imperix.com\/doc\/software\/read-from-file#primaryimage"},"image":{"@id":"https:\/\/imperix.com\/doc\/software\/read-from-file#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/05\/software.png","datePublished":"2026-09-14T11:44:00+00:00","dateModified":"2026-09-14T12:26:14+00:00","description":"The Read from file block allows to apply a given pre-recorded dataset (profile) into the control implementation.","breadcrumb":{"@id":"https:\/\/imperix.com\/doc\/software\/read-from-file#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/imperix.com\/doc\/software\/read-from-file"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imperix.com\/doc\/software\/read-from-file#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\/read-from-file#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":"Read from file"}]},{"@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\/7b8b9195745f175d838339eb04338149","name":"Rafael Basso","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/6df9d43ecf2a496453ea54d5e701f6e86b8ae3c13618477009d296b0414492c9?s=96&d=mm&r=ge163ae97148d9cf79d8e1b2187a65d7c","url":"https:\/\/secure.gravatar.com\/avatar\/6df9d43ecf2a496453ea54d5e701f6e86b8ae3c13618477009d296b0414492c9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6df9d43ecf2a496453ea54d5e701f6e86b8ae3c13618477009d296b0414492c9?s=96&d=mm&r=g","caption":"Rafael Basso"},"url":"https:\/\/imperix.com\/doc\/author\/rafael-bassoimperix-ch"}]}},"_links":{"self":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/45973","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\/32"}],"replies":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/comments?post=45973"}],"version-history":[{"count":88,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/45973\/revisions"}],"predecessor-version":[{"id":49616,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/45973\/revisions\/49616"}],"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=45973"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/categories?post=45973"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tags?post=45973"},{"taxonomy":"software-environments","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/software-environments?post=45973"},{"taxonomy":"provided-results","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/provided-results?post=45973"},{"taxonomy":"related-products","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/related-products?post=45973"},{"taxonomy":"guidedreadings","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/guidedreadings?post=45973"},{"taxonomy":"tutorials","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tutorials?post=45973"},{"taxonomy":"user-manuals","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/user-manuals?post=45973"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/coauthors?post=45973"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}