OPC UA 서버

스테이션이 프로세스 안에서 돌리는 OPC UA 서버입니다. 서버 폴더에 있는 그 행, 켜고 끄기, 다시 시작과 연결 테스트, endpoint와 계기 여섯 개를 담은 상태 카드, 세션이 지나는 두 확인, 그리고 원격 브라우저가 할 수 없는 일입니다.

Markdown으로 보기

스테이션은 OPC UA 서버입니다. 애플리케이션 프로세스 안에서 돌며, 제공하는 노드 카드에 넣은 태그, Logic 변수, 경보, 장치 명령을 opc.tcp://<network name>:4840/UA/GanterLab에서 제공합니다(같은 컴퓨터에서는 localhost로도 닿습니다). 이 이름은 구성의 네트워크 이름에 적은 이름이며, 그 입력란이 비어 있는 동안에는 이 컴퓨터 자신의 이름입니다. 네트워크의 OPC UA 클라이언트는 거기에서 그것을 읽고, 읽기와 쓰기로 표시한 행에는 쓸 수도 있습니다. 쓰기는 다른 모든 쓰기와 같은 Logic 쓰기 깔때기를 지나므로, 원본 잠금과 런타임의 거부가 그대로 적용됩니다. 서버는 Connector가 읽는 것을 공개할 뿐 스스로는 아무것도 읽지 않습니다. 서버를 끄거나, 시작할 때 다른 프로그램이 포트를 쥐고 있어도 멈추는 것은 서버뿐이며, Connector와 Logic과 기록은 계속됩니다.

그 행은 Connector 서버 폴더의 첫 행이며, 그 패널은 제목 아래에서 자기가 무엇인지 말합니다. "목록에 넣은 태그, Logic 변수, 경보, 장치 명령을 그것을 읽고 쓰는 OPC UA 클라이언트(SCADA와 MES 시스템, 히스토리언, 다른 스테이션)에 제공합니다. 연결을 받기만 하고 스스로 연결하지는 않습니다." 패널에는 상태, 구성, 클라이언트 접근, 제공하는 노드 네 카드가 있습니다. Connector 보기는 그것을 읽고, Connector 구성은 그것을 바꿉니다. 제공하는 노드에 행이 없는 동안 서버는 스테이션의 어떤 것도 제공하지 않습니다.

켜짐 또는 꺼짐

서버는 자기 스위치를 가지며, 새 스테이션에서는 꺼져 있습니다. 누군가 서버를 켤 때까지 포트 4840은 닫혀 있습니다. 한 번 켜면 누군가 끌 때까지 애플리케이션과 함께 매번 시작하고, 창이 알림 영역에 숨어 있는 동안에도 계속 일합니다. 스위치가 없던 버전에서 업데이트한 스테이션은 클라이언트가 가졌던 것을 그대로 지킵니다. 세션을 받아들이던 서버는 켜진 채로 남고, 클라이언트 인증이 사용 안 함이라 모든 세션을 물리치던 서버는 꺼집니다. 에이전트는 server_start와 server_stop으로 같은 스위치를 움직입니다(에이전트 도구 참고).

머리

패널의 머리는 점과 서버의 상태를, 그 행과 같은 말로 보여 줍니다.

상태 점 언제
"꺼짐" 회색 스위치가 꺼져 있습니다. 다른 무슨 일이 있어도 같습니다.
"포트 4840에서 수신 대기 중" 초록 서버가 켜져 있고 그 주소 공간이 살아 있습니다. 행에는 연결된 클라이언트가 붙습니다. "연결된 클라이언트 없음", "클라이언트 1개 연결됨", "클라이언트 3개 연결됨"입니다.
"시작하는 중…" 호박색 시작부터 그 순간까지, 그리고 공개하는 Connector가 올라오는 동안입니다.
"시작할 수 없습니다" 빨강 서버가 켜져 있고 마지막 시작이 실패했습니다. 대개 다른 프로그램이 포트를 쥐고 있기 때문입니다. 상태 카드가 endpoint 아래에서 그 까닭을 말합니다.
"Connector 정지됨" 회색 서버는 켜져 있지만 Connector 런타임이 돌고 있지 않습니다.

이 상태는 서버만의 것입니다. Connector는 서버가 돌든 안 돌든 장치를 읽고, 상태 표시줄과 알림 영역은 Connector를 대신 말합니다. 알림 영역과 상태 표시줄을 보십시오.

명령

패널 위의 명령 막대에, Modbus 서버 때와 마찬가지로 서버의 동사가 놓입니다.

