問題タブ [codesys]
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.
java - 異なるプログラミング言語 (Java <-> CoDeSys) 間で TCP Socket を介して構造体を送信する
TCPソケットを介して構造体(ブール値、int、および文字列で構成される)を送信する必要があります。送信側 (PLC) は CoDeSys で実装され、受信側は Java で実装されます。
1 つの解決策は、データを含む大きな文字列を作成し、それをソケット経由で送信し、Java で解釈することです。しかし、これは非常に非効率的です (構造体には 50 以上の変数があるため)。
構造体を送信する他の方法はありますか (例: Java ではシリアライゼーションがありますが、CoDeSys ではサポートされていません)。
そうでない場合、データをフォーマットする良い方法は何ですか?(e.g.: "variableName1:value1;variableName2:value2;...")
文字列の値をJava側のオブジェクトに自動的に割り当てる「トリック」はありますか?
codesys - Codesys で日付と時刻を表示する
Codesys Visualization でシステム時間を表示しようとしています。
「#dt」を使用して時間を取得し、テキストフィールドに表示しています
%t[ddd MMM dd.MM.yyyy HH:mm:ss] プレースホルダー。
現地時間を表示したい。しかし、私は「UTC」タイムスタンダーに入っています。
現地時間を取得するにはどうすればよいですか?
c++ - Linux ベースの WAGO PFC200 PLC 上の CoDeSys プログラムと通信する
私は現在、PLC、特に WAGO 750-8206 PLC に精通しています。Linux OS を提供し、CoDeSys プログラムを実行できます。コントローラには、750-530、750-430、および 750-600 の I/O モジュールが接続されています。私が知りたいのはこれです:
PLC で実行され、デジタル入力と出力を取得/設定する C++ Linux アプリケーションを作成することは可能ですか?
さらに良いことに、「I/O と対話」し、すべてのロジックを処理し、同時に C++ Linux プログラムからアクセスできる CoDeSys プログラムを作成できますか? アイデアは次のとおりです。CoDeSys プログラムに、たとえば 2 つのデジタル入力をチェックしてもらいたいと考えています。両方が高い場合、変数を定義済みの値に設定する必要があります。Linux アプリケーションは、その変数を読み取り、さらに処理を実行できる必要があります (JSON データをサーバーなどに送信するなど)。
また、Linux アプリケーションがコマンドをトリガーするメッセージを受信したときに、デジタル出力を切り替える (またはアナログ出力の値を設定するなど) ために、Linux アプリケーションから CoDeSys プログラムにコマンドを送信できる必要があります。
私はこのトピックにまったく慣れていないので、このトピックに関する考えやコメントは大歓迎です。前もって感謝します!
c# - C# + CoDeSys Automation Platform SDK -> PLC の変数 = VarRefState.NotMonitoredYet
PLCの変数を読み取ろうとしています。
Automation Platform には、(C# で記述した) テストを開始するプラグインがあります。
プラグインを初めて実行すると、常に同じエラーが発生します。しかし、それをもう一度実行すれば、それは良いことです。
a を使用しList<IOnlineVarRef6> vars
て変数を読み取ります。私のエラーは、私vars
のState
はNotMonitoredYet
です。例:
問題は、変数を取得するメソッドにあると思います:
CompareValues() を呼び出す前に待機するメソッドがあり、3 回再試行し、再試行する前に待機します。
plc - Codesys 3.5 の ST でカスタム ファンクション ブロックをリアルタイムで操作する方法
非常に単純なタスクを実行しようとしていますが、どうすればよいかわかりません。
私の仕事は毎日のスケジュールです。出力は毎日 1:00 から 2:00 までQ1
でなければなりません。HIGH
私に役立つ機能ブロックが見つかりませんでした。私は自分自身を作成することにしました。
これが私の定義です。
アイデアはこれです。EN
が入力されます。HIGH
アウトプットにもQ
なるはずHIGH
です。
その他は曜日です。その日に仕事をスケジュールしたい場合は、1 または 0 を設定できます。あらゆるタイプのスケジュールを作成するための、ほぼ普遍的な機能ブロック。
質問 1 : 曜日変数を型BOOL
にすると、LD ラインにブロックを追加すると、曜日パラメータごとに連絡先が作成されます。
EN
連絡先のみを回線に接続するにはどうすればよいですか?
EN/ENOでファンクションブロックを追加しようとしてもわからない
1) 関数ブロックの内部を知るにはどうすればよいですEN
かHIGh
、またはその変数にアクセスするにはどうすればよいですか? 2) コイルをQ
出力に接続できません。にのみ接続しENO
ます。の状態を制御するにはどうすればよいENO
ですか?
しかし、それだけではありません。日時ライブラリを追加しました
しかし、私が時間をかけて機能することがわかったのは、RTCLK.GetDateAndTime
関数ブロックだけです。そして、私はそれを扱う方法を理解できません。
私の単純なタスクは、現在の TIME のみと現在の曜日を取得することです。今週が有効な場合、現在の時刻は input T1
-make Q
=HIGH
そうでない場合の範囲内LOW
です。
それに関するヒントはありますか?