ssGetCallSystemNumFcnCallDestinations

Получите количество мест назначения вызова функции.

Синтаксис

int_T ssGetCallSystemNumFcnCallDestinations(SimStruct *S, int_T elemIdx)

Аргументы

S

SimStruct, который представляет Блок s-function

elemIdx

Основанный на нуле индекс элемента, который выводится на первом выходном порте.

Возвращается

int_T

Описание

Используйте, чтобы определить количество мест назначения вызова функции, когда сигнал вызова функции будет разделен блоком Function-Call Split.

Языки

C, C++

Пример

В этой модели в качестве примера пользовательский Блок s-function выводит сигнал вызова функции на своем первом порте и запрашивает количество мест назначения вызова функции через его второй выходной порт и вызов ssGetCallSustemNumFcnCallDestinations (S, 0). Сигнал разделен блоком Function-Call Split и затем вызывает два места назначения вызова функции: f и h. Выходной порт Out3 правильно выходные параметры 2.

static void mdlOutputs(SimStruct *S, int_T tid) {
    /* 
     * The second output port outputs the number of blocks 
     * being called to Out3
     */
    real_T *y     = ssGetOutputPortRealSignal(S, 1);
    int_T   numFC = ssGetCallSystemNumFcnCallDestinations(S, 0);
    y[0] = (real_T)numFC;
    UNUSED_PARAMETER(tid);
    /* The first output (function-call port) makes a function-call */
    if (!ssCallSystem(S,0)) {
        /* Error occurred which will be reported by Simulink */
        /* Not true, Simulink does not report it*/
    }
}

Представленный в R2010a

Была ли эта тема полезной?