NATOC API(プログラミングインタフェイス)


 NATOC API(プログラミングインタフェイス)は、MicroSoft Visual BasicまたはMicroSoft Visual C++からNATOCの機能を使うための関数です。
 NATOC APIの使い方についてはNATOC SDKで提供されるサンプルプログラムのソースコードも合わせて参照してください。

 関数の呼び出し書式は、Visual Basicの場合はVB書式、Visual C++の場合はC書式となります。

初期化
機能 NATOCとの通信の初期化を行う
VB書式 Function InitNATOC(ByVal licenseKey As Long, ByVal hWnd As Long) As Integer
C書式 short InitNATOC(int licenseKey, HWND hWnd);
戻り値 0 = 正常 -1 = 通信エラー  
引数 licenseKey ライセンスキー 10桁の10進数
  hWnd ライブ画像表示ウィンドハンドル NULLを指定するとライブ画像はNATOC本体に表示される


列車位置取得
機能 列車の現在位置や周回数等を取得する
VB書式 Function GetTrainPosition(ByRef train_x As Integer, ByRef train_y As Integer,
  ByRef train_loop As Integer, ByRef train_angle As Integer) As Integer
C書式 short GetTrainPosition(short *train_x, short *train_y, short *train_loop, short *train_angle);
戻り値 0 = 正常 -1 = 通信エラー  
引数 train_x 列車位置X座標 レイアウトの座標系(640x480),左上(0,0)
  train_y 列車位置Y座標 レイアウトの座標系(640x480),左上(0,0)
  train_loop 列車の周回数 回る方向に関係なく1回転(角度変化が360以上)すると加算される
  train_angle 列車の角度変化 レイアウト中心に対する角度変化(0〜360)、
回る方向に関係なく角度が変化すると加算される


NATOC制御コマンド
機能 NATOC本体の制御をする
VB書式 Function ControlNATOC(ByVal command As Integer) As Integer
C書式 short ControlNATOC(short command);
戻り値 0 = 正常 -1 = 通信エラー -2 = 引数エラー
引数 command 制御コマンド
command SDK_AUTO_STOP 0 自動運転終了(アプリケーションのプログラム)
  SDK_AUTO_START 1 自動運転開始(アプリケーションのプログラム)
  NATOC_AUTO_STOP 10 自動運転終了(NATOC本体のプログラム)
  NATOC_AUTO_START 11 自動運転開始(NATOC本体のプログラム)
  自動運転のプログラムをアプリケーション側のものを使うかNATOC本体側のものを使うかで
使うコマンドが異なります。アプリケーションでプログラムを作った時はSDK_AUTO_STARTで開始してください。


レイアウト制御コマンド
機能 レイアウトの制御をする
VB書式 Function ControlLayout(ByVal command As Integer) As Integer
C書式 short ControlLayout(short command);
戻り値 0 = 正常 -1 = 通信エラー -2 = 引数エラー
引数 command 制御コマンド
command LAYOUT_TRAIN_STOP 0 列車停止
  LAYOUT_TRAIN_FORWARD 1 列車前進(時計回り)
  LAYOUT_TRAIN_BACKWARD 2 列車後進(反時計回り)
  LAYOUT_POINT_LOOP 3 ポイント1切り替え(ループ側)
  LAYOUT_POINT_HOME 4 ポイント1切り替え(ホーム側)
  LAYOUT_POINT2_LEFT 5 ポイント2左切り替え
  LAYOUT_POINT2_RIGHT 6 ポイント2右切り替え


サウンド制御コマンド
機能 サウンドの制御をする
VB書式 Function ControlSound(ByVal command As Integer, ByVal sound_no As Integer) As Integer
C書式 short ControlSound(short command, short sound_no);
戻り値 0 = 正常 -1 = 通信エラー -2 = 引数(command)エラー
-3 = 引数(sound_no)エラー
引数 command 制御コマンド
  sound_no サウンド番号 1〜100
command SOUND_PLAY_STOP 0 サウンド再生停止
  SOUND_PLAY_START 1 サウンド再生
  SOUND_PLAY_LOOP 2 サウンド繰返し再生
  SOUND_INIT_OVERLAP 3 重ね合わせ準備
  SOUND_INIT_OVERLAPは、別のサウンドを再生中にこの番号のサウンドを重ねる時に用います。
このコマンドは処理に時間がかかるため自動運転開始直後に行ってください。(実行中だとタイミングがずれます)
なおこのコマンドを行っていないサウンド番号のものを再生をすると前のサウンドは停止されます。


オプション出力制御コマンド
機能 オプションのリレーの制御をする
VB書式 Function ControlOption(ByVal command As Integer, ByVal relay_no As Integer) As Integer
C書式 short ControlOption(short command, short relay_no);
戻り値 0 = 正常 -1 = 通信エラー -2 = 引数(command)エラー
-3 = 引数(sound_no)エラー
引数 command 制御コマンド
  relay_no リレー番号 7〜10
command OPTION_RELAY_OFF 0 オプション出力オフ
  OPTION_RELAY_ON 1 オプション出力オン


コントローラー状態取得
機能 本体のコントローラーの状態を取得する
VB書式 Function GetControlStatus(ByRef status As Integer) As Integer
C書式 short GetControlStaus(short *status);
戻り値 0 = 正常 -1 = 通信エラー
引数 status スイッチ状態
status CONTROL_STATUS_POWER 0x01(&H1) 電源スイッチ(電源オフ)
  CONTROL_STATUS_START 0x02(&H2) 運転/停止(運転)
  CONTROL_STATUS_DIRECT 0x04(&H4) 進行方向スイッチ(反時計周り)
  CONTROL_STATUS_POINT 0x08(&H8) ポイント1切り替えスイッチ(ホーム側)
  CONTROL_STATUS_POINT2 0x10(&H10) ポイント2切り替えスイッチ(右側)
  CONTROL_STATUS_AUTO 0x20(&H20) 自動運転スイッチ(自動運転)
  スイッチの状態はstatusのビットで返されます。
ビットがONの時はスイッチが上記カッコ内の状態であることを表します。



目次に戻る