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.
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:
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:
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.