RS232C Reader (2017/3/31)
※2017/05/12 受信エラーが出ると、継続できないのを手直しました。(Ver.1.10)
※2017/05/06 通常の受信ができないため、一部、修正しました。(Ver.1.01)
三菱シーケンサから既設の刻印機を制御する依頼があり、そのためだけに作成しました。
キーエンスのトレースモニタが見やすいので、それふうにしています。
■テストモード
・COM ポートを1つだけオープンします。
・DTR,DSR を ON にする場合は、それぞれのチェックボックスをチェックします。(Ver.1.10 より)
・送信する文字列を入力し、行末で [Enter] キーを押すと、その行の文字列が送信されます。
<CR>、<CR><LF> のチェックボックスを使うと、CR、LF が付加されます。
※制御コードは、<STX>、<ETX> のように、<> で囲んで下さい。
※16 進コードは、<00>、<ff> のように、数字、小文字を <> で囲んで下さい。
・受信データがあれば、表示欄に表示されます。
・受信だけの場合は、[START] ボタンをクリックして下さい。
・受信データを受け取ると、[STOP] ボタンの横にバイト数が表示されます。
・適当なバイト数で、[STOP] ボタンをクリックして下さい。(1024 バイト受信すると、自動で停止します。)
・受信データが表示されます。
※自 PC からのループバック
・ループチェック用のプラグを作成し、COM ポートに取り付けます。
D-Sub9 ピンの 2-3、4-6、7-8 番ピンをそれぞれショートすると、自 PC から送信したデータを受信できるようになります。
■ラインモニタ
・COM ポートが2つ必要です。自 PC からのデータをモニタする場合は、ポートは3つ必要です。
送り側-受け側の D-Sub 9 ピンをストレートで結線します。
送り側の TX (D-SUb 9 ピンの 3 番) を Port1 で受信できるように ダイオードを通して2 番ピンに接続。
受け側の TX ( = D-SUb 9 ピンの 2 番) を Port2 で受信できるように、ダイオードを通して2 番ピンに接続。
それぞれのSG(D-SUb 9 ピンの 5 番)を接続します。
※RX-TX 以外の通信線は、見ていません。
・ボーレート、データビット等をモニタ先のポートに合わせます。
・COM ポートを2つオープンし、[START] ボタンをクリックします。
送受信のバイト数を合わせて 1024 バイトを超えると、自動で停止し、文字列が表示されます。
1024 バイトに満たない場合は、[STOP] ボタンをクリックして下さい。
※受信スレッドのタイミングにより、データが前後することがあります。
こちらの環境では、USB - シリアルポートのドライバの設定を変えることで改善されました。
■その他の機能
・一番下の検索ボックスに文字列を入力すると、受信データの16進表記、ASCII 表示の文字列から検索されます。
・[ Shift ] + [→], [←] キーでセルを選択すると、選択したセル数が表示されます。
■ラインモニタ用接続ケーブル
基本的には、USB- RS232C 変換器2個と、RS232C コネクタ4個とケーブル接続だけで、ラインモニタできるのですが、
USB ポート1つで COM ポートを2つ使いたいため、ラインモニタ専用に自作しました。
部品代としては、¥2,700.です。
・FT2232D USB-シリアル2ch変換モジュール(¥1,450)
http://akizukidenshi.com/catalog/g/gM-02990/
・3V・3.3V・5V系-RS232レベル変換基板(¥500×2)
http://akizukidenshi.com/catalog/g/gK-06464/
・Dサブ9P基板セット(小)(¥250)
http://akizukidenshi.com/catalog/g/gP-01335/
COM ポート2つの製品としては、↓が安価で良いのですが、しっかりとした完成品なので、改造に不向きのようでした。
・コレガ RS232C (シリアル) - USB 変換器 2 ポートモデル CG-USBRS2322 (アマゾンにて ¥2,780)
※使っている IC は、ASIX 社製です。
■USB - シリアルポートドライバの設定
受信データの中に送信データがまぎれたり、その反対になることがあります。
マルチスレッドにしても、この現象は改善されませんでした。
こちらの環境では、送信 - 受信データのタイミングが合わないとき、下記の操作をすると改善されました。
・FTDI ドライバの場合
デバイスマネージャー - ポート (COM と LPT) から、例えば USB Serial Port (COM10) をダブルクリック。
プロパティ画面から 「ポートの設定」 タブをクリック。 [ 詳細設定 ] ボタンをクリック。
BM オプションの待ち時間 (msec) の値を既定値の 16 から 1 に変更。
[OK] ボタンをクリックして終了。
・Microsoft ドライバの場合
FIFO バッファを使用する ・・・ のチェックを外す。
■開発環境
・Delphi 10.1 Berlin Professional / Windows 8.1 64 bit
■著作権、免責事項
・本ツールの著作権は、作者 f.izawa が所有し、これを主張します。
・本ツールを使用したことによる事故、損害等の一切について、作者はその責を負いません。
■ダウンロード
ComRead2.zip (Ver.1.01 exe 本体のみ)