第 5 章 デバッグ手法 61
5.1.4 アナログ出力データ情報
製品からアナログ出力を行う度に、出力しているデータの値を確認することができます。では、
アナログ出力データ情報を指定してドライバを組み込みます。
#insmod rcp3300.o rcp3300_debuglevel=16
sample1.oを組み込みます。
#insmod sample1.o
それではログを見てみましょう。
#less /var/log/messages
…
May 24 13:18:09 localhost kernel: init_module called
May 24 13:18:09 localhost kernel: DaOpenEx success!! [DeviceNo=1]
May 24 13:18:09 localhost kernel: rcp3300:DaOutputDa : DaData[0]=0xfff
May 24 13:18:09 localhost kernel: rcp3300:DaOutputDa : DaData[1]=0xfff
1件のDA出力時の内容が表示されています。
第 6 章 リファレンス
この章では、GPG-3300の関数および戻り値の一覧を掲載しています。より詳しい情報は、Helpを 参照してください。
6.1 関数一覧
No. 区 分 関数名 機 能
1 DaOpen 初期化
2 DaOpenEx 初期化(推奨)
3 DaClose 終了
4
初期化終了
DaCloseEx 終了時、現在のアナログ出力の値を保持
5 仕様取得 DaGetDeviceInfo DA製品仕様の取得
6 DaSetBoardConfig コールバック関数の設定
7
イベントコール
バック DaGetBoardConfig イベントコールバックの発生要因取得
8 DaSetBoardConfigEx アナログ出力更新用内部データバッファの設定
9 DaGetBoardConfigEx アナログ出力更新用内部データバッファの情報取得
10 DaSetSamplingConfig アナログ出力更新条件の設定
11 DaGetSamplingConfig 現在のアナログ出力更新条件の取得
12 DaSetMode DA製品固有の動作モードの設定
13 DaGetMode DA製品固有の動作モードの取得
14 DaSetSamplingData アナログ出力更新用データのセット
15 DaClearSamplingData アナログ出力更新用 内部データバッファのクリア
16 DaStartSampling アナログ出力更新の開始
17 DaSyncSampling 複数枚同期アナログ出力機能を使用したアナログ出力
更新の開始
18 DaStopSampling アナログ出力更新の停止
19 DaGetStatus アナログ出力更新動作状態の取得
20 DaSetOutputMode PCI/CTP-3329,3338の同時出力機能設定
21
アナログ 出力更新
DaGetOutputMode PCI/CTP-3329,3338の同時出力機能設定の取得
22 DaOutputDA 1件のDA出力
23 DaSetOutputDAEx 1件のDA出力の設定
24
1件のDA出力
DaOutputDAEx 1件のDA出力(DaSetOutputDAExと併用)
25 DaInputDI デジタル入力端子の読み出し
26
入出力
DaOutputDO デジタル出力端子の出力
27 DaSetFifoConfig FIFO方式のアナログ出力更新設定の設定
28 DaGetFifoConfig FIFO方式のアナログ出力更新設定の取得
29 DaSetInterval インターバルタイマの設定
30 DaGetInterval インターバルタイマの設定取得
31 DaSetFunction PCI-3525のCN3の機能設定
32 DaGetFunction PCI-3525のCN3の機能設定の取得
33 fnConv DaDataConv関数で使用するコールバック関数の
ブレースホルダー 34
その他
CallBackProc アナログ出力更新終了時に呼び出されるコールバック
関数のブレースホルダー 35 データ変換 DaDataConv アナログデータの形式変換
6.2 戻り値一覧
エラー識別子 値 意 味 対処方法
DA_ERROR_SUCCESS 0 正常終了
DA_ERROR_NOT_DEVICE C0000001h ドライバが呼び出せ
ません
指定されたデバイスが見つかりま せんでした。指定している製品が存 在するかどうかを確認してくださ い。
DA_ERROR_NOT_OPEN C0000002h ドライバがオープン
できません
デバイスのオープン時に何らかの エラーが発生しました。ドライバの 内部作業領域の確保に失敗した等。
DA_ERROR_INVALID_
DEVICE_NUMBER
C0000003h デバイス番号が正し
くありません。
不正なデバイス番号で呼び出しを 行おうとしました。オープン関数で 返されたデバイス番号を使用して ください。
DA_ERROR_ALREADY_
OPEN
C0000004h 既にオープンされて
いるデバイスです。
既にオープンされているデバイス をオープンしようとしました。
DA_ERROR_NOT_
SUPPORTED
C0000009h 製品がサポートして
いない関数です。
製品がサポートしていない関数を 使用しようとしています。
DA_ERROR_NOW_
SAMPLING
C0001001h アナログ出力更新中
です。
指定件数のアナログ出力更新が完 了する前に再度、アナログ出力更新 を開始を実行しようとしました。
指定件数のアナログ出力更新中に 実行できない関数を呼び出そうと しました。
DA_ERROR_STOP_
SAMPLING
C0001002h アナログ出力更新は
停止中しています。
アナログ出力更新停止中に実行で きない関数を呼び出そうとしまし た。
DA_ERROR_START_
SAMPLING
C0001003h アナログ出力更新を
開始できませんでし た。
アナログ出力バッファにまだアナ ログ出力データがセットされてい ないため、アナログ出力を行うこと ができませんでした。
DA_ERROR_INVALID_
PARAMETER
C0001021h パラメータが不正で
す。
引数の値が不正です。
引数の値の範囲が指定範囲外です。
DA_ERROR_ILLEGAL_
PARAMETER
C0001022h アナログ出力設定が
正しくありません。
アナログ出力設定値が正しくあり ません。
アナログ出力設定に矛盾がありま す。
DA_ERROR_NULL_POINTER C0001023h NULLポインタを指定 しました。
アナログ出力データ領域の指定に NULLを指定しました。
データ変換APIにおいて、データ変 換元となるデータへのポインタが NULLで指定された。
変換後のデータを返すためのポイ ンタがNULLで指定された。
DA_ERROR_SET_DATA C0001024h アナログ出力データ
のセットができませ ん。
既にセットされているアナログ出 力データとの連結後のデータ長が バッファの最大長を越えているた め、データのセットを行うことがで きませんでした。
DA_ERROR_USED_AD C0001025h ADドライバで使用中
です。
AD側で使用中の機能を停止してか ら、関数を実行しなおしてくださ い。
エラー識別子 値 意 味 対処方法 DA_ERROR_INVALID_DA
TA_FORMAT
C0001061h データ形式が無効です。 指定するデータ形式をご確認くだ
さい。
DA_ERROR_INVALID_AV ERAGE_OR_SMOOTHING
C0001062h 平均またはスムージング
の指定が正しくありませ ん。
平均またはスムージングの回数 が、0またはデータ件数を越えてい る。
平均またはスムージングの件数が 0で指定された。
DA_ERROE_INVALID_SOU RCE_DATA
C0001003h データ変換元として指定
されたデータが正しくあ りません。
データ変換元のアドレス指定箇所 等に間違いがないか確認してくだ さい。
DA_ERROR_NOT_ALLOCA TE_MEMORY
C0001081h メモリが確保できません。 ドライバ内部で作業するためのメ
モリの確保に失敗しました。
メモリを増やすことが必要です。
技術資料紹介
弊社では下記の技術資料を提供しております。
詳しくは、弊社Web site(www.interface.co.jp)、または弊社窓口までお問い合わせください。
カタログ
PRM-0061 CPZカタログ(日本語版)
PRM-0062 PCIカタログ(日本語版)
PRM-0063 CSIカタログ(日本語版)
チュートリアル
TUT-0058 チュートリアル CPZ拡張ユニット 入門編
TUT-0056 チュートリアル XP Embedded OS構築編
TUT-0055 チュートリアル 画像入力I/Oモジュール
TUT-0054 CANチュートリアル
TUT-0053 モーションコントロールチュートリアル
TUT-0050 RTLinuxによるモーションコントローラI/Oモジュール制御プログラミング チュートリアル(GPG-7400用)
TUT-0048 RTLinuxによるメモリンクI/Oモジュール制御プログラミング チュートリアル
TUT-0044 RTLinuxによるメモリ共有インタフェースI/Oモジュール制御プログラミング チュートリアル
TUT-0043 RTLinuxによる調歩同期シリアル通信I/Oモジュール制御プログラミング チュートリアル
TUT-0041 RTLinuxによるGP-IBI/Oモジュール制御プログラミング チュートリアル
TUT-0040 RTLinuxによるDAI/Oモジュール制御プログラミング チュートリアル
TUT-0039 RTLinuxによるADI/Oモジュール制御プログラミング チュートリアル
TUT-0038 RTLinuxによるDIOI/Oモジュール制御プログラミング チュートリアル
TUT-0037 RTLinuxによるHDLCI/Oモジュール制御プログラミング チュートリアル
TUT-0036 RTLinuxによるPCI/CompactPCI/CardBus制御入門書(導入編) TUT-0034 Visual C++によるPPI入門書
TUT-0033 Visual Basicによるメモリ共有インタフェース入門書
TUT-0032 Visual C++によるメモリ共有インタフェース入門書
TUT-0031 Visual Basicによるメモリンク入門書 TUT-0030 Visual C++によるメモリンク入門書 TUT-0029 Visual BasicによるHDLC入門書 TUT-0028 Visual C++によるHDLC入門書 TUT-0027 Visual BasicによるGP-IB入門書 TUT-0026 Visual C++によるGP-IB入門書 TUT-0025 Visual BasicによるDIO入門書 TUT-0024 Visual C++によるDIO入門書 TUT-0023 Visual BasicによるDA入門書 TUT-0022 Visual C++によるDA入門書 TUT-0021 Visual BasicによるAD入門書 TUT-0020 Visual C++によるAD入門書
TUT-0019 Visual Basicによるモーションコントローラ入門書
TUT-0018 Visual C++によるモーションコントローラ入門書
TUT-0017 メモリンクを使用した負荷分散システム事例チュートリアル
TUT-0016 Visual BasicによるPPI入門書
TUT-0015 モーションコントロールチュートリアル
TUT-0014 Microsoft Visual Studio .NET移行ガイド
TUT-0008 拡張ユニット チュートリアル(問題解決編)
TUT-0007 拡張ユニットチュートリアル(入門編)
TUT-0006 C(98)/ISA製品からPCI/CompactPCI製品への移行チュートリアル(DOS編)
TUT-0005 DOSによるLAP-B入門書
TUT-0004 DOSによるAD入門書
TUT-0003 LinuxによるPCI/CompactPCI/CardBus制御 入門書
TUT-0002 PCI-ISAバスブリッジチュートリアル
TUT-0001 PCI-Cバスブリッジチュートリアル
技術情報資料
初めてのCANインタフェース
Linux, リアルタイムLinux移植(SH-4)経験談及び当社の今後の取り組みについて LinuxからPCI/CompactPCII/Oモジュールを制御する方法
ActiveXコントロールによるシステム組み込み技術 CompactPCIへの置き換え+システム構築/移行ガイド MS-DOSからPCI/CompactPCII/Oモジュールを制御する方法
参考文献
著 者 題 名
森 友一郎,薬師 輝久, 馬場 秀忠
RTLinuxリアルタイム処理プログラミングハンドブック (株式会社秀和システム:2000年)
警告
!
本ドキュメントの一部または全てを弊社の許可なく、複写,複製,転載,電子化することを禁じま す。
TUT-0040 2007年 6月 Ver. 1.5 発行
発行所
〒732-0828
広島県広島市南区京橋町10-21 TEL 082-262-7777
FAX 082-262-5066
定価 ¥2,000
本書の内容の一部または全部を、無断で転載することを禁止します。
本書の内容は、将来予告なく変更することがありますので、予めご了承ください。
サポート体制
本製品についてのお問い合わせは、カスタマーサポートセンタで承ります。弊社Web siteのオ ンラインQA(「サポート」→「お客様相談センタ」をクリック)、E-mailまたはフリーダイヤルをご 利用ください。
お問い合わせ先