Main Content

このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。

set

クラス: timer

timer オブジェクトに対するプロパティ値の設定

説明

set(t) は、timer オブジェクト t の設定可能なすべてのプロパティのプロパティ名と取り得る値を表示します。

propStruct = set(t) は、struct の値を返します。

set(t,Name) は、timer オブジェクト t の指定したプロパティ Name が取り得る値を表示します。

propCell = set(t,Name) は、cell の値を返します。

set(t,Name,Value) は、1 つ以上の Name,Value のペアの引数で指定されたプロパティを設定します。t は単一の timer オブジェクトとは限らず、timer オブジェクトのベクトルである場合もあります。この場合、set は、すべての timer オブジェクト t にプロパティ値を設定します。

set(t,S) は、S に指定された値を使って、t のプロパティを設定します。ここで、S は構造体で、そのフィールド名はオブジェクト プロパティ名になります。

set(t,PN,PV) は、timer オブジェクト t に対して、文字ベクトルの cell 配列 PN で指定されたプロパティを、cell 配列 PV の対応する値に設定します。

入力引数

t

timer クラスのオブジェクト。

S

フィールド名が timer のプロパティ名である構造体。

PN,PV

文字ベクトルの cell 配列 PN と、対応する値の cell 配列 PV。cell 配列 PN は、1 行 N 列または N 行 1 列の配列でなければなりません。t が、timer オブジェクトの配列の場合、PV は、M 行 N 列の cell 配列になります。ここで、M は t の長さで、N は PN の長さです。この場合、各 timer オブジェクトは、PN に含まれるプロパティ名の一覧に対して、異なる組の値に更新されます。

名前と値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

BusyMode

TimerFcn の前の実行が完了する前に、タイマーが TimerFcn を実行しなければならない場合に行う操作を示す文字ベクトルまたは string スカラー。Running='on' の場合、BusyMode は読み取り専用です。次の表は、ビジー モードをまとめたものです。

BusyMode の値

キューが空の場合の動作

キューが空でない場合の動作

メモ:

'drop'

キューにタスクを追加

タスクを無視

場合によって、TimerFcn 呼び出しをスキップ

'error'

キューにタスクを追加

タスクを完了。ErrorFcn で指定されたエラーをスロー。タイマーを停止

実行キュー内のタスクを実行した後、タイマーを停止

'queue'

キューにタスクを追加

キューが空になるまで待機してから、キューにタスクを格納

実行キューのタスクを管理するように、Period プロパティを調整

詳細については、タイマー キューの競合への対処を参照してください。

既定値: 'drop'

ErrorFcn

エラーの発生時にタイマーが実行する関数を定義する文字ベクトル、string スカラー、関数ハンドル、または cell 配列。エラーが発生すると、この関数が実行され、StopFcn が呼び出されます。

  • 文字ベクトルまたは string スカラーを使用してこのプロパティを指定した場合、MATLAB® は、コールバックの実行時にその文字ベクトルに含まれる MATLAB コードを評価します。

  • 関数ハンドルを使用してこのプロパティを指定する場合、MATLAB がコールバックを実行すると、timer オブジェクトとイベント構造体をコールバック関数に渡します。イベント構造体には、Type フィールド内のイベントのタイプと Data フィールド内のイベントの時間が含まれます。

  • コールバック関数が、timer オブジェクトとイベント データに加えて引数を受け入れる場合、このプロパティを、関数ハンドルと追加引数が含まれる cell 配列として指定します。

詳細については、タイマー コールバック関数を参照してください。

ExecutionMode

timer オブジェクトがタイマー イベントのスケジュールを設定する方法を指定する文字ベクトルまたは string スカラー。Running='on' の場合、ExecutionMode は読み取り専用です。次の表は、実行モードをまとめたものです。

実行モード

Period 時間の開始点

'singleShot'

このモードでは、タイマー コールバック関数は一度だけ実行されます。このため、Period プロパティは効果がありません。これは、既定の実行モードです。

