EXCELマクロ(VBA)でシリアル通信 (M5 ATOM)

追加報告(2022年9月13日)

ここでご紹介したVBAによるシリアル通信マクロの販売を始めました。
以下のページで詳細をご紹介しています。

EXCEL VBA(マクロ)によるシリアル通信コードの販売

 

※ツール販売に伴い、ソースコードの公開は終了しました。
販売ツールをEXCELに組込むと、EXCEL-VBAを実行しながら、ソースコードが閲覧できます。

お時間があれば、ご連騰ください。

 

ExcelとM5ATOMをシリアル通信で接続しました

M5 ATOMバーコードリーダーで読んだデータをシリアル通信でパソコンに送信し、Excel VBA(マクロ)で受信することができました。
冴えない写真ですが、Excelを起動させたパソコンにM5 ATOMのバーコードリーダをUSB(シリアル)で接続し、バーコードの数値を読み込ませています。

Excel画面上のウィンドウで、シリアル通信設定と読み込んだバーコードの数値データを表示させています。
ここでは、成功した内容だけです。

12年前から、特別なモジュールやアドインプログラムなしでEXCEL VBAを使ってシリアル通信によるデータ送受信はできていました。

その時点から放置していたため、目新しい情報の有無を確認するためネットを検索してみました。
しかし、目新しい情報は32bitから64bitへの変化ぐらいで、目に留まる情報はなかったですし、参考になる情報も少なかったです。

ATOMの制御コード

以前にも紹介しましたが、UI-FlowというIDEを使い、読んだバーコードデータをシリアル通信で送信するプログラムです。
メーカーの公式サイトで公開されている、例題、そのままです。

バーコードを読込み、データがあればASCIIコードに変換し、変換したデータをシリアル通信で送信する。

それだけのコードです。

うまく読めなかった原因

原因は、初歩的なものでした。受信側のシリアルの通信速度設定が遅すぎた事が原因でした。

12年前の設定は9600bps。まだRS-232Cが主流だった当時はこれでも十分でした。
現在はUSB3.0で、通信速度は115200bpsぐらいが標準の様です。

通信速度を115200bpsに設定し直したところ、M5ATOMからUSBを介して送られてくるバーコードのデータを受信することができました。
どうも受信するExcel側の通信速度設定が遅すぎたため、送られてきたデータの一部しか読めなかった様です。

実際の読取り事例

テストに使ったバーコードです。
BtoCで販売している商品管理用に作成したものです。
テプラのバーコード作成機能で印刷した13桁のバーコードです。

中央下の『ネクタイピン・サスティナブルシルバー』に割り付けた商品コード『2020020100304』を読み込ませてみました。

次の画像はExcel VBAで作成した操作画面です。
読取り開始ボタンをクリックし、バーコードをM5ATOMで読むと、シリアル通信で送られてきたバーコードの数値が表示されます。
読み込ませた商品コード『2020020100304』が表示されています。

別の機会に事例として内容を紹介しますが、この操作パネルでシリアル通信の設定とデータ送受信を管理しています。

おわりに

元々はキーエンスの変位計 GT-2の測定データをシリアル通信でEXCELに取り込むために開発したものです。
今回の取り組みで、M5 ATOMでも使えることが判りました。
また、シリアル通信で接続するデバイスの製造元に関係なく、ASCIIデータで送信される場合、Unicodeに変換すればEXCELで利用できることも確認できました。

かなりコードをまとめてありますので、EXCEL VBAを使ったアプリケーション制作も簡単です。

ご興味があれば、お問合せください。
コードについては公開する予定なので、モジュールを販売することはしません。

当社でアプリを開発したり、セミナーなどの教育が必要な場合、その部分につきましては有償とさせていただきます。

PAGE TOP