Modbusチュートリアル6:データロギング制御(シリアルモニター Modbusアラームロギング)

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

データロギング制御は、アラーム/イベントロギングツールを行うために特別に使用される大規模なシリアル画面です。Modbusプロジェクトでは、スレーブ(PLC、周波数コンバータ、温度制御モジュール)からのアラーム状態を時間に合わせて画面に表示します。このチュートリアルでは、プロトコル設定と変数設定から画面調整までの完全なフローを見て、焦点を当てます。最も一般的なロギングの2つの使用法別々に話し、画面に表示されない、記憶されないマッチングエラーを避ける。书类整理从広州大彩光电科技有限公司《MODBUS教训练_データ记录控制V 1.0》,版権有大彩。

1適用範囲と開発環境

このファイルは大きなものです。Modbusプロトコルをサポートするすべてのシリアルスクリーン製品ベーシック、エコノミー、ビジネス、F、モノ、86ボックス、485シリーズ。NANOシリーズを除く(NANOはLarge Color Configuration Protocolのみをサポートし、Modbusはサポートしない)。

ビルドプロジェクトの前にバージョンを確認してください。バージョンはコンパイルまたは実行中に奇妙な問題が発生しません。半日を調整して古いファームウェアが見つかりました。

ソフトウェア/ファームウェア最小バージョン要件見る方法
VisualTFTホストV3.0.0.1037とその先起動ページ右上/ソフトウェア右下
ベーシック/エコノミー/商用ファームウェアMB 2.2 2.9 1 2.25 9以上画面背面にステッカー、またはテキストコントロールに“システム変数→ファームウェアバージョン番号”を貼り付けます。
モノのファームウェアV 3.0.3 0 1.0以上同上、同じ
F 型ファームウェアV 4.1.6 6とそれ以上同上、同じ

このルーチンのハードウェア検証プラットフォームは大彩基本型 7インチスクリーンDC80480B 070他のサイズはこのチュートリアルで使用できます。上位机用大彩自研的Visual TFT,公式サイトhttp://www.gz-dc.comダウンロード。

2 Modbusプロトコル基盤

NANOを除くすべてのシリアルシリアル画面は、2つのプロトコルバージョンを同時にサポートしています:Large Colour Configuration ProtocolとModbus RTUプロトコル。画面のシリアル物理仕様は、1開始ビット/ 8データビット/チェックなし/ 1 Stopビット(8 N 1)に固定されています。ボーレート範囲:RS 232は1200~921600bps(標準115200)、RS 485は1200~115200bps(標準96 00)をサポートします。

Modbusプロジェクトを開発する場合、Visual TFTで設定された変数とプロトコルは、コンパイル後にプロジェクトパッケージに統合され、画面に固定されます。スクリーン·スクリーンホストを務める。設定したポーリングサイクルに応じて定期的にスレーブにコマンドを読み取り、スレーブ応答を受信してParseし、バインドされたコントロールをリフレッシュするか、プリセットアクションをトリガーします。機を使用。外部マスターのポーリングに応答します。

Modbusプロトコルと変数設定(前提条件)

Visual TFTメニュー [ツール] → [プロトコルと変数の設定]を開き、左側がファイルパスを選択し、右側のプロトコル設定バーがプロトコルの種類を設定します。データロギング制御自体は、特定のレジスタ読み取りにバインドされておらず、Modbusレジスタからマップされる“変数”の状態変化を表示します。そのため、プロトコルと変数を最初にマッチングする必要があります。

3.1ホスト/スレーブ構成項目の画面表示

Modbusチュートリアル6:データロギング制御(シリアルモニター Modbusアラームロギング)Figure

Modbusチュートリアル6:データロギング制御(シリアルモニター Modbusアラームロギング)Figure1

構成項目の構成デフォルト値説明書は
プロトコルの有効化Modbusをサポートする必要がある
プロトコルの種類“Modbusマスタ”または“Modbusスレーブ”を選択します。このルーチンはホストモードです。
スレーブのアドレス1スレーブモードのみが必要で、ホストモードではスレーブアドレスが変数に個別に入力されます。
ポーリングサイクル1 秒で周期変数の読み取り間隔
ポーリング遅延100ミリ秒隣接する2つのリード·コマンド間の間隔
応答タイムアウト100ミリ秒スレーブの最大応答遅延を許容
連続読み取り連続アドレス変数1回限りの最大読み出し数
読み取りの最適化開いた後、画面関連の変数のみを読み取り、シリアル帯域幅を節約
ストレージ設定指定された変数を保存しない/すべて保存/保存(後者を推奨、システムパラメータはほとんど変更されません)
タグの保存手動で値を変更し、古いバージョンのストレージを読み込まないようにします。