명령 하는 일 흐려지는 때(상황) 그려지지 않는 때(역할)
사용 서버를 켜고 시작하여 목록을 제공합니다. Connector는 다시 시작하지 않습니다(Connector가 전혀 돌고 있지 않으면 그것을 먼저 시작합니다). 상태 표시줄은 "OPC UA 서버를 시작하는 중…" 다음에 "OPC UA 서버를 켰습니다. <endpoint>에서 수신합니다."를 보여 줍니다. 실패한 시작은 서버를 켜 둔 채 시작할 수 없습니다 상태로 두고, 작업 기록 줄이 그 까닭을 말합니다. "OPC UA 서버 오류: <까닭>"이거나, 서버가 기록만 했다면 "OPC UA 서버를 시작하지 못했습니다. 포트 N을(를) 열지 못했을 수 있습니다. 로그를 확인하십시오."입니다. 서버가 켜져 있는 동안("서버가 이미 켜져 있습니다."), 서버의 다른 명령이 도는 동안("다른 서버 명령이 아직 실행 중입니다."), 그리고 스테이션이 구성을 받지 않는 동안. Connector 구성이 없는 역할일 때.
사용 안 함 서버를 끄고 얌전히 멈춥니다. 모든 클라이언트 세션이 끝나고, 사용을 누를 때까지 아무것도 공개하지 않습니다. Connector는 장치를 계속 읽고, Logic과 기록도 계속됩니다. "OPC UA 서버를 정지하는 중…" 다음에 "OPC UA 서버를 껐습니다."입니다. 서버가 꺼져 있는 동안("서버가 이미 꺼져 있습니다."), 그리고 같은 두 상황. 같습니다.
다시 시작 서버를 멈추고 지금의 구성으로 다시 시작합니다. 그동안 Connector는 계속 읽습니다. "OPC UA 서버를 다시 시작하는 중…" 다음에 "OPC UA 서버를 다시 시작했습니다.", 또는 위의 실패 문장입니다. 서버가 꺼져 있는 동안("서버가 꺼져 있습니다. 사용을 누르면 켜집니다."), 그리고 같은 두 상황. 같습니다.
연결 테스트 스테이션이 자기 서버에 대해 아는 것을, 아무것도 바꾸지 않고 알려 줍니다. "OPC UA 서버가 수신 대기하고 있지 않아 어떤 클라이언트도 연결할 수 없습니다.", "OPC UA 서버가 시작하는 중이며 아직 준비되지 않았습니다.", 또는 "<endpoint>에서 OPC UA 서버에 접근할 수 있으며 활성 세션은 N개입니다."입니다. 이것은 돌고 있는 프로세스의 진술이지, 네트워크 너머로 찔러 보는 것이 아닙니다. 결코 없습니다. 결코 없습니다.

스테이션은 유닛이 실행 중인 동안("유닛이 실행 중인 동안에는 구성이 잠깁니다.")과 런타임이 정지해 있는 동안 구성을 받지 않습니다. 공장의 서버를 멈추는 일은 운전이 아니라 구성 작업이기 때문입니다. 오류 없이 돌아온 시작도 다시 확인합니다. OPC UA 스택은 포트를 잡지 못하고도 그 사실을 기록만 할 수 있으므로, 작업 기록 줄은 성공 대신 실패를 알립니다.

상태 카드

카드는 네트워크의 클라이언트가 접속하는 endpoint opc.tcp://<network name>:<port>/UA/GanterLab를 보여 줍니다. 언제나 바뀌지 않는 이름이며, 0.0.0.0이나 DHCP 주소가 되지 않습니다. 같은 컴퓨터에서 쓰는 다른 길은 클라이언트 접근의 연결 주소에 있습니다. 서버가 켜져 있는데 시작하지 못한 동안에는 endpoint 아래 주의 메모에 그 까닭이 나옵니다. 그 아래에 매초 다시 그려지는 계기 여섯 개가 있습니다.

계기 무엇을 세는지
가동 시간 서버가 마지막으로 시작한 뒤로 지난 시간이며 2h 14m 5s, 14m 5s, 5s처럼 적힙니다. 정지해 있는 동안에는 결측 표시입니다. 같은 시각이 Logic 주소 공간의 Server.StartTime과 Server.Uptime 포인트에도 들어갑니다.
세션 서버가 지금 받아들이고 있는 클라이언트 세션이며, 클라이언트 접근의 지금 연결됨이 보여 주는 것과 같은 목록입니다.
장치 드라이버를 가리지 않고 Connector에 설정된 장치이며, 사용 중이든 아니든 셉니다.
드라이버 그 장치들이 쓰는 서로 다른 드라이버의 개수입니다.
오류 통신 호스트의 로그 줄 가운데 오류 줄입니다(서버와 드라이버). 이 줄은 가장 최근 500줄을 지키고, 개수가 0이 아니면 빨갛게 됩니다.
경고 같은 줄 가운데 경고 줄이며, 0이 아니면 호박색이 됩니다. 이벤트 보기를 가진 역할에게 이 숫자는 스테이션 자신의 데스크톱에서 떼어 낸 이벤트 창을 여는 단추가 되고("이벤트 창 열기"), 다른 기기의 브라우저에서는 "스테이션의 로컬 데스크톱에서만 사용할 수 있습니다."와 함께 흐려지며, 그 권한이 없는 역할에게는 그냥 숫자입니다.

