🏷️ 바코드 문자열 → IC 기록 가이드 Write Block 계열
제품 바코드로 읽은 문자열 전체를 IC에 그대로 기록하는 설정 방법입니다. 이 DB에 실제로 등록되어 있는 값만을 근거로 정리했습니다.
바코드에서 일부 구간만 잘라 2바이트 수치 필드(제조일자·시리얼 번호 등)에 넣는 경우는 Write Word 가이드를 참고하세요.
1. 두 방식의 차이 — 어느 쪽을 써야 하나
| 구분 | Write Block 계열 (이 페이지) | Write Word (Write 가이드) |
|---|---|---|
| 용도 | 바코드 문자열 전체를 기록 | 바코드의 일부 구간을 잘라 기록 |
| 1회 전송량 | 블록(가변 길이 문자열) | 2바이트(1 Word) 고정 |
| Unit | 2: Block | 1: Word |
| Place / Size | 00 / 00 — 자르지 않고 전체 사용 | 잘라낼 시작 위치 / 길이 지정 |
| 대표 Addr | 0x70 (일부 칩셋 0x33) | 0x1B(제조일자), 0x1C(시리얼) |
| 등록 칩셋 수 | 13개 | 2개 |
💡 문의하신 "바코드의 문자열을 IC에 기록"은 대부분 Write Block 계열에 해당합니다. Write Word는 한 번에 2바이트만 전송하므로, 그보다 긴 문자열을 넣으려면 스텝을 여러 개로 나눠야 합니다.
2. 실제 등록된 쓰기 명령 현황 WRITE_NAME='BARCODE' 데이터 소스를 참조하는 스텝
| Basic Code | Cmd | 사용 Addr | 등록 스텝 | 칩셋 수 | 대표 사례 |
|---|---|---|---|---|---|
| Write Block (Replace) | 75 |
70 |
18건 | 12개 | 칩셋 5 · Write HP Barcode → |
| Write Word | 60 |
1B, 1C |
4건 | 2개 | 칩셋 222 · Pack Date_W → |
| Write Block (Not Fixed 1) | 71 |
70, 33 |
3건 | 3개 | 칩셋 7 · Write HP Barcode → |
3. 표준 시퀀스 — 실제 등록 데이터
명령 종류별로 실제 등록된 복합 명령 하나씩을 스텝 그대로 펼친 것입니다. 쓰기 → 대기 → (검증용) 되읽기 3단 구성이 공통 패턴입니다.
Write Block (Replace) 칩셋 5 (BQ20Z95) · Write HP Barcode 에디터 화면 보기 →
| 순번 | Basic Code | Cmd | Addr | Class | Unit | Type | Judge | Data | Place | Size |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | [19] Write Block (Replace) | 75 |
70 |
1Write | 2Block | 0미확인 | 6None | [4] BARCODE | 00 | 00 |
| 2 | [20] Delay | 80 |
00 |
4Other | 0Delay | N해당없음 | 6None |
500
|
00 | 00 |
| 3 | [7] Read Block | 30 |
70 |
0Read | 2Block | 0미확인 | 3미확인 | — | 01 | 14 |
Write Word 칩셋 222 (BQ40Z453) · Pack Date_W 에디터 화면 보기 →
| 순번 | Basic Code | Cmd | Addr | Class | Unit | Type | Judge | Data | Place | Size |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | [9] Write Word | 60 |
1B |
1Write | 1Word | N해당없음 | 1미확인 | [4] BARCODE | 14 | 06 |
| 2 | [20] Delay | 80 |
00 |
4Other | 0Delay | N해당없음 | 6None |
500
|
00 | 00 |
Write Block (Not Fixed 1) 칩셋 7 (MAX1788) · Write HP Barcode 에디터 화면 보기 →
| 순번 | Basic Code | Cmd | Addr | Class | Unit | Type | Judge | Data | Place | Size |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | [15] Write Block (Not Fixed 1) | 71 |
70 |
1Write | 2Block | 0미확인 | 6None | [1] BARCODE | 00 | 00 |
| 2 | [20] Delay | 80 |
00 |
4Other | 0Delay | N해당없음 | 6None |
4000
|
00 | 00 |
확인된 값 추정값(미확정) 의미 미확인
4. 설정 절차
- 바코드 원본 확보 확인 — 팩에서 바코드를 SMBus로 읽어오는 경우
TB_SMART_DATA의BARCODE_CMD·BARCODE_BEGIN·BARCODE_SIZE가 해당 모델에 설정돼 있어야 합니다. 스캐너로 직접 입력받는 경우에는 불필요합니다. - 데이터 소스 등록 —
TB_WRITE_ITEM_BASIC에 해당 칩셋의WRITE_NAME='BARCODE'항목이 있는지 확인합니다(없으면 새 WRITE_ID로 추가). 이 항목이 편집 화면 Data 드롭다운의 후보가 됩니다. 아래 5번 표에서 칩셋별 등록 현황을 확인하세요. - 복합 명령(Union Code) 생성 — 예:
Write HP Barcode,Write CT Label. - 1번 스텝: 쓰기
- Basic Code =
Write Block (Replace)— 등록 사례가 가장 많은 기본 선택지입니다. 칩셋에 따라Write Block (Not Fixed 1)을 쓰기도 합니다(6번 참고). - Addr =
0x70(일부 칩셋은0x33) — 사용하는 IC 데이터시트로 최종 확인이 필요합니다. - Class =
1: Write, Unit =2: Block, Judge =6: None - Data = 2번에서 등록한
BARCODE항목 - Place / Size =
00/00— 자르지 않고 문자열 전체를 그대로 씁니다. 등록된 Block 쓰기 스텝 21건이 예외 없이12060000하나로 동일하므로, 이 값을 그대로 쓰시면 됩니다.
- Basic Code =
- 2번 스텝: Delay — IC 내부 기록(EEPROM 반영)이 끝나기 전에 다음 명령이 나가면 쓰기가 실패합니다. 생략하지 마세요. 등록된 값의 분포는 7번을 참고하되, 칩셋마다 다르므로 데이터시트 기준으로 정하시기 바랍니다.
- 3번 스텝(권장): Read Block으로 되읽기 — 같은 Addr을
Read Block으로 다시 읽어 기록된 값을 검증합니다. 실제 등록 사례 다수가 이 검증 스텝을 포함하고 있습니다. - 모델 연결 — 만든 복합 명령을 해당 모델의 Write Item 시퀀스에 연결하면 검사 장비 실행 시 자동 수행됩니다.
5. 칩셋별 BARCODE 데이터 소스 등록 현황
아래 칩셋에는 이미 바코드 데이터 소스가 등록되어 있어, 복합 명령만 추가하면 바로 사용할 수 있습니다.
| CHIPSET_ID | 칩셋 | WRITE_ID | 연결된 쓰기 명령 | 등록된 복합 명령 |
|---|---|---|---|---|
| 5 | BQ20Z95 | 4 |
Write Block (Replace) |
Write HP Barcode Write HP Barcodel(25) Write HP Barcode(RRC) |
| 7 | MAX1788 | 1 |
Write Block (Not Fixed 1), Write Block (Replace) |
Write HP Barcode Write CT Label(HP) |
| 23 | R2J24020 | 6 |
Write Block (Not Fixed 1) |
Write CT Label |
| 123 | BQ30Z55 | 4 |
Write Block (Replace) |
Write H/P Barcode(HP) Write H/P Barcode(DELL) |
| 162 | BQ30Z50 | 4 |
Write Block (Replace) |
Write H/P Barcode(HP) Write H/P Barcode(DELL) |
| 182 | BQ20Z45 | 4 |
Write Block (Replace) |
Write HP Barcode Write HP Barcode |
| 222 | BQ40Z453 | 4 |
Write Word |
Pack Date_W Pack SN_W |
| 341 | BQ20Z65 | 4 |
Write Block (Replace) |
Write HP Barcode Write CT Label(RRC) |
| 362 | RAJ240045 | 3 |
Write Block (Replace), Write Word |
Write H/P Barcode - BP02041XL Pack Date_W Pack Serial Number_W |
| 422 | BQ40Z50 | 1 |
Write Block (Replace) |
Write H/P Barcode (CT Lable) |
| 522 | MAX17817 | 1 |
Write Block (Replace) |
Write CT Label(HP) |
| 561 | R2J24060 | 6 |
Write Block (Not Fixed 1), Write Block (Replace) |
Write HP Barcode(R2J24060) Write H/P Barcode-BP02041XL |
| 602 | BQ40Z551 | 4 |
Write Block (Replace) |
Write H/P Barcode (HP) |
| 603 | BQ40Z552 | 4 |
Write Block (Replace) |
Write H/P Barcode (HP) |
6. Write Block 계열 명령 8종
DB에 정의된 Block 쓰기 명령입니다. 이름만으로 동작을 확정할 수 없으므로 맨 아래 “확인이 필요한 사항”을 함께 읽어주세요.
| BASIC_ID | 이름 | Cmd | 바코드 쓰기 사용 |
|---|---|---|---|
| 14 | Write Block | 70 |
— (바코드 용도로는 미사용) |
| 15 | Write Block (Not Fixed 1) | 71 |
3건 / 칩셋 3개 |
| 16 | Write Block (Not Fixed 2) | 72 |
— (바코드 용도로는 미사용) |
| 17 | Write Block (Not Fixed 3) | 73 |
— (바코드 용도로는 미사용) |
| 18 | Write Block (Try 3 times) | 74 |
— (바코드 용도로는 미사용) |
| 19 | Write Block (Replace) | 75 |
18건 / 칩셋 12개 |
| 81 | Write Block (M37512) | 7A |
— (바코드 용도로는 미사용) |
| 154 | Write Block(I2C) | SW |
— (바코드 용도로는 미사용) |
7. 쓰기 직후 Delay 값
바코드 쓰기가 등록된 복합 명령 25건 전체에서 집계한 대기 시간입니다. 100ms ~ 4,000ms로 칩셋별 편차가 크므로, 다른 설정을 그대로 복사하지 말고 대상 IC 기준으로 정하세요.
| Delay (ms) | 등록 건수 |
|---|---|
100 | 1건 |
200 | 1건 |
500 | 15건 |
1000 | 5건 |
4000 | 3건 |
8. 예외 경로 — 칩셋 전용 바코드 명령
일부 칩셋은 Write Block 대신 전용 바코드 명령을 사용하며, 이 경우 데이터 소스를 WRITE_ID가 아니라 WRITE_DATA에 이름으로 직접 적습니다.
| 칩셋 | 복합 명령 | 순번 | Basic Code | Cmd | Addr | Data | CODE_DEFINE |
|---|---|---|---|---|---|---|---|
| 582 E-Bike Uart | Write Barcode | 1 | [183] Write Barcode(PR) | PW |
BA |
CP_BARCODE |
12010022 |
| 582 E-Bike Uart | Write Barcode | 3 | [184] Read Barcode(PR) | PR |
BA |
— | 02000022 |
이 밖에 WriteBarcode_BQ2084, WriteBarcode_BQ20Z, WriteBarcode_M37512, WriteBarcode_BQJUNIOR, WriteBarcode_R2J24020 등 칩셋 전용 바코드 명령이 TB_BASIC_CODE에 정의돼 있으나, 현재 복합 명령에 연결된 사용 사례는 없습니다.
⚠️ 확인이 필요한 사항
- Addr 값은 반드시 데이터시트로 확인하세요. 이 페이지의
0x70·0x33은 이 DB에 등록된 값을 집계한 것이며, IC 사양서로 검증된 값이 아닙니다. Unit=2 (Block)해석은 추정값입니다. 실 데이터 상관관계로 역추적한 것으로, 소스코드로 확정한 것이 아닙니다.Type자리의0은 의미가 확인되지 않았습니다. 바코드 Block 쓰기 사례는 모두Type=0(12060000)이며, Write Word 사례의Type=1 (HEX)과 다릅니다. 문자열을 변환 없이 그대로 보내는 모드로 보이나 확정된 것은 아닙니다.Write Block변형 간 차이(Replace/Not Fixed 1~3/Try 3 times)는 이름에서 유추만 가능하며, 정확한 동작 차이는 장비 펌웨어 기준 확인이 필요합니다.- 적용 전 편집 화면에서 값을 저장해본 뒤
TB_UNION_CODE_DTL.CODE_DEFINE이 의도대로 기록됐는지 재확인하시기를 권장합니다.