データロギング制御は、アラーム/イベントロギングツールを行うために特別に使用される大規模なシリアル画面です。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をサポートする必要がある |
| プロトコルの種類 | — | “Modbusマスタ”または“Modbusスレーブ”を選択します。このルーチンはホストモードです。 |
| スレーブのアドレス | 1 | スレーブモードのみが必要で、ホストモードではスレーブアドレスが変数に個別に入力されます。 |
| ポーリングサイクル | 1 秒で | 周期変数の読み取り間隔 |
| ポーリング遅延 | 100ミリ秒 | 隣接する2つのリード·コマンド間の間隔 |
| 応答タイムアウト | 100ミリ秒 | スレーブの最大応答遅延を許容 |
| 連続読み取り | — | 連続アドレス変数1回限りの最大読み出し数 |
| 読み取りの最適化 | — | 開いた後、画面関連の変数のみを読み取り、シリアル帯域幅を節約 |
| ストレージ設定 | — | 指定された変数を保存しない/すべて保存/保存(後者を推奨、システムパラメータはほとんど変更されません) |
| タグの保存 | — | 手動で値を変更し、古いバージョンのストレージを読み込まないようにします。 |
保管場所の設定すべてのストレージは推奨されません。頻繁にFlashを書くと不良ブロックが加速します。パワーダウンして保存するには、“指定変数を保存”で特定の変数を選択します。画面スレーブの場合、設定項目が少なくなります:有効なプロトコル、プロトコルタイプ選択“Modbusスレーブ”、スレーブアドレス(デフォルト1)、ストレージ設定、ストレージフラグ。
3.2変数の作成


変数ノードを追加した後、プロパティーウィンドウで設定します。いくつかの重要な属性:
| プロパティ | 説明書は |
|---|---|
| 名前は | デフォルト変数1/2/3、“ユニットステータス”などの意味のあるものに変更することをお勧めします。セグメント変数デフォルトフィールド1/2/3、“オン/オフ”を変更することができます。 |
| フォーマット/シンボル | Short、Long、単精度浮動小数点、文字列;符号なし/符号付き |
| 読取りおよび書込み設定 | Read Only/Read Only/Write Only |
| デフォルト値 | デフォルトの表示値 |
| 数値変換 | 実際の値=元の値×ズーム+パン、例えば0.1 倍率レジスタ整数を小数のプロジェクトに変換 |
| 表示フォーマット | 整数部と小数部の桁数の |
| 配列の種類 | オン後はそのアドレスからN個のレジスタを連続操作する |
| 貯蔵かどうか | プロトコルがストレージ設定をオンにしたら、パワーダウン可能に保存するにはチェックを入れます。 |
変数パラメータ:変数型のサポートコイル、ディスクリート入力、保持レジスタ、入力レジスタ、メモリ変数、システム変数ホストになるときに記入する必要がありますスレーブのアドレスそして、変数アドレス(16进)“スレーブの初期化”は、電源投入後に変数の値をスレーブに書き込むことです。“読み取り失敗ゼロ”は、変数が読めないときにゼロになることです(警告の場合は注意してください、誤表示の可能性があります)。
データロギングコントロールの2つの使用法(この段落を最初に読んで、次に割り当てる)
データログコントロールは、“変数の状態変化によるイベント”を記録します。警告を表示するには、2つのことが必要です。
- アラームのParse:“イベントID →テキスト/色”の照合表を作成する.画面に表示される文字と色はここで決まります。
- イベント·ロギング[トリガー]“いつメモを取るか”を決めます。トリガー条件が満たされた場合にのみ、アラームParseのテキストからタイムスタンプ付きレコードが生成されます。
イベントIDの入力方法とトリガー条件の記述方法は、スレーブによって異なります。返されるデータは?。実際には2つの使用法があり、以下の階層では全く異なる。
4.1使用方法1:ビットマップ(レジスタはビットマップを返し、サブノードをデカップリングする必要があります)
適用可能なシーン::スレーブはレジスタ内の異なるビットで異なるアラームを表し、“ビットマップ”を返します。例えば、離散入力変数“ユニット障害”(1つの16ビットレジスタを占める)を構築し、ビット0=コンプレッサ低圧、ビット1=ファン障害、ビット2=煙警報、ビット3=フィルタの詰まりを設定します。
子供が必要です:この使用法では、各ビットを変数として分離する必要があるため、制御はどのビットかを識別できません。変数の下に子ノード(セグメント変数)を追加し、ビット0~ビット3にそれぞれ名前を付けます。
| 子ノードセグメント変数 | 対応するビット | 意味の意味 |
|---|---|---|
| Field1 | bit0 | コンプレッサーの低圧 |
| Field2 | bit1 | ブロワの障害 |
| Field3 | bit2 | 煙警報を発する。 |
| Field4 | bit3 | フィルターブロック |
アラームの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手顺に厳密に従う:
- イベントパラメータ“変数”を選択
- イベントID上記のレジスタ変数を選択します(読み取り番号の変数自体です)。
- 実行条件は“等しい”を選択
- 変数の種類このレジスタを選択します(ステップ2と同じです)。
- 値の値スレーブから返された値を入力します(例: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新築工事の様子

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

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


トップページ放两个ボタン(コントロールID 1),タッチタイプ“切替画面”,ターゲット画面それぞれ指“现在警告”と“履歴警告”。ボタンプロパティのタッチタイプは“切り替え画面”に設定され、ターゲット画面は“現在のアラーム”を選択し、もう一つ同様です。
5.5現在の警報画面
スレーブマシンがアラームを生成すると、データ記録制御が表示されます。現在はアラームとトリガー時間。アラームが解除されると、制御はバーを表示しなくなります。構成手順:
- 画面にデータコントロール(コントロールID:1)を加え、“タイプ”を現在の警報。;
- “アラームParse”で各イベントIDの数値、表示色、説明を設定します。
- 各イベントIDには、“イベントロギング[トリガ]”のための論理処理が追加され、実行条件はビット== 1(ビット使用)またはレジスタ値==番号(値マッピング、4.2参照)に設定されます。


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

各イベント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プロトコルでストレージ設定をオンにすると、電源を失うことなく保存できます。



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


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

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を参照してください。
Leave a Reply