メインコンテンツ

FunctionPortSpecification

C Caller ブロックのプロパティのクエリと構成

説明

C Caller ブロックの関数定義と戻り引数をクエリして構成します。C Caller ブロックの入力引数をプログラムで構成します。

作成

myCCallerObj = get_param(gcb, 'FunctionPortSpecification') は、選択された C Caller ブロックについての C Caller ブロックの構成オブジェクトを作成します。

プロパティ

すべて展開する

モデルでの C 関数の入力の C Caller ブロックへのマッピングを表示します。このプロパティはコマンド ラインを使用して編集することはできません。C 関数のマッピングを編集するには、C Caller ブロックのソース コードを編集します。

例: real_T add(real_T u1, real_T u2);

データ型: char

FunctionArgument オブジェクトとして関数の入力引数のリストを返します。

データ型: FunctionArgument

出力引数を FunctionArgument オブジェクトとして返します。

データ型: FunctionArgument

FunctionArgument オブジェクトとして関数インターフェイスのグローバル引数のリストを返します。

データ型: FunctionArgument

オブジェクト関数

getGlobalArgC Caller ブロックのグローバル変数のオブジェクト定義を取得する
addGlobalArgSelectively add global variable from custom code to C Caller block as global argument
deleteGlobalArgSelectively delete global arguments from C Caller block

すべて折りたたむ

Call Custom C Functions in Simulink Using C Caller Blockの例からモデルを開きます。

openExample('simulink/ArithmeticOperationsUsingCCallerBlocksExample')
open_system('CCallerExample.slx')

CCallerExample という名前のモデルを使用して C Caller ブロックの構成オブジェクトを作成します。

 my_CCallerObj = get_param('CCallerExample/C Caller',...
                          'FunctionPortSpecification')
my_CCallerObj = 

  FunctionPortSpecification with properties:

         CPrototype: 'real_T add(real_T u1, real_T u2);'
     InputArguments: [1×2 Simulink.CustomCode.FunctionArgument]
     ReturnArgument: [1×1 Simulink.CustomCode.FunctionArgument]
    GlobalArguments: [1×0 Simulink.CustomCode.FunctionArgument]

1 つ目の入力端子の FunctionArgument オブジェクトを作成します。

inargone = my_CCallerObj.InputArguments(1)
inargone = 

  FunctionArgument with properties:

          Name: 'u1'
    PortNumber: 1
          Size: '1'
          Type: 'double'
         Label: 'u1'
         Scope: 'Input'

1 つ目の入力端子のラベルを変更します。

inargone.Label = 'inputport1'
 FunctionArgument with properties:

          Name: 'u1'
    PortNumber: 1
          Size: '1'
          Type: 'double'
         Label: 'inputport1'
         Scope: 'Input'

バージョン履歴

R2019b で導入