'fixedRate'

タイマー コールバック関数を MATLAB 実行キューに追加した直後に開始します。

'fixedDelay'

MATLAB 実行キューの遅延に起因するタイム ラグ後、タイマー関数コールバックの実行が再開された後に開始します。

'fixedSpacing'

タイマー コールバック関数の実行が終了すると開始します。

  • 'singleShot' は、timer クラスに対する単一実行モードで、既定の値です。

  • 'fixedDelay''fixedRate' および 'fixedSpacing' は、サポートされている 3 つのマルチ実行モードです。これらのモードは、Period プロパティの開始点を定義します。Period プロパティは、実行間の時間間隔 (実行間隔は同じ) を指定します。実行が始まる時点のみ異なります。

既定値: 'singleShot'

Name

timer の名前を表す文字ベクトルまたは string スカラー。

既定値: 'timer-i'。ここで i はこのセッションで作成された i 番目の Timer オブジェクトを示す番号です。i を 1 にリセットするには、clear classes コマンドを実行します。

ObjectVisibility

'on' または 'off' の値を取り得る文字ベクトルまたは string スカラー。アプリケーションによって作成された timer オブジェクトにエンド ユーザーが簡単にアクセスできないようにする方法を提供します。関数 timerfind は、ObjectVisibility プロパティが 'off' に設定されているオブジェクトを返しません。オブジェクトは、表示されませんが有効です。表示されないものも含めて、メモリ内にあるすべての timer オブジェクトのリストを抽出するには、関数 timerfindall を使用します。

既定値: 'on'

Period

TimerFcn の実行間の遅延を秒単位で設定する 0.001 より大きい数値。タイマーで Period を使用するには、複数の timer オブジェクトのコールバック イベントのスケジュールを設定するように、ExecutionModeTasksToExecute を設定しなければなりません。

既定値: 1.0

StartDelay

タイマーの開始から TimerFcn で指定された関数の最初の実行までの遅延を秒単位で指定する 0 以上の数値。Running = 'on' の場合、StartDelay は読み取り専用です。

既定値: 0

StartFcn

タイマーの開始時に実行される関数を定義する文字ベクトル、string スカラー、関数ハンドル、または cell 配列。

  • 文字ベクトルまたは string スカラーを使用してこのプロパティを指定した場合、MATLAB は、コールバックの実行時にその文字ベクトルに含まれる MATLAB コードを評価します。

  • 関数ハンドルを使用してこのプロパティを指定する場合、MATLAB がコールバックを実行すると、timer オブジェクトとイベント構造体をコールバック関数に渡します。イベント構造体には、Type フィールド内のイベントのタイプと Data フィールド内のイベントの時間が含まれます。

  • コールバック関数が、timer オブジェクトとイベント データに加えて引数を受け入れる場合、このプロパティを、関数ハンドルと追加引数が含まれる cell 配列として指定します。

詳細については、タイマー コールバック関数を参照してください。

StopFcn

タイマーの停止時に実行される関数を定義する文字ベクトル、string スカラー、関数ハンドル、または cell 配列。

  • 文字ベクトルまたは string スカラーを使用してこのプロパティを指定した場合、MATLAB は、コールバックの実行時にその文字ベクトルに含まれる MATLAB コードを評価します。

  • 関数ハンドルを使用してこのプロパティを指定する場合、MATLAB がコールバックを実行すると、timer オブジェクトとイベント構造体をコールバック関数に渡します。イベント構造体には、Type フィールド内のイベントのタイプと Data フィールド内のイベントの時間が含まれます。

  • コールバック関数が、timer オブジェクトとイベント データに加えて引数を受け入れる場合、このプロパティを、関数ハンドルと追加引数が含まれる cell 配列として指定します。

詳細については、タイマー コールバック関数を参照してください。

