직렬 프레임 확인

Modbus CRC 계산기

CRC 없는 바이트로 계산하거나 끝의 CRC 두 바이트를 포함한 프레임을 검증하세요.

Modbus CRC 계산기

프레임 바이트 (16진수)

완전한 바이트 쌍을 공백, 줄바꿈, 쉼표로 구분하세요. 0x는 한 바이트에만 붙입니다.

결과

현재 브라우저 탭에서만 처리하며 입력을 전송하거나 저장하지 않습니다.

옵션

고정 CRC-16/MODBUS 파라미터

폭 16 · 다항식 8005 (반사형 A001) · 초기값 FFFF · 입력/출력 반사 true · 최종 XOR 0000

CRC 일치는 기능 코드, 레지스터 또는 장치 통신을 보장하지 않습니다.

바이트를 입력하거나 예제를 불러오세요.

로그에는 CDC5가 나오는데 캡처 끝은 C5 CD라면 계산 자체가 틀린 것은 아닐 수 있습니다. Modbus CRC 계산기는 숫자와 전송 순서를 나누어 보여 주므로 정상인 코드를 바꾸기 전에 비교 대상을 맞출 수 있습니다.

Modbus RTU CRC16 프레임 검증에서는 기존 CRC를 입력에 포함했는지가 중요합니다. 계산 모드는 모든 바이트를 사용하고 검증 모드는 끝의 두 바이트를 분리합니다. 줄바꿈은 구분자이며 여러 프레임을 각각 처리하지 않습니다.

Modbus CRC 계산기를 사용하는 이유

숫자와 바이트 순서 구분

Modbus CRC 계산기에서 01 03 00 00 00 0A의 숫자는 CDC5이고 표준 전송 순서는 C5 CD입니다. 상위 우선으로 바꿔도 주소나 레지스터 데이터는 뒤집지 않습니다. 선택한 순서는 끝의 CRC 두 바이트에만 적용됩니다.

색이 다른 CRC 두 바이트가 숫자 순서에서 하위 우선으로 바뀌어 프레임 끝에 붙는 모습.

틀린 캡처도 그대로 보존

수신한 끝부분과 다시 계산한 기대값을 따로 표시합니다. 재구성한 프레임은 출력에만 나타나므로 입력에서 오류 바이트를 지우거나 덮어써서 분석 근거를 잃지 않습니다.

수신 프레임 끝과 다시 계산한 기대값을 비교하며 다른 한 바이트를 강조한 모습.

계산 범위부터 맞추기

01

CRC 포함 여부를 먼저 선택

새 검사값을 만들 때는 기존 CRC를 빼세요. 이미 받은 프레임은 검증 모드로 확인합니다. 자동 추측은 하지 않습니다. 예제는 현재 모드와 순서를 따르며 적용 전에 바뀔 입력과 문자 수를 보여 줍니다.

02

하위 바이트 우선을 기준으로 비교

Modbus RTU의 CRC는 하위 바이트부터 보냅니다. 레지스터 데이터의 바이트 해석과 별개입니다. 상위 우선은 진단용이며 일치해도 비표준으로 표시합니다. 두 바이트 값이 같으면 순서 변경만으로 차이를 알 수 없습니다.

03

현재 결과인지 확인한 뒤 내보내기

자동 계산은 변경 후 350ms를 기다립니다. 끄면 버튼이나 Ctrl/Cmd+Enter로 실행할 수 있습니다. 입력 또는 옵션 변경 즉시 이전 결과의 복사와 다운로드가 비활성화됩니다. 예제와 지우기는 한 번 실행 취소할 수 있습니다.

검사값과 원본을 함께 확인

CRC 체크섬 모델 고정

CRC-16/MODBUS의 폭은 16, 다항식은 8005, 반사형은 A001, 초기값은 FFFF입니다. 입력과 출력 반사는 활성화되고 마지막 XOR는 0000입니다. 31부터 39까지의 바이트는 4B37을 만듭니다. 다른 변종으로 바뀌는 설정이 없습니다.

정확한 16진수 입력

연속된 짝수 자릿수, 공백, 줄바꿈, 쉼표를 사용할 수 있습니다. 0x 접두사는 한 바이트에만 붙입니다. 홀수 자릿수나 잘못된 문자는 행과 열을 표시하며 거부합니다. 로그 주소나 주석을 조용히 삭제하지 않습니다.

수신값과 기대값 비교

