問題タブ [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.

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

java - Android から PLC にブール値を送信する

PLCと接続してデータを読み込むことができました。ここで問題が 1 つあります。それは、PLC からのデータを変更するメソッドを作成する必要があることです。これを実現するには、int 値と boolean 値の 2 つの値を PLC に送信する必要があります。net.wimpi.modbus パッケージのクラスを介して解決された int 値を取得しました。しかし、ブール値に関しては、どうすればよいかわかりません。

誰かが私と同じ問題を抱えている場合は、私の問題を解決するための解決策または本当に優れたチュートリアルのリンクを見つけることができるリファレンスを送っていただけますか? 誰かがこの質問にいくつかのリンクを投稿しましたが、PLC との通信や PLC のデータの処理方法とはあまり関係のないチュートリアルに移動します。

編集

Modicon M340 PLC と接続し、接続には net.wimpi.modbus パッケージのクラスを使用します。クラス とを介してコード内で接続を確立し、クラスModbusTCPTransactionとをTCPMasterConnection介して値を読み取りました。ReadMultipleRegistersRequestReadMultipleRegistersResponse

接続用に作成したコード:

そして、値を読み取るために、次のコードを常に呼び出します。PLC で宣言されたオフセットから読み取った単語を介して、int、String、および float 値の読み取りと書き込みのみを行いました。

編集2

やりたいことはできたと思います。コイルを読み取るために使用する 4 つのクラスがあります。

ReadCoilsRequest ReadCoilsResponse WriteMultipleCoilsRequest WriteMultileCoilsResponse

私が行ったことは、コイルを読み込んで PLC に書き込むための 2 つの方法です。

また、Coils クラスを使用して BitVector 変数を読み取るメソッドを作成しました。

この後、ビットを 1 または 0 に設定するために使用したのは、コードで net.wimpi.modbus.util パッケージの BitVector クラスのネイティブ関数を使用することです。

注: PLC に対して値の読み取りまたは書き込みを行う場合は常に、PLC への接続を閉じて開くことが最善の方法であることを覚えておくことが重要です。

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

plc - 表示ボタンに移動 Factorytalk View ME?

Factor Talk View ME を使用して AB PanelView 1000 HMI をプログラムしていますが、ボタンをプログラムして「手動」モードを有効にし、ボタンを押した直後にディスプレイに移動する方法がわかりません。2 つの別々のボタンで個別に設定できますが、これが 1 つのボタンで実行できるかどうかわかりませんでしたか?

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

plc - 「MOVE」ブロックの目的は?

ファンクションブロックダイアグラムで出力に入力値を割り当てるだけの場合、直接接続の代わりにMOVEブロックを使用することの違いは何ですか?

MOVEの例

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

plc - アドレスのPLCビュービット

私は Omron PLC を使用しており、メモリ CIO1767 BIT 14 でこのビットをバイナリ ビューで見ています。

1 (オン) または 0 (オフ) のいずれかになります。

ラダーロジックを入れたい。このビットがオンの場合....しかし、そのビットアドレスを書き込む方法がわかりません。

まず、比較を使用して 1 か 0 かを確認する必要がありますか、それともノーマル オープンを実行して 0 の場合は NC を返すことができますか?

また、不明な場合は、CIO1767.14 を試していましたが、うまくいかないようです。ありがとうグレン

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

plc - CJ1W-CT021 カードエラー オムロン PLC

CJ1W-CT021 カードでこのエラーが発生しました。プログラムをしばらく実行した後、突然発生します。IOテーブルとユニットのセットアップに行くことで、それを見つけました。そのカードのパラメーターをクリックすると、赤で 2 つの設定が見つかりました。

出力制御モードおよび/またはカウンター出力パターン。これは読んでいた

これらがどのように、またはなぜ変化するのかについての考えはありません

私はいくつかの新しいコードを追加しましたが、新しいラングの出力が飛び出したので、大きなものは何もありませんでした。これを引き起こす可能性があると私が考えたのは、このカードに接続されたエンコーダーの値をチェックしていたプログラムのすべてのサイクルです。もしかしてチェックしすぎ?とにかく、これらが何をするか、またはどのように変化するかを誰かが知っている場合は、投稿してください. ありがとうグレン

編集..使用したビットを追加したかったのですが、このカードの内部ioの一部であるとは思いませんが、間違っている可能性がありますか?

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

c# - RS232通信プロトコルMitsubishiFX3GPLC

三菱FX3GPLCのRS232ポートと通信するための通信プロトコルを知っている人はいますか?

三菱とグーグルのサイトを検索しましたが、PLCの特定のレジスタのデータを取得するために送信するコマンドの構文が見つかりませんでした。

しかし、コマンドの次の部分が見つかりました。

  • BR=ビット読み取り
  • BW=ビット書き込み
  • WR=単語の読み取り
  • WW=ワード書き込み

ストレートケーブルとクロスケーブルのどちらを使用するべきか、またどのボーレートで通信する必要があるのか​​(またはデータビット、ストップビット、パリティなどの他の設定)を見つけることができませんでした

FX3G PLCとのRS232通信の経験はありますか?

  • ボーレート(およびその他の通信設定)とは何ですか?
  • コマンドのヘッダーはどのように作成されますか?
  • コマンド自体はどのように構築されていますか?
  • チェックサムはどのように計算されますか?

(どのコーディング言語でも、プロトコルマニュアルでも構いません)

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

plc - PLC の信号処理またはアルゴリズム プログラミング

電圧と温度をアナログ入力として受け取り、ローパス フィルター処理、指数平滑化などの信号処理を含むアルゴリズムを使用して何らかの処理を行うアプリケーションがあります。これらの処理は通常、次のような高レベルのプログラミング言語で行われます。 C または C++。

PLC、特に Allen-Bradley Control-Logix システムを使用してこれらの同じ手順を実行する方法に興味がありますか? これには、ラダーロジックを使用した命令セットが制限されすぎているようです。構造化テキストを使用してこれを実行できますか?

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

plc - Pi Historian、値が等しい場合にのみ結果を表示

PI Historianを使用して、いくつかのタグポイントから値を読み取ります。
私はこの特定のHistorianソフトウェアを使用していますhttp://www.osisoft.com/


特定の「テキスト」または「結果」が含まれている場合に結果を表示できるかどうか知りたい


タグマスクはどこにありますか?検索したいタグを配置できます。そのタグを取得した後、現在の値またはサンプルデータを実行したり、タイミングを設定したり、計算したりできます。

代わりに、例の「本」品質タグの現在の値を持つタグを表示したいと思います

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

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

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

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

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

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

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

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

java - クラスパスを設定した後、jar ファイルからパッケージをインポートする必要がありますか?

これが取引です - Allen Bradley PLC と通信するために必要な jar ファイルをダウンロードしました。当然のことながら、私は CLASSPATH をセットアップし、jar ファイル内のクラスの 1 つからコンストラクターを使用してプログラムを作成し、自分のやり方で進めることができると期待していました。そうではありませんでした。

ここに私のクラスパスがあります:

私のプログラムのコードは次のとおりです。

コンパイルすると、次のエラーが発生します。

プログラムとjarファイルが同じディレクトリにあります。jar ファイルにあるパッケージをインポートする必要がありますか、それともまったく別のものが不足していますか?

前もって感謝します

編集:

これが私のコードです:

se.opendataexchange.ethernetip4j.clx.ControlLogixConnector が存在せず、ControlLogixConnector オブジェクトが存在しない (javac PLCServer.java でコンパイルされた) というエラーが表示されます。