問題タブ [structured-text]

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 投票する
2 に答える
20661 参照

arrays - Codesys での配列の定義

Codesys を使用して配列を作成しています。

以下の例は、5 つの値の配列を作成するために使用しているものです。

5 個の配列の場合は問題ありませんが、100 個の値の配列が必要な場合はどうでしょうか。

以下の例に示すように、各値を個別に入力する代わりに、100 個の値の配列をすばやく作成する方法はありますか。

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

types - Profinet での UINT と WORD の違いは何ですか

Siemens PLC でプロジェクトを開発していますが、Word と UINT のどちらを使用して 16 ビット値を格納する必要があるのか​​疑問に思っています。両者に違いはありますか?

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

arrays - 構造化テキストでの配列の使用

シミュレーション PLC で B&R Automation Studio を使用しています。いくつかのプログラムをいじっているだけで、問題が発生しました。

システムのアラームのリストがあります。これらのアラームのいずれかが作動した場合、アラーム フラグが必要です。アラームが 5 つしかないので、これは単純な OR ステートメントで行うのがさらに簡単になります。

しかし、アラームが 100 個あるとしたら、すべて手動で入力するには時間がかかります。私の最初の考えは、すべてのアラームを配列に入れて、任意の要素に簡単にアクセスできるようにすることですが、これを行うために、これらすべての変数をシステムに入力する必要はありませんか? だから私は多くの時間を節約しないでしょうか?配列に 100 個以上の変数を手動で入力するプロセスをスキップできるように、利用できる方法または関数ブロックはありますか?

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

oop - PLC オブジェクト指向プログラミング - メソッドの使用

構造化テキストを使用して Schneider PLC 用のプログラムを作成しており、オブジェクト指向プログラミングを使用してそれを実行しようとしています。

PLC プログラミングの初心者として、次のような簡単なテスト プログラムを作成しました。

aMethodいくつかの操作を実行し、結果を待ち (デッドロックを回避するための「タイムアウト」チェックがあります)、TRUE または FALSE を返す必要があります。

これは、プログラムの実行中に私が期待したことです

1) に到達すると、結果が返されるまでokFlag:=myObject.aMethod();内部のコードが実行されます。aMethod「実行された」とは、次のスキャン サイクルで、aMethod前に到達したポイントから の実行が継続されることを意味します。

2) メソッド呼び出しの結果をチェックし、プログラムのメインフローを実行する

これが起こることです:

1)aMethodが実行されますが、プログラム フローは続行されます。つまり、値の最後に到達すると、待機する必要がaMethodあるイベントがまだ実行中であっても返されます。aMethod

2) 次のサイクルでaMethod再度呼び出され、最初からやり直す

これは私が見つけた最初の解決策です:

そしてメインプログラム:

これはうまくいくようですが、それが正しいアプローチかどうかはわかりません。

ブール値を返すメソッドを使用し、プログラムで期待どおりに動作するように見える Schneider のライブラリがいくつかあります。つまり、サイクルが最初にメソッドの呼び出しに到達すると、プログラムフローは何らかの形で「逸脱」し、次のサイクルでメソッドが終了するまで再びメソッドに入ります。この動作を行う方法はありますか?

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

plc - 構造化テキストの特定の 'n' スキャン サイクルで PLC 実行を指定することは可能ですか?

現在、特定のスキャン サイクルで実行したい特定のコマンドを実行する PLC のコーディングに取り組んでいます。

構造化テキストでプログラムをコーディングして、「n」スキャン サイクルでのみ実行するステートメントにフラグを立てる方法はありますか?

前もって感謝します。