問題タブ [libnodave]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1969 参照

c# - 「writeBytes」を試行するたびに libnodave がタイムアウトする

ライブラリを使用libnodaveして Siemens S7 PLC と通信しています。バイトを書き込もうとするまで、正常に動作します。私はほとんどいつもタイムアウトします。

接続する必要があるコード:

バイトを書き込む (後の段階で呼び出される別のメソッドで):

ほとんどの場合 -1025 (タイムアウト) を返します。

タイムアウトを変更したり、書き込みの直前に接続ルーチンを移動しても効果はありません。

0 投票する
1 に答える
3912 参照

android - Android で LibNoDave ライブラリを使用すると、PLC メモリから常に 0 を受け取ります

S7-1200 PLC と Android デバイス (現在シミュレーターを使用) で通信しようとしています。サンプルプログラムを見つけましたが、それを機能させるのに問題があります。

メインプログラムは次のとおりです。

そして、ここに TestISOTCP クラスがあります:

接続は機能しているようです。ping を実行すると、コードの最初の部分に接続ステータス OK が表示されます。

ただし、返される値はそれぞれ 0 であり、PLC で設定したと確信しています。また、PLCでWebサーバー機能を有効にしました(これは、私が理解していることが必要です)。

0 投票する
1 に答える
3067 参照

c# - Libnodave: connectPLC が -1 を返す

Libnodave dll を使用して CP 343-1 リーンでイーサネット経由で Siemens CPU315-2 DP に接続しようとしています。

ダウンロードファイルに含まれるサンプルプログラム「simpleISO_TCP.cs」を試してみました。関数 openSocket は問題なく動作しますが、関数 connectPLC は常に -1 を返します。これは、PLC への接続が失敗したことを意味します。

この問題の原因を知っている人はいますか?

PS: Windows 7 64 ビットで Visual Studio 2012 を使用しています。

0 投票する
2 に答える
1023 参照

c# - 外部ソースからデータを取得する MVVM WPF の新機能

私はMVVMが初めてで、ここで少し頭を悩ませています。英語は私の優先言語ではないので、ご容赦ください。

PLC用のHMIを作ろうとしています。2 つの異なる PLC に接続し、PLC の異なるデータブロックからデータを提示することになっています。簡単にするために、1 つの PLC のみに接続し、1 つのデータブロックのみからデータを取得する場合について説明します。データブロックにはデータの繰り返し構造体があります。私のソリューションでは、各構造体をオブジェクトにします。

PLC との通信にはLibnodaveを使用します。MVVM-thingies 用の MVVM Light。

モデル。

PLC 構造体の「レシピ」が含まれています。また、get-set-メソッドも含まれています。

ビューモデル。

ViewModelBase から継承し、モデル オブジェクトをメンバーとして持ちます。set で propertychanged を発生させる public get-set-methods。例:

コレクションビューモデル。

ViewModel の ObservableCollection。ModelData.cs (name と startbyte の 2 つの配列を持つクラス) からモデル名と startbyte を取得します。RelayCommands を使用して、ViewModels をコレクションに追加することをテストしました。

意見。

今のところ動作しますが、後で同様に動作することを願っています

私のプログラムは次のようになります。

(ViewModel と ModelData はお互いを知りません)

ということで、データ収集へ。私の計画は、ViewModel に PLC オブジェクトへの参照を持たせ (これがLibnodave の出番です)、PLC オブジェクト メソッドを使用してデータを収集することでした。PLC オブジェクトは PLC への接続を表し、データを読み書きするためのメソッドを含みます。ViewModel では、PLC オブジェクト メソッドを使用してデータを収集 (およびデータの書き込み) します。

これは多くの PLC 参照を意味しますが、ロックによってクラッシュが防止されることが期待されます。私の問題は、ViewModel に PLC オブジェクトへの参照を与える方法がわからないことです。PLC オブジェクトは他の ViewModel でも使用され、PLC ごとに 1 つずつ、2 つの異なる PLS オブジェクトが存在します。

これは有効なアプローチですか、それともまったく別のものを検討する必要がありますか?

0 投票する
0 に答える
509 参照

android - エミュレーターで動作していますが、Androidフォンでは動作していません

libnodave ライブラリを含むアプリケーションを開発しています (Siemens PLC との接続)。私は単純にいくつかのデータを読み込んでAndroid画面に定期的に入れたいと思っています.Appはエミュレータで問題なく動作していますが、実際のデバイスではNullPointerExceptionを取得しています。私の問題はJava言語の使用に起因していると思いますが、それについてはわかりません。以下のコードを追加しています。

なぜこれが起こるのか、誰か説明できますか?

これはエラー メッセージです。

これはEnglishScreen.javaです

これは DataIsoTCP.java です。

マニフェストファイルに入れました

TCPConnection.java :

0 投票する
1 に答える
789 参照

lazarus - libnodave getbit 関数が値を返さない

私は lazarus と nodave コンポーネントを使用しており、I45.6 などのデジタル入力のステータスを読み取りたいと考えています。イーサネット経由で接続していますが、CPU がスロット 3 にあり、通信カードが接続されていることがわかります。スロット5です。

これを行うために、GetBit関数を使用しようとしています。

しかし、何をしても返事が来ません。それがコンポーネントのプロパティなのか、それとも何か他のものなのかはわかりません。

これが完全なコードです。コンポーネントはArea = daveinputsおよびprotoISOTCPに設定されています

0 投票する
0 に答える
1288 参照

java - Android端末からPLCに接続(libnodave)

AndroidデバイスからPLC(S7-300)に接続するためにlibnodaveライブラリ(Java版)を使用しています。プロジェクトは Eclipse で作成します。接続しようとすると、接続のエラーが発生します。これはログファイルです:

お願い助けて!