IT 지식/OPCUA

OPCUA 통신 쉽게 알기 - 5편 Monitoring item

셔니아빠. 2021. 3. 27. 20:55

 오랜만에 다시 글을 적습니다. OPCUA 서버와 클라이언트를 개발해야될 일이 있어서 많이 늦었네요. 글을 적다보니 코드레벨 까지 가는 길이 멀고도 험하네요. ㅎㅎ  지난글에서 제가 Pub/Sub에 대한 개념을 설명을 드렸습니다. OPCUA의 Pub/Sub은 어떠한 구조로 있는지 알아보도록 하겠습니다.

 9.  OPCUA의 Pub/Sub 

 

 

OPCUA Subscription 형태

 Subscription은 구독이라고 지난번에 설명을 드렸습니다. 이 구독 밑에는 하위 항목인 구독하고 싶은 리스트가 있습니다. 그것을 Monitored items라고 합니다. 내가 모니터링 하고 싶은 아이템들 이라는 뜻이에요. 그럼 이 아이템들 밑에는 모니터링 아이템의 각각 개별 요소가 있겠지요. 이런 형태로 구성이 되어있습니다.  DataChangeTrigger 는 총 3가지의 Filter를 제공합니다. (실제 코드상에서는 Filter로 표기되어있습니다.) 

 1. STATUS - Good, Bad를 의미합니다. Raw데이터의 상태, 즉 PLC의 연결이 좋고 데이터가 문제가 없다면 Good, 그게 아니라면 Bad로 표시됩니다

 2. STATUS VALUE - STATUS 와 VALUE의 OR 조건입니다. 둘중에 하나라도 변경되면 알려줍니다. (알려주는 것이 Notification 입니다.) 아마 가장 많이 쓰지않을까 싶습니다. VALUE가 변경될떄마다 알려주니까 매우 편합니다.

 3. STATUS VALUE TIMESTAMP - 2번외에 타입스탬프가 추가된 조건입니다. 타임스탬프는 servertimestamp 가 있고 sourcetimestamp가 있습니다. 초기 PLC의 Raw데이터가 와서 서버의 Queue에 적재되는 시간이 Servertimestamp 기 때문에 민감하게 조절한다면 더 해상도가 높은 데이터를 얻을수 있지만 실제 서버의 PLC Polling 시간보다 작을 수는 없겠죠.^^

다음시간에 간단하게 인증에 관련된 글을 적고 그 다음에 코드레벨로 들어가보도록 하겠습니다.