COMとSOCKETを直結
シリアルポート接続、またはUSB接続などでも仮想COMポートを持つシステムのコントロールのために、汎用の通信ターミナルソフトウェアを使っていましたが、ちょっと凝った自動化をやろうと思ったら結構面倒なんですよね。ターミナルのマクロ機能でなんとかやってきましたが、大して高機能でもなく。
カスタムのターミナル&制御ソフトを作ればいいのですが、ターミナル部分が以外と面倒で。エラートラップとか想定外のデータ混入時の処理とか、単に改行コードの処理さえ面倒。
というわけで、いいこと思いつきました。ってもう古い技術かもしれんけど、井の中の蛙にはワカリマセン。
つまりこういうことです。COMポートとターミナルの間に自動化カスタムソフトウェアを挟むわけです。今まで「COMポート←→ターミナル←→自動化ソフト」という接続だったのを、「COMポート←→自動化ソフト←→ターミナル」とするわけですね。もちろん「COMポート←→自動化ソフト」でも動作できて、必要なときだけターミナルを接続すればいいと。
こうすれば、ターミナルの処理部分をわざわざ作らなくていいし、既存のターミナルクライアントが使えるし、便利便利。
具体的にはどうするかというと、COMポートを制御するサーバを作って、ターミナルとサーバの接続にはTCP/IPを使うようにするわけです。そうすれば、自動化処理部分だけ作れば、あとの手動操作に既存のTELNETクライアントが使えます。データロガーとして使う場合も、サーバがCOMポートから受信したデータをターミナルに丸ごと流せばいいわけですし、サーバが自動処理をしている場合はサーバからのコマンドもターミナルに流してやればいいわけです。
この考え方でやってみると、非常にカンタン!今まで何やってたんだろうって感じです。いろんなものをどんどん作れそうです。単に自動化だけでなく手動操作の時にも、オリジナルなコマンドを定義して制御コマンドに変換して送信するような関数的な使い方もできます。工数削減、効率アップ!空いた時間でネットサーフィン♪





