장치

장치 페이지: 머리글과 동사, 장치 카드, 드라이버마다 다른 칸을 보여 주는 연결 카드, 자격 증명과 인증서, 일괄 편집이 되는 태그 표, 장치 복제, 그리고 중복과 이름 충돌을 다루는 방식.

Markdown으로 보기

장치는 스테이션이 드라이버를 거쳐 대화하는 장비 하나입니다. 어떻게 닿는지, 그리고 거기에서 무슨 태그를 읽는지가 장치입니다. 통신 열에서 장치 행을 선택하거나, 드라이버나 회선이나 폴더의 표에 있는 장치 행에서 열기를 누르면 그 페이지가 열립니다. Connector 보기는 읽고, Connector 구성은 편집합니다. 시리얼 회선에는 자기 페이지가 따로 있습니다. 시리얼 회선을 보십시오.

장치 만들기

동작 결과
새로 만들기… > 새 장치 > <드라이버> 아래 드라이버 자체 단계의 장치.
드라이버 페이지의 장치 표에 있는 장치 추가 위와 같습니다.
폴더의 장치 표나 그 오른쪽 단추 메뉴에 있는 새 장치 그 폴더에 놓인 장치.
시리얼 회선의 장치 카드나 오른쪽 단추 메뉴에 있는 장치 추가 그 회선의 첫 빈 슬레이브 id를 가진 Modbus RTU 장치.
장치 검색 결과의 장치 추가 스캔이 찾은 엔드포인트와 체크한 태그를 가진 장치. 장치 검색을 보십시오.
Matter 드라이버의 장치 페어링 커미셔닝된 Matter 노드. 장치 검색을 보십시오.
장치의 장치 복제 선택한 장치의 복제본이며 태그도 함께 옵니다.

새 장치의 이름은 "새 장치"(다음은 "새 장치 2", 이런 식)가 되고, 켜진 상태로 읽기 주기 1000 ms와 슬레이브 id 1을 가지며, 페이지가 그 장치를 엽니다. "장치 '새 장치'을(를) 추가했습니다. 오른쪽에서 세부 사항을 편집하십시오." 패키지에 들어 있지 않은 드라이버 아래에서는 장치가 거부되고, 페어링이나 장치 검색으로만 장치가 생기는 Matter 아래에서도 거부됩니다("새 Matter 노드를 추가하려면 장치 페어링을, 이미 커미셔닝된 노드를 추가하려면 장치 검색을 쓰십시오.").

연결은 결코 앞을 막는 단계가 아닙니다. 내장 서버는 장치를 등록한 다음 배경에서 다시 시도하는 고리 안에서 접속하므로, 닿지 않는 장치가 있어도 드는 비용은 없습니다. 연결이 이루어질 때까지 그 태그는 빈칸으로 읽히고, 그동안 페이지는 마지막 연결 오류를 보여 줍니다.

머리글

