BACnet MS/TP BACnet

현장의 증상은 대체로 비슷합니다. 포인트 값이 갱신되지 않고, 컨트롤러가 온라인과 오프라인을 오가며, 오전 내내 정상인 트렁크가 오후 2시가 되면 무너지기도 합니다. 또는 새 장치의 배선과 주소 설정, 전원 공급을 모두 마쳤는데도 목록에 나타나지 않습니다. BACnet 기초와 BACnet 네트워킹에서 미뤄 둔 이야기를 이 페이지에서 다룹니다. 장치가 MS/TP 트렁크에서 이탈하는 이유와 토큰 링, 주소 체계, 두 가닥 배선이 각각 정상 상태를 유지하기 위해 필요한 조건을 설명합니다. 이 세 계층은 서로 다른 방식으로 고장 납니다. 현재 어느 계층을 보고 있는지 구분하는 것만으로도 진단의 대부분을 해결할 수 있습니다.

토큰 링 — 어느 장치가 송신할 차례인가

MS/TP는 RS-485 한 쌍의 선로에서 동작하지만 RS-485에는 전송 순서를 중재하는 장치가 없습니다. 두 장치가 동시에 송신하면 두 메시지 모두 손상됩니다. BACnet은 이를 토큰으로 해결합니다. 트렁크의 마스터 장치는 MAC 주소 순서로 논리적 링을 구성하며, 토큰을 보유한 장치만 메시지를 개시할 수 있습니다. 송신을 마치거나 허용된 프레임 수를 모두 사용하면 링의 다음 마스터로 토큰을 넘깁니다. 가장 높은 주소 다음에는 가장 낮은 주소로 돌아가며, 정상 트렁크에서는 이 순환이 분당 수백 번 반복됩니다.

두 가지 장치 속성으로 링을 조정하며, 둘 다 일반적인 커미셔닝 설정 항목입니다. Max_Info_Frames는 한 번 토큰을 보유할 때 장치가 보낼 수 있는 메시지 수입니다. 현장 컨트롤러는 1이면 충분하지만, 트렁크 전체의 트래픽을 모으는 상위 관리 장치나 라우터에는 더 큰 값이 필요합니다(보통 10–20). 그렇지 않으면 다음 송신 차례를 기다리는 데 대부분의 시간을 씁니다. Max_Master는 검색 상한입니다. 토큰 보유자는 자신과 다음으로 알려진 마스터 사이의 주소에 주기적으로 Poll-For-Master를 보내 새 장치를 링에 참여시키지만, 자신의 Max_Master보다 높은 주소는 절대 폴링하지 않습니다.

이 상한 때문에 눈에 띄는 오류 없이 장치가 빠지는 전형적인 문제가 생깁니다. 장치 25대가 연결된 트렁크에서 검색 범위를 합리적으로 줄이기 위해 모든 장치의 값을 Max_Master = 40으로 설정했다고 가정해 보겠습니다. 이후 누군가 MAC 45로 설정한 컨트롤러는 배선과 구성에 문제가 없어도 한 번도 폴링되지 않습니다. 해당 주소보다 낮은 곳에서 검색을 멈추는 링에는 참여할 수 없기 때문입니다. 고장 난 부품이 없으므로 전원을 껐다 켜거나 트랜시버를 교체하거나 같은 두 가닥 선의 종단 처리를 반복해도 해결되지 않습니다.

Max_Master로 제한된 MS/TP 토큰 링 하나의 MS/TP 트렁크에 컨트롤러 다섯 대가 있습니다. MAC 주소 1, 4, 9, 23인 장치들은 화살표를 따라 차례로 토큰을 전달하고 23에서 다시 1로 돌아갑니다. Max_Master = 40이라고 표시된 세로 점선 경계 바깥에는 회색으로 처리된 MAC 45 컨트롤러가 있으며 "폴링되지 않음"이라고 표시됩니다. Max_Master 상한보다 높은 주소의 장치는 링에 참여하도록 초대받지 못합니다. MS/TP 트렁크 (RS-485 선로) MAC 1 MAC 4 MAC 9 MAC 23 MAC 45 폴링되지 않음 토큰은 가장 낮은 MAC으로 돌아감 Max_Master = 40

