質問

セキュリティシステム、火災警報器、カメラシステムなどのシステムから多数の異なるプロトコルを取得し、それらを単一の共通プロトコルに統合する必要があります。

これは、多くのシステムが購読または通信できるメッセージングサーバーになりたい。

  • ポーリングと非ポーリングの「ドライバー」 (プロトコルコンバーター)
  • RS232 / RS485 / tcpを処理する
  • プログラム可能な「ドライバー」 JavaやC#などのマネージ言語で
  • ルールエンジンの機能

biztalkはこれに適合しますか?

オープンソースの代替手段はありますか?

これを行うためのJava / Java EEの方法はありますか?

システムの一端はSCADAシステムで、他端は一種のミドルウェア/メッセージングサーバーです。

続行するための最善の方法に関するご意見をいただければ幸いです。ドライバー側ではかなりの量のプログラミングが必要になることは承知していますが、私としては魅力的ですが、システム全体をゼロから構築することは適切ではありません。

役に立ちましたか?

解決

Javaプラットフォームでの作業を気にしない場合は、 Apache Camel というオープンソースプロジェクトのエンタープライズ統合パターン。

キャメルはすでに ファイルメール JMS 、< href = "http://activemq.apache.org/camel/xmpp.html" rel = "nofollow noreferrer"> XMPP などのように、実際にコーディングする必要はありません。

新しいカスタムプロトコルを追加する最も簡単なルートは、 MINAコンポーネントの上に構築することですすべてのネットワーキング、ソケット処理、スレッド処理などを処理します(例:NIO対BIOなど)。

次に、独自のプロトコルコーデックを追加するために拡張します(フレーミングなどを使用してソケットでメッセージをマーシャリング/マーシャリング解除する方法)。

HL7コンポーネントは、これを行う例です。 MINAコーデックの記述の詳細はこちら

その後、ラクダコンポーネントを取得したら(fooと呼びます)、単純なURIを使用して任意のプロトコルから他のプロトコルにブリッジして、 .html "rel =" nofollow noreferrer ">コンテンツベースのルーター受信者リストルーティングスリップなど

e.g。 Javaコードで

// route all messages from foo
// to a single queue on JMS
from("foo://somehost:1234").
  to("jms:MyQueue");

// route all messages from foo component
// to a queue using a header
from("foo://somehost:1234").
  recipientList().
    simple("activemq:MyPrefix.${headers.cheese}");

他のヒント

SCADAおよびRS232 / RS485のBizTalkは、通常、リアルタイム(または少なくとも低遅延)ソリューションを必要とするため、これらを回避します。 BizTalkは高スループット用に最適化されていますが、デフォルトでは待ち時間が長いという欠点があります。

BizTalkを低遅延に調整できますが、この時点で、BizTalkに組み込まれているほとんどすべてをバイパスすることになります。

www.livedata.com

少し高価ですが、Pythonベースのエンジンであるプロトコルを使用して別のプロトコルを吐き出すことができます。すでにICCP、modbus、OPC、DNPなどの複数のscadaプロトコル用にセットアップされています。その後、ダウンストリームで何でも話せます。

  • ジョン

OpenSCADA をお勧めします。ウェブサイトは現時点では少し混乱していますが、ソフトウェアは活発に使用されており、活発に開発されています。明確な目標は、SCADAユースケース用の共通のテクノロジーに依存しないインターフェースを作成することです(現時点では、方向は多かれ少なかれJavaに向けられています(ただし、.NETバージョンを作成するためにikvmを試してみます)。

したがって、OpenSCADAを使用して、すべての「ハードウェア」と通信できます。デバイスを使用して、ミドルウェアの残りの部分へのブリッジを作成するか、ミドルウェア内のプラグインとしてOpenSCADAブリッジを作成します。たとえば、シリアルサーバー経由でLANにリンクされているカードリーダーに接続するドライバーが既にあります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top