第4回 サンプルコードで学ぶ「V720シリーズ」のコマンド制御


西村 泰洋
富士通株式会社
ビジネスインキュベーション本部
開発部
担当課長
2007年12月6日


 ソースコードで見るコマンドレスポンス

 このプログラムのソースはVisual Basic 6.0で作られていますが、Visual C++などのプログラミング言語を使うことも可能です。

1. コマンドボタン

 まず、SENDコマンドボタンをクリックするところから見てみましょう。オブジェクト名は「btnSEND」で、そのClickプロシージャとして定義しています。

 文字列「00RDSTHA0001」は、SendText.Textに代入され、さらにサブルーチンAddSendDatに受け渡されます。ここでは文字列をBuckupDataにも代入しています。

Private Sub btnSEND_Click()
  If SendText.Text <> BackupData Then
    BackupData = SendText.Text
    SendText.AddItem SendText.Text
  End If
  AddSendDat SendText.Text
End Sub
コマンドボタンのソースコード

2. 画面表示と内部処理

 次にサブルーチンAddSendDatでは、先ほどの文字列を文字列型変数としてMesに受け取り、frmCommのサブルーチンSendDataに受け渡します。また、確認のためにリストボックスに表示をするようにしています。

Private Sub AddSendDat(Mes As String)
 frmComm.SendData Mes
  RecieveDat.AddItem "[TX:" & Format(TxCnt, "000") & "] " & Mes
End Sub
文字列変換と画面表示部分のソースコード

3. リーダ/ライタへの送信

 サブルーチンSendDataでは、文字列をコマンドフレームに適した形に組み替えます。CommCtrl.Outputでは、VB 6.0で利用可能なMSCOMM32というOCXファイルでコマンドがリーダ/ライタにRS-232C経由で送信されます。

Public Function SendData(sData As String)
  CommCtrl.Output = Chr(2) & sData & Chr(3) & BCC(sData & Chr(3))
End Function
文字列の組み換え

 前回および今回で、V720シリーズの特徴とプログラミングを解説しました。2バイト文字列のコマンドなどのように、分かりやすくて、かつ細かいプログラミングニーズに応えられるシステムであると思います。

 単純にコマンドフレームに沿ってリードをするだけであれば、今回のサンプルプログラムのようにサブルーチンに分ける必要はありません。しかし、現実のプログラミング設計では、さまざまなチェックの実行、機能追加・変更を想定するなどの理由から、機能的に分けた作りをせざるを得ないのが実態です。

 読者の皆さんには、モトローラ、オムロンと2つのメーカーのリーダ/ライタの解説を学んでいただきました。これで、RFIDシステムプログラミングの勘所がご理解いただけたと思います。

 次回は、特定のメーカー機器のプログラミングの解説ではなく、RFIDシステムプログラミングへの理解をより深めていただくために、最も重要な概念であるソフトウェアシーケンスの解説をしたいと考えております。

2/2
 

Index
サンプルコードで学ぶ「V720シリーズ」のコマンド制御
  Page1
コマンドフレームとコマンドレスポンスフレーム
サンプルで見るコマンドレスポンス
Page2
ソースコードで見るコマンドレスポンス

Profile
西村 泰洋(にしむら やすひろ)

富士通株式会社
ビジネスインキュベーション本部
開発部
担当課長

物流システムコンサルタント、新ビジネス企画、マーケティングを経て2004年度よりRFIDビジネスに従事。

RFIDシステム導入のコンサルティングサービスを立ち上げ、自動車製造業、流通業、電力会社など数々のプロジェクトを担当する。

著書に「RFID+ICタグシステム導入構築標準講座(翔泳社)」がある。

RFIDシステムプログラミングバイブル 連載インデックス


RFID+IC フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

Master of IP Network 記事ランキング

本日 月間
ソリューションFLASH