VisSim/C-Code automatically translates VisSim diagrams into highly optimized, ANSI C code that can be compiled and run on the host PC, an embedded target, or any platform that supports an ANSI C compiler. The generated C-code is royalty free. It can be used on any platform with no additional charge.
Using a technique called "constant folding," the generated code is optimized for speed by performing evaluation of constant expressions at compile time. In addition, the number of function calls and array references are minimized to increase code efficiency. The resulting executables run up to ten times faster than their block diagram counterparts, which is particularly useful for applications with high sampling rates.
VisSim/C-Code preserves variable names from the block diagrams to make it easier to identify signals in the generated code. In addition, comments can be inserted to indicate the hierarchical level of the diagram from which the code is generated. Finally all C code is formatted, including word length control, to improve readability and maintainability.
Automatic DLL Generation
VisSim/C-Code can automatically generate DLLs from any portion of a block diagram. For complex, multi-level diagrams, using DLLs rather than the corresponding blocks can significantly increase simulation speed and efficiency.
Simulation Object Generator
The PC target supports creation of a standalone executable, a DLL to run as a block in VisSim, or a "simObject." A simObject allows you to embed one or more VisSim simulations in your C or C++ application. You control a simObject via the simObject API. A simObject can be instantiated multiple times, allowing multiple copies of a simulation to be run simultaneously. A simObject takes user input, runs to a user-specified time, and provides simulation output. You can reset simObjects to run again. In case of errors, SimObjects return strings for the application to use.