반대 실수는 통신 중단 대신 속도 저하를 일으킵니다. 장치 8대뿐인 트렁크에서 모든 장치를 출고 기본값인 Max_Master = 127로 두면 빈 주소 범위 바로 아래의 마스터가 아무도 사용하지 않는 백여 개 주소를 맡게 됩니다. 약 50회 동안 변화 없이 토큰을 전달하고 나면 그 범위를 폴링하기 시작합니다. 토큰이 돌아올 때마다 Poll-For-Master 하나를 보내므로, 매 순환에 주소 하나씩 빈 구간 전체를 훑은 뒤 다시 50회 동안 쉬고 반복합니다. 127로 남겨 둔 소규모 트렁크에서는 이 검색에 백여 번의 순환이 필요하며, 매번 존재하지 않는 주소의 응답 시간 초과를 기다리는 동안 링이 멈추므로 대부분의 순환에 지연이 생깁니다. 가장 높은 MAC보다 조금 큰 Max_Master를 사용하면 검색 범위는 몇 개 주소로 줄어듭니다. 새 장치가 발견될 때까지 걸리는 시간도 길어집니다. 트렁크 전원을 켰거나 가장 높은 주소의 마스터가 이탈해 바로 아래 마스터가 빈 구간을 넘겨받는 등 링을 처음부터 구성해야 할 때는, 해당 마스터가 빈 주소 전체에서 하나씩 응답 시간 초과를 기다린 후에야 링이 닫힙니다. 트렁크는 동작하지만 대부분의 순환에서 존재하지 않는 장치에 말을 거느라 멈추며, 장치를 추가하는 데도 더 오래 걸립니다. 정상적인 구성은 낮은 번호부터 연속된 MAC 주소를 사용하고, 모든 장치의 Max_Master를 동일하게 설정하는 것입니다. 사용 중인 가장 높은 MAC보다 조금 크게 두면 트렁크 전체 설정을 바꾸지 않고도 컨트롤러를 추가할 여유가 생깁니다.

두 주소 체계와 잘못된 원인 추정

BACnet 네트워킹에서는 세 가지 주소를 설명했습니다. MS/TP 트렁크에서 중요한 두 주소는 혼동하기 쉽지만 서로 완전히 독립적입니다. MAC 주소(마스터는 0–127)는 이 물리적 트렁크에서 사용하는 1바이트 스테이션 주소입니다. 토큰 링은 이 주소를 기준으로 동작하며, DIP 스위치나 제조사 도구의 입력란으로 설정합니다. 이 세그먼트 안에서만 고유하면 됩니다. 장치 인스턴스(최대 4,194,302)는 BMS 프로그램이 참조하는 애플리케이션 계층 식별자이며, 현장 전체에서 고유해야 합니다. MAC 5가 device 100503일 수도 있습니다. 두 값의 조합은 임의이므로 한 값으로 다른 값을 추정하면 엉뚱한 컨트롤러를 다시 설정할 수 있습니다.

중복 MAC은 가장 이상한 증상을 보이는 주소 설정 오류입니다. 토큰이 공유 주소에 도달하면 두 장치가 모두 자신의 송신 차례라고 판단해 동시에 전송하고 프레임이 충돌해 손상됩니다. 타이밍에 따라 한 장치가 잠시 통신하는 동안 다른 장치는 죽은 것처럼 보이다가 역할이 뒤바뀝니다. 따라서 에서는 두 컨트롤러가 번갈아 오프라인으로 깜박입니다. 장치 인스턴스가 전혀 달라 목록에서 멀리 떨어져 있을 수도 있습니다. 트렁크 전체의 재시도와 CRC 오류도 증가하므로 중복 MAC은 두 장치뿐 아니라 모든 장치의 성능을 떨어뜨립니다. 특히 컨트롤러 교체 시 자주 발생합니다. 교체품의 출고 기본값인 MAC 0 또는 1은 이미 라우터가 사용하고 있는 경우가 많습니다.