숫자 CRC, 상위와 하위 바이트, 기대 CRC와 전체 프레임을 보여 줍니다. 검증은 마지막 두 바이트를 수신값으로 비교합니다. 불일치도 완료된 계산이므로 원인을 분석할 보고서를 내려받을 수 있습니다.

계산 조건까지 담은 보고서

CRC 바이트 또는 전체 프레임을 따로 복사합니다. JSON 보고서에는 모드, 바이트 순서, 고정 파라미터, 본문 바이트와 수신값, 기대값, 일치 여부가 들어갑니다. 숫자 네 자리만 공유할 때 빠지는 조건을 함께 전달할 수 있습니다.

일치 판정의 범위와 한계

한 개 RTU 프레임만 처리
계산은 CRC 없이 2–254바이트, 검증은 CRC 포함 4–256바이트를 받습니다. 입력 문자열은 4096자까지입니다. 큰 바이너리 파일이나 여러 프레임을 일괄 처리하지 않으며 줄바꿈으로 실제 통신 경계를 추측하지 않습니다.
장치와 명령 의미는 검사하지 않음
CRC 일치는 기능 코드, 레지스터 범위 또는 장치 응답을 보장하지 않습니다. 장치 연결이나 프레임 전송 기능도 없습니다. CRC는 우발적인 오류를 찾기 위한 값이며 발신자 인증이나 악의적 변조 방지는 아닙니다.
ASCII와 TCP는 다른 작업
ASCII의 LRC나 TCP의 MBAP 헤더를 생성하지 않습니다. 다항식과 초기값, 반사 설정도 바꿀 수 없습니다. 다른 알고리즘은 범용 체크섬 도구에서 전체 파라미터를 확인해 계산해야 합니다.
추측이나 자동 수정 없음
계산 모드는 기존 CRC처럼 보이는 바이트를 제거하지 않습니다. 검증 중 일치할 때까지 바이트 순서를 바꾸지도 않습니다. 재구성 결과는 출력에만 나타나며 원본에 덧붙이거나 다시 쓰지 않습니다.
직접 입력한 바이트만 사용
파일, URL, C 배열이나 패킷 로그를 가져오지 않습니다. 오프셋과 괄호, 주석을 직접 제거하세요. 입력 기록을 영구 저장하지 않으며, 교체 미리보기에서는 문자 수를 확인하고 이전 입력과 결과를 한 번 복원할 수 있습니다.

Modbus CRC 계산기 자주 묻는 질문

CRC와 암호화 해시는 어떻게 다른가요?

CRC는 전송 과정의 우발적인 오류를 감지합니다. 메시지의 출처를 인증하거나 의도적인 변조를 막지 못합니다. 검사값이 같아도 송신자를 신뢰할 수 있다는 뜻은 아니며 프로토콜 검사를 대신하지 않습니다.

통신에 맞는 CRC 종류는 어떻게 고르나요?

프로토콜에 지정된 전체 모델을 확인하세요. 16비트라는 폭만 같아서는 충분하지 않습니다. 이 페이지는 MODBUS의 다항식, 초기값, 반사와 최종 XOR를 고정하고 화면에 표시합니다.

예상한 CRC 값과 다른 이유는 무엇인가요?

기존 CRC를 다시 포함했는지, 바이트 범위가 맞는지 먼저 확인하세요. 숫자 CDC5와 전송 바이트 C5 CD는 같은 결과일 수 있습니다. 알고리즘 변종도 확인해야 하며 전체 프레임을 뒤집어 맞추면 안 됩니다.

MODBUS와 CCITT의 CRC-16은 무엇이 다른가요?

다항식과 초기값 같은 파라미터가 다르므로 같은 16비트라도 결과는 호환되지 않습니다. MODBUS는 다항식 8005와 초기값 FFFF를 사용합니다. CCITT라는 이름도 여러 변종을 가리킬 수 있어 정확한 정의가 필요합니다.

바이너리 데이터의 CRC도 구할 수 있나요?

실제 바이트를 16진수로 입력하면 됩니다. 01은 값이 1인 한 바이트이며 문자 0과 1을 인코딩한 결과가 아닙니다. 파일 읽기나 텍스트 인코딩은 제공하지 않고 단일 RTU 프레임 길이 제한이 적용됩니다.

궁금한 점이 남았나요?

다음 캡처 확인하기

Modbus CRC 계산기로 수신 프레임 하나를 확인하고 원래 끝부분을 남겨 둔 채 송신 프로그램의 결과와 비교하세요.