Digital I/O

Showing results for 
Search instead for 
Did you mean: 

NI Multisim - Digital I/O from External Programs



I am currently evaluating the NI Multisim software. I would like to ask you a question regarding the NI Multisim and digital I/O. I would like to know whether it is somehow possible to simulate a circuit and at the same time send digital I/O signals to this circuit 'programatically' from an external program written either in C/C++, Java or Python (in real time). What I would like to achieve is to be able to send  these input 'signals' to the circuit from an external program at specified times and at the same time observe the behaviour of the circuit or perhaps gather the digital output responses of from the circuit and react to it in an external program.


Is something like this possible with the NI Multisim?


Thank you very much for information.


Tomas Selnekovic

0 Kudos
Message 1 of 3

Hi Tomas,


Thank you for your message.


Multisim provides an API based on ActiveX that you can use to automate the circuit simulation. For LabVIEW, we developed a toolkit that you can use to take advantage of ~120 high-level functions. More info can be found at:


Automate Circuits Analyses with the NI LabVIEW Multisim API Toolkit


On the other hand, since the Multisim is based on ActiveX, any programming language with this capability can use the API.


Now, have in mind that this is for automation purposes. You can control Multisim, get/send data, however the data exchange is in simulation time, not real-time.


Another approach is what we call Multisim/LabVIEW Co-simulation. In this scenario we can simulate the analog electronics in Multisim and the digital control in LabVIEW. The advantage is that both simulators adapt their time steps to produce accurate results. This is only available for LabVIEW. Here are some references:


Introduction to Digital and Analog Co-simulation Between NI LabVIEW and NI Multisim

Power Electronics Co-Simulation with NI Multisim and LabVIEW


Other approaches for integrating "real data" into Multisim include acquiring and saving the data and then importing the data into the simulation. This way your simulation uses real signals.


Hope this helps.

Fernando D.
National Instruments

0 Kudos
Message 2 of 3

Hi Fernando,


thank you for your response. I will try it with the ActiveX approach. I think, the following articles could be useful starting points:


Tomas Selnekovic

0 Kudos
Message 3 of 3