2017-02-10 12 views
1

에 알람을 추가하는 방법 : 불행하게도, 구독은 항상 특정 간격에 연결되어나는 현재 OPC UA 서버 (또한 마일)의 값에 가입 이클립스 마일로를 사용하고 이클립스 마일

client.getSubscriptionManager().createSubscription(interval).get(); 

. 특정 간격없이 즉시 수신되는 "푸시 알림"과 같은 것을 찾고 있습니다. 분명히, 아주 빈번한 가입을 만드는 것이 가능할 것이지만 그것은 우아한 접근이 아닙니다.

마일 소스를 살펴본 결과, 클래스 LimitAlarmNode에 주목했습니다. 서버의 노드가 특정 값으로 설정되는 즉시 수신되는 알람을 설정할 수 있습니까? 그렇다면 어떻게 할 수 있습니까?

대단히 감사합니다.

답변

2

불행히도 구독은 항상 특정 간격으로 묶입니다. 나는 특정 간격없이 즉각적으로 수신되는 "푸시 알림"과 같은 것을 찾고 있습니다.

OPC UA에는 즉석 구독이 없습니다. 알림은 구독에 대해 정의 된 간격으로 항상 게시됩니다. 소수의 항목 만 다루는 경우에는 바람직하지 않은 것처럼 보일 수 있지만 수만 가지 (또는 그 이상)의 잠재적 인 변경 사항이 발생할 때 유일한 확장 가능한 접근 방법입니다.

OPC UA 경보 및 조건은 OPC UA 이벤트 모델 위에 정의됩니다. 클라이언트는 현재 이벤트 구독을 지원하므로 알람을 지원하는 서버를 보유한 경우 클라이언트가 클라이언트에 가입 할 수 있습니다.

이벤트가 서버 SDK에 아직 구현되지 않았기 때문에 알람이 지원 기능을 제공하더라도 서버에서 지원되지 않을 수 있습니다. 통합 Automatiion의 OPC UA 문서에 OPC UA 클라이언트가 구독 할 수 있습니다 변화의 세 가지 종류가 있습니다 따르면

+0

나는 똑같은 문제에 직면했다. 내 opc ua 서버는 알람/이벤트 기능을 제공하지만 이벤트를 구독하기 위해 milo 샘플 코드를 찾을 수 없습니다. 사건에 대한 몇 가지 안내를 좀 해주시겠습니까? 고마워. –

+0

@TonnyTc 새로운 질문을 시작하거나 메일 링리스트에 문의하십시오. –

0

:

  1. 는 변수 값의 데이터 변경 (변수의 값 속성),
  2. 에 가입
  3. 오브젝트 이벤트 (오브젝트 & EventFilter 세트의 EventNotifier 속성) 및
  4. 을 구독하면 현재 값을 기준으로 클라이언트 정의 시간 간격으로 계산됩니다.

두 번째 옵션은 OPC UA 서버에서 샘플링이 발생하지 않기 때문에 유스 케이스에 적용되는 것 같습니다. 객체의 이벤트가 발생하면 큐에 추가됩니다. 나는 어떻게 해야할지 모르겠다. 그리고이 이벤트 오브제 오브 오브 젝 트는 Kevin Herron이 언급 할 때 "이벤트가 서버 SDK에 아직 구현되지 않았다"라고 언급 한 것이 확실하지 않다.

(Source)