問題タブ [plc]
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.
open-source - 優れたオープンソース OPC ソフトウェア
現在、OPC が PLC と通信するために KEP サーバーの無料の試用版を使用しています。優れたオープン ソースの OPC ソフトウェアを知っている人はいないかと考えていました。
opc - 歴史家とは?
OPC と PLC に関して、ヒストリアンの機能は何ですか?
networking - FIN パケット後の TCP ウィンドウサイズ 0
マシンが FIN を受信した後に TCP ウィンドウ サイズをゼロに設定しても問題ありませんか?
接続の終わりの Wireshark から次のパケット ダンプを取得しましたが、これが接続を終了する有効な方法なのか、それとも何か問題があるのか 疑問に思っています。
ところで: .1 は通常の Windows PC で、.6 は Siemens PLC です。(S7-400)
いくつかの調査の後、TCP 会話を終了する奇妙だが有効な方法のように見えます。
matlab - MATLAB PLC 識別
この課題について助けが必要です:
通信チャネル (例: 電力線) には、高いモデム スループットを実現する上で大きな問題となる重要な特性があります。そのため、チャネルの特性を知りたいと考えています。チャネル インパルス応答としてモデムを特性に合わせます。
ファイル ( http://home.agh.edu.pl/~kwant/wordpress/wp-content/uploads/ir1.mat )からサンプル チャネル インパルス応答をダウンロードして調べます。
c - PLC (OPC クライアント サーバー Kepware) から MS Access、C への転送
私は PLC を使用するのはまったく初めてですが、OPC クライアント サーバーからデータを取得し、それを Access データベース テーブルに送信する必要があるプロジェクトがあります。OPCWriteGroupItems を除いたコードの大部分は、他の誰かからのものでした。OPCReadGroupItems から取得したデータを、関数 OPCWriteGroupItems の適切な変数に転送するときに迷ってしまいました。変数に読み込まれた値を取得したいだけです。ありがとう。参考までに、変数を正しく読み取るようにクエリステートメントを微調整する必要があることがわかっていますが、それは私が取り組んでいる別の問題です。これは、より差し迫った懸念事項です。
以下は、私が話した2つの機能です。
c# - .NET と Siemens PLC S7 200 のインターフェース
Siemens PLC S7 200 と .NET (C# または VB は関係ありません) を接続しようとしていますが、接続をセットアップできません。私は Win7 64 ビット マシンで作業していますが、32 ビットでも動作しないようです。次の 2 つのファイルを取得しました。
Interop.OPCSiemensDAAutomation.dll Siemens_s7-200.dll
新しいシステムに移行しようとしている別のプロジェクトから。ただし、常にcom例外が発生します。
私はすでにlibnodaveを試しましたが、それもうまくいかないようです。誰かがどこを見るべきかについての指針を教えてくれませんか (XKCD のユーモアはやめてください)。
Siemens PC-Access をこのマシンにインストールできませんでした。後で WinXP 32 ビットを試してみます。マシンに OPC サーバーまたは何かが必要ですか? についての記事を読みました。
PLCとの初めてのインターフェースなので、ご容赦ください:/
windows - ネットワーク通信のトラブルシューティング
TCP/IP 経由で 36 GE PLC と通信する C++ でサード パーティによって記述された産業用 HMI があります。HMI は、同じスイッチに接続された同じ部屋の 2 つの異なるマシンで実行されています。1 つの HMI が Windows Server 2003 32 ビットで実行されています。もう1つはWindows 7 64ビットで実行されています。Windows 7 HMI が接続できない PLC がいくつかあります。すべての PLC は Windows Server 2003 HMI で正常に通信します。Wireshark を実行して、何が起こっているかを確認しました。
PLC のイーサネット カードがリセットされると、Win7 HMI と障害のあるベースの 1 つが SYN/ACK シーケンスを送信します。HMI がデータ (PSH) を送信すると、PLC は RST パケットで応答します。その時点から、Win7 HMI からの SYN パケットはすべて RST 応答を受信します。昨日、この新しい HMI を設定したばかりで、その時点からこのようになっています。この HMI は、他の Win7 コンピュータで問題なく動作しています。私の知る限り、すべての PLC は同じハードウェア/ファームウェア リビジョン レベルです。私は、36 の PLC のそれぞれのソフトウェアが同一であることを知っています。
これをさらにトラブルシューティングするために何をすべきかについて、私は完全に途方に暮れています。私が昨日セットアップしたこの新しいマシンは、週の初めに故障したマシンに置き換わっているため、PLC への接続数は増加していません。さらに、他のほとんどの PLC はすべて正常に通信しているため、PLC ハードウェアの負荷の問題ではないようです。C++ コードは、まったく同じ方法ですべてのベースと通信しています。このコードは、36 個の PLC オブジェクトの配列を保持し、情報を更新するときにそれらをループします。これをさらにトラブルシューティングするために私ができることについて誰か考えがありますか?
java - Java から S7 Profinet PLC (1212C) にアクセスするためのリソース
ここで比較的特別な質問があります。少なくとも、私が探していた情報を Google が提供してくれなかったように思えたので、これは特別なことだと思います。
最近、S7 1212C PLC を含む S7 スターター キットを購入しました。それはすべてセットアップと実行です。
私がやりたいことは、そのコントローラーと通信する Java プログラム (ネイティブ ライブラリなし) を作成することです。S7 Java Beans があることは知っていますが、これらは 200/300/400 Sieries でしか動作しないようです。Java からそのような PLC にアクセスできる Java プロトコルスタックの (オープンソースの) 実装はありますか? そうでない場合は、基本的なスタックを自分で実装できる仕様へのポインタを入手できて本当にうれしいです (Web は高レベルの情報で満たされているようですが、低レベルのものはほとんどないようです)。 :-()
クリス、大歓迎です
c - 読み取りルーチンがクラッシュしないように保護するコードをlibnodaveテストプログラム(testISO_TCP簡略化)に追加するにはどうすればよいですか?
まず、私はC++の経験がほとんどない大学生です。その権利を何回聞いたことがありますか?libnodaveライブラリのテストプログラムtestISO_TCP(簡易バージョン)を使用しています。このプログラムは、seimens 300 PLCに接続されている間、フラグ値とデータブロックの単純な読み取りを行います。プログラム自体はエラーを発生させません。私がやろうとしているのは、読み取りがクラッシュしないように保護するコードをこのプログラムに追加することです。もう少し詳しく説明させてください。たとえば、コードに多くの読み取りが実装されているとします。現在のところ、読み取りは2つだけです。最終的には、このコードをさらに多くの読み取りで実行します。ここで、テストプログラムを実行していて、何らかの理由でPLCへの接続が失われたとします。プログラムに次の2つのいずれかを実行させたいと思います。1)接続が失われたら、一定回数接続を再試行し、試行回数がなくなったら終了します。または2)すべてが完了するまで、どういうわけかPLCから読み取りを続けます。
これが助けを得るのに十分な情報であることを願っています。これを効果的に行う方法がわからないまま、私が長い間見てきたコードを投稿します。よろしくお願いします。
macos - Mac OSX のターミナル経由で PLC のレジスタ値を変更する方法は?
簡単に言えば、プログラマブル ロジック コントローラーを USB シリアル アダプター経由で Mac に接続しています。RS-232 をコンピュータから PLC が必要とする RS-485 に変換する別のアダプタがあります。Mac のターミナル アプリケーションを使用して、PLC のレジスタ値を単純に変更したいと考えています。どうすればこれを行うことができますか?
ありがとう、
サム