2017-12-19 5 views
-1

Image of the transition problemAnyLogic - 내 상태 기반 전환이 작동하지 않는 이유는 무엇입니까?

안녕하십니까,

나는 (위의 링크에서 이미지 참조) 내 상태 차트의 전환에 관한 질문이 있습니다. 나는 boolean-type이고 true와 false 사이에서 변화하는 palletInUse라는 변수를 가지고있다. 내 statechart의 한 전환에 대해 변수 palletInUse가 true 일 때 변수를 변경하고 싶습니다. 나는 그것을 예를 들면 다음과 같이 시도했다 :

palletInUse == true;

등등 다른 코드를 시도해 보았습니다. equals 및 contentEquals 등은 사용했지만 아무 것도 작동하지 않는 것 같습니다. 이 문제에 대한 해결책이 있습니까?

미리 감사드립니다.

답변

1

상태가 에이전트에서 변경 될 때만 지속적으로 모니터링되지 않습니다. 일반적인 "="자바 연산자를 사용하여 변수에 새 값을 할당하면 AnyLogic 엔진에서이를 catch하지 않습니다. 그 후에 onChange() 함수를 호출해야합니다. 그런 다음 전환이 실행되어야합니다. 명시 적 onChange() 호출없이 조건 검사를 트리거하는 다른 방법이 있습니다. 당신은 그들을 in AnyLogic Help article 찾을 수 있습니다. 아무 것도 발생하지 않은 경우

palletInUse

0

조건은 평가되지 않습니다, 당신이해야하는 이유 : 은 BTW, 당신은이 true 또는 false과 비교 할 필요는 없다, 조건으로 단지 부울 변수를 지정할 수 있습니다 당신의 상태를 평가 받기 위해 끊임없이 어떤 일이 일어나게하십시오. 다음 그림에서 보는 바와 같이 수행하는 일반적인 방법은 다음과 같습니다

statechart auxiliar transition

관련 문제