タイマーは、以下の状態のときに停止します。

  • タイマーの stop メソッドを呼び出した場合。

  • タイマーが TimerFcn の実行を終了した場合。つまり、TasksExecuted 値が TasksToExecute によって設定された制限に達した場合。

  • エラーが発生します。ErrorFcn コールバックが最初に呼び出され、その後に StopFcn コールバックが呼び出されます。

StopFcn を使用して、メモリからの timer オブジェクトの削除などのクリーンアップ操作を定義できます。

Tag

オブジェクトのラベルを表す文字ベクトルまたは string スカラー。

TasksToExecute

0 より大きい数値。timer オブジェクトが実行する TimerFcn コールバックの回数を示します。TasksToExecute プロパティを使用して、実行回数を設定します。TasksToExecute を使用するには、複数のタイマー コールバック イベントのスケジュールを設定するように、ExecutionMode を設定しなければなりません。

既定値: Inf

TimerFcn

タイマー コールバック関数を定義する文字ベクトル、string スカラー、関数ハンドル、または cell 配列。タイマーを開始する前に、このプロパティを定義しなければなりません。

  • 文字ベクトルまたは string スカラーを使用してこのプロパティを指定した場合、MATLAB は、コールバックの実行時にその文字ベクトルに含まれる MATLAB コードを評価します。

  • 関数ハンドルを使用してこのプロパティを指定する場合、MATLAB がコールバックを実行すると、timer オブジェクトとイベント構造体をコールバック関数に渡します。イベント構造体には、Type フィールド内のイベントのタイプと Data フィールド内のイベントの時間が含まれます。

  • コールバック関数が、timer オブジェクトとイベント データに加えて引数を受け入れる場合、このプロパティを、関数ハンドルと追加引数が含まれる cell 配列として指定します。

詳細については、タイマー コールバック関数を参照してください。

UserData

オブジェクトに追加するデータ用の汎用フィールド。

出力引数

propStruct

t の設定可能なプロパティ。構造体として返されます。propStruct のフィールド名は t のプロパティ名で、propStruct の関連する値は取り得るプロパティ値の cell 配列です。t のプロパティが取り得る値のセットに制限がない場合、propStruct のプロパティ値は空の cell 配列になります。

propCell

指定されたプロパティ名の取り得る値。文字ベクトルの cell 配列として返されます。プロパティが取り得る値のセットに制限がない場合、set は空の cell 配列を返します。

すべて展開する

timer オブジェクトのインスタンスを作成し、set メソッドを呼び出します。

t = timer;
set(t)
                Name: {}
                 Tag: {}
    ObjectVisibility: {2x1 cell}
      TasksToExecute: {}
            StartFcn: {}
             StopFcn: {}
            ErrorFcn: {}
            TimerFcn: {}
          StartDelay: {}
              Period: {}
            BusyMode: {3x1 cell}
       ExecutionMode: {4x1 cell}
            UserData: {}

Running など、一部の timer プロパティは読み取り専用のため表示されません。

set メソッドを使用して構造体を出力します。

out = set(t)
out = struct with fields:
                Name: {}
                 Tag: {}
    ObjectVisibility: {2x1 cell}
      TasksToExecute: {}
            StartFcn: {}
             StopFcn: {}
            ErrorFcn: {}
            TimerFcn: {}
          StartDelay: {}
              Period: {}
            BusyMode: {3x1 cell}
       ExecutionMode: {4x1 cell}
            UserData: {}

メモリから timer オブジェクトを削除します。

delete(t)

timer オブジェクトのインスタンスを作成し、BusyMode プロパティの取り得る値を表示します。

t = timer;
set(t,'BusyMode')
  3x1 cell array

    {'drop' }
    {'queue'}
    {'error'}

出力には、BusyMode が取り得る 3 つの値が表示されます。既定値 drop は、中かっこで示します。

ErrorFcn の取り得る値を表示します。

set(t,'ErrorFcn')
  0x0 empty cell array