따로 지키는 두 확인

OPC UA 세션은 이 패널이 따로 설정하는 두 확인을 지납니다. 클라이언트 접근의 인증서 신뢰는 애플리케이션이 애초에 서버에 닿아도 되는지를 결정합니다. 모르는 인증서는 첫 시도에서 물리치고 사용자의 검토를 위해 보관되며, 아무것도 저절로 신뢰되지 않고, 확인해야 할 신원은 인증서가 주장하는 이름이 아니라 지문입니다. 그다음 구성의 클라이언트 인증이 신뢰하는 애플리케이션이 어떻게 로그인하는지를 결정합니다. 기본값인 익명이거나, 설정한 사용자 이름과 비밀번호 한 짝입니다. 같은 생각이 OPC UA 드라이버 페이지에서는 반대 방향으로 작동합니다. 사용자가 인증서를 승인하지 않은 OPC UA 현장 장비에서 스테이션은 아무것도 읽지 않습니다.

알림 영역과 상태 표시줄

서버의 지금 상태는 그 행과 그 패널에서 읽습니다. 상태 표시줄의 상태 건전성 줄, 알림 영역 아이콘, 그 도구 설명, 그 메뉴의 줄은 대신 Connector, 곧 그것이 읽는 장치를 말합니다. 꺼진 서버는 어떤 읽기도 해치지 않고, 스테이션을 지켜보는 사람이 알아야 할 일이 아니기 때문입니다. 도는지 여부, 시작 시각, 가동 시간, 세션 개수는 Logic 주소 공간의 Server 뿌리(Running, StartTime, Uptime, SessionCount) 아래 포인트이기도 하므로 대시보드나 수식에서 읽을 수 있습니다.

서버가 켜진 채로 스테이션이 시작했는데 서버가 포트를 열지 못하면, 창에 "서버를 시작하지 못했습니다" 카드가 포트 4841 사용과 Connector 열기를 달고 나타납니다. 구성을 보십시오. 여기에서 내린 명령의 결과는 모두 상태 표시줄의 작업 기록 줄에 내려앉고, 인증서에 대한 거부와 결정은 모두 기록됩니다. 서버 자신의 로그 줄은 이벤트의 콘솔 탭에 있으며, 그 오류와 경고의 개수가 상태 카드의 마지막 두 계기입니다.

원격 브라우저가 할 수 없는 일

Connector 구성을 가진 역할로 다른 기기에서 연 브라우저는 이 패널을 스테이션의 창과 똑같이 보고, 서버를 켜고 끄고 다시 시작하고 구성을 적용할 수 있습니다. 할 수 없는 것은 인증서에 대한 결정입니다. 클라이언트 추가, 신뢰, 차단, 취소, 차단 해제, 대기 중인 인증서 모두 버리기, 인증서 가져오기, 그리고 Windows 방화벽 단추는 거기에서 "클라이언트 접근은 스테이션의 데스크톱 앱에서만 바꿀 수 있습니다."로 물리치고, 카드의 알림 띠도 "클라이언트 접근을 바꾸려면 데스크톱 앱을 여십시오"라고 말합니다. 경고 계기에서 떼어 낸 이벤트 창으로 가는 링크는 "스테이션의 로컬 데스크톱에서만 사용할 수 있습니다."와 함께 흐려집니다.

인증서가 있는 곳입니다. 서버 자신의 애플리케이션 인증서와, 신뢰하는 인증서와 대기 중인 인증서와 차단된 클라이언트 인증서의 보관소는 스테이션 데이터 뿌리의 ua\pki 아래에 있고, 현장 장비 보관소는 ua\pki\southbound 아래에 있습니다. 다시 시작해도 살아남고 구성 백업의 일부가 아닙니다.

이 패널이 하지 않는 일

세션 하나만 끊지는 않습니다(클라이언트 접근에서 인증서를 취소하면 그렇게 됩니다). 로그 개수를 지우지도 않습니다(줄에는 상한이 있고 스스로 흘러갑니다). Connector의 읽기를 멈추지도, 애플리케이션을 다시 시작하지도 않습니다. 실패한 뒤에 서버를 스스로 다시 시작하는 일은 결코 없습니다. 실패한 시작은 알려지고, 사용자가 누르는 다시 시작이나 카드에서 고르는 포트를 기다립니다. endpoint는 구성에서 바꾸며, 서버가 수신 대기하고 있지 않은 동안에만 바꿀 수 있습니다.