2017-03-15 15 views
0

私は関数ノードを自分のノードの値と比較して赤いものを出力し、大きいものを出力します。私はそれが欲しい:関数ノードを別の関数ノードよりも優先させる方法はありますか?

  1. 2つの値を比較し、大きい方を出力します。
  2. 5秒後に再度2つの値を再コンパイルします。
  3. 最初の値が大きい場合はそれを続けて出力し、別の関数ノードを入力してください。
  4. 最初の関数ノードを無視し、2番目の関数ノードで実行する必要があります。

注:2つの値は、シリアル入力によって常に供給されています。私の問題は、それが最初の関数に渡され続けてから2番目の関数に渡ることです。要件が満たされたときに最初の関数ノードをスキップして、2番目の関数ノードに直接移動します。

ありがとうございます。

答えて

0

最初のファンクションノードのフローまたはグローバルコンテキストで変数を設定し、その値をスイッチノードでチェックして、どのブランチをフォローするかを決定できます。

-------------  -----------  --------------  -------------- 
| serial |----->| switch |----->| function 1 |---->| function 2 | 
-------------  |   |---| -------------- | -------------- 
        ----------- |     | 
           |------------------| 
+0

msg.payloadの値ではなく時間に基づいてノードを切り替えることはできますか? –

+0

コンテキスト変数が変更されたタイミングを変更するために遅延ノードを含めることができます – hardillb

+0

ありがとうございます。私はそれをやろうとした。私は大きな問題がある。 シリアル入力に実際に値 "x"が含まれている場合は、それが切り替わるようにしました。私の問題は、スイッチした後、私の入力から値 "x"がなくなり、最初のブランチに戻ります。 私は、入力の値 "x"を検出するとすぐに、ブランチを永久に変更し、何も関係なく最初に戻らないようにする必要があります。 わかりやすかったです。それに対する提案はありますか? –

関連する問題