ErrorFcn には取り得る値の設定リストがないため、取り得る値の説明が表示されます。

取り得るプロパティ値を出力します。

out1 = set(t,'BusyMode')
out1 = 3x1 cell
    {'drop' }
    {'queue'}
    {'error'}

out2 = set(t,'ErrorFcn')
out2 =

  0x0 empty cell array

set(t,'ErrorFcn') は取り得る値の説明を表示し、out2 = set(t,'ErrorFcn') は空のセルを返します。

メモリからタイマーを削除します。

delete(t)

timer オブジェクトのインスタンスを作成し、オブジェクトを非表示にします。オブジェクトの可視性を表示し、オブジェクトを削除します。

t = timer;
set(t,'ObjectVisibility','off')
get(t,'ObjectVisibility')
ans = 
'off'
delete(t)

構造体を作成して、複数の timer オブジェクト プロパティを変更します。

s.BusyMode = 'queue';
s.ExecutionMode = 'fixedDelay';
s.ObjectVisibility = 'off'
s = struct with fields:
            BusyMode: 'queue'
       ExecutionMode: 'fixedDelay'
    ObjectVisibility: 'off'

タイマーの作成、s のプロパティの表示、タイマーの変更、プロパティの新しい値の表示およびタイマーの削除を行います。

t = timer;
get(t,{'BusyMode','ExecutionMode','ObjectVisibility'})
ans=1×3 cell array
    {[drop]}    {[singleShot]}    {'on'}

set(t,s)
get(t,{'BusyMode','ExecutionMode','ObjectVisibility'})
ans=1×3 cell array
    {[queue]}    {[fixedDelay]}    {'off'}

delete(t)

変更するプロパティの cell 配列と、対応するプロパティの値の cell 配列を作成します。タイマーのインスタンスを作成し、プロパティ名の cell 配列 nameArr のプロパティの初期値を表示します。

nameArr = {'BusyMode','ExecutionMode','Period'};
valArr = {'queue','fixedDelay',3};
t = timer;
get(t,nameArr)
ans=1×3 cell array
    {[drop]}    {[singleShot]}    {[1]}

timer オブジェクトを変更し、新しいプロパティ値を表示します。タイマーを削除します。

set(t,nameArr,valArr)
get(t,nameArr)
ans=1×3 cell array
    {[queue]}    {[fixedDelay]}    {[3]}

delete(t)

3 つのタイマーの配列のインスタンスを作成します。新しいプロパティ名の cell 配列を作成し、BusyModeExecutionMode および UserData プロパティを変更します。各タイマーのプロパティの初期値を表示します。

tArr = [timer timer timer];
nameArr = {'BusyMode','ExecutionMode','UserData'};
get(tArr,nameArr)
ans=3×3 cell array
    {[drop]}    {[singleShot]}    {0x0 double}
    {[drop]}    {[singleShot]}    {0x0 double}
    {[drop]}    {[singleShot]}    {0x0 double}

タイマーごとに各プロパティに異なる値を割り当てます。新しい値を含む cell 配列を作成します。各行は、対応するタイマーのプロパティの値を示します。

valArr = {'queue','fixedDelay',3;...
            'error','fixedSpacing',42;...
            'drop','fixedRate','hello'};

timer オブジェクトのプロパティを変更し、更新された値を表示します。

set(tArr,nameArr,valArr)
get(tArr,nameArr)
ans=3×3 cell array
    {[queue]}    {[fixedDelay  ]}    {[    3]}
    {[error]}    {[fixedSpacing]}    {[   42]}
    {[drop ]}    {[fixedRate   ]}    {'hello'}

メモリからタイマーを削除します。

delete(tArr)

代替方法

ドット表記を使用して、timer オブジェクト プロパティを設定することもできます。たとえば、t.ObjectVisibility = 'off' はプロパティを set(t,'ObjectVisibility','off') と同じ値に設定します。

参考

|

R2006a より前に導入