追加報告(2022年9月13日)
ここでご紹介したVBAによるシリアル通信マクロの販売を始めました。
以下のページで詳細をご紹介しています。
EXCEL VBA(マクロ)によるシリアル通信コードの販売
※ツール販売に伴い、ソースコードの公開は終了しました。
販売ツールをEXCELに組込むと、EXCEL-VBAを実行しながら、ソースコードが閲覧できます。
お時間があれば、ご検討ください。
VBAによるシリアル通信機能の開発背景
もう12年も前になります。
2009年ごろに EXCEL VBAからOSのDLL、Kernel32のライブラリーを呼び出してシリアル通信をするモジュールをまとめました。
インターネット上にソースを公開されている方も多く、それらを整理したものです。
当時は、RS-232C規格のシリアル通信機能を持つ計測機器や生産財も多くありました。
そんな背景から、それらの機器とEXCELをシリアル通信で接続し、データ収集に活かしたいと思い整理したものです。
整理した結果が下図のようになります。
COMポートはCOM1~COM7までの間で、接続可能なポートをピックアップし提示し、良ければ接続します。
接続確認にある接続テストですが、ループバックテストはしていません。
取得したCOMポートのポインター(装置番号)が、正常に再利用できるかどうかの確認だけです。
実績としては、KEYENCE社のGT2(変位計)を使う目的で当社独自で開発したものです。
なお、KEYENCEとはまったく関係ありません。
本記事に関するお問合せは、当社にお願いいたします。
32bit から 64bit対応へ変換
開発は2009年のことです。そこから12年経過しEXCELも 『Office 2007』 から『Office 365』に変化しました。
いろいろと変わりましたが、特に大きな変化は32bitから64bitへの変化です。
法人を創業して以来、このような仕事がなく開発したモジュールも放置状態でした。
そのため、久しぶりに起動するとエラーが表示されます。
最初、12年近くも放置していたので意味が判りませんでした。
インターネットを検索し、64bitへ変化した事実と32対応bitコードを64対応bitコードに変換する方法を学び変換しました。
変換方法については、詳しく説明されているサイトも多いので、ここでは紹介しません。
ATOMバーコードリーダのデータをEXCLEに取り込む
現在、EXCELに取り込もうとしているデータはM5 ATOMのバーコード・リーダーが読んだバーコード情報です。
最近の流行りで考えると『ATOM のWiFi機能で、クラウドにデータを飛ばす。』になります。
クラウドにデータを飛ばす目的は、データの共有化です。
当社は私、一人だけです。
そのためクラウドは、自然災害(水害や地震など)からの防衛手段と考えており、データ共有する目的が薄いのです。
結果的に同じPCで読み込んだデータ解析を行うのなら、直接、バーコード・リーダーからシリアル通信で読み込めばいい。
そう考えての取組みです。また、現在でシリアル通信と言えばUSBになります。
RS-232C規格への変換ケーブルも必要ないので、簡単に接続できます。
トライした結果になります。
まだまだ課題とコード上、解決すべき課題はありそうですが、バーコード・リーダーから送られてきたデータをEXCELで読み込めました。
下図で表記されている”B”は、シリアル通信で送られたデータを表示したものです。
バーコードは13桁の数値情報なので、この結果からすると、まだまだ課題はあります。
今後の可能性
EXCELとM5 ATOMをシリアル通信で接続し、データを取り込める可能性が見えてきました。
まず、大勢でデータを共有する場合にはWiFiを使ってクラウド上でデータ共有する方が望ましいと思います。
しかし、少人数でデータを共有するのであればパソコンとM5 ATOMを接続し、シリアル通信でEXCELにデータを取り込む方が簡単かもしれません。
IoTという言葉で、WiFiでデータを飛ばすことが考え方の主流になっていますが、シリアル通信でEXCELにデータを取り込む方法もあります。
VBAに組み込むシリアル通信用のモジュールも販売されているようですので、そういったモジュールの購入も選択かもしれません。
ご関心があれば、お問合せください。
お待ちしております。
追加報告(2021年5月19日)
現在、バーコードの読込みに成功し、マクロ(VBA)のソースコードを以下のページで公開しています。
公開先 (ページ)
参考になさってください、
公開は、一度、終了させていただきます。
こちらで、コードを組み込んだEXCELファイルを販売しております。
ご検討ください。