{"id":46083,"date":"2026-09-14T11:43:57","date_gmt":"2026-09-14T11:43:57","guid":{"rendered":"https:\/\/imperix.com\/doc\/?p=46083"},"modified":"2026-09-16T14:55:53","modified_gmt":"2026-09-16T14:55:53","slug":"write-to-file","status":"publish","type":"post","link":"https:\/\/imperix.com\/doc\/software\/write-to-file","title":{"rendered":"Write to 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\/write-to-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\/write-to-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\/write-to-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\/write-to-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\/write-to-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\/write-to-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\/write-to-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\/write-to-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\/write-to-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;Write to file&#8221; function allows writing variables from the user code to the controller&#8217;s non-volatile memory during runtime. Recorded data can subsequently be downloaded on the computer using <a href=\"https:\/\/imperix.com\/software\/cockpit\/\">Cockpit<\/a>. 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\" id=\"https:\/\/ch.mathworks.com\/help\/matlab\/import_export\/mat-file-versions.html\">Writing variables directly to the controller disk is typically useful for long-term logging, ranging from several seconds to several hours. This constitutes an attractive alternative to using Cockpit&#8217;s <a href=\"https:\/\/imperix.com\/doc\/help\/rolling-plot-module\">Rolling Plot<\/a> module, notably as it operates without any dependence to the availability of the Ethernet link.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"https:\/\/ch.mathworks.com\/help\/matlab\/import_export\/mat-file-versions.html\">To perform the inverse operation, i.e. read pre-recorded data during execution, the &#8220;Read from file&#8221; function should be used instead. This is documented in <a href=\"https:\/\/imperix.com\/doc\/software\/read-from-file\">SD039<\/a>.<\/p>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">For long-term logging directly to the host PC&#8217;s disk rather than internal controller storage, the Python API&#8217;s <a href=\"https:\/\/imperix.com\/doc\/python-library\/api\/data_loggers.html\" target=\"_blank\" rel=\"noopener\">Data logger<\/a> feature is also available.<\/div>\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\">The &#8220;Write to file&#8221; function automatically writes selected data to the controller&#8217;s non-volatile memory (SSD or eMMC). When working from Simulink or PLECS, this selection is made indirectly by passing the desired data to the corresponding input <strong>d<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">During runtime, the write 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\">The <strong>a<\/strong> output is set to 1 when the block is active and writing data. If the enable input is set to 1, but the storage becomes full or a <a href=\"#bandwidth-constraint\" data-type=\"internal\" data-id=\"#bandwidth-constraint\"><em>bandwidth constraint<\/em><\/a> is met, the active output flag is set to 0.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once the writing process is done, data can be retrieved 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\">Finally, the &#8220;Write to file&#8221; function does not write any data during offline simulation. However, the active output flag is set to 1 when the block is enabled, as if the controller was writing to its internal storage.<\/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\/write_block_demo_model.png\" alt=\"Write to file example in Simulink\" class=\"wp-image-49595\" style=\"aspect-ratio:2.12559081701553;width:670px;height:auto\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/write_block_demo_model.png 943w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/write_block_demo_model-300x157.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/write_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=\"358\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/write_block_slow_rate.png\" alt=\"Configuring a slow sampling rate\" class=\"wp-image-49597\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/write_block_slow_rate.png 424w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/write_block_slow_rate-300x253.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 write action takes place at a configurable rate, namely:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Data is written to disk <strong>at the control rate<\/strong>: Sample time is configured as inherited (-1).<\/li>\n\n\n\n<li>Data is written <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 <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\">Once enabled, the operation of the &#8220;Write to file&#8221; is continuous and unlimited in time, unless one of the following constraints is reached:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The required data throughput exceeds the maximum achievable write bandwidth.<\/li>\n\n\n\n<li>The available space is exceeded.<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">Storage constraint<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">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\">For example, processing 24 signals using a <code>float<\/code> data type (4 bytes) at 10kHz represents a continuous write bandwidth of 960kB\/s. At this rate, the storage capacity of a Gen. 3 device will be reached in roughly 2 hours. On the other hand, the same 24 signals logged at 1kHz would take roughly 20 hours to fill the entire memory.<\/p>\n\n\n\n<h5 id=\"bandwidth-constraint\" class=\"wp-block-heading\">Bandwidth constraint<\/h5>\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;Write to 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 write data at the exact same time, each requires 1.2MB\/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 of the write 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<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\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=\"328e35b1-d9ea-4dc6-87b7-f9f6a6979f09\" class=\"fn\"><a href=\"#328e35b1-d9ea-4dc6-87b7-f9f6a6979f09\" id=\"328e35b1-d9ea-4dc6-87b7-f9f6a6979f09-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>20 MB\/s<\/td><td>1 MB\/s<\/td><td>1 MB\/s<\/td><td>1 MB\/s<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"File-format\"><\/span>File format<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The &#8220;Write to file&#8221; block generates a column-oriented MAT-file in which each signal is assigned its own dedicated column. The <strong>Number of signals<\/strong> specifies the number of columns, and the <strong>Signal(s) type<\/strong> defines the data type in which the logged signals are saved.<\/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\/record_data_simulink_mat.png\" alt=\"MAT file content\" class=\"wp-image-46658\"\/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">As shown in the figure above, the generated MAT-file includes a header (called General_header) containing key metadata:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Date (UTC)<\/li>\n\n\n\n<li>Time resolution (sampling period)<\/li>\n\n\n\n<li>Firmware version<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">For example, the logged data can be plotted using the following MATLAB script:<\/p>\n\n\n<style>.kt-accordion-id46083_b57394-70 .kt-accordion-inner-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:1px;}.kt-accordion-id46083_b57394-70 .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-id46083_b57394-70 > .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-id46083_b57394-70: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-id46083_b57394-70: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-id46083_b57394-70: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-id46083_b57394-70: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-id46083_b57394-70: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-id46083_b57394-70 > .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-id46083_b57394-70 .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-id46083_b57394-70: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-id46083_b57394-70: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-id46083_b57394-70: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-id46083_b57394-70: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-id46083_b57394-70: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-id46083_b57394-70: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-id46083_b57394-70: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-id46083_b57394-70: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-id46083_b57394-70: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-id46083_b57394-70: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-id46083_b57394-70 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id46083_b57394-70 > .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-id46083_b57394-70: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-id46083_b57394-70: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-id46083_b57394-70: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-id46083_b57394-70: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-id46083_b57394-70: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-id46083_b57394-70 .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-id46083_b57394-70 > .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-id46083_b57394-70 > .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-id46083_b57394-70 .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-id46083_b57394-70 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id46083_b57394-70 > .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-id46083_b57394-70 .kt-accordion-inner-wrap{display:block;}.kt-accordion-id46083_b57394-70 .kt-accordion-inner-wrap .kt-accordion-pane:not(:first-child){margin-top:1px;}.kt-accordion-id46083_b57394-70 .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-id46083_b57394-70 > .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-id46083_b57394-70 > .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-id46083_b57394-70 .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-id46083_b57394-70 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id46083_b57394-70 > .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-id46083_b57394-70 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-pane46083_541ab4-a6\"><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> Plotting the written MAT-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-1\" data-shcb-language-name=\"Matlab\" data-shcb-language-slug=\"matlab\"><span><code class=\"hljs language-matlab\"><span class=\"hljs-comment\">% Set the filename<\/span>\nfileName = <span class=\"hljs-string\">'sine_100hz.mat'<\/span>;\n\n<span class=\"hljs-comment\">% Load data<\/span>\nsine_100hz = load(fileName);\n\n<span class=\"hljs-comment\">% Compute the time resolutions (delta t)<\/span>\ndelta_t = sine_100hz.General_header.Time_resolution;\n\n<span class=\"hljs-comment\">% Set the number of samples<\/span>\nnb_samples = <span class=\"hljs-built_in\">length<\/span>(sine_100hz.data);\n\n<span class=\"hljs-comment\">% Create a time vector using its time steps<\/span>\nt = (<span class=\"hljs-number\">0<\/span> : nb_samples - <span class=\"hljs-number\">1<\/span>) * delta_t;\n\n<span class=\"hljs-comment\">% Plot data<\/span>\n<span class=\"hljs-built_in\">figure<\/span>;\nstairs(t, sine_100hz.data); \n\n<span class=\"hljs-comment\">% Labels and styling<\/span>\nxlabel(<span class=\"hljs-string\">'Time &#91;s]'<\/span>);\nylabel(<span class=\"hljs-string\">'Raw data value'<\/span>);\ngrid on;<\/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 to be recorded in the MAT-file.<\/li>\n\n\n\n<li><strong>Signal(s) type<\/strong>: selects the data type of the signals to be recorded in the MAT-file (<em>float\/single<\/em>, <em>int32<\/em>, <em>uint32 <\/em>and <em>double<\/em>).<\/li>\n\n\n\n<li><strong>Filename<\/strong>:&nbsp;sets the desired MAT-file filename.<\/li>\n\n\n\n<li><strong>Filename conflict action<\/strong>: specifies how to resolve filename conflicts. \n<ul class=\"wp-block-list\">\n<li><strong>Create new filename<\/strong>: produces an incrementally numbered file (e.g., my_file_1.mat, my_file_2.mat).<\/li>\n\n\n\n<li><strong>Overwrite existing file<\/strong>: overwrites the previous data (<strong>only on Gen. 4 devices<\/strong>).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Sample time<\/strong>: sets the execution sample time of the block, which can be configured to establish a specific decimation rate for the block&#8217;s execution.<\/li>\n<\/ul>\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 data input signal <code>d<\/code> receives a vector containing the data to be written into MAT-file. The expected 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 enable input signal initiates the MAT-file writing procedure. Setting this input to <strong>0<\/strong> resets the block to its initial conditions.<\/li>\n\n\n\n<li>The activate output flag <code>a<\/code> is set to <strong>1<\/strong> when writing to a file. If the output is <strong>0<\/strong> while the block is enabled, either the storage is full or a bandwidth constraint was met.<\/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=\"160\" height=\"95\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/write_block_simulink.png\" alt=\"Write to file block in Simulink\" class=\"wp-image-49598\"\/><\/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=\"358\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/write_default_mask_simulink.png\" alt=\"Default Simulink mask\" class=\"wp-image-49599\" style=\"width:392px;height:auto\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/write_default_mask_simulink.png 424w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/write_default_mask_simulink-300x253.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 data input signal <code>d<\/code> receives a vector containing the data to be written into MAT-file. The expected 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 enable input signal initiates the MAT-file writing procedure. Setting this input to <strong>0<\/strong> resets the block to its initial conditions.<\/li>\n\n\n\n<li>The activate output flag <code>a<\/code> is set to <strong>1<\/strong> when writing to a file. If the output is <strong>0<\/strong> while the block is enabled, either the storage is full or a bandwidth constraint was met.<\/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=\"96\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/write_block_plecs-1.png\" alt=\"Write to file block in PLECS\" class=\"wp-image-49601\"\/><\/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=\"421\" height=\"409\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/write_default_mask_plecs.png\" alt=\"Default mask in PLECS\" class=\"wp-image-49602\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/write_default_mask_plecs.png 421w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/write_default_mask_plecs-300x291.png 300w\" sizes=\"auto, (max-width: 421px) 100vw, 421px\" \/><\/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-id46083_836812-1c .kt-accordion-inner-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:1px;}.kt-accordion-id46083_836812-1c .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-id46083_836812-1c > .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-id46083_836812-1c: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-id46083_836812-1c: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-id46083_836812-1c: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-id46083_836812-1c: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-id46083_836812-1c: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-id46083_836812-1c > .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-id46083_836812-1c .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-id46083_836812-1c: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-id46083_836812-1c: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-id46083_836812-1c: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-id46083_836812-1c: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-id46083_836812-1c: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-id46083_836812-1c: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-id46083_836812-1c: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-id46083_836812-1c: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-id46083_836812-1c: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-id46083_836812-1c: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-id46083_836812-1c .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id46083_836812-1c > .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-id46083_836812-1c: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-id46083_836812-1c: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-id46083_836812-1c: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-id46083_836812-1c: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-id46083_836812-1c: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-id46083_836812-1c .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-id46083_836812-1c > .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-id46083_836812-1c > .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-id46083_836812-1c .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-id46083_836812-1c .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id46083_836812-1c > .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-id46083_836812-1c .kt-accordion-inner-wrap{display:block;}.kt-accordion-id46083_836812-1c .kt-accordion-inner-wrap .kt-accordion-pane:not(:first-child){margin-top:1px;}.kt-accordion-id46083_836812-1c .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-id46083_836812-1c > .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-id46083_836812-1c > .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-id46083_836812-1c .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-id46083_836812-1c .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id46083_836812-1c > .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-id46083_836812-1c 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-pane46083_ea2f87-04\"><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>Wr_Configure<\/code><\/code> <strong>\u2014 <\/strong>Configure the Write to 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\">Wr_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> overwrite)<\/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;Write to 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;Write to file&#8221; instance. The valid range is <strong>0 to 7<\/strong> (inclusive)<\/li>\n\n\n\n<li><code>filename<\/code>: the desired filename (must have the .mat extension)<\/li>\n\n\n\n<li><code>number_of_sig<\/code>: the number of signals to be written into the MAT-file<\/li>\n\n\n\n<li><code>data_type<\/code>: the data type of the data to be written in to the MAT-file<\/li>\n\n\n\n<li><code>data<\/code>: a pointer to the memory location where the data to be written into the MAT-file is stored. The source 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>overwrite<\/code>: flag indicating whether the MAT-file should be overwritten in case of a filename conflict<\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-6 kt-pane46083_71c0b5-16\"><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>Wr_Configure<\/code><\/code> <strong>\u2014<\/strong> Configure the Write to 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-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\">void<\/span> <span class=\"hljs-title\">Wr_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> overwrite)<\/span><\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C++<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cpp<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Configures the &#8220;Write to 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;Write to file&#8221; instance. The valid range is <strong>0 to 7<\/strong> (inclusive)<\/li>\n\n\n\n<li><code>filename<\/code>: the desired filename (must have the .mat extension)<\/li>\n\n\n\n<li><code>number_of_sig<\/code>: the number of signals to be written into the MAT-file<\/li>\n\n\n\n<li><code>data_type<\/code>: the data type of the data to be written in to the MAT-file<\/li>\n\n\n\n<li><code>data<\/code>: a pointer to the memory location where the data to be written into the MAT-file is stored. The source 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>overwrite<\/code>: flag indicating whether the MAT-file should be overwritten in case of a filename conflict<\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-5 kt-pane46083_ae9e3c-d1\"><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>Wr_ConfigureMetadata<\/code><\/code> <strong>\u2014<\/strong> Configure the Write to file metadata<\/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\"><span class=\"hljs-class\"><span class=\"hljs-keyword\">struct<\/span> {<\/span>\n    <span class=\"hljs-keyword\">float<\/span> sample_time;\n} tWrMetadata;\n\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title\">Wr_ConfigureMetadata<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> id, tWrMetadata metadata)<\/span><\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C++<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cpp<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Configures the metadata structure written in the MAT-file. This structure can be used to save the time resolution (decimation rate) of the recorded signals. <\/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;Write to file&#8221; instance. The valid range is <strong>0 to 7<\/strong> (inclusive)<\/li>\n\n\n\n<li><code>metadata<\/code>: the metadata structure containing the sample time<\/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-pane46083_658a12-01\"><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>Wr_Write<\/code><\/code><\/code><\/code> <strong>\u2014<\/strong> Write to 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-5\" 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\">Wr_Write<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span> id, <span class=\"hljs-keyword\">int<\/span> enable)<\/span><\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C++<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cpp<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Writes the data stored into the data pointer configured in <code>Wr_Configure()<\/code> into the MAT-file.<\/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;Write to 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 non-volatile memory is full, <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 stored on the target.<\/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 target&#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-1.png\" alt=\"Storage and health status indicators\" class=\"wp-image-47216\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/target_view_storage-1.png 334w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/target_view_storage-1-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=\"File explorer in Cockpit\" 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-46083_5195b1-56 .kt-block-spacer{height:60px;}.wp-block-kadence-spacer.kt-block-spacer-46083_5195b1-56 .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-46083_5195b1-56\"><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=\"328e35b1-d9ea-4dc6-87b7-f9f6a6979f09\">Gen. 4 reserves 10 GB and Gen. 3 reserves 0.8 GB for internal system use (e.g., filesystem). <a href=\"#328e35b1-d9ea-4dc6-87b7-f9f6a6979f09-link\" aria-label=\"Jump to footnote reference 1\">\u21a9\ufe0e<\/a><\/li><\/ol>","protected":false},"excerpt":{"rendered":"<p>The &#8220;Write to file&#8221; function allows writing variables from the user code to the controller&#8217;s non-volatile memory during runtime. Recorded data can subsequently be downloaded&#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\":\"328e35b1-d9ea-4dc6-87b7-f9f6a6979f09\"}]"},"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],"class_list":["post-46083","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>Write to file - imperix Simulink, PLECS and C++ documentation<\/title>\n<meta name=\"description\" content=\"The &quot;Write to file&quot; block allows to log control data, supporting both transient captures and continuous 24-hour recording cycles.\" \/>\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\/write-to-file\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Write to file - imperix Simulink, PLECS and C++ documentation\" \/>\n<meta property=\"og:description\" content=\"The &quot;Write to file&quot; block allows to log control data, supporting both transient captures and continuous 24-hour recording cycles.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/imperix.com\/doc\/software\/write-to-file\" \/>\n<meta property=\"og:site_name\" content=\"imperix\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-14T11:43:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-16T14:55:53+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\" \/>\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\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/write-to-file#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/write-to-file\"},\"author\":{\"name\":\"Rafael Basso\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/person\\\/7b8b9195745f175d838339eb04338149\"},\"headline\":\"Write to file\",\"datePublished\":\"2026-09-14T11:43:57+00:00\",\"dateModified\":\"2026-09-16T14:55:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/write-to-file\"},\"wordCount\":1450,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/write-to-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\\\/write-to-file#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/write-to-file\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/write-to-file\",\"name\":\"Write to file - imperix Simulink, PLECS and C++ documentation\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/write-to-file#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/write-to-file#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/software.png\",\"datePublished\":\"2026-09-14T11:43:57+00:00\",\"dateModified\":\"2026-09-16T14:55:53+00:00\",\"description\":\"The \\\"Write to file\\\" block allows to log control data, supporting both transient captures and continuous 24-hour recording cycles.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/write-to-file#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/write-to-file\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/software\\\/write-to-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\\\/write-to-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\":\"Write to 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":"Write to file - imperix Simulink, PLECS and C++ documentation","description":"The \"Write to file\" block allows to log control data, supporting both transient captures and continuous 24-hour recording cycles.","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\/write-to-file","og_locale":"en_US","og_type":"article","og_title":"Write to file - imperix Simulink, PLECS and C++ documentation","og_description":"The \"Write to file\" block allows to log control data, supporting both transient captures and continuous 24-hour recording cycles.","og_url":"https:\/\/imperix.com\/doc\/software\/write-to-file","og_site_name":"imperix","article_published_time":"2026-09-14T11:43:57+00:00","article_modified_time":"2026-09-16T14:55:53+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","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Rafael Basso","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/imperix.com\/doc\/software\/write-to-file#article","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/software\/write-to-file"},"author":{"name":"Rafael Basso","@id":"https:\/\/imperix.com\/doc\/#\/schema\/person\/7b8b9195745f175d838339eb04338149"},"headline":"Write to file","datePublished":"2026-09-14T11:43:57+00:00","dateModified":"2026-09-16T14:55:53+00:00","mainEntityOfPage":{"@id":"https:\/\/imperix.com\/doc\/software\/write-to-file"},"wordCount":1450,"commentCount":0,"publisher":{"@id":"https:\/\/imperix.com\/doc\/#organization"},"image":{"@id":"https:\/\/imperix.com\/doc\/software\/write-to-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\/write-to-file#respond"]}]},{"@type":"WebPage","@id":"https:\/\/imperix.com\/doc\/software\/write-to-file","url":"https:\/\/imperix.com\/doc\/software\/write-to-file","name":"Write to file - imperix Simulink, PLECS and C++ documentation","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/#website"},"primaryImageOfPage":{"@id":"https:\/\/imperix.com\/doc\/software\/write-to-file#primaryimage"},"image":{"@id":"https:\/\/imperix.com\/doc\/software\/write-to-file#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/05\/software.png","datePublished":"2026-09-14T11:43:57+00:00","dateModified":"2026-09-16T14:55:53+00:00","description":"The \"Write to file\" block allows to log control data, supporting both transient captures and continuous 24-hour recording cycles.","breadcrumb":{"@id":"https:\/\/imperix.com\/doc\/software\/write-to-file#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/imperix.com\/doc\/software\/write-to-file"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imperix.com\/doc\/software\/write-to-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\/write-to-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":"Write to 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\/46083","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=46083"}],"version-history":[{"count":53,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/46083\/revisions"}],"predecessor-version":[{"id":50236,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/46083\/revisions\/50236"}],"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=46083"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/categories?post=46083"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tags?post=46083"},{"taxonomy":"software-environments","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/software-environments?post=46083"},{"taxonomy":"provided-results","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/provided-results?post=46083"},{"taxonomy":"related-products","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/related-products?post=46083"},{"taxonomy":"guidedreadings","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/guidedreadings?post=46083"},{"taxonomy":"tutorials","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tutorials?post=46083"},{"taxonomy":"user-manuals","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/user-manuals?post=46083"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/coauthors?post=46083"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}