또는
프로젝트 점검(Project Check) 기능을 사용하면, 점검 마법사를 통해 여러 가지 프로젝트 검사를 수행할 수 있습니다. 프로젝트 점검 마법사(Project Check wizard) 는 일반적인 KNX 계획/설계 규칙에 기반하여 프로젝트를 점검해 줍니다.
오프라인 테스트로 진행되기 때문에, ETS가 버스에 연결되지 않습니다.
프로젝트 점검은 툴바의 메뉴(점3개 모양 아이콘) 을 눌러 호출할 수 있습니다.
프로젝트에서는 다음과 같이 5가지 레벨로 검사를 진행합니다.
- 장치 검사하기 (Device check)
- 그룹 주소 검사하기 (Group address check)
- 토폴로지 검사하기 (Topology check)
- 제품 정보 검사하기 (Product information check)
- 이전 버전의 ETS에서 가져온 프로젝트 확인하기(Checks for projects imported from earlier versions of ETS)
장치 검사하기 (Device check)
장치 검사(Device Check) 에서 확인하는 내용은 무엇일까요?
- 장치의 그룹 객체가 하나 이상의 그룹 주소와 연결되었는지 여부
| 전제 조건 | 확인 | 확인 실패 시 항목 보고 |
|---|---|---|
| device.ActiveComObjectInstances.Count > 0 | 그룹 주소와 연결된 활성 그룹 개체가 있나요? | 경고: 장치 "{device.DisplayName}"에는 그룹 주소와 연결된 그룹 개체가 없습니다. |
- 모든 장치 식별자가 ETS3 플러그인과 호환되는지 여부
| 전제 조건 | 확인 | 확인 실패 시 항목 보고 |
|---|---|---|
| device.Description.length > 80? | 오류입니다: 설명의 길이가 80자를 초과했습니다. 이로 인해 ETS3 플러그인에서 문제가 발생할 수 있습니다. | |
| device.Name.length > 50? | 오류입니다: 이름 길이가 50자를 초과합니다. 이로 인해 ETS3 플러그인에서 문제가 발생할 수 있습니다. | |
| foreach comObject.Description.length > 80? | 오류입니다: 설명의 길이가 80자를 초과했습니다. 이로 인해 ETS3 플러그인에서 문제가 발생할 수 있습니다. |
그룹 주소 검사하기 (Group address check)
그룹 주소 검사(Group Address Check) 에서 확인하는 내용은 무엇일까요?
- 모든 그룹 주소가 사용 중인지 여부(하나 이상의 그룹 객체와 연결되었는지 여부)
| 전제 조건 | 확인 | 확인 실패 시 항목 보고 |
|---|---|---|
| 그룹 주소는 PL 세그먼트와 연결되어 있습니다. | 플래그가 설정된 그룹 주소의 각 커넥터에 대해 커넥터.Acknowledge 플래그가 설정되면 그룹 발신자 수가 계산됩니다. 이를 위해 부모 세그먼트의 도메인 주소(connector.ParentDevice.Segment)가 저장되며, 승인 플래그가 설정된 다른 커넥터가 있는 경우 값이 증가합니다. 값이 1보다 크면 보고서 항목이 생성됩니다. | 그룹 주소 "{groupAddress.DisplayName}"의 경우 LL-Ack 텔레그램을 보내는 장치가 너무 많이 연결되어 있습니다. |
| groupAddress.ObjectSize != null | groupAddress.Connectors.Count < 2 | 그룹 주소 "{groupAddress.DisplayName}" 에 하나의 그룹 객체만 연결됩니다. |
| groupAddress.ObjectSize != null | groupAddress.Connectors.Count < 1 | 그룹 주소 "{groupAddress.DisplayName}"에 연결된 그룹 개체가 없습니다. |
| groupAddress.ObjectSize == null | 그룹 주소 "{groupAddress.DisplayName}"에 연결된 그룹 개체가 없습니다. |
- 확장형 그룹 주소가 플러그인 장치에 연결되었는지 여부
| 전제 조건 | 확인 | 확인 실패 시 항목 보고 |
|---|---|---|
| 그룹 주소 주소 >0x7FFF 및 그룹 주소 커넥터 수 > 0 및 그룹 주소 커넥터 부모 장치 Has 다운로드 플러그인 |
경고: 장치 개체 {connector.ParentComObjectInstance.Number} 는 16비트 그룹 주소 {groupAddress.AddressString} {groupAddress.Name}와 연결되어 있습니다. |
- 모든 그룹 주소 식별자가 ETS3 플러그인과 호환되는지 여부
| 전제 조건 | 확인 | 확인 실패 시 항목 보고 |
|---|---|---|
|
groupAddress.Description.length > 80? groupRange.Description.length > 80? |
오류입니다: 설명의 길이가 80자를 초과했습니다. 이로 인해 ETS3 플러그인에서 문제가 발생할 수 있습니다. | |
|
groupAddress.Name.length > 50? groupRange.Name.length > 50? |
오류입니다: 이름 길이가 50자를 초과합니다. 이로 인해 ETS3 플러그인에서 문제가 발생할 수 있습니다. |
토폴로지(Topology, 위상) 점검
토폴로지 검사(Topology Check) 에서 확인하는 내용은 무엇일까요?
- 장치의 전류 요구 사항과 TP 파워 서플라이가 제공하는 전류를 비교합니다.
- 전원 소비 장치(power consumption device) 속성을 사용할 수 있는 장치의 경우 해당 전류 속성만큼 사용하며, 그렇지 않은 장치의 경우 평균 10mA를 사용합니다.
- 현재 장치(current device) 속성을 사용할 수 있는 장치의 경우 해당 전류 속성만큼 사용하며, 그렇지 않은 장치의 경우 평균 320mA를 사용합니다.
- TP 세그먼트의 파워 서플라이(power supply) 및 초크 카운트(choke count)
| 전제 조건 | 확인 | 확인 실패 시 항목 보고 |
|---|---|---|
| line.MainSegment.IsTpSegment 및 line.Devices.Any() |
를 입력하면 각 라인에 대한 전원 공급 장치 수가 계산됩니다. 전원 공급 장치 수가 0이면 정보 메시지가 생성됩니다. |
정보: 라인에 예상되는 전원 공급 장치 없음 "{line.DisplayName}" |
| line.MainSegment.IsTpSegment 및 line.Devices.Any() | 를 입력하면 각 라인에 대한 전원 공급 장치 수가 계산됩니다. 전원 공급 장치 수 > 2인 경우 오류 메시지가 생성됩니다. | 오류: 라인에 2개 이상의 전원 공급 장치가 예상됨 "{line.DisplayName}" |
| line.MainSegment.IsTpSegment 및 line.Devices.Any() | 또는 각 라인의 전원 공급 장치 및 초크 수를 계산합니다. 전원 공급 횟수 != 초크 횟수인 경우 경고 메시지가 생성됩니다. | 경고: "{line.DisplayName}"의 초크 수가 전원 공급 장치 수와 일치하지 않습니다. |
- 메인 세그먼트에 누락된 커플러가 있는지 여부를 나타냅니다.
| 전제 조건 | 확인 | 확인 실패 시 항목 보고 |
|---|---|---|
| TP 메인 세그먼트 및 디바이스가 있는 두 개 이상의 회선 |
line.MainSegment에 커플러가 없는 경우 오류 메시지가 표시됩니다. |
오류입니다: "{line.DisplayName}" 라인에 라인 커플러가 없습니다. |
| 둘 이상의 !area.MainLine.MainSegment.IsIpSegment 및 area.MainLine.Devices.Any() | 커플러가 없는 경우 area.MainLine.MainSegment, 오류 메시지가 표시됩니다. | 오류입니다: 영역 "{area.DisplayName}"에 영역 커플러가 없습니다. |
| line.MainSegment.IsPlSegment || line.MainSegment.IsRfSegment |
line.MainSegment.IsPlSegment: 마스크 버전이 0x1900인 디바이스가 있는지 확인하고, 없으면 오류 메시지가 표시됩니다. line.MainSegment.IsRfSegment: 마스크 버전이 0x2920인 디바이스가 있는지 확인합니다. 그렇지 않은 경우 오류 메시지가 표시됩니다. |
오류입니다: If line.IsMainLine 영역 "{area.DisplayName}" 메인 라인에 미디어 커플러가 없습니다 {line.DisplayName}. 그 외의 경우: "{line.DisplayName}" 라인에는 미디어 커플러가 없습니다. |
- 하위 세그먼트에 누락된 커플러가 있는지 여부를 나타냅니다.
| 전제 조건 | 확인 | 확인 실패 시 항목 보고 |
|---|---|---|
| TP 리피터(세그먼트 커플러 기능 없음)가 존재하는 경우 | 경고: "{segment.DisplayName}"회선은 필터링 기능 없이 리피터를 통해 연결됩니다. 버스 트래픽을 줄이기 위해 세그먼트 커플러로 교체하는 것을 고려하세요. | |
| 레거시 미디어 커플러(세그먼트 커플러 기능 없음)가 존재하는 경우 | 경고: "{segment.DisplayName}" 회선은 메인 회선 또는 백본에서 커플러로 구현될 것으로 예상되는 미디어 커플러를 통해 연결되며 세그먼트 커플링을 준비할 수 없습니다. 디바이스 설명서를 확인하세요. |
|
| 커플러가 감지되지 않음 | 오류입니다: "{segment.DisplayName}" 줄에 세그먼트 커플러가 없습니다. |
- 백본 라인이 IP여야 하는지 여부를 나타냅니다.
| 전제 조건 | 확인 | 확인 실패 시 항목 보고 |
|---|---|---|
|
line.Address == 0인 줄이 존재하면 확인됩니다 && Line.ParentArea.Address == 0, 그렇지 않으면 오류 메시지가 생성됩니다. |
경고: 백본 라인이 없습니다. 백본 회선을 생성하고 'IP'로 설정하는 것이 좋습니다. |
|
|
백본 회선이 존재하는 경우 주소가 == 0이고 마스크 버전이 == 0x091a인 디바이스가 존재하는지도 확인합니다. ApplicationProgramIpConfig == ApplicationProgramIpConfig.Custom을 사용하는 커플러와 ApplicationProgramIpConfig != ApplicationProgramIpConfig.Custom을 사용하는 커플러가 존재합니다. 예인 경우 오류 메시지가 생성됩니다. |
경고: 백본 회선은 'IP' 유형이 아니지만 프로젝트에는 사용자 지정 관리가 가능한 IP 라우터만 존재합니다. 백본 회선을 'IP'로 설정하는 것이 좋습니다. |
- KNX/IP 라우터의 토폴로지 요구사항을 모두 충족하고 있는지 여부를 나타냅니다.
| 전제 조건 | 확인 | 확인 실패 시 항목 보고 |
|---|---|---|
| line.Devices에 주소 == 0, device.IsCoupler 및 device.MaskVersion == 0x091a를 가진 장치가 있습니다. |
회선이 주 회선이 아님: x.y.0 IP 라우터의 경우, x.0.0 라우터가 존재하지 않아야 합니다. |
오류입니다: 영역 커플러가 존재하고 해당 영역 커플러 아래에 'IP' 유형의 회선 커플러(KNX/IP 라우터)도 있습니다. 허용되지 않습니다. |
| line.Devices에 주소 == 0, device.IsCoupler 및 device.MaskVersion == 0x091a를 가진 장치가 있습니다. | 회선이 메인 라인이 아닌 경우: x.y.0 IP 라우터의 경우 메인 라인의 매체 유형이 존재하는 경우 IP여야 합니다. | 오류: 'IP' 유형의 회선 커플러(KNX/IP 라우터)가 매체 유형이 'IP'가 아닌 주 회선 아래에 존재합니다. KNX/IP 라우터가 아래와 같이 구성된 경우 주 회선의 매체 유형은 'IP'로 설정해야 합니다. |
| line.Devices에 주소 == 0, device.IsCoupler 및 device.MaskVersion == 0x091a를 가진 장치가 있습니다. | line.Address != 0: y != 0인 x.y.0 IP 라우터의 경우, 다른 비 IP 라우터 x.y.0이 존재하지 않아야 합니다. | 오류입니다: 동일한 영역 내에 'IP' 유형(KNX/IP 라우터)의 라인 커플러와 비 IP 커플러가 혼합되어 있습니다. 허용되지 않습니다. |
| line.Devices에 주소 == 0, device.IsCoupler 및 device.MaskVersion == 0x091a를 가진 장치가 있습니다. | x.y.0 IP 라우터 또는 x.0.0 IP 라우터의 경우, 백본 회선의 매체 유형이 존재하는 경우 IP여야 합니다. | 오류: 'IP' 유형(KNX/IP 라우터)의커플러가 존재하고 백본 회선(0.0)의 매체 유형이 'IP'가 아닙니다. KNX/IP 라우터가 구성된 경우 백본 회선의 매체 유형은 'IP'로 설정해야 합니다. |
| line.Devices에 주소 == 0, device.IsCoupler 및 device.MaskVersion == 0x091a를 가진 장치가 있습니다. | 설치.백본라인.메인세그먼트.IsTp세그먼트가 있고 라인.메인세그먼트.IsIp세그먼트가 있는 경우, 오류 메시지가 생성됩니다. | 오류입니다: 백본 회선이 중간 유형 TP이므로 {line.DisplayName} 회선의 중간 유형이 IP가 아니어야 합니다. |
| line.Devices에 주소 == 0, device.IsCoupler 및 device.MaskVersion == 0x091a를 가진 장치가 있습니다. | 오프라인 테스트로 진행되기 때문에, ETS가 버스에 연결되지 않습니다. | 오류입니다: 주 회선은 중간 유형 TP이므로 {0} 회선의 중간 유형이 IP가 아니어야 합니다. |
- 모든 토폴로지 식별자가 ETS3 플러그인과 호환되는지 여부를 나타냅니다.
| 전제 조건 | 확인 | 확인 실패 시 항목 보고 |
|---|---|---|
| line.Name.length > 50? | 오류입니다: 이름 길이가 50자를 초과합니다. 이로 인해 ETS3 플러그인에서 문제가 발생할 수 있습니다. | |
| area.Name.length > 50? | 오류입니다: 이름 길이가 50자를 초과합니다. 이로 인해 ETS3 플러그인에서 문제가 발생할 수 있습니다. | |
| buildingPart.Name.length > 50? | 오류입니다: 이름 길이가 50자를 초과합니다. 이로 인해 ETS3 플러그인에서 문제가 발생할 수 있습니다. | |
| trade.Name.length > 50? | 오류입니다: 이름 길이가 50자를 초과합니다. 이로 인해 ETS3 플러그인에서 문제가 발생할 수 있습니다. | |
| line.Description.length > 80? | 오류입니다: 설명의 길이가 80자를 초과했습니다. 이로 인해 ETS3 플러그인에서 문제가 발생할 수 있습니다. | |
| area.Description.length > 80? | 오류입니다: 설명의 길이가 80자를 초과했습니다. 이로 인해 ETS3 플러그인에서 문제가 발생할 수 있습니다. | |
| buildingPart.Description.length > 80? | 오류입니다: 설명의 길이가 80자를 초과했습니다. 이로 인해 ETS3 플러그인에서 문제가 발생할 수 있습니다. | |
| trade.Description.length > 80? | 오류입니다: 설명의 길이가 80자를 초과했습니다. 이로 인해 ETS3 플러그인에서 문제가 발생할 수 있습니다. | |
| buildingPart.Number.Length > 20? | 오류입니다: 숫자의 길이가 20자를 초과합니다. 이로 인해 ETS3 플러그인에서 문제가 발생할 수 있습니다. | |
| trade.Number.Length > 20? | 오류입니다: 숫자의 길이가 20자를 초과합니다. 이로 인해 ETS3 플러그인에서 문제가 발생할 수 있습니다. |
제품 정보 검사하기
경우에 따라서는 KNX 제품 항목의 업데이트가 가능하며, 동일한 제품 버전에 대한 개선 사항이나 버그 수정을 포함합니다. 이 검사를 통해, 이러한 모든 장치를 보여주는 목록을 출력할 수 있습니다. 이 목록에는 장치의 '지문(fingerprints)'도 포함됩니다(제조업체는 장치 버전이 동일하더라도 장치 간의 여러 변형 옵션을 구별하는 데 사용할 수 있습니다).
이전 버전의 ETS에서 가져온 프로젝트 확인하기(Checks for projects imported from earlier versions of ETS)
이전 버전의 ETS에서 가져온 프로젝트 검사에서 확인 가능한 내용은 무엇일까요?
- 모든 장치 주소가 유효한지 여부
| 전제 조건 | 확인 | 확인 실패 시 항목 보고 |
|---|---|---|
| device.address != null 및 device.line != null | device.Address < 0 || device.Address > 255 | 오류가 발생했습니다: "{device.DisplayName}"의 주소 "{device.Address}"가 범위를 벗어났습니다. |
| device.address != null 및 device.line != null | 장치.주소는 줄에서 고유합니다. | 오류가 발생했습니다: 주소 "{device.Address}"가 고유하지 않습니다. |
| device.address != null 및 device.line != null | !.device.Hardware.HasIndividualAddress | 오류가 발생했습니다: 장치 "{device.DisplayName}"에 주소가 없어야 하지만 주소 "{device.Address}"가 있습니다. |
| device.address != null 및 device.line != null | device.Address == 0 && !device.IsCoupler | 오류입니다: 장치 주소 0은 커플러용으로 예약되어 있습니다. |
| device.Address == null || device.Line == null | device.Hardware.HasIndividualAddress | 오류가 발생했습니다: "{device.DisplayName}" 주소가 없습니다. |
- 영역 및 라인의 주소가 유효한지 여부
| 전제 조건 | 확인 | 확인 실패 시 항목 보고 |
|---|---|---|
| area.Address > 15 | 오류가 발생했습니다: "{area.Name}"의 주소 "{area.Address}"가 범위를 벗어났습니다. | |
| 프로젝트의 주소가 같은 지역인가요? | 오류가 발생했습니다: "{area.Address}" 주소가 고유하지 않습니다. |
- 그룹 범위가 유효한지 여부
| 전제 조건 | 확인 | 확인 실패 시 항목 보고 |
|---|---|---|
|
그룹 주소(그룹 범위 주소)가 유효한가요?
|
오류가 발생했습니다: "{groupAddress.DisplayName}"의 주소 "{groupAddress.Address}"가 범위를 벗어났습니다. 또는 "{groupRange.DisplayName}"의 주소 "{groupRange.Address}"가 범위를 벗어났습니다. |
|
| 프로젝트에 동일한 주소를 가진 그룹 주소/그룹 범위가 있나요? |
오류가 발생했습니다: 주소 "{groupAddress.Address}"가 고유하지 않습니다. 또는 주소 "{groupRange.Address}"는 고유하지 않습니다. |
|
| 3단계 그룹 스타일: 그룹 주소가 0/0/0인가요? | 오류입니다: 그룹 주소 0/0/0이 유효하지 않습니다. |
- 레거시 리피터(Legacy repeater) 의 카운팅 여부
검사 결과는 동일한 상태창에 표시되며 저장, 클립보드에 복사, 그리고 인쇄 등의 작업을 할 수 있습니다.
모든 검사를 전부 비활성화할 수 있으며, 혹은 각 탭별로 검사의 개별 단계를 비활성화할 수 있습니다.