2017-12-02 23 views
0

Eclipse 밀로를 사용하여 OPC-UA 서버를 구축 중입니다. 구독 서비스에 여러 노드를 제공하는 여러 가지 방법은 무엇입니까? 기본 데이터 형식의 속성을 가진 사용자 지정 데이터 개체를 정의 할 수 있습니까? 방법?eclipse milo를 사용하는 여러 노드가있는 OPC-UA 서버

다른 데이터 형식 (정수, 이중, 부울 등)의 데이터를 출력하는 서비스를 원합니다. 각 값은 모든 값에 대해 단일 이름을 갖는 배열 출력과 같이 단일 이름이 아닌 다른 이름으로 지정되어야합니다. 이 목적을 위해 다른 유형의 속성을 가진 맞춤 데이터 객체 클래스를 정의하는 방법이 있습니까? OPC에서 사용자 정의 데이터 객체 유형을 서비스의 출력으로 가질 수 있습니까?

+0

저는 여러분이 무엇을 요구하는지 잘 모르겠습니다. 당신은 정교 할 수 있습니까? –

답변

1

개념적으로 묻는 다른 데이터 유형 각각에 노드를 추가하는 것은 폴더 노드를 만들고 노드를 추가하는 것과 다르지 않습니다.

milo-examples 프로젝트의 ExampleNamespace 프로젝트에서이를 수행하는 방법을 보여줍니다.

FolderType의 인스턴스가 아닌 ObjectType 사용자 지정 인스턴스를 사용하려는 경우 약간의 부기 작업이 필요합니다.

  1. 새 유형을 설명하는 ObjectTypeNode의 인스턴스를 만듭니다.
  2. 원하는 각 속성/구성원에 대해 원하는 DataType으로 구성된 변수로 새 VariableNode를 만든 다음 ObjectTypeNode의 HasComponent 또는 HasProperty 참조를이 VariableNode에 추가합니다. (이 노드는 스펙에서 InstanceDeclaration을 호출합니다.)
  3. ObjectObjectNode를 주소 공간에 BaseObjectTypeNode의 부속 유형으로 추가하십시오.

그런 다음 원래 ObjectNode를 만들었 으면 형식 정의를 새로 만든 ObjectTypeNode (예 : FolderType)로 지정합니다.

제 3 부 및 제 5 부에서이 모든 기능이 작동하는지 또는 UaExpert와 같은 클라이언트를 사용하여 서버의 기존 ObjectType 중 일부 (예 : ServerType)를 검사하면 더 좋은 아이디어를 얻을 수 있습니다.

편집 : 이제 어떻게 할 수 있습니까? here. 이것이 약간 부피가 크다면 ... 당신 말이 맞습니다. 일반적으로 ObjectTypes 및 VariableTypes는 모델링 도구에서 설계되고 NodeSet XML 파일을 통해 가져 오지만 현재 상황의 범위를 벗어납니다 ...

+0

케빈 씨, 고맙습니다. 질문이 있으면 다시 시도해 드리겠습니다. – markiv

+0

나를 가리킬 수있는 샘플 코드가 있습니까? ObjectTypeNode를 주소 공간에 추가하는 방법을 알 수 없습니다. – markiv

+0

@markiv 예제를 포함하도록 dev/0.2.x 분기의 ExampleNamespace를 업데이트했습니다. –