2011-08-10 9 views
4

ここでは比較的特別な質問があります。少なくとも、私はそれが私が探していた情報を私に提供することができないように見えるので、特別だと思う。JavaからS7 Profinet PLC(1212C)にアクセスするためのリソース

私は最近、S7 1212C PLCを含むS7スターターキットを購入しました。それはすべてセットアップと実行です。

私がしたいのは、そのコントローラと通信するJavaプログラム(ネイティブライブラリなし)を作成することです。私はS7 Java Beanがあることを知っていますが、これらは200/300/400 Sieriesでしか動作しないようです。 Javaプロトコルスタックの実装(オープンソース)がありますか?JavaからそのようなPLCにアクセスできるようにしていますか?もしそうでなければ、私は自分自身の初歩的なスタックを実装できるいくつかの仕様へのいくつかの指針を得ることを本当にうれしく思うだろう(Webは高レベルの情報で満たされているようだが、低レベルのものはほとんどないようだ:-()大歓迎

ヘルプ、 クリス

答えて

1

で見つけることができるコードを有しています。実際にProfinetIOを使用する純粋なJavaの方法はありません。問題は、通信の開始は問題ではなく、ポーリング値も可能ですが、通常のProfinet IO通信を開始するには、TCPとUDPの下のIPスタックにアクセスする必要がありますJavaではこれが許されません。残念ながら、plcによって送信された「リアルタイム」の状態情報は、JavaがサポートしていないIPフレームタイプを使用して送信されます。

3

libnodaveの唯一のJavaバージョンはベータテスターに​​ありますが、1212がサポートされている場合は、私にはわからない。

+0

ええと...私はすでにその男に連絡した。すぐに答えを受け取ることを願っています。現在のところ、私が知る限りでは、プロトコルはISO over TCP(RFC1006)に基づいており、これをApache Mina Projectで実装することができます。それ以外にも私はProfiNet Protokolの説明書を書いていました...うまくいけばすぐに到着します。また、私はネイティブライブラリから独立している必要があります。これは純粋なJavaソリューションでなければならず、ほとんどの商用で高価なソリューションはほとんどありません。 –

+0

Ok ...今、私はいくつかの情報を得ました。 LibnodaveはProfinet CBAを使用してPLCにアクセスしているようです。 Profinetのメンバーは、UDPベースのProfinet IOを見てみることを提案しました。残念ながら、プログラマーがProfinet IOを話すことの一例は、言語に関係なくそうではないようです。 –

+0

LibnodaveはProfinet経由でS7 PLCにアクセスしません... – avra

0

私にはありませんこれがあなたにとって参考になるかどうかは分かりますが、S7デバイスを使ってTCP/IP経由でネイティブに通信するJavaライブラリ(LGPL 3.0)があります。

http://openscada.org

見自体がこれを閉じることができるようにするためにhttp://git.openscada.org/?p=org.openscada.atlantis.git;a=tree;f=org.openscada.da.server.dave;hb=HEAD

+0

ありがとうございました...私はそれを調べるでしょう。私は実際にProfinet IOプロトコルの一部を実際に実装しましたが、実際のデータ交換のためには、プロトコルスタック上でTCPより下になければなりませんでした。それはJavaでは不可能でした。したがって私はそれを断念しました。このProfinet CBAの実装は、私が使用したいものに対して十分であろうと思っています。私はそれが開発者(JCIFS、JInterop、...)として使い慣れている多くのツールを利用していることがわかりました。 –

0

チェックアウトMoka7:これはJavaでS7プロトコルの実装です。

関連する問題