簡単な説明
アナログ演算ブロックは、ユーザー定義のオペランドおよび演算子から作成された式 の値AQを計算します。
接続 |
説明 |
入力En |
アナログ演算ファンクションブロックを有効にします。 |
パラメータ |
V1: 値1: 第1オペランド V2: 値2: 第2オペランド V3: 値3: 第3オペランド V4: 値4: 第4オペランド
演算子1: 第1演算子 演算子2: 第2演算子 演算子3: 第3演算子
優先度1: 最初の操作の優先度 優先度2: 2番目の操作の優先度 優先度3: 3番目の操作の優先度
p: 小数点以下の桁数 |
出力AQ |
出力AQはオペランド値および演算子から作成された式の結果です。 AQは、0による除算またはオーバーフローが発生した場合32767に、負のオーバーフローが発生した場合(アンダーフロー)32768に設定されます。 |
|
FL1A~FL1D: FL1Eよりも前には、アナログ演算ファンクションブロックは存在しませんでした。
|
パラメータV1、V2、V3、V4
V1、V2、V3、V4の値は、既にプログラムされた別のファンクションの値によって指定す ることができます。
アナログ比較:Ax Ay
アナログトリガ:Ax
アナログリニア変換:Ax
アナログマルチプレクサ:AQ
アナログ台形制御:AQ
アナログ演算:AQ
PI制御:AQ
アップ/ダウンカウンタ:Cnt
パラメータp(小数点以下の桁数)
パラメータpは、メッセージ出力のV1、V2、V3、V4、AQの表示に適用されます。
ファンクションの詳細
アナログ演算ファンクションは、4つのオペランドおよび3つの演算子を組み合わせて、式を作成します。演算子は、次の標準的な 4つの演算子のどれかにすることができます。+、-、*、または/。各演算子では、高("H")、中("M")、または低("L")の固有の優先度を設定する必要があります。優先度が高の演算は最初に 実行され、そのあとに優先度が中の演算、さらに優先度が低の演算が実 行されます。各優先度の演算子は正確に1つだけ必要になります。 オペランド値は定義済みの別のファンクションを参照して値を与えることができ ます。アナログ演算ファンクションは、演算結果を四捨五入し、最も近い整数値に丸めます。
オペランド値の数は4に固定され、演算子の数は3に固定されています。これより少ない数のオペランドを使用する必要がある場合 、+ 0または"* 1"などの構文を使用して残りのパラメータを満たす必要があります。
有効化パラメータ"En"=0のときに、ファンクションの動作を設定することもできます。ファンク ションブロックは、最後の値を保持するか、または0に設定することができます。
発生可能なエラー: ゼロによる除算とオーバーフロー
アナログ演算ファンクションブロックを実行した結果、ゼロによる除算またはオーバ ーフローが発生すると、発生したエラーのタイプを示す内部ビットが設定されます。 使用する回路プログラムにアナログ演算エラー検出ファンクションブロックをプログラムして、これらのエラーを検出し、 必要なプログラム動作を制御することができます。 1つの特定のアナログ演算ファンクションブロックを参照するために、1つのアナログ演算エラー検出ファンクションブロックをプログラムします。
例
次の表は、アナログ演算ブロックのパラメータの簡単な例、結果の式、および出力値を示してい ます。
V1 |
演算子1 (優先度1) |
V2 |
演算子2 (優先度2) |
V3 |
演算子3 (優先度3) |
V4 |
12 |
+ (M) |
6 |
/ (H) |
3 |
- (L) |
1 |
式: (12 + (6 / 3)) - 1
結果: 13
V1 |
演算子1 (優先度1) |
V2 |
演算子2 (優先度2) |
V3 |
演算子3 (優先度3) |
V4 |
2 |
+ (L) |
3 |
* (M) |
1 |
+ (H) |
4 |
式: 2 + (3 * (1 + 4))
結果: 17
V1 |
演算子1 (優先度1) |
V2 |
演算子2 (優先度2) |
V3 |
演算子3 (優先度3) |
V4 |
100 |
- (H) |
25 |
/ (L) |
2 |
+ (M) |
1 |
式: (100 25) / (2 + 1)
結果: 25