두 가닥 배선 — 전기 계층의 요구 조건

앞선 설명은 비트가 정상적으로 도착한다는 전제에 기반합니다. RS-485에서는 올바른 물리 배선이 그 조건을 결정하며, 각 규칙을 어기면 결국 장애 요청으로 이어집니다. 트렁크는 차폐 연선을 사용해 장치에서 다음 장치로 데이지 체인 방식으로 연결합니다. 케이블 하나가 들어오고 하나가 나가야 하며, 스타형 분기나 T자 접속을 만들지 않고 단말 블록이 허용하는 한 스텁 길이를 영에 가깝게 해야 합니다. 분기선은 겉보기에 문제가 없고 시험대에서는 동작할 수 있지만, 전기적으로는 종단되지 않은 반사 발생기입니다. 분기 길이와 보드레이트가 커질수록 프레임 손상도 커집니다.

이 선로는 극성에 민감합니다. 트렁크 전체의 모든 장치에서 +는 +에, −는 −에 연결해야 합니다. 장치 하나의 극성이 뒤바뀌면 해당 장치만이 아니라 세그먼트 전체가 멈출 수 있습니다. 트랜시버가 선로를 반대 극성으로 능동 구동하기 때문입니다. 제조사는 도체를 +/− 또는 A/B로 표시하지만 A와 B의 정의는 제조사마다 같지 않습니다. 문자보다 +와 − 표시를 따르거나 일관되게 시공된 배선 색상을 확인하세요. 종단은 트렁크의 물리적 양쪽 끝에서 선로 사이에 120 Ω 저항을 연결하는 것입니다. 정확히 두 개만 양 끝에 있어야 합니다. 대부분의 컨트롤러에는 저항이 내장되어 EOL 스위치나 점퍼로 켤 수 있습니다. 습관적으로 중간 장치까지 세네 개를 켜 두거나 하나도 켜지 않는 것이 흔한 고장 원인입니다. 또한 트렁크의 한 지점, 일반적으로 상위 관리 장치나 라우터가 페일세이프 바이어스를 제공합니다. 약한 풀업·풀다운으로 송신 사이의 유휴 상태를 일정하게 유지해 수신기가 잡음에 반응하지 않도록 합니다. 차폐선은 한쪽 끝에서만 접지합니다. 이는 센서 배선과 같은 원칙입니다.

MS/TP 트렁크 배선 — 데이지 체인, 양 끝 종단, 스타형 분기 금지 왼쪽에 +와 −가 표시된 2선식 트렁크를 따라 컨트롤러 네 대가 데이지 체인으로 연결되어 있습니다. 물리적 양쪽 끝에는 강조된 120옴 EOL 저항이 선로 사이를 연결하고, 왼쪽 끝 장치는 바이어스 지점으로 표시됩니다. 트렁크 중앙 아래로 다섯 번째 장치를 향한 분기선이 내려가며 "스타형 분기 금지"라는 문구와 빨간색 X가 표시됩니다. 분기선은 반사를 일으켜 프레임을 손상시킵니다. + − 120 Ω EOL 120 Ω EOL 라우터 바이어스 지점 VAV-1 VAV-2 AHU-1 VAV-3 스타형 분기 금지 — 분기선에서 반사 발생

