工作機械や計測機器のRS232Cポートから出力されるデータを パソコンのRS232Cポートから取り込み テキストファイルやエクセルファイルに記録するソフトです. また、下記のような通信テスト用の機能も実装されていますので 計測機器との通信内容の確認、また、 ユーザーがオリジナルで製作した機器、ソフトウェア等のデバッグに利用できます。 主な機能は ・RS232Cから受信したデータを、テキストファイル、エクセルファイルに記録、保存 送受信通信内容はテキストまたはHEXコードで画面上に表示されます。 ・受信モード切替で文字列ごとに受信、1バイトごとバイナリで受信の切り替えが可能 バイナリで受信時には受信データをHEXコードで表示 ・データ要求コードを送信しなければデータ送信を開始しない計測装置の為に ボタン操作でユーザーが定義した固定のデータを送信することが可能 ・キーボードから入力したテキスト文字列またはバイナリコードを随時送信できます。 あらかじめ送信するデータを登録しておき、 設定したキーボードのキー入力トリガーでの送信も可能です。) ・テキストファイル、バイナリファイルをRS232Cから送信可能 連続したデータ転送のテストに有効です。 ・エクセルにデータを記録する、列、行、改行データ数が指定可能 ・ユーザーが定義した固定データなどを送信するとき、1バイト毎に10ミリSec以上 システムWaitが入りますがそれでも相手機器が間に合わない場合の為に 送受信Wait時間(メインタスクのスキャンタイム)の設定が可能 今まで同様のものをEXCELのVBAで製作、運用していましたが 簡単に機能変更、拡張が行え、運用管理などの面でHSPが 最適と判断して今回、新規に製作いたしました. 現場でデータの記録などをされてる方に使用していただければと思います. 現在の問題点 ============ COMポートに接続されている機器が受信できない状態の時 送信を続けていると応答不能になる. ファイル説明 ============ Readme.txt :このファイル. ソフトの詳細説明 comlogger.exe :実行ファイル(COM LOGGER本体) hspext.dll :実行に必要なライブラリです. comlogger.ini :設定内容が保存されています. comlogger.exeを実行すると自動的に作成されます. このファイルを削除すると設定が初期化されます. 動作環境 ======== 動作確認した環境はWindowsXP/Vista/7(32,64bit) RS232Cポートが必要、(USBシリアル変換ケーブルでも可) エクセルと連動機能する場合、MS-EXCELが必要 EXCEL97以降、2007まで動作確認済み インストール、アンインストール ============================== ・適当な場所に解答すればインストールは完了です. 必要に応じてショートカットをデスクトップに追加するなどして下さい. ・レジストリなどは使用していませんので インストールしたフォルダごと削除すればアンインストールできます。 動作確認について ================ 2台のパソコンのCOMポートをクロスケーブルで接続 それぞれのパソコンでこのソフトを起動後 送受信を行って各操作の確認を行ってください. 機能、操作説明(初期画面) ========================= ・[終了]ボタン COMポートを解放して、ソフトを終了します. ・[通信パラメータ設定]ボタン 通信パラメータ、システムパラメータの設定画面を表示します. 設定内容はソフト終了時にcomlogger.iniファイルに保存されます. comlogger.iniファイルが存在しない場合、ソフト終了時、自動的に作成されます. 設定内容を初期値に戻す場合はcomlogger.iniファイルを削除してください. COMポート接続時には無効化されています. ・[COMポート接続]ボタン COMポートを初期化して使用可能にします. COMポート接続後、データの送受信が可能になります. 送受信した内容、操作内容が右側の青い枠内に表示されます. ・[COMポート切断]ボタン COMポートを解放します. ・[一時的にWindow最前面解除]ボタン ソフト起動後、Windowが最前面に設定されています. ボタンを押すことで一時的に解除できます. 設定画面に切り替える等、動作モードが変更されるときに 最前面に再設定されます. ・[データ送信]ボタン すぐ上にあるテキストBOXの内容を送信します. $に続けてHEXコードを入力するとバイトデータに変換して送信しますので 通常はテキストで入力できないバイナリデータの送信可能です. '$'文字を送信する時には"$$"と$を2つ続けて入力してください. 例)入力文字列 -> "ABC" -> "ABC" (41h,42h,43h) "$41$42$43" -> "ABC" (41h,42h,43h "$$123" -> "$123" (24h,31h,32h,33h) データは1バイトずつ送信します. 初期状態では1バイト送信するごとに20〜30ミリSecのWaitが入ります. 初期状態で、Enterキーで送信 -> 入力フォーカスがテキストBOXに戻る ような流れになってますのでスムーズにデータ入力、送信が可能です. ・[データ送信時、末尾に[CR+LF]を付加]チェックボックス [データ送信]ボタンを押したとき、データの末尾に改行コード(0x0D、0x0A)を付加して送信します. 例)"123"という文字列を送信する場合 チェックが入っている時に送信するデータ -> (31h,32h,33h,0dh,0ah) チェックが入っていない時に送信するデータ -> (31h,32h,33h) ・[Command1〜Commnad6]ボタン ユーザーが定義した文字列、バイナリデータ列を登録できます. ボタン操作か対応するキー入力で送信できます. 相手機器へデータ送信要求など定型のコマンドを送ることが出来ます。 ・[ユーザー定義コマンド設定]ボタン Command1〜Commnad6ボタンに文字列、バイナリデータ列を登録します. 対応するキーボードのキーコードも設定できます. ・[テキストファイル送信]ボタン ファイル選択画面が表示されますので送信するテキストファイルを選択してください. 選択されたテキストファイルの内容を送信します. 大量のデータを連続で送信できるので相手機器の受信テストに便利です. 相手機器をコントロールするコマンド文字列をテキストファイルとして登録して 必要に応じて送信するなどにも利用できます。 テキストは一行ごとにまとめて送信します. ・[バイナリファイル送信]ボタン ファイル選択画面が表示されますので送信するバイナリファイルを選択してください. 選択されたテキストファイルの内容を送信します. 大量のデータを連続で送信できるので相手機器の受信テストに便利です. 相手機器をコントロールするバイナリデータをファイルとして登録して 必要に応じて送信するなどにも利用できます。 1バイト送信するごとに20〜30ミリSecのWaitが入ります. テキストデータを1バイトごとにWaitを入れながら送信したい場合などにも利用できます. ・[受信データ保存]ボタン 何かデータを受信すると有効になります. それまで受信したデータを保存します. 保存方法は「処理モード切替」ボタンの状態によって変わります. (テキストファイルで保存、バイナリデータとして保存) ファイル名は日付をもとに自動的に設定されます. [EXCELと連動]のチェックがONになっている場合は、 エクセルファイルも保存してエクセルが閉じます ファイル名は日付をもとに自動的に設定されます. ・[保存先を参照]ボタン 受信データが保存されたフォルダをエクスプローラで表示します. ・[処理モード切替]ボタン 受信したデータの表示、処理方法を選択します. COMポートが切断されている状態で変更が可能です. テキストモード時の特徴 受信データをテキスト改行コードごとに処理します. 改行コードCR+LF(0dh,0ah)の受信で一つのデータとして認識します. (改行コードCR+LF(0dh,0ah)を受信するまではグレーアウトしたままになります. テキストモードで特殊なバイナリコードを受信すると、モニター表示で文字化け等、 不具合がでる可能性がありますので、その場合はバイナリモードに変更してください. データ保存時、テキストファイルとして保存します. バイナリモード時の特徴 データを1バイトごとに処理します. HEXコードでモニター表示します. データ保存時バイナリデータとして保存します. ・[EXCELと連動]チェックボックス チェックを入れる事で、COMポート接続時にEXCELを起動し、受信した内容をセルにも書き込みます. 処理モードがテキスト時:改行コードCR+LF(0dh,0ah)の受信ごとにセルに書き込みます. 処理モードがバイナリ時:1バイトごとにセルに書き込まれます. 設定画面: ========= ・[EXCEL開始行]、[EXCEL開始列]はEXCELに書き込むときの書き込み開始セル位置です. [EXCEL改行データ数]のデータごとに改行が行われます. 通信パラメータ設定画面 ====================== ・[パラメータ設定を終了]ボタン 設定を保存して初期画面に戻ります. ・[全パラメータを初期化]ボタン 設定内容を初期化します. ・[COM PORT番号] 使用するCOMポートの番号 ・[通信速度] シリアル通信速度 ・[パリティ] N = なし E = 偶数 O = 奇数 M = マーク S = スペース ・[データサイズ] データビット数 4,5,6,7,8のいずれか ・[ストップビット] 1, 1.5, 2のいずれか ・[受信区切りコード] このコードを受信すると1データ(一行)と認識します. 現在 CR+LF(0dh,0ah)固定 ・[EXCEL開始行] 受信したデータを書き込み始めるエクセルシートの行番号(0〜) ・[EXCEL開始列] 受信したデータを書き込み始めるエクセルシートの列番号(0〜) ・[EXCEL改行データ数] エクセルシート上で改行するデータ数(1〜) ・[EXCEL参照用BOOK]ボタン EXCEL連動時に、COM接続したときに読み込まれるEXCELBOOKを指定します. 何も指定しない場合は新規Bookが作成されます. 保存時、ファイル名は日付をもとに自動的に設定されます. ・[計測データ保存フォルダを選択]ボタン データを保存するフォルダーを指定します. 何も指定しなければ実行ファイルのある場所が設定されます. ・[送信Wait (x10m Sec)] 相手機器の応答速度が遅い場合 データ送信の間隔を伸ばすことができます. テキストボックス送信、ユーザーコマンド送信、バイナリファイル送信時には 1バイトずつ テキストファイル送信時には一行ずつにWaitが追加されます. ・[処理バッファサイズ] 受信時にバッファーオーバーフローエラーが出る場合 値を大きくしてください. ・[バイナリ転送サイズ] 一度に送信するデータバイト数 テキストボックス送信、ユーザーコマンド送信、バイナリファイル送信時には 1バイトごとに転送Waitが入る仕様になっていますが、 INFICON等の計測機などへコマンドを送る場合にエラーになってしまいます ここで設定したバイト数ごとでWaitが入るようになります. 大きな値を設定すると処理時間をたくさん消費してしまいますので 必要最小限でおねがいします. ユーザー定義コマンド設定画面 ============================ ・[ユーザー定義コマンド設定を終了]ボタン 設定を保存して初期画面に戻ります. ・[全ユーザー定義コマンド初期化]ボタン 設定されているデータ、キーコードを初期値に戻します. ・Commnad 1〜6のテキストボックス 各ボタンを押したときに送信する文字列、バイナリデータ列を指定します. ・Key Code テキストBOXのデータ送信、Commnad1〜6はマウス操作以外にも キーボードでの操作にも対応しています 操作に使用するキーのキーのコードを入力してください. キーコードはキーコード確認欄を参照 ・キーコード確認欄 入力したキーボードのコード、マウスのコードは表示されます. 上記KeyCodeの確認に使用してください. トリガー処理は独自で作成してますので ここに表示されるコードであればすべて使用できます. 最後に ====== こちらで気が付いていないバグもあると思います. 気が付かれましたら報告していただけると助かります また、不明な部分、要望などもありましたらよろしくお願いいたします.