保管場所の設定すべてのストレージは推奨されません。頻繁にFlashを書くと不良ブロックが加速します。パワーダウンして保存するには、“指定変数を保存”で特定の変数を選択します。画面スレーブの場合、設定項目が少なくなります:有効なプロトコル、プロトコルタイプ選択“Modbusスレーブ”、スレーブアドレス(デフォルト1)、ストレージ設定、ストレージフラグ。

3.2変数の作成

Modbusチュートリアル6:データロギング制御(シリアルモニター Modbusアラームロギング)Figure2

Modbusチュートリアル6:データロギング制御(シリアルモニター Modbusアラームロギング)Figure3

変数ノードを追加した後、プロパティーウィンドウで設定します。いくつかの重要な属性:

プロパティ説明書は
名前はデフォルト変数1/2/3、“ユニットステータス”などの意味のあるものに変更することをお勧めします。セグメント変数デフォルトフィールド1/2/3、“オン/オフ”を変更することができます。
フォーマット/シンボルShort、Long、単精度浮動小数点、文字列;符号なし/符号付き
読取りおよび書込み設定Read Only/Read Only/Write Only
デフォルト値デフォルトの表示値
数値変換実際の値=元の値×ズーム+パン、例えば0.1 倍率レジスタ整数を小数のプロジェクトに変換
表示フォーマット整数部と小数部の桁数の
配列の種類オン後はそのアドレスからN個のレジスタを連続操作する
貯蔵かどうかプロトコルがストレージ設定をオンにしたら、パワーダウン可能に保存するにはチェックを入れます。

変数パラメータ:変数型のサポートコイル、ディスクリート入力、保持レジスタ、入力レジスタ、メモリ変数、システム変数ホストになるときに記入する必要がありますスレーブのアドレスそして、変数アドレス(16进)“スレーブの初期化”は、電源投入後に変数の値をスレーブに書き込むことです。“読み取り失敗ゼロ”は、変数が読めないときにゼロになることです(警告の場合は注意してください、誤表示の可能性があります)。

データロギングコントロールの2つの使用法(この段落を最初に読んで、次に割り当てる)

データログコントロールは、“変数の状態変化によるイベント”を記録します。警告を表示するには、2つのことが必要です。

  1. アラームのParse:“イベントID →テキスト/色”の照合表を作成する.画面に表示される文字と色はここで決まります。
  2. イベント·ロギング[トリガー]“いつメモを取るか”を決めます。トリガー条件が満たされた場合にのみ、アラームParseのテキストからタイムスタンプ付きレコードが生成されます。

イベントIDの入力方法とトリガー条件の記述方法は、スレーブによって異なります。返されるデータは?。実際には2つの使用法があり、以下の階層では全く異なる。

4.1使用方法1:ビットマップ(レジスタはビットマップを返し、サブノードをデカップリングする必要があります)

適用可能なシーン::スレーブはレジスタ内の異なるビットで異なるアラームを表し、“ビットマップ”を返します。例えば、離散入力変数“ユニット障害”(1つの16ビットレジスタを占める)を構築し、ビット0=コンプレッサ低圧、ビット1=ファン障害、ビット2=煙警報、ビット3=フィルタの詰まりを設定します。

子供が必要です:この使用法では、各ビットを変数として分離する必要があるため、制御はどのビットかを識別できません。変数の下に子ノード(セグメント変数)を追加し、ビット0~ビット3にそれぞれ名前を付けます。

子ノードセグメント変数対応するビット意味の意味
Field1bit0コンプレッサーの低圧
Field2bit1ブロワの障害
Field3bit2煙警報を発する。
Field4bit3フィルターブロック

アラームのParseイベントIDの記入子ノード番号0/1/2/3(ビット0~ビット3に対応)、説明と色を設定します。

