よくあるご質問 | コンテック FAQ

  • 文字サイズ変更
  • S
  • M
  • L
  • No : 833
  • 公開日時 : 2009/01/20 18:21
  • 印刷

AioReadBufでデータを取得しているとエラー:312h が発生するときがあります。エラーを回避する方法は、ありますか。

VisualBasicでAioReadBufでデータを取得しているとエラー:312h
(取得するサンプリングの回数指定エラー)が発生するときがあります。
エラーを回避する方法は、ありますか。

カテゴリー : 

回答

対象製品型式: API-AIO(98/PC) 
  
関連情報:
関数:AioReadBuf()に設定する、取得するサンプリング回数(ScanNum)を求めるため、AioSts()で取得した、"AD変換された回数(CNT)"と"入力チャネル数(Channels)"から計算式として

ScanNum= Cnt / Channels

とした場合に"Cnt"の値が"Channels"で割り切れない場合
(AioSts実行時に入力チャネルの途中までAD変換されていた場合)
に小数点以下の値がまるめられて代入されてしまい、サンプリング回数が実際の回数より1回多くなったためエラーが発生する場合があります。

このエラーの発生を防ぐためには、以下の様に、整数除算の演算子 "\" を使用します。

ScanNum= Cnt \ Channels

アンケート:この情報は役に立ちましたか?

ご意見・ご感想をお寄せください ここからの技術的なお問合せにはご回答いたしかねます。技術的問い合わせにつきましては、Webフォームよりお願いいたします。
問合せ先 ⇒ https://www.contec.com/jp/support/technical-support/