나머지 제한은 두 단계의 허용 한도로 이해할 수 있습니다. 상한은 표준에서 정합니다. ASHRAE 135는 적합한 케이블, 즉 차폐 연선, 100–130 Ω 임피던스, 저정전용량 케이블을 사용한 세그먼트에 대해 최대 4000 ft(1200 m)와 트랜시버 32 단위 부하를 규정합니다. 최신 ⅛부하 부품은 더 많은 장치를 연결할 수 있지만, 리피터 없이 세그먼트당 약 32대로 제한하는 제조사도 많습니다. 실제 운용 한도는 제조사가 정합니다. 현장 지침에는 높은 보드레이트에서 더 짧은 거리와 해당 하드웨어에 맞춘 더 엄격한 장치 수가 흔히 제시됩니다. 제조사 기준을 넘으면 문제가 생길 수 있습니다. 케이블 품질, 온도, 잊고 있던 스텁 하나에 따라 트렁크가 버티기도 하고 무너지기도 하는 한계 영역입니다. 표준 기준을 넘으면 문제가 있는 상태입니다. 트랜시버가 구동하도록 규정된 범위를 벗어나므로 종단 처리를 반복해도 복구할 수 없습니다. 리피터를 추가하거나 세그먼트를 나눠야 합니다. 세그먼트의 모든 장치는 같은 보드레이트로 동작합니다. 표준 값은 9600, 19200, 38400, 76800이며 현장에서는 38400과 76800을 주로 사용합니다. 보드레이트가 다른 장치는 통신하지 못하며, 해당 장치에 보내는 Poll-For-Master 트래픽은 다른 장치의 오실로스코프에서 잡음처럼 보입니다.

증상으로 고장 계층 판별하기

세 계층으로 나누어 보면 계측기를 꺼내기 전에도 증상만으로 문제 계층을 대체로 좁힐 수 있습니다.

증상계층주요 원인
장치 하나만 나타나지 않고 나머지는 정상 링 / 주소 설정 MAC이 트렁크의 Max_Master보다 높음, 해당 장치의 보드레이트가 다름, 단자에서 +/−가 뒤바뀜, 트렁크 중간 장치의 EOL 스위치가 켜짐.
장치 두 대가 번갈아 오프라인으로 깜박임 주소 설정 중복 MAC. 컨트롤러 교체품을 출고 기본값으로 둔 뒤 흔히 발생합니다.
임의 장치가 이탈하며 특정 시간대에 악화 전기 계층 온도에 따라 불안정해지는 한계 상태의 종단 또는 바이어스, 같은 전선관을 쓰는 VFD의 전자기 간섭(EMI), 최근 개보수 때 추가되어 부하 조건에서 반사를 일으키는 스타형 분기.
트렁크 전체가 온라인이지만 느림 링 조정 소규모 트렁크의 Max_Master가 127로 남아 있어 빈 주소를 폴링함, 모든 장치의 트래픽을 처리하는 라우터가 Max_Info_Frames = 1로 설정됨.
트렁크 전체가 정지하거나 손상된 데이터만 보임 전기 계층 트렁크 중간에서 극성이 뒤바뀜, 종단이 없거나 세 개가 설치됨, 케이블 외피가 눌려 단락됨, 바이어스가 없어 선로가 부동 상태가 됨.

페이지 처음의 사례로 돌아가 보겠습니다. 전기 작업자가 새 컨트롤러 네 대를 추가한 뒤 장치가 간헐적으로 이탈한다면, 대개 여러 문제가 동시에 존재합니다. 기존 끝단의 EOL이 이제 트렁크 중간에 있고, 새 장치가 출고 기본 MAC과 9600 보드로 설정되어 있으며, 연장 구간에는 다른 종류의 케이블을 사용했을 수 있습니다. 트렁크를 연장하면 모든 계층을 다시 검토해야 하므로 세 계층을 모두 확인하세요.

이 페이지에서 다루지 않은 내용

가상 트렁크를 구성하고, 종단 저항을 켜고 끄며, MAC을 중복시키고, Max_Master에 상한을 두어 링이 실시간으로 악화되는 모습을 확인하는 일은 실습형 버스 시뮬레이터에 적합합니다. 이 페이지와 짝을 이루는 시뮬레이터가 로드맵에 있으며, 컨트롤러 배선 시뮬레이터에서 회색으로 표시된 NET 단자에 연결될 예정입니다. 스텁 금지 규칙의 배경이 되는 전송선 물리학(반사, 임피던스, 허용 한도가 정해진 이유)과 TLS로 보호되는 전송 방식인 BACnet/SC도 여기서는 다루지 않습니다. 트렁크를 통해 전달되는 프로토콜의 객체, 서비스, 은 BACnet 기초를, 통신이 라우터를 통과할 때의 동작은 BACnet 네트워킹을 참고하세요.

← 학습으로 돌아가기