Main Content

Code Generation with From Video Device Block

Code Generation Workflow

The From Video Device block supports code generation with Simulink® Coder™. Generating code from the From Video Device block enables you to run models containing the block in Accelerator, Rapid Accelerator, and Deployed modes.

A typical workflow for code generation follows.

  1. Develop a model using the From Video Device block and sink blocks from other toolboxes, such as the Computer Vision Toolbox™.

  2. Run the simulation to verify that your device is working.

  3. Build the model to generate code and create the executable.

The deployed application can then be used on a machine that does not have MATLAB® and Simulink.

Code Generation with Simulink Coder

You can use Image Acquisition Toolbox™, Simulink Coder, and Embedded Coder® together to generate code (on the host end) that you can use to implement your model for a practical application. For more information on code generation, see the Simulink Coder documentation.

Note

If you use a GigE Vision® camera with the From Video Device block, you must install GenICam™ to use the generated application outside of MATLAB. After you install the GenICam driver, load the DLL files by manually adding the path to the DLL files to the system path (in Control Panel > System > Advanced system settings > Environment Variables...).

Shared Library Dependencies

The From Video Device block generates code with limited portability. The block uses precompiled shared libraries, such as DLLs, to support I/O for specific types of devices. Simulink Coder provides functions to help you set up and manage the build information for your models. One of the build information functions that Simulink Coder provides is packNGo. This function allows you to package model code and dependent shared libraries into a zip file for deployment. The target system does not need to have MATLAB installed but it does need to be supported by MATLAB.

The block supports use of the packNGo function. Source-specific properties for your device are honored when code is generated. The generated code compiles with both C and C++ compilers.

To set up packNGo, run the following code in the MATLAB Command Window.

set_param(gcs,'PostCodeGenCommand','packNGo(buildInfo)');

In this example, gcs is the current model that you want to build. Building the model creates a zip file with the same name as the model name. You can move this zip file to another machine and build the source code in the zip file to create an executable that can run independent of MATLAB and Simulink. For more information, see packNGo (Simulink Coder).

Note

The From Video Device block supports the use of Simulink Rapid Accelerator mode and code generation on Windows® platforms. Code generation is also supported on Linux®, but Rapid Accelerator mode is not.

Note

If you get a “Device in use” error message when using the block with certain hardware, such as Matrox®, close any programs that are using the hardware, and try using the block again.

Note

On Linux platforms, you need to add the directory where you unzip the libraries to the environment variable LD_LIBRARY_PATH.

See Also