@jsh/opcua

Since v8.0.52

Client

OPC UA 클라이언트입니다.

사용 예시

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
opcua = require("@jsh/opcua");
nodes = [
    "ns=1;s=NoPermVariable",
    "ns=1;s=ReadWriteVariable",
    "ns=1;s=ReadOnlyVariable",
    "ns=1;s=NoAccessVariable",
];

try {
    client = new opcua.Client({ endpoint: "opc.tcp://localhost:4840" });
    vs = client.read({
        nodes: nodes,
        timestampsToReturn: opcua.TimestampsToReturn.Both
    });
    vs.forEach((v, idx) => {
        console.log(nodes[idx], v.status, v.statusCode, v.value, v.type);
    })
} catch (e) {
    console.log("Error:", e.message);
} finally {
    if (client !== undefined) client.close();
}
생성
Constructor설명
new Client(options)옵션과 함께 OPC UA 클라이언트를 생성합니다.
옵션
옵션타입기본값설명
endpointString""OPC UA 서버 주소
readRetryIntervalNumber100읽기 재시도 간격(밀리초)
messageSecurityModeMessageSecurityMode 지정

close()

서버 연결을 종료합니다.

사용 형식
close()
매개변수

없음.

반환값

없음.

read()

사용 형식
read(read_request)
매개변수

read_request Object ReadRequest

반환값

Object[] ReadResult 배열

vs = client.read({
    nodes: [ "ns=1;s=ro_bool", "ns=1;s=rw_int32"],
    timestampsToReturn:ua.TimestampsToReturn.Both
});
vs.forEach((v, idx) => {
    console.log(nodes[idx], v.status, v.statusCode, v.value, v.type);
})

write()

사용 형식
write(...write_request)
매개변수

write_request Object 가변 개수의 WriteRequest

반환값

Object WriteResult

rsp = client.write(
    {node: "ns=1;s=rw_bool", value: false},
    {node: "ns=1;s=rw_int32", value: 1234}
)
console.log("results:", rsp.results);

ReadRequest

옵션타입기본값설명
nodesString[]읽어올 노드 ID 목록
maxAgeNumber100허용 가능한 캐시 연령(밀리초)
timestampsToReturnTimestampToReturn

ReadResult

프로퍼티
프로퍼티타입설명
statusNumber상태 코드
statusTextString상태 설명
statusCodeStringOPC UA 상태 코드 문자열
valueany읽은 값
sourceTimestampNumber소스 타임스탬프(밀리초)
serverTimestampNumber서버 타임스탬프(밀리초)

WriteRequest

프로퍼티
프로퍼티타입설명
nodeString노드 ID
valueany기록할 값

WriteResult

프로퍼티
프로퍼티타입설명
resultsNumber[]상태 코드 목록
timestampNumber타임스탬프(밀리초)
stringTablesString[]문자열 테이블

MessageSecurityMode

  • MessageSecurityMode.None
  • MessageSecurityMode.Sign
  • MessageSecurityMode.SignAndEncrypt

TimestampToReturn

  • TimestampToReturn.Source
  • TimestampToReturn.Server
  • TimestampToReturn.Both
  • TimestampToReturn.Neither
최근 업데이트