User manual - Cライブラリ解説書(2006年4月17日)
DT-930 Cライブラリ解説書
189
(2)CERR_r_xxxx2エラーステータスのチェック
先に述べた通り、CTRL信号とベーシックIOボックスのRS232CのCS信号が共にOFFであると
きフレーミングエラーが発生する場合があります。
しかし、前述の“(1)ベーシックIOボックスとの接続”に示す例のようにソフトウェアでCTRL信号
とベーシックIOボックスのCS信号が共にOFFにならない状態を作り出すことは容易でないと考
えられます。従ってカシオIRポートで無手受信のデータ通信を行うことは不向きであり、データ通
信を行うユーザエンティティの間で何等かの通信手順が必要になります。
パリティ、オーバーラン、フレーミングエラーのチェックをエラーステータスのCERR_f_PARIT
Y2、FRAMING2、OVERRUN2で行うと、「1文字受信」、「タイムアウト監視受信」ファンクショ
ンで受信データとエラーを時系列で得ることができます。
以下にエラーチェックの例を示します。
【エラーチェックの方法】
・通信手順(プロトコル)を用いてデータ転送を行う。フレームの形式は以下の通りです。
・本機が受信側、ベーシックIOボックスが送信側とします。
・カシオIRが使用するシリアルコントローラのレシーバはFIFOバッファなのでフレームのヘッダ、フッタは
余分に16文字付加すべきです。
BOF DATA FCS EOF
0x41 0x42 0x43 0xC6 0xC00xB0
BOF:フレームヘッダ
DATA:転送データ
FCS:フレームチェックシーケンス
EOF:フレームフッタ
CTRL CS 転送データ 受信バッファ エラー ファンクションコール
①ON OFF
② OFF OFF 0xFF フレーミングエラー IOボックス送信設定
* CTRLとCSがOFFとなりフレーミングエラーとなった。エラー(ノイズ)のデータは破棄されます。
③ OFF ON 0xB0 0x41 0x42
0xB0 0x41 0x42
④ OFF ON 1文字受信
0xB0 0x41 0x42
⑤ OFF ON エラーステータスのリード
0xB0 0x41 0x42
* エラーステータスがCERR_f_FRAMING or CERR_f_FRAMING2。読出したデータ’0xBO’は正常なデータです。
CERR_f_FRAMING2なので’0xB0’より前にエラーとなったことが分かる。’0xB0’はフレーム(ヘッダ)であるのでエラーは
フレーム本体のには影響を与えない。受信データの読込みを継続します。
⑥ OFF ON 1文字受信
0x41 0x42
⑦ OFF ON 1文字受信
0x42
次ページへ続く
・通信手順(プロトコル)を用いてデータ転送を行う。フレームの形式は以下の通りです。
・本機が受信側、ベーシックIOボックスが送信側とします。
・カシオIRが使用するシリアルコントローラのレシーバはFIFOバッファなのでフレームのヘッダ、フッタは
余分に16文字付加すべきです。
BOF DATA FCS EOFBOF DATA FCS EOF
0x41 0x42 0x43 0xC6 0xC00xB0 0x41 0x42 0x43 0xC6 0xC00xB0
BOF:フレームヘッダ
DATA:転送データ
FCS:フレームチェックシーケンス
EOF:フレームフッタ
CTRL CS 転送データ 受信バッファ エラー ファンクションコール
①ON OFF
② OFF OFF 0xFF フレーミングエラー IOボックス送信設定
* CTRLとCSがOFFとなりフレーミングエラーとなった。エラー(ノイズ)のデータは破棄されます。
③ OFF ON 0xB0 0x41 0x42
0xB0 0x41 0x42
④ OFF ON 1文字受信
0xB0 0x41 0x42
⑤ OFF ON エラーステータスのリード
0xB0 0x41 0x42
* エラーステータスがCERR_f_FRAMING or CERR_f_FRAMING2。読出したデータ’0xBO’は正常なデータです。
CERR_f_FRAMING2なので’0xB0’より前にエラーとなったことが分かる。’0xB0’はフレーム(ヘッダ)であるのでエラーは
フレーム本体のには影響を与えない。受信データの読込みを継続します。
⑥ OFF ON 1文字受信
0x41 0x42
⑦ OFF ON 1文字受信
0x42
次ページへ続く