{"id":676,"date":"2021-03-29T15:52:57","date_gmt":"2021-03-29T15:52:57","guid":{"rendered":"https:\/\/imperix.com\/doc\/?p=676"},"modified":"2025-11-21T12:57:28","modified_gmt":"2025-11-21T12:57:28","slug":"multi-master-mode-for-distributed-networked-control-systems","status":"publish","type":"post","link":"https:\/\/imperix.com\/doc\/help\/multi-master-mode-for-distributed-networked-control-systems","title":{"rendered":"Multi-master feature for distributed networked control systems"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-right-text counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/imperix.com\/doc\/help\/multi-master-mode-for-distributed-networked-control-systems\/#Imperix-distributed-converter-control-solutions\" >Imperix distributed converter control solutions<\/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\/help\/multi-master-mode-for-distributed-networked-control-systems\/#Setting-up-a-multi-master-system\" >Setting up a multi-master system<\/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\/help\/multi-master-mode-for-distributed-networked-control-systems\/#Multi-master-using-Simulink\" >Multi-master using Simulink<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/imperix.com\/doc\/help\/multi-master-mode-for-distributed-networked-control-systems\/#Exchanging-data-between-the-models\" >Exchanging data between the models<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/imperix.com\/doc\/help\/multi-master-mode-for-distributed-networked-control-systems\/#Referencing-the-same-model-multiple-times\" >Referencing the same model multiple times<\/a><\/li><\/ul><\/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\/help\/multi-master-mode-for-distributed-networked-control-systems\/#Multi-master-using-PLECS\" >Multi-master using PLECS<\/a><\/li><\/ul><\/nav><\/div>\n\n<p>This note focuses on the multi-master feature which allows executing control codes on multiple&nbsp;imperix power converter controllers interconnected using optical fiber (SFP). The imperix in-house protocol RealSync allows for low latency communication (sub-\u03bcs) and high data exchange rate (hundreds of kHz) all while keeping synchronized sampling instants and PWM signals (\u00b12ns).<\/p>\n\n\n\n<p>The <a href=\"https:\/\/imperix.com\/doc\/example\/multi-converters-system\">Multi-converter system for micro-grid (AN008)<\/a> example illustrates how the multi-master features can be used to implement coordinates control between <a href=\"https:\/\/imperix.com\/products\/power\/programmable-inverter\/\">TPI8032 programmable inverters<\/a>. Another use case of multi-master communication is presented <a href=\"https:\/\/imperix.com\/doc\/implementation\/back-to-back-inverter-coordinated-control\">Coordinated control of a back-to-back inverter (TN155)<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-how-to-use-the-multi-master-feature\"><span class=\"ez-toc-section\" id=\"Imperix-distributed-converter-control-solutions\"><\/span>Imperix distributed converter control solutions<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">The process presented below is based on<strong> SDK version 2025.1<\/strong> or later.<br>The latest SDK is available on the <a href=\"https:\/\/imperix.com\/downloads\/\">download page<\/a>.<\/div>\n\n\n\n<p>The imperix proprietary RealSync communication protocol allows connecting multiple devices using SFP fibers, as shown below with two <a href=\"https:\/\/imperix.com\/products\/control\/rapid-prototyping-controller\/\">B-Boxes RCP<\/a>.  The same applies for the&nbsp;<a href=\"https:\/\/imperix.com\/products\/control\/inverter-control-board\/\">B-Board PRO<\/a>, and the <a href=\"https:\/\/imperix.com\/products\/power\/programmable-inverter\/\">Programmable Inverter<\/a>. <\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"432\" height=\"237\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-284.png\" alt=\"\" class=\"wp-image-32203\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-284.png 432w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-284-300x165.png 300w\" sizes=\"auto, (max-width: 432px) 100vw, 432px\" \/><figcaption class=\"wp-element-caption\">Two <a href=\"https:\/\/imperix.com\/products\/control\/rapid-prototyping-controller\/\">B-Boxes RCP<\/a> connected using an SFP fiber<\/figcaption><\/figure>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"223\" height=\"216\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-246.png\" alt=\"\" class=\"wp-image-32169\"\/><figcaption class=\"wp-element-caption\">B-Boxes are displayed as targets in Cockpit (SDK 2025.1)<\/figcaption><\/figure>\n<\/div><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">Thanks to the Ethernet over RealSync feature, only an Ethernet cable needs to be connected to the top device. However, connecting additional Ethernet cables can help increase bandwidth, especially when a large amount of data is being logged in Cockpit.<\/div>\n\n\n\n<p>When imperix devices are interconnected:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>All <a href=\"https:\/\/imperix.com\/doc\/software\/clock-generators\">CLOCKs<\/a> are natively synchronized and by extension the analog inputs sampling, control tasks execution, and the PWM outputs are all synchronized.<\/li>\n\n\n\n<li>In the event of a fault anywhere one the network, the PWM outputs of all devices are immediately disabled with node-to-node propagation delay of less than 180ns.<\/li>\n<\/ul>\n\n\n\n<p>A multi-device system can operate in different modes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In <strong>master-slave<\/strong> mode (aka I\/O extension mode) the control algorithm runs on the master unit\u2019s CPU, while the slave devices operate as I\/O extension units, with only their FPGAs active. Slaves are addressed transparently from the peripheral\u2019s block in Simulink\/PLECS\/C++ code, using the <strong>device ID<\/strong><em> <\/em>&nbsp;parameter (indicated as BB0, BB1, etc. on the blocks).<\/li>\n\n\n\n<li>In <strong>multi-master<\/strong> mode, each master device has its CPU running. Since each CPU code requires its own Simulink\/PLECS\/C++ model, communication between devices must be handled explicitly using communication blocks. The <a href=\"https:\/\/imperix.com\/doc\/software\/can-input-mailbox\">CAN<\/a> or <a href=\"https:\/\/imperix.com\/doc\/software\/ethernet-input-mailbox\">UDP<\/a> blocks can be used to exchange data, but using the <a href=\"https:\/\/imperix.com\/doc\/software\/sfp-input-mailbox\">SFP blocks<\/a> offers superior performance (sub-microsecond latency and exchange rates in the hundreds of kHz). Detailed information about the SFP blocks can be found in a later chapter.<\/li>\n\n\n\n<li>In <strong>multi-master with slaves<\/strong> (or combined mode) both modes are mixed, allowing for the implementation of a wide range of distributed converter control techniques.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-align-center\">Illustration of a <strong>master-slave<\/strong> scenario<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"369\" height=\"203\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-320.png\" alt=\"\" class=\"wp-image-32708\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-320.png 369w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-320-300x165.png 300w\" sizes=\"auto, (max-width: 369px) 100vw, 369px\" \/><figcaption class=\"wp-element-caption\">One project (one model) linked to two devices<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"438\" height=\"384\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-319.png\" alt=\"\" class=\"wp-image-32707\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-319.png 438w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-319-300x263.png 300w\" sizes=\"auto, (max-width: 438px) 100vw, 438px\" \/><figcaption class=\"wp-element-caption\">Simulink model using I\/Os (ADC and PWM) of B-Box A (device ID 0) and B-Box B (device ID 1)<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-align-center\">Illustration of a <strong>master-master<\/strong> scenario<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"369\" height=\"203\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-317.png\" alt=\"\" class=\"wp-image-32705\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-317.png 369w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-317-300x165.png 300w\" sizes=\"auto, (max-width: 369px) 100vw, 369px\" \/><figcaption class=\"wp-element-caption\">Two projects (two models), linked to B-Box A and B-Box B<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"438\" height=\"773\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-318.png\" alt=\"\" class=\"wp-image-32706\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-318.png 438w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-318-170x300.png 170w\" sizes=\"auto, (max-width: 438px) 100vw, 438px\" \/><figcaption class=\"wp-element-caption\">Two Simulink models exchanging data using <a href=\"https:\/\/imperix.com\/doc\/software\/sfp-out-sfp-output-mailbox\">SFP blocks<\/a>.<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">A device can only be associated with a single master. This means that, in the example above, the code running on B-Box A cannot directly access the I\/O of B-Box B. To exchange data between B-Box A and B-Box B, the SFP communication blocks must be used as explained later.<\/div>\n\n\n\n<p>The meaning of the different numbers and letters is explained below.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"228\" height=\"224\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-305.png\" alt=\"\" class=\"wp-image-32304\"\/><figcaption class=\"wp-element-caption\">Two B-Boxes in a RealSync network<\/figcaption><\/figure>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<ul class=\"wp-block-list\">\n<li>The <em><strong>device ID<\/strong><\/em> (0, 1, &#8230;) is the number used to address the FPGA<\/li>\n\n\n\n<li>The <strong><em>project ID<\/em><\/strong> (A, B, &#8230;) shows where the generated code is running<\/li>\n\n\n\n<li>The <em><strong>RealSync ID<\/strong><\/em> (#0, #1, &#8230;) is the number uniquely identifying a device in a RealSync network<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Setting-up-a-multi-master-system\"><\/span>Setting up a multi-master system<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>To set up multi-master operation, as shown in the video below, the following steps must be followed:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Create one model for each master, using Simulink, PLECS or the C++ SDK.<\/li>\n\n\n\n<li>Build the models. After the first successful build a project is automatically created in Cockpit.<\/li>\n\n\n\n<li>Once the projects are created, proceed with linking each project to its respective device as illustrated on the screenshots below. Once a device is linked to a project, it becomes a master, identified by a letter (e.g., A, B, etc.).<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-video aligncenter\"><video height=\"628\" style=\"aspect-ratio: 812 \/ 628;\" width=\"812\" controls muted src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/2025-01-29-16-17-07.mkv\"><\/video><\/figure>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">When a model is rebuilt, all the user codes are automatically stopped then restarted by Cockpit.<\/div>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">During the linking process, a configuration error may occur, indicating that not all devices are linked. Once all devices are properly linked, the codes will restart, and the error should disappear.<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-multi-master-using-simulink\"><span class=\"ez-toc-section\" id=\"Multi-master-using-Simulink\"><\/span>Multi-master using Simulink<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The Simulink template provided below simplifies the development of distributed control using the multi-master feature. This template aims to facilitate distributed control development. It uses Simulink <a href=\"https:\/\/fr.mathworks.com\/help\/simulink\/slref\/model.html\">Model<\/a> references to support both simulation and code generation in the same development environment.<\/p>\n\n\n\n<div class=\"wp-block-file aligncenter\"><a href=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/multimaster_template-2.zip\" class=\"wp-block-file__button wp-element-button\" download>Download <strong>multimaster_template.zip<\/strong><\/a><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"871\" height=\"1024\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-326-871x1024.png\" alt=\"\" class=\"wp-image-32718\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-326-871x1024.png 871w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-326-255x300.png 255w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-326-768x902.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-326.png 937w\" sizes=\"auto, (max-width: 871px) 100vw, 871px\" \/><figcaption class=\"wp-element-caption\">Simulink multi-master template<\/figcaption><\/figure>\n\n\n\n<p>The image below shows the <em>Multimaster config<\/em> block provided in the template.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The user can add additional model references and even reference the same model multiple times. Clicking the <em>Refresh<\/em> button will update the list of model references.<\/li>\n\n\n\n<li>If a model is referenced multiple times, the option <em>use block name<\/em> must be selected to avoid naming conflicts.<\/li>\n\n\n\n<li>Changing the model execution purpose in the multi-master config block will apply the change to all referenced models.<\/li>\n\n\n\n<li>Clicking <em>Build selected<\/em> will generate and build the codes for all the models that are checked in the list.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"548\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-276.png\" alt=\"\" class=\"wp-image-32176\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-276.png 630w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-276-300x261.png 300w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><figcaption class=\"wp-element-caption\">Simulink multi-master config block<\/figcaption><\/figure>\n<\/div>\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">When using referenced models, launching the code generation using Simulink build button (or Ctrl+B) is no longer supported. The build must be launched from the <em>multimaster config<\/em> block instead.<\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Exchanging-data-between-the-models\"><\/span>Exchanging data between the models<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The SFP blocks shown below allow exchanging data between models via the optical fiber links. These SFP blocks work in pairs: an <a href=\"https:\/\/imperix.com\/doc\/software\/sfp-out-sfp-output-mailbox\"><em>SFP output mailbox<\/em><\/a> must be placed in one model, and an <a href=\"https:\/\/imperix.com\/doc\/software\/sfp-input-mailbox\"><em>SFP input mailbox<\/em><\/a> in another. The two mailboxes are automatically linked together when they share the same name and number of signals.<\/p>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-warning\" role=\"alert\">The SFP mailboxes are not broadcasting. They operate in a one-to-one configuration, each output mailbox can send data only to a single designated input mailbox.<\/div>\n\n\n\n<p>By default, the <em>SFP output mailbox<\/em> sends data at each control period. However, the user can enable a <em>trigger input<\/em> to control precisely when data is sent. On the <em>SFP input mailbox <\/em>side, a <em>data valid output<\/em> port indicates when new data has been received.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"958\" height=\"670\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/sfp_blocks.png\" alt=\"\" class=\"wp-image-959\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/sfp_blocks.png 958w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/sfp_blocks-300x210.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/sfp_blocks-768x537.png 768w\" sizes=\"auto, (max-width: 958px) 100vw, 958px\" \/><\/figure>\n\n\n\n<p>The image below illustrates an example where three control models are running on three B-Boxes and exchanging data using SFP blocks. The control models operate at the same control frequency and share the same sampling phase. Consequently, the sampling occurs at the same time on all devices and the three control tasks start simultaneously. Thanks to the low communication latency (~200 ns per hop), the transferred data arrives before the next task execution, resulting in only one control period delay. Note that the two mailboxes can be located on any device within the network, the devices do not need to be adjacent.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"878\" height=\"736\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/04\/multi-master-3-bbox.png\" alt=\"\" class=\"wp-image-2050\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/04\/multi-master-3-bbox.png 878w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/04\/multi-master-3-bbox-300x251.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/04\/multi-master-3-bbox-768x644.png 768w\" sizes=\"auto, (max-width: 878px) 100vw, 878px\" \/><figcaption class=\"wp-element-caption\">Example of distributed control using 3 B-Boxes<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Referencing-the-same-model-multiple-times\"><\/span>Referencing the same model multiple times<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>In some applications it might be useful to execute the same model on multiple devices. As illustrated below, it is possible to reference the same Simulink model multiple times. In that case, selecting the <em>use block name<\/em> option is necessary to prevent code name conflicts. The <code>MODEL_ARG <\/code>workspace variable can be used when models need to behave differently. It can also help preventing SFP mailboxes naming conflicts.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"417\" height=\"510\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-322.png\" alt=\"\" class=\"wp-image-32712\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-322.png 417w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-322-245x300.png 245w\" sizes=\"auto, (max-width: 417px) 100vw, 417px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"363\" height=\"452\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-325.png\" alt=\"\" class=\"wp-image-32715\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-325.png 363w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-325-241x300.png 241w\" sizes=\"auto, (max-width: 363px) 100vw, 363px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-multi-master-using-plecs\"><span class=\"ez-toc-section\" id=\"Multi-master-using-PLECS\"><\/span>Multi-master using PLECS<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Multi-master development using PLECS is more straightforward. The user can start from the provided template and duplicate the <em>Imperix controller <\/em>subsystem.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"965\" height=\"711\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-327.png\" alt=\"\" class=\"wp-image-32719\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-327.png 965w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-327-300x221.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-327-768x566.png 768w\" sizes=\"auto, (max-width: 965px) 100vw, 965px\" \/><figcaption class=\"wp-element-caption\">PLECS model with 2 imperix controller devices<\/figcaption><\/figure>\n\n\n\n<p>The <em>Imperix controller<\/em> subsystems are listed on the <em>Coder Options <\/em>page. ([Ctrl+Alt+B] or click on&nbsp;<em>Coder &gt; Coder Options<\/em>). The user must select the subsystem for which they wish to generate CPU code and then click <em>Build.<\/em><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"566\" height=\"415\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/04\/plecs_multimaster_build.png\" alt=\"\" class=\"wp-image-1972\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/04\/plecs_multimaster_build.png 566w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/04\/plecs_multimaster_build-300x220.png 300w\" sizes=\"auto, (max-width: 566px) 100vw, 566px\" \/><figcaption class=\"wp-element-caption\">PLECS coder options window with 2 imperix controllers<\/figcaption><\/figure>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>This note focuses on the multi-master feature which allows executing control codes on multiple&nbsp;imperix power converter controllers interconnected using optical fiber (SFP). The imperix in-house&#8230;<\/p>\n","protected":false},"author":4,"featured_media":3027,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[3],"tags":[],"software-environments":[105,103,104],"provided-results":[],"related-products":[50,31,32,166,51,113,110],"guidedreadings":[],"tutorials":[],"user-manuals":[137,146],"coauthors":[70],"class_list":["post-676","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-help","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-rcp-3-0","related-products-cpp-sdk","related-products-mmc","related-products-tpi","user-manuals-b-box-rcp-3-0","user-manuals-mmc-bundle"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Multi-master feature for distributed networked control systems - imperix<\/title>\n<meta name=\"description\" content=\"The multi-master feature allows executing control codes on multiple imperix B-Box\/B-Board units interconnected using optical fiber (SFP).\" \/>\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\/help\/multi-master-mode-for-distributed-networked-control-systems\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Multi-master feature for distributed networked control systems - imperix\" \/>\n<meta property=\"og:description\" content=\"The multi-master feature allows executing control codes on multiple imperix B-Box\/B-Board units interconnected using optical fiber (SFP).\" \/>\n<meta property=\"og:url\" content=\"https:\/\/imperix.com\/doc\/help\/multi-master-mode-for-distributed-networked-control-systems\" \/>\n<meta property=\"og:site_name\" content=\"imperix\" \/>\n<meta property=\"article:published_time\" content=\"2021-03-29T15:52:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-21T12:57:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/3_2_ratio_PN158.png\" \/>\n\t<meta property=\"og:image:width\" content=\"450\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Beno\u00eet Steinmann\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Beno\u00eet Steinmann\" \/>\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\\\/help\\\/multi-master-mode-for-distributed-networked-control-systems#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/multi-master-mode-for-distributed-networked-control-systems\"},\"author\":{\"name\":\"Beno\u00eet Steinmann\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/person\\\/a69a3bda75b05d0923cc76d7268cc94f\"},\"headline\":\"Multi-master feature for distributed networked control systems\",\"datePublished\":\"2021-03-29T15:52:57+00:00\",\"dateModified\":\"2025-11-21T12:57:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/multi-master-mode-for-distributed-networked-control-systems\"},\"wordCount\":1294,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/multi-master-mode-for-distributed-networked-control-systems#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/3_2_ratio_PN158.png\",\"articleSection\":[\"Product notes\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/multi-master-mode-for-distributed-networked-control-systems#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/multi-master-mode-for-distributed-networked-control-systems\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/multi-master-mode-for-distributed-networked-control-systems\",\"name\":\"Multi-master feature for distributed networked control systems - imperix\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/multi-master-mode-for-distributed-networked-control-systems#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/multi-master-mode-for-distributed-networked-control-systems#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/3_2_ratio_PN158.png\",\"datePublished\":\"2021-03-29T15:52:57+00:00\",\"dateModified\":\"2025-11-21T12:57:28+00:00\",\"description\":\"The multi-master feature allows executing control codes on multiple imperix B-Box\\\/B-Board units interconnected using optical fiber (SFP).\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/multi-master-mode-for-distributed-networked-control-systems#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/multi-master-mode-for-distributed-networked-control-systems\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/multi-master-mode-for-distributed-networked-control-systems#primaryimage\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/3_2_ratio_PN158.png\",\"contentUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/3_2_ratio_PN158.png\",\"width\":450,\"height\":300,\"caption\":\"Distributing control using the multi-master feature\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/multi-master-mode-for-distributed-networked-control-systems#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Knowledge base\",\"item\":\"https:\\\/\\\/imperix.com\\\/doc\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Product notes\",\"item\":\"https:\\\/\\\/imperix.com\\\/doc\\\/category\\\/help\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Multi-master feature for distributed networked control systems\"}]},{\"@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\\\/a69a3bda75b05d0923cc76d7268cc94f\",\"name\":\"Beno\u00eet Steinmann\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/22a9252907f853f91d07b143dfcc84f6ec0cc31f6b72408b503a7026eed5b109?s=96&d=mm&r=g3b3f3d8e66019ebcb2848094940b98c0\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/22a9252907f853f91d07b143dfcc84f6ec0cc31f6b72408b503a7026eed5b109?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/22a9252907f853f91d07b143dfcc84f6ec0cc31f6b72408b503a7026eed5b109?s=96&d=mm&r=g\",\"caption\":\"Beno\u00eet Steinmann\"},\"description\":\"Benoit is an embedded systems expert and the leader of software and firmware developments at imperix. On the knowledge base, he is the author of numerous software reference documents.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/benoit-steinmann\\\/\"],\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/author\\\/steinmann\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Multi-master feature for distributed networked control systems - imperix","description":"The multi-master feature allows executing control codes on multiple imperix B-Box\/B-Board units interconnected using optical fiber (SFP).","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\/help\/multi-master-mode-for-distributed-networked-control-systems","og_locale":"en_US","og_type":"article","og_title":"Multi-master feature for distributed networked control systems - imperix","og_description":"The multi-master feature allows executing control codes on multiple imperix B-Box\/B-Board units interconnected using optical fiber (SFP).","og_url":"https:\/\/imperix.com\/doc\/help\/multi-master-mode-for-distributed-networked-control-systems","og_site_name":"imperix","article_published_time":"2021-03-29T15:52:57+00:00","article_modified_time":"2025-11-21T12:57:28+00:00","og_image":[{"width":450,"height":300,"url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/3_2_ratio_PN158.png","type":"image\/png"}],"author":"Beno\u00eet Steinmann","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Beno\u00eet Steinmann","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/imperix.com\/doc\/help\/multi-master-mode-for-distributed-networked-control-systems#article","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/help\/multi-master-mode-for-distributed-networked-control-systems"},"author":{"name":"Beno\u00eet Steinmann","@id":"https:\/\/imperix.com\/doc\/#\/schema\/person\/a69a3bda75b05d0923cc76d7268cc94f"},"headline":"Multi-master feature for distributed networked control systems","datePublished":"2021-03-29T15:52:57+00:00","dateModified":"2025-11-21T12:57:28+00:00","mainEntityOfPage":{"@id":"https:\/\/imperix.com\/doc\/help\/multi-master-mode-for-distributed-networked-control-systems"},"wordCount":1294,"commentCount":0,"publisher":{"@id":"https:\/\/imperix.com\/doc\/#organization"},"image":{"@id":"https:\/\/imperix.com\/doc\/help\/multi-master-mode-for-distributed-networked-control-systems#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/3_2_ratio_PN158.png","articleSection":["Product notes"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/imperix.com\/doc\/help\/multi-master-mode-for-distributed-networked-control-systems#respond"]}]},{"@type":"WebPage","@id":"https:\/\/imperix.com\/doc\/help\/multi-master-mode-for-distributed-networked-control-systems","url":"https:\/\/imperix.com\/doc\/help\/multi-master-mode-for-distributed-networked-control-systems","name":"Multi-master feature for distributed networked control systems - imperix","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/#website"},"primaryImageOfPage":{"@id":"https:\/\/imperix.com\/doc\/help\/multi-master-mode-for-distributed-networked-control-systems#primaryimage"},"image":{"@id":"https:\/\/imperix.com\/doc\/help\/multi-master-mode-for-distributed-networked-control-systems#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/3_2_ratio_PN158.png","datePublished":"2021-03-29T15:52:57+00:00","dateModified":"2025-11-21T12:57:28+00:00","description":"The multi-master feature allows executing control codes on multiple imperix B-Box\/B-Board units interconnected using optical fiber (SFP).","breadcrumb":{"@id":"https:\/\/imperix.com\/doc\/help\/multi-master-mode-for-distributed-networked-control-systems#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/imperix.com\/doc\/help\/multi-master-mode-for-distributed-networked-control-systems"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imperix.com\/doc\/help\/multi-master-mode-for-distributed-networked-control-systems#primaryimage","url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/3_2_ratio_PN158.png","contentUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/3_2_ratio_PN158.png","width":450,"height":300,"caption":"Distributing control using the multi-master feature"},{"@type":"BreadcrumbList","@id":"https:\/\/imperix.com\/doc\/help\/multi-master-mode-for-distributed-networked-control-systems#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Knowledge base","item":"https:\/\/imperix.com\/doc\/"},{"@type":"ListItem","position":2,"name":"Product notes","item":"https:\/\/imperix.com\/doc\/category\/help"},{"@type":"ListItem","position":3,"name":"Multi-master feature for distributed networked control systems"}]},{"@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\/a69a3bda75b05d0923cc76d7268cc94f","name":"Beno\u00eet Steinmann","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/22a9252907f853f91d07b143dfcc84f6ec0cc31f6b72408b503a7026eed5b109?s=96&d=mm&r=g3b3f3d8e66019ebcb2848094940b98c0","url":"https:\/\/secure.gravatar.com\/avatar\/22a9252907f853f91d07b143dfcc84f6ec0cc31f6b72408b503a7026eed5b109?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/22a9252907f853f91d07b143dfcc84f6ec0cc31f6b72408b503a7026eed5b109?s=96&d=mm&r=g","caption":"Beno\u00eet Steinmann"},"description":"Benoit is an embedded systems expert and the leader of software and firmware developments at imperix. On the knowledge base, he is the author of numerous software reference documents.","sameAs":["https:\/\/www.linkedin.com\/in\/benoit-steinmann\/"],"url":"https:\/\/imperix.com\/doc\/author\/steinmann"}]}},"_links":{"self":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/676","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\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/comments?post=676"}],"version-history":[{"count":81,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/676\/revisions"}],"predecessor-version":[{"id":37213,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/676\/revisions\/37213"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media\/3027"}],"wp:attachment":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media?parent=676"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/categories?post=676"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tags?post=676"},{"taxonomy":"software-environments","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/software-environments?post=676"},{"taxonomy":"provided-results","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/provided-results?post=676"},{"taxonomy":"related-products","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/related-products?post=676"},{"taxonomy":"guidedreadings","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/guidedreadings?post=676"},{"taxonomy":"tutorials","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tutorials?post=676"},{"taxonomy":"user-manuals","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/user-manuals?post=676"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/coauthors?post=676"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}