🔋 SBT.mdb 뷰어
데이터 기준: 2026-07-24 05:16:52

✍️ 바코드 → IC 쓰기(Write Word) 설정 가이드

배터리팩 라벨의 바코드 문자열 일부를 잘라 IC 레지스터에 그대로 기록하는 기능의 동작 원리와, 실제 설정 프로그램에서 값을 채우는 방법을 정리했습니다.

⚠️ 이 페이지는 2바이트(1 Word) 수치 필드(제조일자·시리얼 번호 등)에 바코드 일부 구간을 넣는 경우를 다룹니다. 바코드 문자열 전체를 IC에 기록하려면 바코드 문자열 → IC 기록 가이드(Write Block)를 참고하세요 — 실제 등록 사례는 이쪽이 더 많습니다.

1. 실제 데이터 예시

아래 예시는 칩셋 RAJ240045(CHIPSET_ID=362)에 실제로 등록되어 있는 설정입니다. 클릭하면 편집 화면 재현 페이지로 이동합니다.

칩셋복합 명령바로가기
362 (RAJ240045) Pack Date_W 에디터 화면 보기 →
362 (RAJ240045) Pack Serial Number_W 에디터 화면 보기 →

2. 설정 절차

  1. 데이터 소스 등록TB_WRITE_ITEM_BASIC에 해당 칩셋의 WRITE_NAME='BARCODE' 항목이 있는지 확인합니다(없으면 새 WRITE_ID로 추가). 이 값이 편집 화면의 Data 드롭다운 후보가 됩니다.
  2. 복합 명령(Union Code) 생성 — 예: Pack Date_W 처럼 이름을 붙여 새 항목을 만듭니다.
  3. Basic Code 상세 스텝 추가
    • Basic Code = [9] Write Word
    • Addr = IC에 실제로 쓸 레지스터 주소 (예: 0x1B=ManufactureDate, 0x1C=SerialNumber — 데이터시트로 최종 확인)
    • Class = 1: Write, Unit = 1: Word, Type = 1: HEX, Judge = 6: None
    • Data = [3] BARCODE (1번에서 등록한 데이터 소스 선택)
    • Place / Size = 바코드 문자열에서 잘라낼 시작 위치 / 길이
  4. (선택) Delay 스텝 추가 — IC 내부 쓰기(EEPROM 반영) 완료 대기용 (예: 500ms).
  5. 실행 시 동작 — 스캔된 바코드 문자열에서 Place~Place+Size 구간을 추출 → Type에 따라 변환 → Cmd(0x60) + Addr 조합으로 SMBus/I2C Write Word 트랜잭션을 IC에 전송합니다.

3. CODE_DEFINE 인코더 / 디코더

편집 화면의 Class·Unit·Type·Judge·Place·Size 7개 값은 TB_UNION_CODE_DTL.CODE_DEFINE 8자리 문자열 하나로 저장됩니다: [Class 1][Unit 1][Type 1][Judge 1][Place 2][Size 2]

🔎 디코더 (코드 → 의미)

🧮 인코더 (의미 → 코드)

필드별 코드 의미 참고표

필드코드값의미신뢰도
class 0 Read 추정(미확정)
class 1 Write 확인됨
class 2 Analog/제어 추정(미확정)
class 4 Other 확인됨
class 5 외부계측장비 추정(미확정)
class N 해당없음 추정(미확정)
unit 0 Delay 확인됨
unit 1 Word 확인됨
unit 2 Block 추정(미확정)
unit 3 Block(대) 추정(미확정)
unit N 해당없음 추정(미확정)
type 1 HEX 확인됨
type N 해당없음 추정(미확정)
judge 6 None 확인됨
judge N 해당없음 추정(미확정)

⚠️ 표에 없는 코드값은 아직 의미가 확인되지 않은 값입니다("미확인").