오랜만에 다시 글을 적습니다. OPCUA 서버와 클라이언트를 개발해야될 일이 있어서 많이 늦었네요. 글을 적다보니 코드레벨 까지 가는 길이 멀고도 험하네요. ㅎㅎ 지난글에서 제가 Pub/Sub에 대한 개념을 설명을 드렸습니다. OPCUA의 Pub/Sub은 어떠한 구조로 있는지 알아보도록 하겠습니다.
9. OPCUA의 Pub/Sub
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 시간보다 작을 수는 없겠죠.^^
다음시간에 간단하게 인증에 관련된 글을 적고 그 다음에 코드레벨로 들어가보도록 하겠습니다.
'IT 지식 > OPCUA' 카테고리의 다른 글
OPCUA 서버 개발하기 - 1편. 준비물 (5) | 2021.10.29 |
---|---|
OPCUA 통신 쉽게 알기 - 6편 Authentication (0) | 2021.10.28 |
OPCUA 통신 쉽게 알기 - 4편 Pub/Sub의 개념익히기 (Monitoring) (1) | 2020.07.14 |
OPCUA 통신 쉽게 알기 - 3편 OPC 서버와 PLC 의 연결 (6) | 2020.02.10 |
OPCUA 통신 쉽게 알기 - 2편 OPC 의 이점과 기능 (0) | 2020.02.10 |