【プロジェクト】ミツトヨデジタルスケールをModbusTCPSlaveデバイスにする。

最終更新日:2023/3/15

W5500-EVB-PICOを利用してModbusTCPSlaveデバイスの構築を思案しています。
その一つの案として、ミツトヨ社のリニアエンコーダ(ABSデジマチック測長ユニット)を検討して見ました。
型番としてはSD-AX/DX辺りを検討します。
※現状はミツトヨ社のリニアエンコーダを入手していませんので資料から読み取った情報で作成し動作確認は出来ていないという事を予めご了承ください。

ModbusTCPSlaveデバイスは、ミツトヨ専用の5pinコネクタケーブルで接続されています。もちろんミツトヨ社は専用の表示器も用意していますが、ModbusTCPSlaveデバイスはこの数値表示も担うことが出来る様にしたいです。
ミツトヨ側 ケーブル PICO側(Shield)
1 - GND J14-1 GND GND
2 出力 DATA J14-4 MOSI GP4
3 出力 CLOCK J14-6 SCK GP2
4     GP
5 入力 !REQUEST J14-3 CS GP5

ModbusTCPSlaveデバイスからはリニアエンコーダに対して定期的にデータを要求し取り込んで、6桁の7セグLEDにmm表示します。

リニアエンコーダ側のデータは4bitのBCDデータです。この4bitの塊が13個の塊となって1つの表示データとなっています。

ModbusTCPSlaveデバイスとリニアエンコーダとのデータ取得タイミングはSDシリーズの場合以下のようになっています。

このタイミングチャートを遵守するならクロックは50%デューティでは厳しく、周期も450〜500μsecにする必要があります。約2KHzですね。1測定値を得るのに56クロックは必要となり、60Hz程度が限度かと思いますが、繰り返し取得は出来そうです。

スケッチの内容ですが、ModbusTCPSlaveデバイス自体はLoop内でModbusの要求が無ければデータの読み取りを繰り返せば良いのかと思います。そして取得した測定値は特定のメモリマップに書き込みます。FLOAT扱いであれば4バイトで扱えるので2WORDに跨がって書き込めば良いのかと思います。或いは読み取った数値文字をそのまま文字として扱うことも可能かと思います。

ModbusTCPSlaveデバイス側スケッチです。


戯言(nonsense)に戻る


問い合わせ頁の表示


免責事項

本ソフトウエアは、あなたに対して何も保証しません。本ソフトウエアの関係者(他の利用者も含む)は、あなたに対して一切責任を負いません。
あなたが、本ソフトウエアを利用(コンパイル後の再利用など全てを含む)する場合は、自己責任で行う必要があります。

本ソフトウエアの著作権はToolsBoxに帰属します。
本ソフトウエアをご利用の結果生じた損害について、ToolsBoxは一切責任を負いません。
ToolsBoxはコンテンツとして提供する全ての文章、画像等について、内容の合法性・正確性・安全性等、において最善の注意をし、作成していますが、保証するものではありません。
ToolsBoxはリンクをしている外部サイトについては、何ら保証しません。
ToolsBoxは事前の予告無く、本ソフトウエアの開発・提供を中止する可能性があります。

商標・登録商標

Microsoft、Windows、WindowsNTは米国Microsoft Corporationの米国およびその他の国における登録商標です。
Windows Vista、Windows XPは、米国Microsoft Corporation.の商品名称です。
LabVIEW、National Instruments、NI、ni.comはNational Instrumentsの登録商標です。
I2Cは、NXP Semiconductors社の登録商標です。
その他の企業名ならびに製品名は、それぞれの会社の商標もしくは登録商標です。
すべての商標および登録商標は、それぞれの所有者に帰属します。