이름, "이 스테이션이 대화하는 장비 하나입니다. 어떻게 닿는지, 그리고 거기에서 무슨 태그를 읽는지입니다."라는 문장, 그리고 기본 URI를 담은 필이 놓입니다. 기본 URI는 내장 서버가 접속하는 정확한 주소이며 연결 카드에서 실시간으로 조립됩니다(예를 들면 modbus+tcp://192.168.0.10:502/1, opc.tcp://plc:4840, simulated://CompressedAir). 그 아래에는 세 가지 알림 가운데 하나가 나옵니다.

  • 이 패키지에 드라이버가 들어 있지 않습니다: "이 장치에는 IEC 61850 드라이버가 필요하지만 이 설치본에는 들어 있지 않으므로 오프라인으로 남습니다. 설정은 그대로 보관되고 삭제할 수 있으며, 여기의 다른 어떤 것도 이 장치가 읽는 값을 바꾸지 않습니다."
  • 인증서 승인 대기 중(OPC UA): "이 장비가 이 스테이션이 한 번도 승인한 적 없는 인증서를 제시했으므로 아직 아무것도 읽지 않습니다. 장비를 설치한 사람과 지문을 확인한 다음, 설정의 장비 접근에서 승인하십시오." 여기에는 그 인증서를 연 장비 접근으로 이동하는 인증서 검토 단추가 함께 있습니다.
  • 그 밖에는 장치의 마지막 오류 문구가 있을 때 빨간색으로 나옵니다(사용 설정과 상태 건전성을 보십시오).

명령 모음

명령 하는 일 회색이 되는 때(상황) 그려지지 않는 때(역할)
다시 연결 이 장치의 연결을 닫았다가 다시 엽니다. 다른 장치는 건드리지 않습니다. 작업 기록 줄은 드라이버를 기다린 뒤에 무슨 일이 있었는지 말합니다. "'Furnace'에 다시 연결했습니다." 또는 "'Furnace'에 다시 연결하지 못했습니다."와 그 이유입니다. 다시 읽어 오는 것은 없으며, 나중에야 응답하는 장치도 저절로 돌아옵니다. 스캔이나 페어링이 진행 중일 때, 실행이 스테이션을 잡고 있을 때, 런타임이 정지되었을 때. Connector 구성 권한이 없을 때.
사용 장치가 수집에 참여하게 합니다. 이미 켜져 있을 때, 또는 스테이션이 변경을 거부할 때. Connector 구성 권한이 없을 때.
사용 안 함 장치와의 모든 통신을 멈추고 그 태그를 실시간 주소 공간에서 거둡니다. 태그 각자의 사용 스위치는 그대로입니다. 이미 꺼져 있을 때, 또는 스테이션이 변경을 거부할 때. Connector 구성 권한이 없을 때.
장치 복제 복제본을 만들고 엽니다(아래 참조). 패키지가 드라이버를 담고 있지 않을 때("이 패키지에 드라이버가 들어 있지 않습니다."), 또는 스테이션이 변경을 거부할 때. Connector 구성 권한이 없을 때.
장치 삭제(위험을 나타내는 색, 오른쪽) "'Furnace'을(를) 삭제하시겠습니까? 모든 태그도 함께 삭제됩니다. 이 작업은 되돌릴 수 없습니다."라고 물은 뒤 삭제하고 부모(회선이나 드라이버)를 선택합니다. 스테이션이 변경을 거부할 때. Connector 구성 권한이 없을 때.

오른쪽 단추 메뉴에는 태그 추가이동이 더해집니다(장치 폴더를 보십시오).

장치 카드

무엇인지 값 / 기본값 효과
이름 알아보기 쉬운 이름이며, 장치의 버스 이름과 주소의 마지막 마디입니다. 필수. 드라이버 안에서 대소문자를 구별하지 않고 고유해야 합니다. 입력하는 동안 이름 바꾸기가 무엇을 데려가는지 미리 보여 줍니다("참조를 확인하는 중…", 그다음에 몇 곳이 따라오는지, 또는 "실제 주소는 바뀌지 않으므로 갱신할 참조가 없습니다."). Enter를 누르거나 칸을 벗어나면 확정되고, 옛 주소를 가리키는 모든 참조가 같은 조작 안에서 고쳐 써집니다. "장치 이름을 바꿨고 참조 3곳을 갱신했습니다." 빈 이름은 거부됩니다. "장치 이름은 필수입니다."
드라이버 장치가 쓰는 프로토콜. 읽기 전용. 만들 때 고정됩니다. 드라이버를 보십시오.
읽기 주기 (ms) 태그가 따로 정하지 않는 한, 스테이션이 장치의 태그를 얼마나 자주 읽는지. 1000. 0 이하의 값은 1000으로 저장됩니다. 1초로 고정해 읽거나 밀려오는 값을 받는 드라이버(Mitsubishi MC, BACnet, IEC 61850, OCPP, LoRaWAN)에서는 숨겨집니다.

연결 카드

이 카드는 연결 칸을 선언한 모든 드라이버에 나타나며, 그 드라이버가 읽는 칸만 보여 줍니다. 각 드라이버의 페이지가 자기 칸을 자세히 설명합니다. 여기에 있는 것은 패널이 그리는 그대로의 전체 목록입니다.

나오는 드라이버 무엇인지
호스트 Modbus TCP, OPC UA, Siemens S7, Rockwell, Beckhoff, Mitsubishi, BACnet, IEC 61850, Redfish, AVEVA PI, HTTP 호스트 이름 또는 IP 주소. 비우면 localhost입니다. IPv6 리터럴은 기본 URI에서 대괄호로 감싸 줍니다.
포트 Modbus TCP, OPC UA, Beckhoff, Mitsubishi, BACnet, IEC 61850, Redfish, AVEVA PI, HTTP TCP 포트. 0이면 드라이버의 기본값(502, 4840, 851, 5007, 47808, 102, 443, 443, 80)을 씁니다.
슬레이브 ID Modbus TCP, Modbus RTU Modbus 슬레이브 id. TCP에서는 0에서 255, 시리얼 회선에서는 1에서 247이며 회선마다 고유해야 합니다("슬레이브 ID는 1에서 247 사이여야 합니다.").
최소 트랜잭션 간격(ms) Modbus TCP 시도 하나가 끝난 뒤 엔드포인트가 다음 시도를 시작하기까지의 침묵이며, 0에서 1000, 기본값은 0입니다("호환을 돕는 값, 0-1000 ms. 0이면 인위적인 지연을 더하지 않습니다."). 호스트와 포트를 함께 쓰는 켜진 장치들은 그 가운데 가장 큰 값을 씁니다. 다른 장치가 값을 끌어올릴 때 카드가 그렇게 말합니다. "실제 적용 200 ms · 192.168.0.10:502의 다른 켜진 장치가 엔드포인트 최댓값을 올렸습니다."
시리얼 회선 · 고정 Modbus RTU 회선의 이름과 그 조합이며 읽기 전용입니다. 바꾸는 곳은 회선 자신의 페이지입니다. "회선 없음"이나 "지정된 물리 회선 없음"은 장치가 회선을 잃어 저장할 수 없다는 뜻입니다. "Modbus RTU 회선은 필수입니다."
랙 / 슬롯 Siemens S7 숫자 둘이며, 기본 URI는 s7://host:rack:slot이 됩니다.
슬롯 Rockwell EtherNet/IP 컨트롤러가 꽂힌 섀시 위치를 나타내는 숫자 하나입니다. CIP 경로에는 랙이 없으므로 기본 URI는 eip://host:slot이 됩니다.
로컬 IP(AMS) Beckhoff ADS AMS 경로에서의 이 스테이션 IP입니다. 두 AMS net id는 모두 <ip>.1.1로 만들어집니다. 비우면 호스트를 씁니다.
장치 Id BACnet BACnet 장치 인스턴스입니다.
서버 / 키 LoRaWAN 애플리케이션 키입니다.
식별자 OCPP, LoRaWAN 충전소 id 또는 DevEUI입니다(콜론이나 대시가 섞인 표기는 순수한 16진수로 정리됩니다). 비우면 정리된 장치 이름을 씁니다.
리소스 경로 OPC UA, AVEVA PI, HTTP 권한부 뒤에 붙는 경로입니다. OPC UA 서버 경로, PI Web API 서비스 루트(기본값 piwebapi), 또는 모든 HTTP 태그 경로 앞에 붙는 접두 경로입니다.
전송 AVEVA PI 일반 HTTP로 보내기 확인란입니다. 꺼져 있으면 HTTPS이며 "HTTPS. 베어러 토큰이나 비밀번호는 PI Web API로 가는 동안 암호화됩니다."라는 안내가 붙습니다. 켜면 안내는 요청마다 토큰이나 비밀번호가 암호화되지 않고 전송된다는 경고로 바뀌며, 다른 전송으로는 응답하지 않는 PI Web API를 위한 것입니다.
사용자 이름, 비밀번호 OPC UA, Redfish, AVEVA PI 장치별 자격 증명입니다. 사용자 이름을 비우면 익명 접속이 됩니다("비우면 익명. 장치마다 저장되며 비밀번호는 저장 상태에서 보호됩니다.").
베어러 토큰 AVEVA PI 설정하면 사용자 이름과 비밀번호보다 우선하는 토큰입니다. 토큰 표시로 내용을 볼 수 있습니다.

Matter 장치는 다른 연결 카드를 보여 줍니다. 노드 ID · 읽기 전용은 페어링이 부여한 64비트 노드 id이고(저장된 신원을 읽을 수 없으면 "다시 페어링 필요"), 상태는 장치의 상태 건전성 낱말입니다. 여기에서 편집할 수 있는 것은 없습니다. Simulated 장치에는 연결 카드가 아예 없습니다.

자격 증명과 인증서

비밀번호와 베어러 토큰은 사용자별 Windows 데이터 보호로 저장 상태에서 보호되므로, 구성 데이터베이스는 결코 평문 값을 가지지 않습니다. 이 보호는 비밀을 입력한 Windows 계정과 기기에 묶입니다. 다른 계정에서는 칸이 비어 있는 채로 돌아오며 "이 Windows 계정에서는 읽을 수 없습니다. 입력한 기기와 Windows 계정에서만 열립니다. 여기에 다시 입력하십시오."라는 안내가 붙습니다. 자격 증명은 드라이버에게 곧바로 넘겨지며, 기본 URI나 진단 로그에는 결코 나타나지 않고, 작업 기록 줄이 보여 주는 오류 메시지에서도 가려집니다.

OPC UA 장치는 세션이 열리기 전에 자기 장비 인증서를 제시합니다. 이 스테이션이 한 번도 승인한 적 없는 인증서는 조용히 실패하지 않습니다. 장치는 트리와 페이지에서 "인증서 승인 대기 중"으로 읽히고, 알림 띠의 단추가 그 인증서를 연 장비 접근으로 데려가 승인하거나 차단하게 합니다. 나중에 승인을 취소하면 그 위에서 돌던 세션이 닫힙니다. 자세한 내용은 OPC UA 페이지에 있습니다.

명령 카드

세 드라이버는 읽기만 하는 것이 아니라 무엇인가를 해 달라고 요청받는 장비에 닿습니다. HTTP, Redfish, AVEVA PI입니다. 그 장치 페이지에는 연결 카드와 태그 카드 사이에 명령 카드가 있고, "이 장비에 요청할 수 있는 일입니다. 각 명령은 장치 주소 아래에서 요청이 보내지는 경로를 밝힙니다."라는 제목이 붙습니다. 목록은 누구나 볼 수 있고, 선언하고 편집하고 보내는 일에는 Connector 구성이 필요하며, 그 비트가 없는 역할에게는 칸도 동사도 그려지지 않습니다.

명령 추가는 "Command 1"이라는 이름의 행을 더합니다(이미 있는 것 다음 번호를 씁니다). 각 행에는 다음이 있습니다.

무엇인지
이름 명령을 부르는 이름입니다. 이 스테이션 자신의 OPC UA 주소 공간에서 그 장치의 메서드 이름이기도 하므로, 장치 안에서 고유합니다.
경로 요청이 가는 곳이며, 장치 자신의 주소 아래입니다. 장비 설명서가 밝히는 경로이며, 예를 들면 redfish/v1/Systems/1/Actions/ComputerSystem.Reset입니다. 경로가 없는 명령은 장치에 결코 올라가지 않습니다.
받는 값 명령이 받는 값 하나의 이름이며, 장비가 부르는 그대로입니다(ResetType). 아무것도 받지 않는 명령은 비웁니다.
켜짐 명령을 제시할지 여부입니다. 꺼진 명령은 장치에 만들어지지도 보내지지도 않으며, 무엇을 가리키는지 잃지 않고 잠시 세워 두는 방법입니다.
이번에 누를 때 보낼 값이며, 값을 받는 명령에만 있습니다. 장치가 아니라 이 누름에 속하므로 저장되지 않습니다.

행 끝의 무리에는 그 행에만 작용하는 동사 둘이 있습니다. 실행은 명령을 보내고 장비가 무엇이라 답했는지 알리며("'Reset' 응답: accepted"), 삭제는 그 행을 지웁니다. 실행은 사라지는 대신 왜 거부되는지 말합니다. 경로가 없는 명령("이 명령에는 아직 경로가 없으므로 보낼 것이 없습니다."), 꺼진 명령, 아직 런타임에 저장되기를 기다리는 명령, 접속되지 않은 장치, 그리고 스테이션 자신의 엔지니어링이나 실행 경계가 이유가 됩니다. 다른 드라이버에는 이 카드가 아예 없습니다. 충전소와 Matter 노드도 명령을 받지만, 그쪽 명령은 프로토콜이 정해 둔 것이며 여기에 입력하는 것이 아니라 드라이버에서 옵니다.

태그 카드

카드에는 태그라는 제목이 붙고, 그다음에 이 드라이버가 태그의 주소를 어떻게 쓰는지 말하는 "주소 형식 · <hint>"가 나옵니다("자유 형식 태그 이름(예: sim/temperature).", "레지스터 번호 + 개수(형식 있는 칸).", "노드 id, 예: ns=2;s=Temperature."). Connector 구성에게는 "행을 체크한 다음 셀을 편집하면 체크한 모든 행에 적용됩니다. 적용되면 체크는 지워집니다."라는 안내와 태그 추가 단추가 나옵니다. 태그 추가는 "Tag 5"(개수 다음 번호)를 Float 또는 그 드라이버가 지원하는 첫 형식으로, 읽기 전용으로 만들고 선택합니다. 작업 기록 줄에는 "'Furnace'에 태그를 추가했습니다." 또는 새 태그에 아직 무엇인가가 필요하면 "'Furnace'에 태그를 추가했습니다. 오른쪽에서 세부 사항을 채우십시오."가 나옵니다.

행은 데이터 형식으로 묶이며 순서는 숫자, 부울, 텍스트와 그 밖이고, 각 묶음의 머리에 개수가 붙습니다. 열은 태그 페이지의 카드 순서를 따르며, 어떤 행에 해당하지 않는 셀(부울 태그의 숫자 칸)은 비어 있고 쓸 수 없는 상태로 그려집니다.

묶음 편집하는 것
체크 일괄 편집을 위해 행을 고릅니다. Connector 구성에게만 그려집니다.
이름 일반 태그의 이름이며, 페이지와 똑같이 이름 바꾸기를 미리 보여 주고 참조를 고쳐 씁니다. 결코 복제되지 않습니다.
형식 일반 데이터 형식입니다. 바꾸면 태그에서 설명하는 대로 그 행의 신호 종류, Modbus 레지스터 종류, 한계 동작, NaN 정책이 함께 맞춰집니다.
접근 일반 읽기 전용, 쓰기 전용, 읽기와 쓰기입니다(OCPP, Matter, LoRaWAN은 읽기 전용만).
단위 일반 공학 단위입니다.
주기(ms) 일반 태그별로 덮어쓰는 값입니다. 0이면 장치의 기본값을 씁니다. 고정 주기 드라이버와 밀어 보내는 드라이버에서는 숨겨집니다.
주소 신호원 자유 입력 주소이며, 주소를 받는 드라이버에만 있습니다. 결코 복제되지 않습니다.
신호 신호원 시뮬레이션 신호의 종류이며, 이름 옆에 모양 그림이 함께 나옵니다. Simulated 장치에만 있습니다.
원시 신호원 가장 최근에 읽은 원시값이며 읽기 전용입니다.
스케일 ×, 스케일 +, 스케일 적용 변환 스케일링 단계의 기울기와 절편, 그리고 그 결과입니다.
교정 켜기, 교정 ×, 교정 +, 교정 적용 변환 교정 단계입니다. 스위치, 기울기와 절편, 그리고 그 결과입니다.
한계 켜기, 최소, 최대, 한계 동작, 한계 적용 변환 한계 단계입니다. 스위치, 경계, 동작, 그리고 그 결과입니다.
소수 켜기, 소수 변환 소수 자리 단계입니다. 스위치와 자릿수(0에서 15)입니다.
반전 변환 부울 부정입니다.
부분 시작, 부분 길이 변환 문자열 부분 추출의 구간입니다.
실시간 값 공학값이며 읽기 전용입니다.
동작 열기, 그리고 Connector 구성에게는 사용, 사용 안 함, 삭제이며 마지막은 확인을 거칩니다.

세 단계 스위치는 그것이 다스리는 칸과 마찬가지로 하나의 열이며, 함께 일괄 편집됩니다. 행을 체크하고 계수를 입력하고 단계를 켜면 같은 편집 안에서 그 행들이 읽는 값이 바뀌며, 지점을 하나씩 열 필요가 없습니다. 표가 여전히 담지 않는 것은 잘못된 읽기에 대한 정책, 2점 도우미, 쓰기 칸, 상호 참조입니다. 그것들은 태그 페이지에 있습니다. 교정 권한만 가진 역할은 표를 읽지만 그 안의 무엇도 편집하지 않으며, 교정 셀과 교정 켜기 스위치도 마찬가지입니다. 그 역할의 교정 편집은 태그 페이지를 거칩니다.

일괄 편집

바꿀 행을 체크한 다음 아무 행의 셀이나 편집하면, 새 값이 그 행과 체크한 모든 행에 적용되고 체크는 소모됩니다. 행이 체크되어 있는 동안 표 위의 띠는 "3개 행이 선택되었습니다. 셀을 편집하면 모든 행에 적용되고 체크가 지워집니다."라고 알리며 선택 해제 단추를 함께 보여 줍니다. 체크는 그 장치에 속하므로, 나중에 돌아오면 지워져 있습니다. 섞인 선택을 정직하게 지키는 규칙이 셋 있습니다. 이름과 주소는 결코 복제되지 않고, 형식 셀은 놓이는 순간 각 행의 딸린 칸을 함께 맞추며, 어떤 행이 받을 수 없는 값은 그 행에서만 거부되고 원래대로 남습니다. 그래서 문자열 행이 숫자 신호 종류를 받고도, 정수 행이 NaN 한계 동작을 받고도 살아남습니다.

장치 복제

장치 복제는 선택한 장치로부터 내 것인 장치를 하나 만듭니다. 연결 칸과 자격 증명은 그대로이고, 모든 태그가 새 신원으로, 변환 경로 전체와 사용 여부와 읽기 주기까지 복제됩니다. 복제본은 드라이버에서 그 이름이 비어 있는 동안에는 원본의 이름을 쓰고, 그다음에는 "Furnace (2)", "Furnace (3)"이 되며, 원본이 어느 폴더에 있었든 드라이버 자체 단계에 놓입니다. Modbus RTU 복제본은 같은 회선의 다음 빈 슬레이브 id에 남습니다. 페이지는 복제본을 엽니다. "'Furnace'을(를) 'Furnace (2)'(으)로 복제했습니다. 이 복제본은 편집하셔도 됩니다."

중복과 충돌

장치 이름은 대소문자를 무시하고 드라이버 안에서 고유합니다. 만드는 동사는 숫자 꼬리표를 붙여 비켜 가고, 이미 쓰이는 이름으로 바꾸려 하면 확정할 때 거부됩니다. 한 드라이버 아래에서 이름이 같은 기술 마디로 정리되는 켜진 장치 둘(Line ALine-A)은 한쪽이 이기는 대신 둘 다 주기적 읽기에서 빠지며, 하나의 이름을 바꾸거나 끌 때까지 그 태그는 아무것도 읽지 않습니다. 기술적 이름의 길이는 128자로 제한됩니다. "기술적 장치 이름은 128자를 넘을 수 없습니다." Modbus TCP 장치 둘은 서로 다른 슬레이브 id로 호스트와 포트를 함께 쓸 수 있으며, 그때는 그 엔드포인트의 트랜잭션 간격도 함께 씁니다. Matter 장치 둘이 같은 노드 id를 가질 수도 있습니다. 장치 검색은 이미 있는 장치를 여는 쪽을 제안하지만, 두 번째를 금지하지는 않습니다.

장치 페이지가 하지 않는 일

드라이버는 바꿀 수 없고, 폴더는 여기에서 편집하지 않으며, Modbus RTU 장치의 회선을 다시 지정할 수도 없습니다. 장치를 켜도 그 태그가 켜지지 않고, 장치를 꺼도 태그의 스위치가 뒤집히지 않습니다. 장치별 가져오기나 내보내기는 없으며, 장치를 켜고 그 상태 건전성과 마지막 오류를 읽는 것 말고 다른 연결 시험도 없습니다.