イベント·ロギング[トリガー]:イベントパラメータは変数を選択し、イベントIDは対応する子ノード(0/1/2/3)を選択し、実行条件は“この子ノード== 1”と書きます。例:イベントパラメータ=変数/イベントID=0 /実行条件=等しい/変数=ユニット故障/コンプレッサー低圧/値=1。

注意事項:ビットの場合、イベントIDは子ノード番号(0から始まる)レジスタが返す0001/0002ではない。下位レベルのレジスタ値は0 x 00 01/0 x 00 02/0 x 00 04/0 x 00 08である。1つの16ビットレジスタは、最大ビット0~ビット15の合計16個のイベントです。関連イベントは、スクリーンサイド。:コントロールは、ビット単位でレジスタ値を取り、テキストを取得するためにアラームParseに行きます。

4.2使用例2:値マッピング(レジスタはイベント番号を読み取り、子ノードを分割しない)

適用可能なシーン例えば、0 x 00 01はイベント1、0 x 00 02はイベント2、0 x 00 03はイベント3を読み取ります。レジスタに格納されているのは番号そのものです。解体やサブノードの構築は不要です。

未構築の子この使用法では、変数は1つであり、読み込まれた値はイベント番号です。

アラームのParseイベントIDの記入マシンから返された番号。(例えば、1、2、3、または対応する16進数00 01、00 02、00 03、レジスタが実際に返す値に応じて)、説明と色を設定します。

ロギング[トリガー]以下の5手顺に厳密に従う

  1. イベントパラメータ“変数”を選択
  2. イベントID上記のレジスタ変数を選択します(読み取り番号の変数自体です)。
  3. 実行条件は“等しい”を選択
  4. 変数の種類このレジスタを選択します(ステップ2と同じです)。
  5. 値の値スレーブから返された値を入力します(例:1 / 2 / 3、00 01/00 02/00 03、アラーム解決のイベントIDと一致します)。

注意事項:値マッピングの使用子ノードを設定せず、“あるビット== 1”を書かない。条件は“レジスタ値==特定の番号”で、ヒット後の画面はアラームParseでその番号に対応するテキスト表示/記録時間を直接押します。アラームParseのイベントIDとここでの“値”は完全に一致している必要があります。さもなければ、読み取られたペアはテキストではなく、画面に表示されず、時間もかかりません。

4.3 2つの用途の選び方

比較の項1ビットマップの使用二値マッピングの使用
飛行機からの帰還ビットマップ(各アラーム)イベント番号の値0001/0002/0003
子供を作るか?必要(デビット)必要なし。
イベントIDとは?子ノード番号0/1/2/3レジスタが返す番号値
実行条件はサブノード== 1レジスタ== ある番号
よくあるシーン1つの障害ワードには複数のスイッチが含まれるスレーブのアクティブ·インシデント·シーケンスの報告

5チュートリアル実装(ビット使用法の完全なデモンストレーション、値マッピング4.2参照)

