Modbus TCPクライアント
ファンクションコード 01、02、03、04、05、06、15、16 に対応します。タイムアウトとリトライは接続ごとに設定でき、エラーは原因を示します。
Modbus TCP FieldKit iPhoneとiPad向け
Wi-Fi上のデバイスを見つけ、コイルとレジスタを読み取り、ライブ値をグラフ化できます。書き込みは、iPhoneから送信される前に毎回確認します。RS-485機器は、Wi-FiまたはEthernetコンバータ経由のRTU over TCPで利用できます。
$5.99を一度支払うだけです。サブスクリプションもアプリ内課金もアカウントもありません。
FC 05、06、15、16は、対象と各値を一覧する確認シートで止まります。確認しない限り、何も送信されません。
デバイスを検索とUnit IDをスキャンは、FC 03の読み取りを1回ずつ送るだけで、何も書き込みません。
プロファイル、ログ、スキャン結果は、書き出すまで端末内に残ります。端末の外に出る可能性のある情報。
保持レジスタをアドレス0から3つ読むときに、FieldKitが送るリクエストです。デバイスの応答がおかしいときは、このフレームから確認してください。
必要なのはWi-Fiネットワークだけです。デバイスの検索からレジスタのグラフ化まで、アプリが案内します。
FieldKitは買い切りで、これらすべてを含みます。
ファンクションコード 01、02、03、04、05、06、15、16 に対応します。タイムアウトとリトライは接続ごとに設定でき、エラーは原因を示します。
透過型のWi-FiまたはEthernetコンバータ経由で、RS-485機器に接続できます。読み取りがタイムアウトした場合、アプリはもう一方のフレーミングでの読み取りを1回提案します。
自分のWi-Fiサブネットを、最大8ポートでスキャンします。結果には、Modbusで応答したもの、例外で応答したもの、Modbusの応答がなかった開放ポートが表示されます。
1〜10 に 0 と 255 を加えた範囲、または 1〜247 のすべてを試します。全範囲のスキャンには約75秒かかります。ユニットごとにレジスタを1つ読み取るだけで、何も書き込みません。
ブロックは最大16個、間隔は1〜60秒です。グラフの範囲は5分、15分、1時間で、ポーリングに失敗した箇所は線の途切れとして表示されます。
列は timestamp、block、address、raw、value、unit、status です。UTF-8で、時刻はUTCです。ファイルは共有シート経由でのみ端末から出ます。
エンドポイントとレジスタ定義を、値の形式、バイト順とワード順、スケール、単位とともに保存できます。既定の書き出しでは、ホスト、ラベル、値は除かれます。
クライアント、サーバー、または両方のエントリで絞り込み、サニタイズ済みのJSONを同僚やサポートチケット用に書き出せます。生フレームとレジスタ値は含まれません。
Modbusに元に戻す操作はありません。FieldKitは読み取りと書き込みを分け、書き込みのたびに確認を挟みます。
機器の責任はお客様にあります。書き込みは、まずシミュレータか本番ではないレジスタマップで試してください。
サーバーを起動し、SCADA、HMI、クライアントのコードをiPhoneのアドレスに向ければ、自分で制御できるレジスタマップを相手に試験できます。
1502 です。バックグラウンド動作とポート 502 は、iOSでは保証していません。
iPhoneにRS-485ポートはありませんが、Wi-FiまたはEthernet上の透過型コンバータがその役目を果たします。RTU over TCPを選ぶと、アプリはCRC付きのRTUフレームをコンバータのTCPポートへ送ります。
購入前にこの一覧を確認してください。FieldKitが作業に合うかどうかが分かります。
| コード | ファンクション | 1リクエストあたりの上限 |
|---|---|---|
| 01 | Read Coils | 2000ビット |
| 02 | Read Discrete Inputs | 2000ビット |
| 03 | Read Holding Registers | 125レジスタ |
| 04 | Read Input Registers | 125レジスタ |
| 05 | Write Single Coil | 1コイル |
| 06 | Write Single Register | 1レジスタ |
| 15 | Write Multiple Coils | 1968コイル |
| 16 | Write Multiple Registers | 123レジスタ |
App Storeの掲載画像と同じ実画面です。アドレスはデモ用です。
支払いはAppleに一度だけです。App Storeには、お住まいの国での価格が表示されます。
無料版や試用版はありません。返金の申請はAppleが reportaproblem.apple.com で受け付けています。
ネットワーク上で標準のModbus TCPを話すデバイスで使えます。PLC、電力量計、HMI、ゲートウェイ、インバータ、ESP32やRaspberry Piのプロジェクトなどです。RS-485機器は、透過型のWi-FiまたはEthernetコンバータ経由で使えます。
Solarman V5のようなベンダー独自の拡張は、ポート 8899 であっても非対応です。
RTU over TCPに対応しています。アプリはCRC付きのRTUフレームをコンバータのTCPポートへ送ります。RS-485、USB、シリアル、Bluetoothへの直接接続と、Modbus ASCIIには対応していません。
デバイスを検索は、Wi-Fiのサブネット(最大 /24)を、指定したポートで調べます。Unit IDをスキャンは、分かっているホストとポートでユニット番号を試します。どちらもFC 03の読み取りしか送りません。
アドレス表記を PLC 4xxxx に切り替えて 40001 を入力します。アプリはプロトコルアドレス 0 を送ります。同じ設定で 0-based と 1-based も選べます。Modbusのアドレス指定の仕組み。
ありません。デバイスを検索、Unit IDをスキャン、ライブ監視は、読み取り用のファンクションコードしか送りません。書き込みは書き込みを準備と書き込みを確認を経由し、それ以外に書き込みを送る経路はありません。
いいえ。サーバーはアプリを画面に開いている間だけ動作するものとして扱ってください。既定のポートは 1502 で、iOSでは 502 は保証されないため、クライアントの接続先は 1502 にしてください。
はい。2台目のiPhoneまたはiPadでFieldKitのサーバーを動かすか、ノートPCでPythonのシミュレータを起動します。PLCなしでModbus TCPをテストする3つの方法。
Modbusの作業に必要なのはローカルネットワークだけで、最初の接続時にiOSがローカルネットワークの許可を求めます。アプリがインターネットを使うのは、クラッシュレポートと利用回数の送信(各スイッチがオンの間)と、お客様が自分の判断で送るフィードバックの場合です。
クラッシュレポートはSentryに、匿名の利用回数は当方が運用するAptabaseサーバーに送られます。どちらのスイッチも初期状態はオンで、設定でそれぞれオフにできます。どちらにも、ホスト、IPアドレス、プロファイル名、レジスタ値、生フレームは含まれません。ポリシーを読む。
現時点では動きません。FieldKitはiOS 18以降のiPhoneとiPadで動作します。
アプリのインターフェースは英語、ドイツ語、ポルトガル語 (ブラジル)、ロシア語、日本語、韓国語、簡体中国語、繁体中国語に対応しています。
実際のサーバーから取得したフレームを使った解説記事と、ブラウザで動く3つのツールです。