Here are some example reasons why an S-Function does not build or run in QUARC:
- It contains functions (e.g., from certain The MathWorks toolboxes) that are not compatible with MATLAB Coder and/or Simulink Coder toolboxes.
- It containsfile read/write operators.
- It contains or calls third-party drivers that are not supported.
- It contains an algorithm that itself may not be supported by the MATLAB Coder and/or Simulink Coder toolboxes for real-time execution (e.g., non-causal algorithms).
In addition if the custom S-Function cannot be compiled and run with The MathWorks™ Generic Real-Time(GRT) target, it will not be compatible and work with QUARC. However if it does compile and run with the GRT target, it is not guaranteed to work in QUARC. QUARC runs in a protected real-time environment that may not support third-party drivers, particularly those that attempt to access Microsoft Windows GUI elements, such as window handles (HWND).
Please refer to the following The MathWorks™ website for the limitations on the S-functions: http://www.mathworks.com/help/simulink/sfg/s-function-limitations.html