データロギングコントロールは、3つのレコードタイプをサポートします。現在の警報。歴史的な警告歴史的警告と解除(“過去のアラーム”よりも各アラームの解除時間が長くなります。このルーチンは、最初の2つのデモンストレーションを行い、全体の3つのステップにminかれています:材料の準備→機能の実装→ダウンロードプロジェクト。以下は4.1ビットの使用で完全なフローを示します(図)。プロジェクトが4.2値マッピングの場合は、“イベントロギング[トリガー]”を4.2の5ステップで変更するだけで、他は一貫しています。

5.1エンジニアリング材料の準備

ハードウェア用 DC80480B 0 70ベーシック7インチスクリーン、ソフトウェア用Visual TFT、UI 用準備済みアートグラフィック。エンジニアリング構造は、フロントページナビゲーション+サブ画面を採用しています。フロントページは、“現在のアラーム”と“過去のアラーム”画面に2つのボタンを置き、各サブ画面には、フロントページに戻るボタンがあります。また、“現在の警告指示”と“過去の警告指示”の2つの純粋な説明画面が付属しています。

5.2新築工事の様子

Modbusチュートリアル6:データロギング制御(シリアルモニター Modbusアラームロギング)Figure4

メニュー“ファイル”→“新規プロジェクト”を開き、新規プロジェクトウィンドウをポップアップし、プロジェクト名、パス、設備タイプを設定し、“OK”をクリックします。

5.3 Modbusホストの設定

Modbusチュートリアル6:データロギング制御(シリアルモニター Modbusアラームロギング)Figure5

“ツール”→“プロトコルと変数の設定”に進み、プロトコルタイプは“Modbusホスト”に設定し、パラメータは3.1節に従います。ポーリングサイクル1 秒、ポーリング遅延100ms、応答タイムアウト100msがデフォルトであり、通常は移動しません。

5.4画面とコントロールの設定

Modbusチュートリアル6:データロギング制御(シリアルモニター Modbusアラームロギング)Figure6

Modbusチュートリアル6:データロギング制御(シリアルモニター Modbusアラームロギング)Figure7

トップページ放两个ボタン(コントロールID 1),タッチタイプ“切替画面”,ターゲット画面それぞれ指“现在警告”と“履歴警告”。ボタンプロパティのタッチタイプは“切り替え画面”に設定され、ターゲット画面は“現在のアラーム”を選択し、もう一つ同様です。

5.5現在の警報画面

スレーブマシンがアラームを生成すると、データ記録制御が表示されます。現在はアラームとトリガー時間。アラームが解除されると、制御はバーを表示しなくなります。構成手順:

  1. 画面にデータコントロール(コントロールID:1)を加え、“タイプ”を現在の警報。
  2. “アラームParse”で各イベントIDの数値、表示色、説明を設定します。
  3. 各イベントIDには、“イベントロギング[トリガ]”のための論理処理が追加され、実行条件はビット== 1(ビット使用)またはレジスタ値==番号(値マッピング、4.2参照)に設定されます。

Modbusチュートリアル6:データロギング制御(シリアルモニター Modbusアラームロギング)Figure8

Modbusチュートリアル6:データロギング制御(シリアルモニター Modbusアラームロギング)Figure9

“アラーム解決”ダイアログの3つの列:イベントID(数値)、前景色、説明。この例では、ビットを使用して、離散入力変数“ユニット故障”を構築し、イベントIDは子ノード番号を入力します。0=コンプレッサー低圧、1=ファン故障、2=煙警報、3=フィルター詰まり(現在のアラームの色は、コンプレッサー低圧赤、ファン/煙緑、フィルター青など、深刻度によって区別されます。

Modbusチュートリアル6:データロギング制御(シリアルモニター Modbusアラームロギング)Figure10

各イベントIDには、“イベントログ[トリガー]”ロジックがあります。ビットは以下のように書く。イベントログ[トリガー] /コントロール1,1/イベント0/ 条件ユニット障害/圧缩机低圧== 1つまり、ビットが1のときにアラームレコードがトリガーされます。4つのイベントは、イベント0(コンプレッサー低圧)、イベント1(ファン障害)、イベント2(煙警報)、イベント3(フィルター閉塞)です。イベントIDは、“アラームParse”に入力された値と1対1でなければなりません。

4.2の値マッピングを使用している場合は、4.2の5つのステップに従います。イベントパラメータ=変数/イベントID=そのレジスタ/実行条件=等しい/変数=同じレジスタ/値=返される番号(例:1)。

5.6歴史的な警告画面

履歴アラームは現在のアラーム構成とほぼ同じですが、唯一の違いはレコードタイプの選択です。歴史的な警告。違い:アラームが解除された後、アラーム履歴のこの記録テーブルにとどまります。Modbusプロトコルでストレージ設定をオンにすると、電源を失うことなく保存できます。

Modbusチュートリアル6:データロギング制御(シリアルモニター Modbusアラームロギング)Figure11

Modbusチュートリアル6:データロギング制御(シリアルモニター Modbusアラームロギング)Figure12

Modbusチュートリアル6:データロギング制御(シリアルモニター Modbusアラームロギング)Figure13

履歴アラームの“アラームParse”と“イベントログ[トリガ]”ロジックと現在のアラームは完全に対称ですが、コントロールは画面 2を指し、アラームParseの4つの色は赤(255,0,0)に統一され、“発生したマーク”を強調します。イベントIDも0から始まり、子ノード番号(ビット使用)に対応し、論理的にも“各ビット== 1”の条件を記述する必要があります。値マッピング使用は4.2を参照してください。

5.7プレビューの実行

Modbusチュートリアル6:データロギング制御(シリアルモニター Modbusアラームロギング)Figure14

Modbusチュートリアル6:データロギング制御(シリアルモニター Modbusアラームロギング)Figure15

このシステムはホストとして機能します。Modbus Slaveソフトウェアはスレーブ応答をシミュレートします。仮想画面を実行し、Modbus Slaveでオンラインで効果を見ることができます。現在のアラーム画面には、アクティブアラーム(コンプレッサー低圧、煙警報、フィルター閉塞)とそのトリガー時間が表示され、右側のModbus Slaveには対応するレジスタ値とCommunicationログが表示されます。具体的なOperationは大彩“【MODBUS】シリアルパネル_応用_V 1.0.pdf”を参考にする。

6ダウンロードプロジェクト

Modbusチュートリアル6:データロギング制御(シリアルモニター Modbusアラームロギング)Figure16

Visual TFTのコンパイルが成功した後、出力ウィンドウは“コンパイル成功”をプロンプトし、画面に2つの方法で表示されます。

  • USBダウンロード:メニュー [デバイスにダウンロード]を注文し、USBケーブルを使用して画面に設定します。
  • SDカードのダウンロード:メニュー [ツール] → [量産ウィザード] → [SDカードダウンロード]を選択し、ポップアップウィンドウ内のすべてのファイルをSDカードルートディレクトリにコピーし、画面を挿入して再起動し、SDカードを書き込みます。

7 工程実操ポイント(踏み込みヒント)

  • 最初に使用し、再使用。:スレーブはビットマップ(ビット使用、子ノードをデプロイする)またはイベント番号(値マップ、子ノードをデプロイしない)を返しますか?2つの組み合わせは完全に異なり、混合書き込み画面には表示されません。
  • イベントID = 子ノード番号0/1/2/3レジスタ値0 x 00 01/0 x 00 02/0 x 00 04/0 x 00 08に対応する。“レジスタは0001/0002/0003”を返さないでください。イベントIDに番号を入力します。-0003はビット0+ビット1で、イベント3ではありません。
  • 値マッピングの使用法:子ノードを作成せず、“あるビット== 1”を書かない。イベントロギング[トリガ] 4.2の5つのステップを実行します:イベントパラメータ=変数→イベントID=そのレジスタ→実行条件=等しい→変数=同じレジスタ→値=値=リターン番号。アラームParseのイベントIDと値は完全に一致する必要があります。
  • イベントIDは整列する必要があります:“アラームParse”に入力されたIDと、“イベントログ[トリガー]”ロジックに入力されたイベントID(または値)は同じもので、画面に表示されない限り、そのアラームは表示されません。
  • 論理的な条件:“イベントログ[トリガー]”実行条件を書かないと無条件にトリガーされ、すべてのイベントが記録され、画面が混乱します。
  • 過去のアラームは電源を切って保存し、記憶を開くことを忘れないでください。:Modbusプロトコル構成でのみ“ストレージ設定=指定変数を保存”をオンにし、変数プロパティに“保存するかどうか”をチェックしているため、停電後に履歴アラートを失うことはありません。2つの場所が必要で、1つだけが有効ではない。
  • 現在のアラートと過去のアラートの意味論現在のアラームは“生きている”-解除は消えます。過去のアラームは“会計”-解除もマークを残します。リアルタイムステータスまたは監査記録が必要かどうかを選択してください。
  • ポーリングサイクルは難しい。:スレーブ応答が遅いまたはバスデバイスが多い、1 秒ポーリング+ 100ms遅延は、適切に増幅する必要があります。そうでなければ、半分のタイムアウト、アラームジャンプに読み取りがあります。
  • 色は意味がある。異なる前景色(赤/緑/青)と深刻度に応じて現在のアラーム、歴史的なアラーム統一赤-カジュアルに埋めないでください、そうでなければ画面は区別できません。

整理自広州大彩科技有限《MODBUS_データV 1.0》(www.gz-dc.com),有大彩所有。オンラインデバッグの詳細については、“MODBUS”シリアルスクリーンアプリケーションドキュメントV 1.0.pdfを参照してください。

Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.