プロセス制御データの監視など

こんにちは、Habrコミュニティのユーザー。



記事の目的:ディスパッチシステムで使用できる低コストのデータ視覚化ソリューションの実装のデモンストレーション。



それはどのように始まったのですか。



エネルギー部門の生産施設の1つでは、10,000を超える信号を備えた約20ユニットが自動化され、APCSのデータを監視するためのディスパッチングシステムを開発する必要がありました。



この点で、グラフやビデオフレーム(ニーモニックダイアグラム)の形式でデータを視覚化するためのITソリューションを実装することに興味がありました。ソリューションは、スケーラブルで、クロスプラットフォームで、使いやすく、Webベースである必要があります。そして、機能-ニーモニック図、グラフィックス。行く…



ニーモニック図



ニーモニックダイアグラムを作成するには、グラフィックエディタが必要です。



独自の開発は難しく、費用がかかるため、Visioが選択されました。



なぜVisio?



1-ベクターグラフィックスをサポートします。

2-組み込みのvbaエディターがあります。

3-グラフィック要素の独自のライブラリを作成できます。

4-グラフィカルオブジェクトに任意のプロパティセットを追加する機能があります(図1を参照)

5-一般的なエディター、多くのユーザー。



したがって、Visioは私の目的にとって理想的なエディターになりました。





図1。



チャート



ここでは簡単でした。最初にhighchartsライブラリを検討しましたが、有料である

ため、d3.jsを優先し選択しました。



d3.jsは非常にクールなフレームワークであり、優れた機能であり、習得するのは少し難しいですが、インターネット上には多くの例があります。



「チャート」Webフォームを使用すると、さまざまな時間範囲、座標平面、セットスケール、およびその他の機能でチャートを表示できます。



アプリケーション開発プラットフォーム



Webアプリケーションの開発には、ASP.NETWebプログラミングプラットフォームであるASP.NETMVCフレームワークが選択され、その後、アプリケーションはASP.NET CoreMVCに転送されました。



アプリの仕組み



では、アプリはどのように機能しますか?



アプリケーションは、Web apiインターフェイスを介してデータを受信し、グラフやニーモニック図の形式でユーザーに表示します。



アプリケーションは2つの方法で機能します。



最初のオプション:





図2。



すでに述べたように、アプリケーションはデータを受信するためのWeb apiインターフェイスを実装し、データサービス(プログラムモジュール)はソースからのデータの受信に直接関与します。作業の最初のバージョンでは、サービスがアプリケーション内に実装されていることがわかります。これは、たとえば、アプリケーションとデータソースが同じネットワーク上にある場合に便利です。



2番目のオプション:





図3



2番目のオプションでは、サービスは、アプリケーションがデータのためにアクセスする個別のソフトウェアモジュールです。2番目のオプションは、ソースとアプリケーションが異なるネットワーク上にある場合に使用できます。たとえば、アプリケーションはホスティングにデプロイされます。



アプリケーションの主なオブジェクトはタグです。これは変数であり、技術プロセスの測定値です。タグを操作するための一連のメソッド(たとえば、GetTagOnline、GetTagArchiveなど)は、Webapiインターフェイスを実装します。



そのため、アプリケーションはサービスからデータを取得し、Visioでユーザーが作成したニーモニック図をロードして、このデータを表示します。



ニーモニックダイアグラム上のグラフィックオブジェクトのアニメーション



Javascriptは、ニーモニックスキームのグラフィック要素をアニメーション化するために使用されます。ユーザーがアニメーション関数を簡単に開発できるようにするために、アプリケーションには、たとえば、printf(テキスト)、SetText(オブジェクト、インデックス、値)、SetBackColor(オブジェクト、インデックス、値)、SetVisible(オブジェクト、 Value)、GetTag(TagName)など。

たとえば、測定値表示関数:



Function Field (Object, Property) {
var Tag = GetTag(Property.Tag1);
SetText(Object,1,Tag.Value);
}


管理、構成。



構成には、ユーザーがプロファイルを作成したり、サービスを追加したりする構成ファイルが使用されます。このアプリケーションはコンソールであり、win-serviceとして機能します。

このアプリは、組み込みのKestrelクロスプラットフォームWebサーバーを使用します。



この記事は「自動化されたプロセス制御システムのデータの監視だけでなく」と呼ばれています。アプリケーションは、原則として、図、図などの形式で提示できるすべてのデータを表示できます。

読んでくれてありがとう、批判やフィードバックに興味があります。ありがとう。



以上が、アプリケーションの写真です。



ニーモニック図の例(ファイルeplan-> autocad-> visioから作成されました):











グラフ:










All Articles