<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Typhoon HIL Forum - Recent questions and answers</title>
<link>https://typhoon-hil.com/forum/?qa=qa</link>
<description>Powered by Question2Answer</description>
<item>
<title>TheThermal Calculation</title>
<link>https://typhoon-hil.com/forum/?qa=575/thethermal-calculation</link>
<description></description>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=575/thethermal-calculation</guid>
<pubDate>Wed, 13 May 2026 05:38:38 +0000</pubDate>
</item>
<item>
<title>Answered: How can I import Excel frequency data to control a Signal-Controlled Sinusoidal Voltage Source?</title>
<link>https://typhoon-hil.com/forum/?qa=571/import-frequency-control-signal-controlled-sinusoidal-voltage&amp;show=574#a574</link>
<description>&lt;p&gt;Hi Alexis,&lt;/p&gt;&lt;p&gt;You can consider using Dynamic table component (&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.typhoon-hil.com/documentation/typhoon-hil-software-manual/References/dynamic_table.html&quot;&gt;documentation&lt;/a&gt;) and connect its output to the input of the signal-controlled sinusoidal source (&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.typhoon-hil.com/documentation/typhoon-hil-software-manual/References/dynamic_table.html&quot;&gt;doc&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;I would also consider using the API to &quot;program the frequency values over time&quot; in case you&#039;re looking at some linear segments and the frequency-over-time curve isn&#039;t very complex.&lt;/p&gt;</description>
<category>Modeling</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=571/import-frequency-control-signal-controlled-sinusoidal-voltage&amp;show=574#a574</guid>
<pubDate>Tue, 12 May 2026 07:48:21 +0000</pubDate>
</item>
<item>
<title>Answered: I can&#039;t find the Microgrid library in the 2026.2 Software Release. Where is it?</title>
<link>https://typhoon-hil.com/forum/?qa=572/cant-find-the-microgrid-library-2026-software-release-where&amp;show=573#a573</link>
<description>The Microgrid library was reorganized in the 2026.2 release and renamed to the Grid Modernization library in order to increase clarity regarding their components&amp;#039; functionalities and better correspond with the licensing scheme.&lt;br /&gt;
&lt;br /&gt;
1. Components that require a Grid Protection license (such as ANSI protective functions, SEL-751 Relay Logic, and Feeder Protection relay) can now be found in the Grid Protection category.&lt;br /&gt;
&lt;br /&gt;
2. Most components that require a Grid Resources license, such as DER components (i.e. switching, average, and generic components that were part of the Microgrid toolbox) and Controller components (ie. components that were part of the Power Systems toolbox) can now be found in the Grid Resources category.&lt;br /&gt;
&lt;br /&gt;
3. Load components have been moved to a new Sinks library category.</description>
<category>Knowledge Base</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=572/cant-find-the-microgrid-library-2026-software-release-where&amp;show=573#a573</guid>
<pubDate>Wed, 06 May 2026 09:39:13 +0000</pubDate>
</item>
<item>
<title>Sine Wave in VHIL but Mountain-shaped in C-HIL (TI C2000)</title>
<link>https://typhoon-hil.com/forum/?qa=570/sine-wave-in-vhil-but-mountain-shaped-in-c-hil-ti-c2000</link>
<description>I am experiencing a strange discrepancy between my VHIL/HIL-to-HIL tests and my actual C-HIL setup.&lt;br /&gt;
&lt;br /&gt;
My system overview:&lt;br /&gt;
- GFL inverter with LCL Filter (DC Link: 800V | Grid: 311 Vpeak).&lt;br /&gt;
- The plant (inverter and grid) built in Typhoon HIL simulator (HIL604)&lt;br /&gt;
- The controller programmed in TI C2000 MCU (Ti28069m) via PLECS Coder.&lt;br /&gt;
- PLECS Coder (MCU side) discretization is set to 1e-4. Typhoon HIL is set to &amp;quot;Auto&amp;quot; discretization.&lt;br /&gt;
&lt;br /&gt;
I have successfully built and tested the complete control structure all the way to the outer loop (using power reference to generate the current reference). In this HIL-to-HIL environment, everything works great. Even when applying very high power references that cause some natural distortion, the grid current strictly maintains its sinusoidal shape.&lt;br /&gt;
&lt;br /&gt;
When transitioning to the physical C-HIL, I rebuilt the system step-by-step.&lt;br /&gt;
&lt;br /&gt;
The open-loop tests are perfectly fine (the TI MCU reads the ADC signals safely, and the PWM signals sent back to Typhoon HIL are correctly received).&lt;br /&gt;
&lt;br /&gt;
However, the moment I close just the inner loop (current control), the system breaks. The grid current loses its sine shape entirely and becomes a mountain-shaped waveform.&lt;br /&gt;
&lt;br /&gt;
Looking at the data, the output from the dq-to-abc transformation block shoots up to ~800V. Since the grid is 311V peak, the controller should ideally only demand around ~380V. This massive 800V request heavily saturates the PI controller and completely overmodulates the inverter. (I actually already tried manually scaling down this massive control output so it would safely fit into the PWM limits without overmodulating, but the resulting current still remained in that distorted, mountain-like shape.)&lt;br /&gt;
&lt;br /&gt;
Are there specific execution/task synchronization settings between PLECS Coder and Typhoon HIL that I might have missed when transitioning from HIL-to-HIL to C-HIL? or any ideas on what this issue could be would be greatly appreciated!</description>
<category>Hardware</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=570/sine-wave-in-vhil-but-mountain-shaped-in-c-hil-ti-c2000</guid>
<pubDate>Mon, 04 May 2026 07:12:53 +0000</pubDate>
</item>
<item>
<title>Instability due to coupling challenges.</title>
<link>https://typhoon-hil.com/forum/?qa=566/instability-due-to-coupling-challenges</link>
<description>&lt;p&gt;My microgrid model is not is not working properly because I am having challenges configuring the couplings between elements. The frequency measurement of my PV system is dropping fast and the grid forming diesel generator is severely distorted. Could someone advice me the best way to set the couplings.&amp;nbsp;&lt;img alt=&quot;&quot; src=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=5160241194910638176&quot; style=&quot;height:318px; width:600px&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=5260083256358341731&quot; style=&quot;height:476px; width:600px&quot;&gt;&lt;/p&gt;</description>
<category>Modeling</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=566/instability-due-to-coupling-challenges</guid>
<pubDate>Tue, 21 Apr 2026 09:55:26 +0000</pubDate>
</item>
<item>
<title>Answered: Instability with Constant Power Load in 2-bus system</title>
<link>https://typhoon-hil.com/forum/?qa=564/instability-with-constant-power-load-in-2-bus-system&amp;show=565#a565</link>
<description>Hi,&lt;br /&gt;
&lt;br /&gt;
This might be related to the snubber resistors in the component, since it uses a current source to interact with the circuit (&lt;a href=&quot;https://www.typhoon-hil.com/documentation/typhoon-hil-software-manual/References/constant_power_loads_sources.html#:~:text=Rsnb-,Snubber%20resistance,-.&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://www.typhoon-hil.com/documentation/typhoon-hil-software-manual/References/constant_power_loads_sources.html#:~:text=Rsnb-,Snubber%20resistance,-.&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
I propose using one of the following:&lt;br /&gt;
1. Constant impedance load &lt;a href=&quot;https://www.typhoon-hil.com/documentation/typhoon-hil-software-manual/References/constant_impedance_load.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://www.typhoon-hil.com/documentation/typhoon-hil-software-manual/References/constant_impedance_load.html&lt;/a&gt;&lt;br /&gt;
2. Three phase variable load &lt;a href=&quot;https://www.typhoon-hil.com/documentation/typhoon-hil-software-manual/References/three-phase_variable_load.html?hl=load&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://www.typhoon-hil.com/documentation/typhoon-hil-software-manual/References/three-phase_variable_load.html?hl=load&lt;/a&gt;</description>
<category>Modeling</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=564/instability-with-constant-power-load-in-2-bus-system&amp;show=565#a565</guid>
<pubDate>Mon, 20 Apr 2026 12:21:49 +0000</pubDate>
</item>
<item>
<title>Answered: The Problem is with the Package manager. It is showing error. i tried all to solve it but it is still there.</title>
<link>https://typhoon-hil.com/forum/?qa=562/problem-package-manager-showing-error-tried-solve-still-there&amp;show=563#a563</link>
<description>Greetings Ali,&lt;br /&gt;
&lt;br /&gt;
Sorry to hear that. Unfortunately, we have a bug that has been resolved for the THCC 2026.2 software version, which causes an unhandled error when a user who has no license applied in THCC opens the Package Manager.&lt;br /&gt;
&lt;br /&gt;
The next software release is planned to be out in the next couple of days, which will include this fix.&lt;br /&gt;
&lt;br /&gt;
Best regards,</description>
<category>Software</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=562/problem-package-manager-showing-error-tried-solve-still-there&amp;show=563#a563</guid>
<pubDate>Mon, 20 Apr 2026 06:59:05 +0000</pubDate>
</item>
<item>
<title>Answered: Error with Dynamic Table and Three-phase Variable Load</title>
<link>https://typhoon-hil.com/forum/?qa=559/error-with-dynamic-table-and-three-phase-variable-load&amp;show=561#a561</link>
<description>&lt;p&gt;Hello Daniel,&lt;/p&gt;&lt;p&gt;Without the model itself, or at least the error log you are receiving, it would be very difficult for us to determine the reason for the compilation failure.&lt;/p&gt;&lt;p&gt;Based on my experience, I can say that the dimensions of input signals for this component can sometimes be counterintuitive. For example, I would advise you to double-check whether the signals connected to the &#039;&lt;em&gt;Pref&lt;/em&gt;&#039; and &#039;&lt;em&gt;Qref&lt;/em&gt;&#039; terminals have a dimension of 3 as indicated in the documentation (&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.typhoon-hil.com/documentation/typhoon-hil-software-manual/References/three-phase_variable_load.html#doc__section_cdp_nvk_lbb:~:text=0-,1,0.5,-3&quot;&gt;LINK&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;Best,&lt;br&gt;Dusan&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</description>
<category>Modeling</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=559/error-with-dynamic-table-and-three-phase-variable-load&amp;show=561#a561</guid>
<pubDate>Wed, 15 Apr 2026 14:40:05 +0000</pubDate>
</item>
<item>
<title>Answered: PFC boost converter in Typhoon HIL</title>
<link>https://typhoon-hil.com/forum/?qa=554/pfc-boost-converter-in-typhoon-hil&amp;show=556#a556</link>
<description>Hi Mamadou,&lt;br /&gt;
&lt;br /&gt;
I don&amp;#039;t see any screenshots in your post.&lt;br /&gt;
&lt;br /&gt;
Theoretically, there are two distinct segments of your model: Circuit and closed loop control. My advice would always be to try to run in open loop to make sure your circuit operates as expected - before closing the control loops. In case of boost PFC, you can do that by just feedforwarding the grid voltage to boost modulator.&lt;br /&gt;
&lt;br /&gt;
One thing that you might want to make sure is to follow the guide from documentation on this link: &lt;a href=&quot;https://www.typhoon-hil.com/documentation/typhoon-hil-software-manual/References/single-phase_diode_rectifier.html#:~:text=The%20default%20state,of%20the%20simulation&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://www.typhoon-hil.com/documentation/typhoon-hil-software-manual/References/single-phase_diode_rectifier.html#:~:text=The%20default%20state,of%20the%20simulation&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Make sure to disable that optimization.&lt;br /&gt;
&lt;br /&gt;
You can also consider using TyphoonSim to develop the controls, as that simplifies the circuit modeling.</description>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=554/pfc-boost-converter-in-typhoon-hil&amp;show=556#a556</guid>
<pubDate>Wed, 08 Apr 2026 06:48:26 +0000</pubDate>
</item>
<item>
<title>Answered: How to create own carrier waveform generator block for sawtooth or triangular waveforms</title>
<link>https://typhoon-hil.com/forum/?qa=551/carrier-waveform-generator-sawtooth-triangular-waveforms&amp;show=552#a552</link>
<description>&lt;p&gt;Greetings,&lt;/p&gt;&lt;p&gt;If you want to create a Triangular Wave Source in signal processing, you can use the following signal processing block: &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.typhoon-hil.com/documentation/typhoon-hil-software-manual/References/triangular_wave_source.html&quot;&gt;Triangular Wave Source&lt;/a&gt;. Additionally, if you set the duty cycle property of this component to 0 or 1, you can get a sawtooth waveform.&lt;/p&gt;&lt;p&gt;If you want to create these signals for PWM modulation for a specific converter block inside Typhoon, we highly recommend using the internal modulator for the specific converter you want to use - &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.typhoon-hil.com/documentation/typhoon-hil-software-manual/topics/converters.html#doc__section_zqh_5zk_nz&quot;&gt;Control methods for Converters&lt;/a&gt;. This video covers all control techniques you can apply to the converters - &lt;a rel=&quot;nofollow&quot; href=&quot;https://ticket.typhoon-hil.com/kb/faq.php?id=203&quot;&gt;Converter control&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Hope this helps,&lt;/p&gt;</description>
<category>Modeling</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=551/carrier-waveform-generator-sawtooth-triangular-waveforms&amp;show=552#a552</guid>
<pubDate>Thu, 26 Mar 2026 07:48:51 +0000</pubDate>
</item>
<item>
<title>Answered: I cannot log in on control center</title>
<link>https://typhoon-hil.com/forum/?qa=547/i-cannot-log-in-on-control-center&amp;show=550#a550</link>
<description>Hii,&lt;br /&gt;
&lt;br /&gt;
The login mentioned on Typhoon HIL Control Center software is for using both THCC and TyphoonSim in integrated way. For this you need to register for TyphoonSim, which will give you a password for login it via THCC. But if you want to use THCC you only need an activation key.</description>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=547/i-cannot-log-in-on-control-center&amp;show=550#a550</guid>
<pubDate>Tue, 24 Mar 2026 08:15:19 +0000</pubDate>
</item>
<item>
<title>Answered: Execution rate causes inestability</title>
<link>https://typhoon-hil.com/forum/?qa=541/execution-rate-causes-inestability&amp;show=543#a543</link>
<description>Hi Genis,&lt;br /&gt;
&lt;br /&gt;
My guess is that the averaged DAB becomes unstable when interacting with the rest of the circuit. As you know, system is expected to be less stable as the discretization step increases. Is your model unstable if you put fixed voltage sources at the input/output of the DAB?&lt;br /&gt;
&lt;br /&gt;
Cheers</description>
<category>TyphoonSim</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=541/execution-rate-causes-inestability&amp;show=543#a543</guid>
<pubDate>Mon, 09 Mar 2026 11:54:05 +0000</pubDate>
</item>
<item>
<title>Answered: Detailed description of the HIL DSP 180 Interface is correct?</title>
<link>https://typhoon-hil.com/forum/?qa=537/detailed-description-of-the-hil-dsp-180-interface-is-correct&amp;show=538#a538</link>
<description>Hi Eduardo,&lt;br /&gt;
&lt;br /&gt;
The pin routing on the control card (connector pin to the chip) may depend on the model of the control card you&amp;#039;re using. I have used the DSP 180 interface with TMDSCNCD28379D card and the pin mapping was fitting. Which control card are you using?</description>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=537/detailed-description-of-the-hil-dsp-180-interface-is-correct&amp;show=538#a538</guid>
<pubDate>Mon, 09 Mar 2026 08:07:00 +0000</pubDate>
</item>
<item>
<title>Answered: AutoCAD drawing</title>
<link>https://typhoon-hil.com/forum/?qa=531/autocad-drawing&amp;show=536#a536</link>
<description>&lt;p data-start=&quot;122&quot; data-end=&quot;138&quot;&gt;Hi Aleksandar,&lt;/p&gt;&lt;p data-start=&quot;140&quot; data-end=&quot;244&quot;&gt;Please find attached the AutoCAD (.dwg) file containing the front and rear views of the HIL606 device.&lt;br&gt;&lt;br&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=43292021435943093&quot;&gt;HIL606 - DWG Front and Rear Panel drawing&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p data-start=&quot;246&quot; data-end=&quot;269&quot;&gt;Best regards,&lt;br data-start=&quot;259&quot; data-end=&quot;262&quot;&gt;Marko&lt;/p&gt;</description>
<category>Hardware</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=531/autocad-drawing&amp;show=536#a536</guid>
<pubDate>Tue, 03 Mar 2026 10:36:39 +0000</pubDate>
</item>
<item>
<title>Answered: Frequency Limitation on Triangular Waveform Generator</title>
<link>https://typhoon-hil.com/forum/?qa=534/frequency-limitation-on-triangular-waveform-generator&amp;show=535#a535</link>
<description>Hi Rupa,&lt;br /&gt;
&lt;br /&gt;
What&amp;#039;s the execution rate that you&amp;#039;re using? Smoothness of the triangle (ramp) will heavily depend on that, as small incremental steps are done at that rate.</description>
<category>Modeling</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=534/frequency-limitation-on-triangular-waveform-generator&amp;show=535#a535</guid>
<pubDate>Thu, 26 Feb 2026 15:40:18 +0000</pubDate>
</item>
<item>
<title>Answered: Can I physically connect TI Launchpad with Typhoon Hil ?device and use them remotely?</title>
<link>https://typhoon-hil.com/forum/?qa=529/physically-connect-launchpad-with-typhoon-device-remotely&amp;show=530#a530</link>
<description>&lt;p&gt;Hi,&lt;/p&gt;&lt;p&gt;Physical connection between HIL and Launchpad can be done using &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.typhoon-hil.com/products/hil-interfaces/hil-ti-interface-cards/hil-ti-launchpad/&quot;&gt;HIL TI Launchpad interface&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Connection between PC and HIL device is done the same way regardless of which controller and interface you&#039;re using. You can access the HIL remotely if it&#039;s connected to the network via Ethernet.&lt;/p&gt;&lt;p&gt;I&#039;d say that the main bottleneck you&#039;re facing is connection between the Launcphad and the PC. Having that in mind, the best setup would be a PC connected to the HIL and the Launchpad, which you can access remotely using Remote Desktop connection.&lt;/p&gt;</description>
<category>Hardware</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=529/physically-connect-launchpad-with-typhoon-device-remotely&amp;show=530#a530</guid>
<pubDate>Wed, 18 Feb 2026 08:14:54 +0000</pubDate>
</item>
<item>
<title>Answered: The regular one icon</title>
<link>https://typhoon-hil.com/forum/?qa=517/the-regular-one-icon&amp;show=526#a526</link>
<description>Hello Dariusz,&lt;br /&gt;
&lt;br /&gt;
There is an easy way to fix the incorrect Typhoon HIL file association.&lt;br /&gt;
&lt;br /&gt;
To do this, please open the Command Prompt with administrator rights and execute the following command:&lt;br /&gt;
&lt;br /&gt;
typhoon-file-association-fix.cmd&lt;br /&gt;
&lt;br /&gt;
Let us know if you still face a similar issue.&lt;br /&gt;
&lt;br /&gt;
Best regards.&lt;br /&gt;
Dušan</description>
<category>Software</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=517/the-regular-one-icon&amp;show=526#a526</guid>
<pubDate>Mon, 09 Feb 2026 09:35:38 +0000</pubDate>
</item>
<item>
<title>Answered: Sim won&#039;t run example RLC model</title>
<link>https://typhoon-hil.com/forum/?qa=521/sim-wont-run-example-rlc-model&amp;show=523#a523</link>
<description>&lt;p&gt;Hi Tim,&lt;/p&gt;&lt;p&gt;As I can see, you don&#039;t have a TyphoonSim license associated with your account. You are correct, you are logged in, and a license is installed, but if you open the license dialog, you will probably see that the TyphoonSim license is not active. At the moment, you have a license for Virtual HIL active. To obtain a license for TyphoonSim, please fill out this&amp;nbsp;&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.typhoon-hil.com/products/software/typhoonsim/request-access/&quot;&gt;form&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Best regards!&lt;/p&gt;</description>
<category>TyphoonSim</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=521/sim-wont-run-example-rlc-model&amp;show=523#a523</guid>
<pubDate>Tue, 03 Feb 2026 08:43:52 +0000</pubDate>
</item>
<item>
<title>Answered: HIL 402 license is not valid</title>
<link>https://typhoon-hil.com/forum/?qa=519/hil-402-license-is-not-valid&amp;show=520#a520</link>
<description>&lt;p&gt;Hi Genis Joan Romano,&lt;br&gt;&lt;br&gt;Let me try to help you here.&lt;br&gt;The license key which you received for HIL404 as per the second attached screenshot is invalid for real-time execution as it is just a virtual key(not meant for real-time, can only run simulation in software virtually).&lt;/p&gt;&lt;p&gt;However, the device license key for HIL402 which you have available is something different. You must contact the concerned person who has purchased the HIL402 device and they will share the hardware device key with you. Once you receive the key for HIL402 device, open Typhoon HIL software, go to the license option and at the bottom of the pop-up screen you can see change license option(attached picture 1- red block).&amp;nbsp;Once you click there, you can insert the new alpha-numeric license key and restart the software.&lt;br&gt;&lt;br&gt;After restart, you will be able to see HIL402 in the license window and then your hardware connection will be formed from device manager.&lt;br&gt;&lt;br&gt;Regarding firmware, once the device is connected, just click on the sync firmware option on the device manager window and your firmware will be automatically synchronized with your current software version(attached picture 2- red block).&lt;br&gt;&lt;br&gt;Hope this helps.&lt;br&gt;&lt;br&gt;Era Bajpai&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=6991759273184293561&quot; style=&quot;height:344px; width:600px&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=673136571872273789&quot; style=&quot;height:217px; width:600px&quot;&gt;&lt;/p&gt;</description>
<category>Hardware</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=519/hil-402-license-is-not-valid&amp;show=520#a520</guid>
<pubDate>Wed, 28 Jan 2026 08:16:21 +0000</pubDate>
</item>
<item>
<title>Answered: TyphoonSim unable to run simulation</title>
<link>https://typhoon-hil.com/forum/?qa=516/typhoonsim-unable-to-run-simulation&amp;show=518#a518</link>
<description>&lt;p&gt;&lt;span style=&quot;font-size:16px&quot;&gt;Hello,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px&quot;&gt;It seems your machine is not handling SSL certificates automatically, and probably they are all missing.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px&quot;&gt;&lt;span style=&quot;font-family:&amp;quot;Helvetica Neue&amp;quot;,Helvetica,Arial,sans-serif; letter-spacing:0.15px&quot;&gt;You can try to install certificates manually, you can download them here:&amp;nbsp;&lt;a rel=&quot;nofollow&quot; href=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=17356024024332765863&quot;&gt;root&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; href=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=17645261345982670702&quot;&gt;intermediate&lt;/a&gt;&amp;nbsp;and &lt;a rel=&quot;nofollow&quot; href=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=2675000276019078828&quot;&gt;subscription&lt;/a&gt;. Try to install one by one following order mentioned above and try to log in (restart software first) when you finish installation. If it asks for password to unpack certificate, type&amp;nbsp;1234.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description>
<category>TyphoonSim</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=516/typhoonsim-unable-to-run-simulation&amp;show=518#a518</guid>
<pubDate>Fri, 23 Jan 2026 09:46:44 +0000</pubDate>
</item>
<item>
<title>Answered: Inquiry on UDP Communication Usage and MAC-Related Changes in Typhoon HIL 2025.4</title>
<link>https://typhoon-hil.com/forum/?qa=514/inquiry-communication-usage-related-changes-typhoon-2025&amp;show=515#a515</link>
<description>Hello,&lt;br /&gt;
&lt;br /&gt;
You are correct — in newer versions, the UDP communication module includes an option to configure the MAC address, more precisely the last digit of the MAC address.&lt;br /&gt;
This option was not available in previous versions.&lt;br /&gt;
&lt;br /&gt;
There was a bug in earlier versions related to MAC address handling, which we fixed by introducing this new feature. This change may have affected backward compatibility; however, since the functionality worked correctly before, there is no reason it should not work again once everything is properly configured.&lt;br /&gt;
&lt;br /&gt;
Based on the fact that everything was working correctly before, it is clear that you have a good understanding of how UDP communication works. Therefore, there is nothing specific we need to advise you on in this regard.&lt;br /&gt;
&lt;br /&gt;
It is only necessary to configure the last digit of the MAC address again.&lt;br /&gt;
&lt;br /&gt;
Please override the last digit of the MAC address as follows:&lt;br /&gt;
&lt;br /&gt;
Enable “Override last digit in MAC address”&lt;br /&gt;
&lt;br /&gt;
If you were using eth port 2, enter 5 in the “Source device MAC address” field&lt;br /&gt;
&lt;br /&gt;
If you were using eth port 3, enter 6 in the “Source device MAC address” field&lt;br /&gt;
&lt;br /&gt;
If you were using eth port 4, enter 7 in the “Source device MAC address” field&lt;br /&gt;
&lt;br /&gt;
If you continue to experience issues with UDP communication, I recommend using Wireshark as a debugging tool to verify the communication and confirm that the MAC address is set correctly.</description>
<category>Communication protocols</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=514/inquiry-communication-usage-related-changes-typhoon-2025&amp;show=515#a515</guid>
<pubDate>Thu, 15 Jan 2026 16:42:36 +0000</pubDate>
</item>
<item>
<title>Answered: Supervision over ethernet communication protocols</title>
<link>https://typhoon-hil.com/forum/?qa=509/supervision-over-ethernet-communication-protocols&amp;show=513#a513</link>
<description>&lt;p&gt;Hello Alejandro,&lt;/p&gt;&lt;p&gt;To answer the first question, currently there is no way to actively monitor the amount of sent messages other than monitoring elapsed time and dividing it by the sample time at which messages are sent from the send block. The UDP send and TCP send blocks also have a status function which returns how many messages weren&#039;t sent in case that is useful in your case. Perhaps you could also count received messages on the server which receives them.&lt;/p&gt;&lt;p&gt;As for defining IPs in the model initialization script there seems to be a bug currently so this cannot be done. One workaround is to have the send blocks be in a subsystem that way you can use the pre_compilation code in the mask editor to define IP addresses. I will attach an &lt;a rel=&quot;nofollow&quot; href=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=6418149435885941272&quot;&gt;Example&lt;/a&gt;&amp;nbsp;model so you can get a better idea of how this can be done.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</description>
<category>Communication protocols</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=509/supervision-over-ethernet-communication-protocols&amp;show=513#a513</guid>
<pubDate>Mon, 05 Jan 2026 15:27:05 +0000</pubDate>
</item>
<item>
<title>Answered: how can i download this freely   please help me</title>
<link>https://typhoon-hil.com/forum/?qa=511/how-can-i-download-this-freely-please-help-me&amp;show=512#a512</link>
<description>&lt;p&gt;Greetings,&lt;/p&gt;&lt;p&gt;You can find instructions on how to download Typhoon HIL Control Center&amp;nbsp;&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.typhoon-hil.com/products/software/download-center/&quot;&gt;on this link&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Best regards,&lt;/p&gt;</description>
<category>Software</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=511/how-can-i-download-this-freely-please-help-me&amp;show=512#a512</guid>
<pubDate>Mon, 29 Dec 2025 09:48:03 +0000</pubDate>
</item>
<item>
<title>Answered: Issues Using Three-Phase Core Coupling in Parallel Inverter Simulation</title>
<link>https://typhoon-hil.com/forum/?qa=507/issues-using-three-coupling-parallel-inverter-simulation&amp;show=510#a510</link>
<description>Hello,&lt;br /&gt;
&lt;br /&gt;
I recommend you 2 ways:&lt;br /&gt;
Reviewing the Recommended coupling page in Typhoon Documentationas in the previous answer given. Especially with series or parallel connected inverters.&lt;br /&gt;
&lt;br /&gt;
Second, try to add the snubbers, maybe you only finally need a resistor and not the full one, because without snubbers you can have great distortions than change the results from what was expected.&lt;br /&gt;
&lt;br /&gt;
Hope, this could work.&lt;br /&gt;
Kind regards.</description>
<category>Modeling</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=507/issues-using-three-coupling-parallel-inverter-simulation&amp;show=510#a510</guid>
<pubDate>Mon, 22 Dec 2025 15:21:54 +0000</pubDate>
</item>
<item>
<title>Answered: License Extension for Free Version</title>
<link>https://typhoon-hil.com/forum/?qa=501/license-extension-for-free-version&amp;show=506#a506</link>
<description>Hello, &lt;br /&gt;
&lt;br /&gt;
Your HIL Academy license will be extended in due time.</description>
<category>Software</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=501/license-extension-for-free-version&amp;show=506#a506</guid>
<pubDate>Tue, 25 Nov 2025 08:47:55 +0000</pubDate>
</item>
<item>
<title>Answered: triangular waveform generation</title>
<link>https://typhoon-hil.com/forum/?qa=503/triangular-waveform-generation&amp;show=504#a504</link>
<description>Execution rate of the Triangular Wave Source component will decide the resolution of the component output. You might want to make sure that your execution rate is at least 100 times shorter than your switching period.&lt;br /&gt;
&lt;br /&gt;
Even better, consider using the PWM Modulator component, to make sure you have the maximum resolution.</description>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=503/triangular-waveform-generation&amp;show=504#a504</guid>
<pubDate>Mon, 10 Nov 2025 12:15:36 +0000</pubDate>
</item>
<item>
<title>Answered: Exporting data real time in VHIL mode or TyphoonSim</title>
<link>https://typhoon-hil.com/forum/?qa=435/exporting-data-real-time-in-vhil-mode-or-typhoonsim&amp;show=500#a500</link>
<description>Hello Haydar,&lt;br /&gt;
&lt;br /&gt;
For Virtual simulation, the possibility is to export data using data logging widgets only. You can use signal data logger for .MAT or .CSV data storing OR you can use stream data logger for .CSV, .H5 or .MF4. In case for higher data rates, it is not recommended to use .CSV format.&lt;br /&gt;
You can use TCP/UDP protocol incase of physical device connection over Ethernet only.</description>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=435/exporting-data-real-time-in-vhil-mode-or-typhoonsim&amp;show=500#a500</guid>
<pubDate>Wed, 29 Oct 2025 08:17:33 +0000</pubDate>
</item>
<item>
<title>Answered: Voltage Ripple (Drift)</title>
<link>https://typhoon-hil.com/forum/?qa=497/voltage-ripple-drift&amp;show=498#a498</link>
<description>Hello,&lt;br /&gt;
&lt;br /&gt;
Can you recheck if you attached the Excel file as I cannot see it?&lt;br /&gt;
&lt;br /&gt;
Best regards!</description>
<category>Hardware</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=497/voltage-ripple-drift&amp;show=498#a498</guid>
<pubDate>Tue, 28 Oct 2025 08:41:15 +0000</pubDate>
</item>
<item>
<title>Answered: Scope/Capture triggering, but not showing data in Real Time mode</title>
<link>https://typhoon-hil.com/forum/?qa=495/scope-capture-triggering-but-not-showing-data-real-time-mode&amp;show=496#a496</link>
<description>There isn&amp;#039;t any additional enabling that should be done. This looks like a communication issue between HIL and PC. &lt;br /&gt;
&lt;br /&gt;
I know it&amp;#039;s a silly suggestion, but you can try power-cycling the HIL device and/or creating a new SCADA panel with new Capture/Scope widget, just to see if something went wrong.</description>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=495/scope-capture-triggering-but-not-showing-data-real-time-mode&amp;show=496#a496</guid>
<pubDate>Fri, 17 Oct 2025 06:47:04 +0000</pubDate>
</item>
<item>
<title>Answered: Setting Parallel R–L Load in IEEE Node 611 Model Produces Unrealistic Values</title>
<link>https://typhoon-hil.com/forum/?qa=493/setting-parallel-load-ieee-model-produces-unrealistic-values&amp;show=494#a494</link>
<description>&lt;p&gt;This might have something to do with the snubber inductance in your variable resistor (&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.typhoon-hil.com/documentation/typhoon-hil-software-manual/References/variable_passive_components.html#:~:text=Properties-,Inductance,-Inductance%20is%20not&quot;&gt;doc&lt;/a&gt;). In addition to this, variable inductor acts as a current source and it might also need snubbers.&amp;nbsp;If not properly parameterized, both of these&amp;nbsp;can destabilize the model. I would try to first confirm that the resistor indeed acts &quot;almost like an ideal resistor&quot;, i.e., that the snubber inductance didn&#039;t destabilize the circuit (especially at low load - large resistor value).&amp;nbsp;&lt;/p&gt;&lt;p&gt;Three-phase Variable Load component should do the snubber parameterization&amp;nbsp;for you, but it&#039;s quite expensive in terms of resources. If you&#039;re tight with resources, debugging focused on the variable elements would be the way to go.&lt;/p&gt;</description>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=493/setting-parallel-load-ieee-model-produces-unrealistic-values&amp;show=494#a494</guid>
<pubDate>Tue, 14 Oct 2025 08:12:06 +0000</pubDate>
</item>
<item>
<title>Answered: SPI slave - no response to write/read frames</title>
<link>https://typhoon-hil.com/forum/?qa=447/spi-slave-no-response-to-write-read-frames&amp;show=490#a490</link>
<description>&lt;p&gt;Hi Niall,&lt;br&gt;In case you issue is not resolved yet, you can try running the attached model using your master input. Check the GPIOs in capture/scope to confirm if the MISO is generating data. You can try the same configuration as I have used below.&lt;br&gt;Recently, the SPI component has been upgraded with more advanced parametrization, so I recommend you to use this model for Typhoon HIL Control Center Version 2025.3.&lt;br&gt;Typhoon has also added a new example model for SPI Default_return which can also be used to understand the configuration of the block.&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=18038896170681281885&quot;&gt;Schematic file&lt;/a&gt;&lt;/p&gt;</description>
<category>Communication protocols</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=447/spi-slave-no-response-to-write-read-frames&amp;show=490#a490</guid>
<pubDate>Mon, 29 Sep 2025 07:11:32 +0000</pubDate>
</item>
<item>
<title>PSO optimization technique how to adapt this code properly for execution in the Typhoon HIL C-block.</title>
<link>https://typhoon-hil.com/forum/?qa=491/optimization-technique-adapt-properly-execution-typhoon</link>
<description>&lt;p&gt;Dear Typhoon HIL Team,&lt;/p&gt;&lt;p&gt;Dear Typhoon HIL Team,&lt;/p&gt;&lt;p&gt;I am working on a research project titled &lt;em&gt;“Photovoltaic MPPT Performance Adaptability to Partial Shading Resilience and Load Variations with PSO.”&lt;/em&gt; In MATLAB/Simulink, I have implemented and validated the PSO-based MPPT algorithm using a C-function block, and I now wish to port this into Typhoon HIL Control Center for hardware-in-the-loop testing and real-time verification.&lt;/p&gt;&lt;p&gt;My MATLAB code (attached below) takes PV voltage and current (Vpv, Ipv) as inputs and generates the duty cycle (D_out) as output. It uses persistent variables for swarm initialization, particle updates, personal/global best tracking, and smoothing of the duty cycle output.&lt;/p&gt;&lt;p&gt;I would like guidance on:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Code Structure:&lt;/strong&gt; How to adapt my MATLAB C-function for Typhoon HIL’s C-block (syntax, supported functions, use of init() and step()).&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Inputs/Outputs:&lt;/strong&gt; Correct way to declare Vpv, Ipv as inputs and D_out as output, and how to connect the duty cycle output to PWM blocks.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Implementation Steps:&lt;/strong&gt; The procedure to load and compile this code in the Schematic Editor, handle unsupported functions (e.g., rand, linspace), and properly manage persistent variables.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Verification:&lt;/strong&gt; Best practices to confirm that the Typhoon C-block produces results consistent with MATLAB under partial shading and load variation tests.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;My main goal is to compare MATLAB simulations with Typhoon HIL results under identical conditions for benchmarking MPPT performance. Any step-by-step instructions, references, or example templates would be greatly appreciated.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Thank you for your support.&lt;/p&gt;&lt;p&gt;Below, I have provided a detailed explanation of the MATLAB C-function block along with the points where I am seeking clarification:&lt;/p&gt;&lt;hr&gt;&lt;h3&gt;1. Code Structure&lt;/h3&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;In MATLAB, my MPPT logic is encapsulated in a C-function block with persistent variables for maintaining PSO states such as swarm positions, velocities, particle bests, and global best. Below is the complete implementation:&lt;/p&gt;&lt;p&gt;%% ------------------ PSO Parameters ------------------&lt;/p&gt;&lt;p&gt;persistent swarm iter stepCounter P_hist D_out_prev&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;% PSO constants&lt;/p&gt;&lt;p&gt;N = 30;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;% number of particles&lt;/p&gt;&lt;p&gt;maxIter = 300;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; % max iterations&lt;/p&gt;&lt;p&gt;c1 = 1.8;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;% cognitive factor&lt;/p&gt;&lt;p&gt;c2 = 1.8;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;% social factor&lt;/p&gt;&lt;p&gt;w_max = 0.9;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; % max inertia&lt;/p&gt;&lt;p&gt;w_min = 0.4;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; % min inertia&lt;/p&gt;&lt;p&gt;D_min = 0.05;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;% min duty cycle&lt;/p&gt;&lt;p&gt;D_max = 0.95;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;% max duty cycle&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;% Moving average for stability&lt;/p&gt;&lt;p&gt;avgWindow = 7;&lt;/p&gt;&lt;p&gt;updatePeriod = 1;&amp;nbsp; &amp;nbsp; &amp;nbsp; % update every step&lt;/p&gt;&lt;p&gt;perturbMagnitude = 0.02; % small perturbation&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;%% ------------------ Initialization ------------------&lt;/p&gt;&lt;p&gt;if isempty(swarm)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; D_sweep = linspace(D_min, D_max, N);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; swarm.x = D_sweep;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;% particle positions (duty cycles)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; swarm.v = zeros(1,N);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; % particle velocities&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; swarm.pBest = D_sweep;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;% personal bests&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; swarm.pBestVal = -inf(1,N);&amp;nbsp; &amp;nbsp; &amp;nbsp; % personal best power&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; swarm.gBest = D_min;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;% global best duty cycle&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; swarm.gBestVal = -inf;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;% global best power&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; swarm.k = 1;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; % current particle index&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; iter = 1;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; stepCounter = 0;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; P_hist = zeros(1, avgWindow);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; D_out_prev = swarm.gBest;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; D_out = swarm.gBest;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; return;&lt;/p&gt;&lt;p&gt;end&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;%% ------------------ Slow Update ------------------&lt;/p&gt;&lt;p&gt;stepCounter = stepCounter + 1;&lt;/p&gt;&lt;p&gt;if stepCounter &amp;lt; updatePeriod&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; D_out = D_out_prev;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; return;&lt;/p&gt;&lt;p&gt;else&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; stepCounter = 0;&lt;/p&gt;&lt;p&gt;end&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;%% ------------------ Moving Average Power ------------------&lt;/p&gt;&lt;p&gt;P_hist = [P_hist(2:end), Vpv*Ipv];&lt;/p&gt;&lt;p&gt;P = mean(P_hist);&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;%% ------------------ Update Personal Best ------------------&lt;/p&gt;&lt;p&gt;if P &amp;gt; swarm.pBestVal(swarm.k)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; swarm.pBest(swarm.k) = swarm.x(swarm.k);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; swarm.pBestVal(swarm.k) = P;&lt;/p&gt;&lt;p&gt;end&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;%% ------------------ PSO Update ------------------&lt;/p&gt;&lt;p&gt;w = w_max - (w_max - w_min)*(iter/maxIter);&lt;/p&gt;&lt;p&gt;r1 = rand; r2 = rand;&lt;/p&gt;&lt;p&gt;swarm.v(swarm.k) = w*swarm.v(swarm.k) ...&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+ c1*r1*(swarm.pBest(swarm.k)-swarm.x(swarm.k)) ...&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+ c2*r2*(swarm.gBest - swarm.x(swarm.k));&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;swarm.x(swarm.k) = swarm.x(swarm.k) + swarm.v(swarm.k);&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;%% ------------------ Clamp Duty Cycle ------------------&lt;/p&gt;&lt;p&gt;swarm.x(swarm.k) = max(min(swarm.x(swarm.k), D_max), D_min);&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;%% ------------------ Move to Next Particle ------------------&lt;/p&gt;&lt;p&gt;swarm.k = swarm.k + 1;&lt;/p&gt;&lt;p&gt;if swarm.k &amp;gt; N&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; swarm.k = 1;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; iter = iter + 1;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; % ------------------ Update Global Best after all particles ------------------&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; [bestP, idx] = max(swarm.pBestVal);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; swarm.gBest = swarm.pBest(idx);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; swarm.gBestVal = bestP;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; % ------------------ Small Random Perturbation ------------------&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; if mod(iter,20)==0&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; swarm.x = swarm.x + perturbMagnitude*(rand(1,N)-0.5);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; swarm.x = max(min(swarm.x, D_max), D_min);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; end&lt;/p&gt;&lt;p&gt;end&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;%% ------------------ Reset if maxIter ------------------&lt;/p&gt;&lt;p&gt;if iter &amp;gt; maxIter&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; D_sweep = linspace(D_min,D_max,N);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; swarm.x = D_sweep;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; swarm.v = zeros(1,N);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; swarm.pBest = D_sweep;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; swarm.pBestVal = -inf(1,N);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; swarm.gBest = D_min;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; swarm.gBestVal = -inf;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; iter = 1;&lt;/p&gt;&lt;p&gt;end&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;%% ------------------ Smooth Duty Cycle Output ------------------&lt;/p&gt;&lt;p&gt;alpha = 0.2; % smoothing factor&lt;/p&gt;&lt;p&gt;D_out = alpha*swarm.gBest + (1-alpha)*D_out_prev;&lt;/p&gt;&lt;p&gt;D_out_prev = D_out;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;end&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;function D_out = PSO_MPPT_PV_Stable(Vpv, Ipv)&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</description>
<category>Helper</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=491/optimization-technique-adapt-properly-execution-typhoon</guid>
<pubDate>Sat, 27 Sep 2025 13:29:01 +0000</pubDate>
</item>
<item>
<title>Answered: Signed Integer to 32-bit Boolean Conversion in Typhoon HIL</title>
<link>https://typhoon-hil.com/forum/?qa=487/signed-integer-to-32-bit-boolean-conversion-in-typhoon-hil&amp;show=488#a488</link>
<description>&lt;p&gt;Hello,&lt;/p&gt;&lt;p&gt;Using data type conversion should work in this case. Like so:&amp;nbsp;&lt;img alt=&quot;&quot; src=&quot;denied:data:image/png;base64,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&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=8071536088790286027&quot; style=&quot;height:134px; width:550px&quot;&gt;&lt;/p&gt;&lt;p&gt;In this example the output is 0xFFFFFFFF which is exactly -1 in the two&#039;s complement system.&lt;/p&gt;</description>
<category>Software</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=487/signed-integer-to-32-bit-boolean-conversion-in-typhoon-hil&amp;show=488#a488</guid>
<pubDate>Thu, 25 Sep 2025 10:49:58 +0000</pubDate>
</item>
<item>
<title>Answered: ISO 15118-20 integration with EV digital twin package</title>
<link>https://typhoon-hil.com/forum/?qa=482/iso-15118-20-integration-with-ev-digital-twin-package&amp;show=484#a484</link>
<description>&lt;p data-start=&quot;139&quot; data-end=&quot;168&quot;&gt;Hi Jeremy&lt;/p&gt;&lt;p data-start=&quot;139&quot; data-end=&quot;168&quot;&gt;Thank you for reaching out.&lt;/p&gt;&lt;p data-start=&quot;170&quot; data-end=&quot;403&quot;&gt;At the moment, the ISO 15118-20 component is available in the schematic editor, but we have not yet completed its integration within the EV digital twin package (please note that the EV twin is provided as a separate paid toolbox).&lt;/p&gt;&lt;p data-start=&quot;405&quot; data-end=&quot;707&quot;&gt;That said, you can still use the EV twin with ISO 15118-2 for bi-directional charging. To do so, simply enable the option in the mask to allow negative current (this same option is also available in the ISO 15118-20 component). With this setting, you won’t need to use certificates for V2G operation.&lt;/p&gt;&lt;p data-start=&quot;709&quot; data-end=&quot;860&quot;&gt;If you would like to work directly with ISO 15118-20 I recommend that you use our&amp;nbsp;example model for EVCC and substitute the -2 component for the -20.&lt;/p&gt;&lt;p data-start=&quot;709&quot; data-end=&quot;860&quot;&gt;Let me know if you would like to have access to an example model with the certificate files.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p data-start=&quot;862&quot; data-end=&quot;891&quot;&gt;Best regards,&lt;/p&gt;</description>
<category>Communication protocols</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=482/iso-15118-20-integration-with-ev-digital-twin-package&amp;show=484#a484</guid>
<pubDate>Mon, 22 Sep 2025 12:51:59 +0000</pubDate>
</item>
<item>
<title>Answered: KWh calculation</title>
<link>https://typhoon-hil.com/forum/?qa=473/kwh-calculation&amp;show=481#a481</link>
<description>&lt;p&gt;The energy consumed in a three-phase circuit can be determined from the active power values over time. If the active power is constant during the observation period, the energy is simply the product of power and time. However, if the active power varies, the energy is obtained by summing the contributions of power at each time step multiplied by the sampling interval. This method ensures accurate estimation of energy consumption for both steady and time-varying load conditions.&lt;img alt=&quot;&quot; src=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=17104312949092954615&quot; style=&quot;height:234px; width:600px&quot;&gt;&lt;/p&gt;</description>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=473/kwh-calculation&amp;show=481#a481</guid>
<pubDate>Mon, 22 Sep 2025 06:36:56 +0000</pubDate>
</item>
<item>
<title>Answered: Problem with login on TyphoonSim</title>
<link>https://typhoon-hil.com/forum/?qa=474/problem-with-login-on-typhoonsim&amp;show=476#a476</link>
<description>There is similar question on this forum, please try this:&lt;br /&gt;
&lt;a href=&quot;https://typhoon-hil.com/forum/?qa=278/the-software-cannot-log-in&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://typhoon-hil.com/forum/?qa=278/the-software-cannot-log-in&lt;/a&gt;</description>
<category>TyphoonSim</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=474/problem-with-login-on-typhoonsim&amp;show=476#a476</guid>
<pubDate>Thu, 18 Sep 2025 07:51:56 +0000</pubDate>
</item>
<item>
<title>Answered: How to use the VBR PMSM in non-linear mode?</title>
<link>https://typhoon-hil.com/forum/?qa=471/how-to-use-the-vbr-pmsm-in-non-linear-mode&amp;show=472#a472</link>
<description>&lt;p&gt;Hello Antonio,&lt;/p&gt;&lt;p&gt;We recommend using the latest version of THCC, as the older versions did not support the nonlinear mode for PMSM VBR.&amp;nbsp;For example, if you are using THCC 2025.1, then, the non-linear mode is not supported, which is&amp;nbsp;indicated in the component dialog window (see below attached image).&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=1372762322826136871&quot; style=&quot;height:687px; width:600px&quot;&gt;&lt;/p&gt;</description>
<category>TyphoonSim</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=471/how-to-use-the-vbr-pmsm-in-non-linear-mode&amp;show=472#a472</guid>
<pubDate>Fri, 12 Sep 2025 12:07:23 +0000</pubDate>
</item>
<item>
<title>Answered: How to use lookup tables in TyphonSim for non-linear PMSM?</title>
<link>https://typhoon-hil.com/forum/?qa=468/how-to-use-lookup-tables-in-typhonsim-for-non-linear-pmsm&amp;show=470#a470</link>
<description>&lt;p&gt;Hi Antonio&lt;br&gt;&lt;br&gt;What type of look-up table you are trying to run. Is it 2D flux/inductance tables or is it 3D spatial tables?&lt;br&gt;&lt;br&gt;Also, are you using torque tables, or just fluxes?&lt;br&gt;&lt;br&gt;An example data set for these tables are provided in the component help page here:&lt;br&gt;&lt;br&gt;&lt;a href=&quot;https://www.typhoon-hil.com/documentation/typhoon-hil-software-manual/References/three_phase_permanent_magnet_synchronous_machine.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://www.typhoon-hil.com/documentation/typhoon-hil-software-manual/References/three_phase_permanent_magnet_synchronous_machine.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Let us know if that helps. I can also take a look at your tables if want to see if they are in the correct format (rows and columns matching their corresponding axis and their signs)&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;I&#039;m attaching a sample model with torque tables for reference.&lt;/p&gt;&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=2812335623446789278&quot;&gt;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=2812335623446789278&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Also if you don&#039;t mind, would you let me know which version of the Typhoon Control Center you are using?&lt;/p&gt;</description>
<category>TyphoonSim</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=468/how-to-use-lookup-tables-in-typhonsim-for-non-linear-pmsm&amp;show=470#a470</guid>
<pubDate>Wed, 10 Sep 2025 07:48:44 +0000</pubDate>
</item>
<item>
<title>Answered: Typhoonheck HIL 604 and uGrid DSP Interface 2.1 Compatibility</title>
<link>https://typhoon-hil.com/forum/?qa=463/typhoonheck-hil-604-and-ugrid-dsp-interface-compatibility&amp;show=466#a466</link>
<description>Hello,&lt;br /&gt;
&lt;br /&gt;
Both interface boards are compatible with HIL604. There are no any specific configuration steps required to use them with HIL604 device - just make sure the controller(s) are properly powered and programmed.&lt;br /&gt;
&lt;br /&gt;
BR</description>
<category>Hardware</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=463/typhoonheck-hil-604-and-ugrid-dsp-interface-compatibility&amp;show=466#a466</guid>
<pubDate>Mon, 08 Sep 2025 08:50:36 +0000</pubDate>
</item>
<item>
<title>Answered: Support Request – Noisy ADC Results with Typhoon HIL 101 and TI F28379D</title>
<link>https://typhoon-hil.com/forum/?qa=455/support-request-noisy-adc-results-with-typhoon-hil-f28379d&amp;show=457#a457</link>
<description>&lt;p&gt;To follow up on Jovan&#039;s answer, I&#039;ve attached&amp;nbsp;a simple &lt;a rel=&quot;nofollow&quot; href=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=2245174859834756779&quot;&gt;model &lt;/a&gt;where you can generate the code and validate ADC by using &lt;a rel=&quot;nofollow&quot; href=&quot;https://marketplace.typhoon-hil.com/package?package_name=TI+C2000+Toolbox&quot;&gt;TI C2000 Toolbox&lt;/a&gt;. There is a subsystem called &#039;adc&#039; where ADC component is configured and TI C2000 Setup component where you can click &#039;&lt;em&gt;Build and deploy&lt;/em&gt;&#039; button to generate and deploy the code to your controller. The value of the signal is scaled to PWM duty cycle range and applied to the input of the PWM component.&amp;nbsp;&lt;/p&gt;&lt;p&gt;In order to observe ADC result, you can track the value of &#039;ao1_sample&#039; probe in Code Composer Studio, or&amp;nbsp;you can use the part of the model with&amp;nbsp;&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.typhoon-hil.com/documentation/typhoon-hil-software-manual/References/pwm_analyzer.html&quot;&gt;&lt;em&gt;PWM Analyzer&lt;/em&gt;&lt;/a&gt;&amp;nbsp;which will output the duty cycle value of the PWM signal applied to the HIL digital input selected in the PWM component. This is an easy way to observe signals&amp;nbsp;from external controller in SCADA. Keep in mind that you need appropriate HIL firmware configuration that supports PWM Analyzer according to &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.typhoon-hil.com/documentation/typhoon-hil-software-manual/concepts/HIL101_device_configurations.html&quot;&gt;device configuration table&lt;/a&gt;.&lt;/p&gt;</description>
<category>Hardware</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=455/support-request-noisy-adc-results-with-typhoon-hil-f28379d&amp;show=457#a457</guid>
<pubDate>Fri, 29 Aug 2025 08:01:45 +0000</pubDate>
</item>
<item>
<title>Answered: Why are the currents on my interleaved converter not balanced?</title>
<link>https://typhoon-hil.com/forum/?qa=452/why-are-the-currents-on-interleaved-converter-not-balanced&amp;show=453#a453</link>
<description>&lt;p&gt;Let&#039;s consider an interleaved buck converter, consisting of two legs A and B. We want to understand the origin and estimate the value of a current imbalance that can occur.&lt;/p&gt;&lt;p&gt;In order to analyze the circuit, we can assume a continuous conduction mode. In such operation, the average output voltages at the switch node are given with va = Da*Vin, vb = Db*Vin. &lt;strong&gt;Current unbalance will occur if there is some difference in duty cycles.&lt;/strong&gt; If we express this difference in terms of duration, we can derive a generalized equation to calculate the current, as shown in the image.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=15344107337055268765&quot; style=&quot;height:220px; width:600px&quot;&gt;&lt;/p&gt;&lt;p&gt;In a real-world system, even if PWM modulator is programmed perfectly, the uncertainty will always exist with regards to signal propagation in the system due to the multiple reasons. Imperfection of passive components that are incorporated into the digital output/digital input circuit design will inevitably change the time constants of input/output impedances. There is also always uncertainty with regards to IO voltage levels - We specify that the minimum voltage value at which logic-high is detected is 2V, while maximum logic-low level is 0.8V, but we cannot be certain when exactly will the logic level change be detected. This will reflect into uncertainty of pulse duration as well.&lt;/p&gt;&lt;p&gt;In order to estimate the impact of the pulse length difference, let&#039;s assume that all the uncertainties add up to a single sample of a difference in pulse lengths of two legs - 3.5ns. If input voltage is 650V, fsw is 200kHz and RL is 10mOhm, the formula yields 45.5A of current unbalance between two legs! This means that &lt;strong&gt;even a very small difference in pulse length will cause a significant current unbalance&lt;/strong&gt;. Therefore, &lt;strong&gt;we shall not expect the current to be perfectly balanced when using HIL IO loopback, or the external controller in open-loop.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Interestingly, HIL will be able to capture even 1ns of pulse length difference if the external controller is used, even though the DI sampling rate is 3.5ns. Since the controller isn&#039;t synchronized with HIL in any way, duty cycle that&#039;s measured will not be constant between multiple switching periods. The average value of detected duty cycle will reflect the 1ns difference, which will be reflected in the simulation results, yielding 13A of current unbalance. This can be confirmed by using &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.typhoon-hil.com/documentation/typhoon-hil-software-manual/References/pwm_analyzer.html&quot;&gt;PWM Analyzer&lt;/a&gt; to measure the average duty cycle over long time span.&lt;/p&gt;&lt;p&gt;Finally, when running on the actual power hardware, uncertainties will be increased due to the fact that turn on/turn off delays on real power MOSFETs have ranges that are often 10s of nanoseconds. For this reason, one should always make sure to actively balance the currents.&lt;/p&gt;</description>
<category>Knowledge Base</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=452/why-are-the-currents-on-interleaved-converter-not-balanced&amp;show=453#a453</guid>
<pubDate>Mon, 25 Aug 2025 07:50:06 +0000</pubDate>
</item>
<item>
<title>Answered: What is wrong that I get this warning?</title>
<link>https://typhoon-hil.com/forum/?qa=450/what-is-wrong-that-i-get-this-warning&amp;show=451#a451</link>
<description>That warning tells you that, in case you short-circuit the inverter (switch permutation where all switches are closed), you will have a topological conflict between the switches and the voltage source of the DC link. Since you will probably never short-circuit your inverter, that will never actually happen. If you want to remove that ugly warning, you can just place some resistor in series with the voltage source. Even 1uOhm will remove the warning.</description>
<category>Modeling</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=450/what-is-wrong-that-i-get-this-warning&amp;show=451#a451</guid>
<pubDate>Mon, 25 Aug 2025 07:20:38 +0000</pubDate>
</item>
<item>
<title>Answered: Problem with usb connectivity</title>
<link>https://typhoon-hil.com/forum/?qa=446/problem-with-usb-connectivity&amp;show=448#a448</link>
<description>Hello,&lt;br /&gt;
&lt;br /&gt;
This might be a firmware issue with the HIL101. During the booting process of the HIL device the LED located at the front of the HIL should blink twice after some time.&lt;br /&gt;
&lt;br /&gt;
Can you check if it is blinking twice on your HIl101? Keep in mind that the LED will first be turned on without blinking for a certain amount of time (around a minute) before you see the blinking. &lt;br /&gt;
&lt;br /&gt;
If it is not blinking this could indicate a firmware issue.&lt;br /&gt;
&lt;br /&gt;
Best regards.</description>
<category>Hardware</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=446/problem-with-usb-connectivity&amp;show=448#a448</guid>
<pubDate>Wed, 20 Aug 2025 11:32:18 +0000</pubDate>
</item>
<item>
<title>Answered: MODBUS communication issue</title>
<link>https://typhoon-hil.com/forum/?qa=413/modbus-communication-issue&amp;show=445#a445</link>
<description>&lt;p&gt;Hello, I&#039;ve tried to reproduce the issue you are facing on a simple model that contains a Modbus Client with settings you provided. In this model,&amp;nbsp;values are set&amp;nbsp;on two SCADA Inputs, and read on the Modbus Server tool, while input values (sent from Modbus Server tool) are read on the output probes of Modbus Client.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=14529420716510600507&quot; style=&quot;height:215px; width:600px&quot;&gt;&lt;br&gt;Connection was established between pyModSlave tool and Typhoon HIL Modbus Client, and it is possible to both read values on the Modbus Client outputs and receive the sent values on Modbus Device.&lt;br&gt;&lt;img alt=&quot;&quot; src=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=4980880591079233731&quot; style=&quot;height:298px; width:599px&quot;&gt;&lt;br&gt;Were you able to resolve this issue? Can you please share more details about your model and setup? What HIL device are you using? Is it connected to PC using USB or ethernet cable? Is this the only request on the Modbus Client you set? Are the register addresses overlapping any other addresses on the Modbus Client or Modbus Device? Are there any warnings or errors raised on the Modbus Device you are using?&amp;nbsp;&lt;/p&gt;</description>
<category>Communication protocols</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=413/modbus-communication-issue&amp;show=445#a445</guid>
<pubDate>Fri, 15 Aug 2025 15:09:59 +0000</pubDate>
</item>
<item>
<title>Answered: Challenges in Simulating Shaded Photovoltaic IV Curves with Boost Converter in Typhoon HIL</title>
<link>https://typhoon-hil.com/forum/?qa=430/challenges-simulating-shaded-photovoltaic-converter-typhoon&amp;show=444#a444</link>
<description>&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNoSpacing&quot;&gt;Hi Igor,&lt;/p&gt;&lt;p class=&quot;MsoNoSpacing&quot;&gt;The Normalized IV curve type is better suited for voltage and current scaling, because you can specify the values of open-circuit voltage Voc and short-circuit current Isc. The .ipv file format is more suitable in cases where you do not need to modify the data set imported from the CSV file.&lt;/p&gt;&lt;p class=&quot;MsoNoSpacing&quot;&gt;In the Image 3 of a Normalized IV curve that you shared, the IV characteristic, which is colored in blue, is not monotonically decreasing.&amp;nbsp;There are multiple voltage values that correspond to a single current value. Maybe that is the cause of the voltage oscillations you observed.&lt;/p&gt;&lt;p class=&quot;MsoNoSpacing&quot;&gt;Perhaps you specified the voltage and power data sets in the CSV file instead of the voltage and current data sets, because the shape of the IV curve in Image 3 usually corresponds to a power-voltage curve with shading.&amp;nbsp;The first column is your CSV file is used for voltage data points, and the second column is used for current data points.&lt;/p&gt;&lt;p class=&quot;MsoNoSpacing&quot;&gt;For the solution with &lt;em&gt;n&lt;/em&gt; modules, there is no support available to show a single IV curve for multiple modules connected in series using the preview functionality in SCADA.&lt;/p&gt;&lt;p class=&quot;MsoNoSpacing&quot;&gt;Please find attached an example of a CSV file and the corresponding Normalized IV file for a shaded curve.&lt;/p&gt;&lt;p class=&quot;MsoNoSpacing&quot;&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=9303178631793787982&quot;&gt;photovoltaic_panel_shaded.csv&lt;/a&gt;&lt;/p&gt;&lt;p class=&quot;MsoNoSpacing&quot;&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=10882416649727951042&quot;&gt;photovoltaic_panel_shaded.ipvx&lt;/a&gt;&lt;/p&gt;&lt;p class=&quot;MsoNoSpacing&quot;&gt;&lt;/p&gt;</description>
<category>Modeling</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=430/challenges-simulating-shaded-photovoltaic-converter-typhoon&amp;show=444#a444</guid>
<pubDate>Thu, 14 Aug 2025 06:18:19 +0000</pubDate>
</item>
<item>
<title>Core Coupling problem</title>
<link>https://typhoon-hil.com/forum/?qa=442/core-coupling-problem</link>
<description>I have two single-phase inverters to form a four-leg inverter, but when I use core coupling to add a boost converter to the DC bus, the system behaves as if it were open-circuited. The inverter&amp;#039;s current is zero, and the bus voltage explodes. Without the core coupling, the system works, but only with HIL 604. I&amp;#039;d like to use it with 404. Does anyone have any suggestions?</description>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=442/core-coupling-problem</guid>
<pubDate>Tue, 12 Aug 2025 06:44:12 +0000</pubDate>
</item>
<item>
<title>Does Typhoon HIL support XCP protocol?</title>
<link>https://typhoon-hil.com/forum/?qa=438/does-typhoon-hil-support-xcp-protocol</link>
<description>&lt;p&gt;&lt;span style=&quot;font-size:14px&quot;&gt;Yes. Typhoon HIL supports XCP over&amp;nbsp;CAN and ETH.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size:14px&quot;&gt;Note:&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-size:14px&quot;&gt;XCP over ETH and CAN is supported from version THCC 2025.4.&amp;nbsp;While on previous THCC versions only&amp;nbsp;&lt;a rel=&quot;nofollow&quot; href=&quot;https://ticket.typhoon-hil.com/kb/faq.php?id=352&quot;&gt;XCP over CAN&lt;/a&gt;&amp;nbsp;is supported.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;XCP in the Typhoon HIL toolchain&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;XCP master is supported in the Typhoon HIL toolchain in HIL SCADA, via the Python library &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/christoph2/pyxcp&quot;&gt;pyxcp&lt;/a&gt;, while the parsing and importing of the a2l file is supported via the Python library &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/christoph2/pyA2L&quot;&gt;pya2l&lt;/a&gt;. XCP slave is not supported in the Typhoon HIL toolchain.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;Attached below is an example HIL SCADA panel file, where you can open the widget properties and write the Python code you want to execute.&amp;nbsp;For creating properly configurations, you should use xcp-profile utility to convert a legacy .json/.toml file:&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&amp;nbsp;xcp-profile convert -c &amp;lt;YOUR_FILE_NAME&amp;gt;.json -o pyxcp_conf.py&amp;nbsp;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;Then you can import the libraries and modules for XCP communication and other libraries.&lt;/p&gt;&lt;pre&gt;import sys 
from time import sleep 
from pyxcp.cmdline import ArgumentParser 
from pyxcp.daq_stim import DaqToCsv, DaqList, DaqRecorder&lt;/pre&gt;&lt;p&gt;To access additional Python scripts in your simulation, you will need to append the path for the script to the system path.&lt;/p&gt;&lt;pre&gt;sys.path.append(“d:/path/to/python/file”)
from xcp_script import XCPclass, open_db_session, create_measurement_list, parse_csv&lt;/pre&gt;&lt;p&gt;In order to parse the a2l file to retrieve the necessary information, the a2l file must be imported into an opened database. That database need to be open just once and you can do that by calling open_db_session() function before initializing anything:&amp;nbsp;&lt;/p&gt;&lt;pre&gt;db, session = open_db_session(a2l_file_path)&lt;/pre&gt;&lt;p&gt;The general idea is to acquire data from a device (ECU or simulator), process the data (either online or offline), and then store it or handle it in different formats. A DAQ list is a collection of measurements and data points to be recorded during the DAQ process. The allocation and optimization of ODTs is done automatically by pyXCP. For demonstration, we initialize DAQ list as follows:&amp;nbsp;&lt;/p&gt;&lt;pre&gt;&lt;span style=&quot;font-family:Source Code Pro,Monaco,Consolas,monospace,serif&quot;&gt;&lt;span style=&quot;font-size:14px&quot;&gt;daq_list = [DaqList(
    name=&quot;test&quot;,
    event_num=2,
    stim=False,
    enable_timestamps=False,
    measurements=daq_measurements,
    priority=0,
    prescaler=1
)]&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family:&amp;quot;Source Code Pro&amp;quot;,Monaco,Consolas,monospace,serif; font-size:14px&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;The data acquired can be stored in different formats:&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;CSV: For simple tabular data XMRAW:&amp;nbsp;&lt;/li&gt;&lt;li&gt;A proprietary format for pyXCP to record raw DAQ data&amp;nbsp;&lt;/li&gt;&lt;li&gt;Parquet, MDF, SQLite: Other formats available for processing and storing data&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The measurement parameter should contain a list of the desired measurements for your DAQ process. To construct this list, you can simply create a list of measurement name and then call the &lt;em&gt;create_measurement_list &lt;/em&gt;function. This function will automatically generate the compatible list of measurements that can be used in the measurements parameter.&amp;nbsp;&lt;/p&gt;&lt;pre&gt;&lt;span style=&quot;font-family:Source Code Pro,Monaco,Consolas,monospace,serif&quot;&gt;&lt;span style=&quot;font-size:14px&quot;&gt;measurement_names = [&quot;channel_d&quot;, &quot;TestDWord_501&quot;, &quot;TestDWord_502&quot;, &quot;TestWord_992&quot;, &quot;TestWord_991&quot;, &quot;TestWord_989&quot;]
daq_measurements = create_measurement_list(measurement_names, session)&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family:&amp;quot;Source Code Pro&amp;quot;,Monaco,Consolas,monospace,serif; font-size:14px&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;The flexible callback mechanism in pyXCP allows users to interact with the DAQ process in a more modular and customizable way using policies. This flexibility makes it easier for users to integrate DAQ functionality into their workflow according to their specific needs. Before initializing the master, first we need to initialize policy that we will use:&amp;nbsp;&lt;/p&gt;&lt;pre&gt;&lt;span style=&quot;font-family:Source Code Pro,Monaco,Consolas,monospace,serif&quot;&gt;&lt;span style=&quot;font-size:14px&quot;&gt;daq_parser = DaqToCsv(daq_list)&lt;/span&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;Then, we need to make an instance of ArgumentParser class which is used to set up the environment for running the DAQ process. Crete a master as follows:&amp;nbsp;&lt;/p&gt;&lt;pre&gt;&lt;span style=&quot;font-family:Source Code Pro,Monaco,Consolas,monospace,serif&quot;&gt;&lt;span style=&quot;font-size:14px&quot;&gt;ap = ArgumentParser()
with ap.run(policy=daq_parser) as xm:
    xcp = XCPclass(master=xm)&lt;/span&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;After that, you can use the functions defined in the pyxcp library &lt;em&gt;(connect, disconnect, upload, download)&lt;/em&gt; to connect and get additional info about the slave device. For unlocking a slave resource, you can implement your own function&amp;nbsp;as it is done in the XCP script attached below if you know the algorithm. Another option is to provide the DLL file for unlocking after calling the &lt;em&gt;get_seed_and_unlock &lt;/em&gt;function.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Important note&lt;/strong&gt;: If you wish to use the DLL method for unlocking the resource, you will need to modify the pyxcp_conf.py file, where you need to uncomment and set the &lt;em&gt;custom_dll_loader &lt;/em&gt;parameter.&lt;/p&gt;&lt;p&gt;This part of code is an example of how to use the functions defined in pyxcp and implement the xcp_script. The function &lt;em&gt;get_seed_and_unlock &lt;/em&gt;gets the XCP seed key and unlocks the specified resource.&lt;/p&gt;&lt;pre&gt;&lt;span style=&quot;font-family:Source Code Pro,Monaco,Consolas,monospace,serif&quot;&gt;&lt;span style=&quot;font-size:14px&quot;&gt;xcp = XCPclass(master=xm)
timestamp_enable = False
conn = xm.connect()
mode_info = xm.getCommModeInfo()
gid = xm.getId(0x1)
status = xm.getStatus()
xm.synch()

xcp.get_seed_and_unlock(xm, 0x04, dll_path)
DAQ_proc_info = xm.getDaqProcessorInfo()
DAQ_res_info = xm.getDaqResolutionInfo()
DAQ_info = xm.getDaqInfo()
for i in range(0, len(DAQ_info[&quot;channels&quot;])):
    DAQ_event_info = xm.getDaqEventInfo(i)
    upload_rcv = xm.upload(DAQ_event_info.eventChannelNameLength)

xcp.get_seed_and_unlock(xm, 0x01, dll_path)
scp = xm.setCalPage(0x83, 0, 0)

xcp.build_checksum_for_slave(xm, session)
xcp.set_mta_and_build_checksum(xm, session)
for i in range(0, DAQ_proc_info.maxEventChannel - 1):
    DAQ_event_info = xm.getDaqEventInfo(i)
    upload_rcv = xm.upload(DAQ_event_info.eventChannelNameLength)
pwm = xcp.get_measurement(xm, &quot;PWM&quot;, session)
print(pwm)
pwm_filter = xcp.get_measurement(xm, &quot;PWMFiltered&quot;, session)
print(pwm_filter)

value = 5
PWM_Level = xcp.get_characteristic_value(xm, &quot;PWM_Level&quot;, session)
print(PWM_Level)

xcp.set_characteristic_value(xm, value, &quot;PWM_Level&quot;, session)

PWM_Level = xcp.get_characteristic_value(xm, &quot;PWM_Level&quot;, session)
print(PWM_Level)

daq_parser.setup()
daq_parser.start()
sleep(1)
daq_parser.stop()
session.close()
xm.disconnect()&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;em&gt;get_measurement &lt;/em&gt;uploads the specified measurement value from slave to master. &lt;em&gt;set_characteristic_value &lt;/em&gt;downloads the specified characteristic value from master to slave. &lt;em&gt;get_characteristic_value &lt;/em&gt;uploads the specified characteristic value from slave to master.&lt;/p&gt;&lt;p&gt;Once the DAQ sequence is started, the results are stored in the .csv file in our example. You can parse that file using our custom function as follows:&amp;nbsp;&lt;/p&gt;&lt;pre&gt;&lt;span style=&quot;font-family:Source Code Pro,Monaco,Consolas,monospace,serif&quot;&gt;&lt;span style=&quot;font-size:14px&quot;&gt;data_dict = parse_csv(&quot;test.csv&quot;)
for i in range(len(data_dict)):
    print(data_dict[measurement_names[i]])&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;Example XCP scripts are attached. Feel free to adapt the scripts provided to your needs.&amp;nbsp;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=13536451398907822172&quot;&gt;XCP_on_CAN_script&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=16624735235799792504&quot;&gt;XCP_on_ETH_script&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Example HIL SCADA panel file:&amp;nbsp;&lt;a rel=&quot;nofollow&quot; href=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=14989128700179562455&quot;&gt;SCADA_example&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Example of config file:&amp;nbsp;&lt;a rel=&quot;nofollow&quot; href=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=2149648188116924395&quot;&gt;config_file_with_dll&lt;/a&gt;&lt;/p&gt;</description>
<category>Knowledge Base</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=438/does-typhoon-hil-support-xcp-protocol</guid>
<pubDate>Tue, 05 Aug 2025 13:50:02 +0000</pubDate>
</item>
<item>
<title>Does Typhoon HIL support UDS on CAN protocol?</title>
<link>https://typhoon-hil.com/forum/?qa=436/does-typhoon-hil-support-uds-on-can-protocol</link>
<description>&lt;p&gt;Yes&lt;strong&gt;,&amp;nbsp;&lt;/strong&gt;Typhoon HIL supports UDS on CAN protocol.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1. Introduction&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;The Unified Diagnostic Services (UDS) communication protocol is a standardized diagnostic protocol used in the automotive industry for communicating with and diagnosing electronic control units (ECUs) in vehicles. It can operate over Controller Area Network (CAN) bus, a widely-used communication network in modern vehicles.&lt;/p&gt;&lt;p&gt;Unified Diagnostic Services (UDS) is a client-server protocol commonly used in the automotive industry for diagnostic communication between a client (usually a diagnostic tool or tester) and a server (an electronic control unit or ECU within a vehicle). In this context:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Client: The client, typically a diagnostic tool or software application, initiates communication with the ECU by sending diagnostic requests and commands.&lt;/li&gt;&lt;li&gt;Server: The server, which is the ECU within the vehicle, responds to the client&#039;s requests, providing diagnostic information, performing actions requested by the client, and managing the internal functions of the ECU.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;2. UDS in Typhoon HIL toolchain&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;UDS Client is supported in the Typhoon HIL toolchain in HIL SCADA, via the Python library&amp;nbsp;&lt;a rel=&quot;nofollow&quot; href=&quot;http://github.com/pylessard/python-udsoncan&quot;&gt;udsoncan&lt;/a&gt;.&amp;nbsp;Parsing and importing of CDD files is done with the Python library&amp;nbsp;&lt;a target=&quot;_blank&quot; rel=&quot;nofollow&quot; href=&quot;https://github.com/cantools/cantools&quot;&gt;cantools&lt;/a&gt;. UDS Server is not supported in the Typhoon HIL toolchain.&lt;/p&gt;&lt;p&gt;Attached below is an example HIL SCADA panel file, where you can open the widget properties and write the Python code you want to execute.&lt;/p&gt;&lt;p&gt;First, import the libraries and modules for UDS communication and other libraries.&lt;/p&gt;&lt;pre&gt;import isotp
import cantools
from udsoncan.connections import *
from udsoncan.client import Client
from udsoncan import DataIdentifier, IOValues
from udsoncan.configs import default_client_config
import os.path, os&lt;/pre&gt;&lt;p&gt;To access additional Python scripts in your simulation, you will need to append the path for the script to the system path.&lt;/p&gt;&lt;p&gt;sys.path.append(&quot;d:/path/to/python/file&quot;)&lt;br&gt;from uds_script import UDSclass, create_config_dict&lt;/p&gt;&lt;p&gt;The CDD file plays a crucial role in defining the communication parameters and structure for diagnostic communication between a diagnostic tool (such as a scan tool or diagnostic tester) and the electronic control unit (ECU) within a vehicle. To load this file, we use the&amp;nbsp;&lt;em&gt;cantools&amp;nbsp;&lt;/em&gt;library and the&amp;nbsp;&lt;em&gt;create_config_dict&amp;nbsp;&lt;/em&gt;function:&lt;/p&gt;&lt;pre&gt;database_uds_example = cantools.db.load_file(uds_example_path)
config = dict(default_client_config)
config = create_config_dict(database=database_uds_example, config=config)&lt;/pre&gt;&lt;p&gt;To initialize the UDS Client we need to define the link layer, network layer, transport layer, and the interface between the application and transport layer:&lt;/p&gt;&lt;pre&gt;bus = VectorBus(channel=0, bitrate=500000, app_name=&quot;UDSsim&quot;) - Link Layer (CAN protocol)
tp_addr = isotp.Address(isotp.AddressingMode.Normal_11bits, txid=0x700, rxid=0x600)- Network layer
stack = isotp.CanStack(bus=bus, address=tp_addr, params=isotp_params) - Network/Transport layer (IsoTP protocol)
conn = PythonIsoTpConnection(stack) - interface between Application and Transport layer&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;After we have created the connection layers and config parameters, we can create the UDS Client:&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;pre&gt;with Client(conn=conn, request_timeout=3, config=config) as client:&lt;/pre&gt;&lt;p&gt;After that, we can use the functions defined in the udsoncan library&amp;nbsp;&lt;em&gt;(open, close, tester_present)&amp;nbsp;&lt;/em&gt;to communicate with the server and get additional information.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Here is an example how to communcate with the server:&lt;/p&gt;&lt;pre&gt;# Read and write data example for did = &quot;Windows&quot;
 uds.read_data(client=client, database=database_uds_example, did_ident=0x81)

 uds.write_data(client, database_uds_example, name=&quot;Windows&quot;, value=(0x04, 0x03, 0x02, 0x01))

 uds.read_data(client, database_uds_example, did_ident=0x81)

 uds.io_control_write(client, database_uds_example, name=&quot;Windows&quot;, values=(0x08, 0x07, 0x06, 0x05))&lt;/pre&gt;&lt;p&gt;The&amp;nbsp;&lt;em&gt;read_data&lt;/em&gt;&amp;nbsp;function reads the data from a specific ECU data identifier, while the&amp;nbsp;&lt;em&gt;write_data&lt;/em&gt;&amp;nbsp;function writes data to a specific ECU data identifier.&lt;/p&gt;&lt;p&gt;An example UDS script is attached. Feel free to adapt the scripts provided to your needs.&lt;a rel=&quot;nofollow&quot; href=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=12487893191047436312&quot;&gt;uds_script&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://typhoon-hil.com/forum/?qa=blob&amp;amp;qa_blobid=1010900618394658647&quot;&gt;uds_example&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</description>
<category>Knowledge Base</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=436/does-typhoon-hil-support-uds-on-can-protocol</guid>
<pubDate>Tue, 05 Aug 2025 06:47:52 +0000</pubDate>
</item>
<item>
<title>6-phase PMSM with single isolated neutral point</title>
<link>https://typhoon-hil.com/forum/?qa=434/6-phase-pmsm-with-single-isolated-neutral-point</link>
<description>Hello,&lt;br /&gt;
&lt;br /&gt;
Does anyone have the Typhoon model of PMSM (symmetrical or assymetrical) with a six-phase star-wound stator and single isolated neutral point?</description>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=434/6-phase-pmsm-with-single-isolated-neutral-point</guid>
<pubDate>Fri, 01 Aug 2025 09:59:48 +0000</pubDate>
</item>
<item>
<title>KeyError: &#039;time_data_type&#039; in stub.py when stop_capture() is called</title>
<link>https://typhoon-hil.com/forum/?qa=432/keyerror-time_data_type-in-stub-when-stop_capture-called</link>
<description>Hi all,&lt;br /&gt;
&lt;br /&gt;
I am going to use the start_capture() and stop_capture() functions from the Typhoon HIL API 1.30.0 and Typhoon Control Center 2023.3. Based on the code examples from documentation I prepared a small test to verify if it works as expected and got the following error:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def recv_time_data(socket, flags=0, copy=False, track=True):&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;recv a numpy array or a dict with a numpy array and scalars&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;# first receive a metadata as json&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;md = socket.recv_json(flags=flags)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(md)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;# time data are sent as dictionary&lt;br /&gt;
&lt;br /&gt;
&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if md[&amp;quot;time_data_type&amp;quot;] == &amp;quot;dict&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;^^^^^^^^^^^^^^^^^^^^&lt;br /&gt;
&lt;br /&gt;
E &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KeyError: &amp;#039;time_data_type&amp;#039;&lt;br /&gt;
&lt;br /&gt;
.venv\Lib\site-packages\typhoon\api\hil\stub.py:56: KeyError&lt;br /&gt;
&lt;br /&gt;
I printed the md structure and it shows the following data:&lt;br /&gt;
&lt;br /&gt;
[WARNING] [CAPTURE MESSAGE] stop_capture() will be ignored since desired number of samples are already captured!&lt;br /&gt;
&lt;br /&gt;
{&amp;#039;dtype&amp;#039;: &amp;#039;float64&amp;#039;, &amp;#039;shape&amp;#039;: [100000]}&lt;br /&gt;
&lt;br /&gt;
so it is right that the key &amp;nbsp;&amp;quot;time_data_type&amp;quot; does not exist.&lt;br /&gt;
&lt;br /&gt;
Is this a bug in the HiL API or incompability issue?&lt;br /&gt;
&lt;br /&gt;
After replacing the key: &amp;#039;time_data_type&amp;#039; with &amp;#039;dtype&amp;#039; it works as expected.&lt;br /&gt;
&lt;br /&gt;
The code snipped I used for testing:&lt;br /&gt;
&lt;br /&gt;
def test_typhoon_recorder():&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;import typhoon.api.hil as typhoon_hil&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;import time&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trigger_settings = [&amp;quot;Forced&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timeout = 2&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;capture_settings = [10, 2, 1e5]&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;channel_settings = [[&amp;quot;TestOC.IaOCTest&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;TestOC.IcOCTest&amp;quot;], []]&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;buffer = []&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;typhoon_hil.set_text_mode(typhoon_hil.RM_SYSTEM)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;typhoon_hil.load_model(MODEL_NAME)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;typhoon_hil.load_settings_file(RUNX_SETTINGS)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;typhoon_hil.start_simulation()&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time.sleep(2)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;typhoon_hil.start_capture(&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;capture_settings,&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trigger_settings,&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;channel_settings,&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dataBuffer=buffer,&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timeout=timeout,&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time.sleep(2)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;typhoon_hil.stop_capture()&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(buffer)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;typhoon_hil.stop_simulation()</description>
<category>Test Automation</category>
<guid isPermaLink="true">https://typhoon-hil.com/forum/?qa=432/keyerror-time_data_type-in-stub-when-stop_capture-called</guid>
<pubDate>Wed, 30 Jul 2025 08:23:45 +0000</pubDate>
</item>
</channel>
</rss>