2017-03-15 1 views
0

함수 노드가 내 노드 -red의 값과 비교하여 더 큰 노드를 출력합니다. 나는 그것을 원한다 :함수 노드가 다른 함수 노드를 재정의하도록 만드는 방법이 있습니까?

  1. 2 개의 값을 비교하여 더 큰 값을 출력한다.
  2. 5 초 후에 다시 2 값을 다시 비교하십시오.
  3. 첫 번째 값이 더 큰 경우 계속 출력하고 다른 함수 노드를 입력하십시오.
  4. 첫 번째 함수 노드를 무시하고 두 번째 함수 노드에서 계속 수행해야합니다.

참고 : 2 개의 값은 지속적으로 직렬 입력으로 공급됩니다. 내 문제는 그것이 첫 번째 함수로 전달 된 다음 두 번째 함수로 계속 전달된다는 것입니다. 요구 사항이 충족 될 때 첫 번째 함수 노드를 건너 뛰고 두 번째 함수 노드로 직접 이동하려고합니다.

감사합니다.

답변

0

첫 번째 함수 노드에서 흐름 또는 전역 컨텍스트에 변수를 설정 한 다음 스위치 노드에서이 값을 확인하여 어떤 분기를 수행 할 것인지 결정할 수 있습니다.

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

msg.payload 값이 아닌 시간을 기준으로 노드를 전환 할 수 있습니까? –

+0

컨텍스트 변수가 변경된시기를 변경하기 위해 지연 노드를 포함시킬 수 있습니다. – hardillb

+0

감사합니다. 나는 그것을하려고 노력했다. 나는 큰 문제가있다. 필자는 필자의 시리얼 입력에 실제로 값 "x"가 포함되어 있으면 스위치가 작동하도록했습니다. 내 문제는 그것이 스위치 후, "x"값을 내 입력에서 사라지고 그것은 첫 번째 지점으로 돌아갑니다. 필자의 입력에서 "x"값을 감지하자마자 지점을 영구적으로 변경하고 무엇이든 상관없이 처음으로 돌아 가지 않도록해야합니다. 분명히 밝았 으면합니다. 그것에 대한 어떤 제안? –