問題タブ [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.
c# - 「writeBytes」を試行するたびに libnodave がタイムアウトする
ライブラリを使用libnodave
して Siemens S7 PLC と通信しています。バイトを書き込もうとするまで、正常に動作します。私はほとんどいつもタイムアウトします。
接続する必要があるコード:
バイトを書き込む (後の段階で呼び出される別のメソッドで):
ほとんどの場合 -1025 (タイムアウト) を返します。
タイムアウトを変更したり、書き込みの直前に接続ルーチンを移動しても効果はありません。
android - Android で LibNoDave ライブラリを使用すると、PLC メモリから常に 0 を受け取ります
S7-1200 PLC と Android デバイス (現在シミュレーターを使用) で通信しようとしています。サンプルプログラムを見つけましたが、それを機能させるのに問題があります。
メインプログラムは次のとおりです。
そして、ここに TestISOTCP クラスがあります:
接続は機能しているようです。ping を実行すると、コードの最初の部分に接続ステータス OK が表示されます。
ただし、返される値はそれぞれ 0 であり、PLC で設定したと確信しています。また、PLCでWebサーバー機能を有効にしました(これは、私が理解していることが必要です)。
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 を使用しています。
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 オブジェクトが存在します。
これは有効なアプローチですか、それともまったく別のものを検討する必要がありますか?
android - エミュレーターで動作していますが、Androidフォンでは動作していません
libnodave ライブラリを含むアプリケーションを開発しています (Siemens PLC との接続)。私は単純にいくつかのデータを読み込んでAndroid画面に定期的に入れたいと思っています.Appはエミュレータで問題なく動作していますが、実際のデバイスではNullPointerExceptionを取得しています。私の問題はJava言語の使用に起因していると思いますが、それについてはわかりません。以下のコードを追加しています。
なぜこれが起こるのか、誰か説明できますか?
これはエラー メッセージです。
これはEnglishScreen.javaです
これは DataIsoTCP.java です。
マニフェストファイルに入れました
TCPConnection.java :
lazarus - libnodave getbit 関数が値を返さない
私は lazarus と nodave コンポーネントを使用しており、I45.6 などのデジタル入力のステータスを読み取りたいと考えています。イーサネット経由で接続していますが、CPU がスロット 3 にあり、通信カードが接続されていることがわかります。スロット5です。
これを行うために、GetBit
関数を使用しようとしています。
しかし、何をしても返事が来ません。それがコンポーネントのプロパティなのか、それとも何か他のものなのかはわかりません。
これが完全なコードです。コンポーネントはArea = daveinputsおよびprotoISOTCPに設定されています
java - Android端末からPLCに接続(libnodave)
AndroidデバイスからPLC(S7-300)に接続するためにlibnodaveライブラリ(Java版)を使用しています。プロジェクトは Eclipse で作成します。接続しようとすると、接続のエラーが発生します。これはログファイルです:
お願い助けて!