KR930002343B1 - 바코드 분석장치 - Google Patents

바코드 분석장치 Download PDF

Info

Publication number
KR930002343B1
KR930002343B1 KR1019900022451A KR900022451A KR930002343B1 KR 930002343 B1 KR930002343 B1 KR 930002343B1 KR 1019900022451 A KR1019900022451 A KR 1019900022451A KR 900022451 A KR900022451 A KR 900022451A KR 930002343 B1 KR930002343 B1 KR 930002343B1
Authority
KR
South Korea
Prior art keywords
barcode
collector
collectors
data
data bit
Prior art date
Application number
KR1019900022451A
Other languages
English (en)
Other versions
KR920013186A (ko
Inventor
윤기수
Original Assignee
주식회사 금성사
이헌조
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 금성사, 이헌조 filed Critical 주식회사 금성사
Priority to KR1019900022451A priority Critical patent/KR930002343B1/ko
Publication of KR920013186A publication Critical patent/KR920013186A/ko
Application granted granted Critical
Publication of KR930002343B1 publication Critical patent/KR930002343B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

내용 없음.

Description

바코드 분석장치
제1도는 본 발명 바코드 분석 시스템 구성도.
제2도는 제1도 디코더부의 출력데이타에 대한 설명도로서, (a)는 쉬프트레지스터의 출력 데이타에 대한 설명도이고, (b)는 패리티 디코더의 출력 데이타에 대한 설명 도이다.
제3도의 (a)(b)는 제1도에 대한 동작설명 신호흐름도.
* 도면의 주요부분에 대한 부호의 설명
1 : 광학부 2 : 바코드검출부
3 : 마이크로프로세서 4 : 디코더부
5 : 호스트컴퓨터
본 반명은 바코드 디코더에 있어서, 바코드 분석에 관한것으로, 특히 바코드 검출부로부터 검출된 많은 종류의 데이타 중에서 정단한 바코드 신호만을 추출하고, 분석하여 정확한 바코드 문자를 호스트 컴퓨터로 전송토록 하는 바코드 분석장치에 관한 것이다.
일반적인 바코드 디코더 시스템에 있어서, 상품의 바코드가 본체의 상면에 설치된 윈도우의 우측에서 좌측으로 지나갈때 이때 원도우의 측부에 설치된 앤터게이트 센서가 스캐너로부터 조사된 적외선 빔에 의해 바코드를 검출하여 본체내의 마이크로 프로세서에 인가하면 그 마이크로 프로세서는 앤터게이트 센서고부터 검지된 바코드를 인지한 후 이를 디코딩 하여 분석하기 시작한다. 마이크로 프로세서가 바코드를 분석하는 도중에 에러가 없는 정확한 바코드가 입력되었다고 판단되면 그 데이타가 현재 본체의 윈도우위에 있는 상품의 바코드 정보라 간주하고 이 바코드 데이타를 호스트 컴퓨터로 전송하게 된다. 이후 마이크로 프로세서는 더이상 디코딩을 수행하지 않으므로 그 상품이 계속 본체의 윈도우위에 머물러 있어도 중복되어 판독되는 경우가 없다. 한편, 마이크로 프로세서는 상품의 바코드가 윈도우를 지나갔는지를 윈도우측에 설치된 리브게이트 센서를 통해 검지하여 만약 상품의 바코드가 지나갔으면 처음의 상태로 돌아가서 엔터게이트 센서를 통해 상품의 바코드가 들어오기를 기다리게 된다.
그러나 이와 같은 종래의 바코드 판독 시스템은 상품의 바코드를 판독하기 위하여 엔터게이트 센서, 리브게이트 센서 및 바코드를 스캔하기 위한 스캐너를 사용하여 바코드를 판독함으로써 시스템 자체가 복잡하고, 특히 마이크로 프로세서가 엔터게이트 센서로부터 입력되는 노이즈(Noise) 및 많은 종류의 바코드 데이타를 정확히 추출 및 분석하지 못하여 에러의 바코드 데이타를 호스트 컴퓨터로 전송하게 되는 문제점이있었다.
본 발명은 이와 같은 종래의 문제점을 감안하여 바코드검출부와 디코더부 및 마이크로 프로세서를 구비한후 디코더부에서 인터럽트가 발생하면 마이크로 프로세서가 디코더부로부터 쉬프레지스터 및 패리티(Parity) 디코드값을 읽어와 바코드 형태를 구별하고, 그에따른 바코드 데이타분석 및 연산수행을 하여 정확한 바코드 데이타를 호스트컴퓨터로 전송하도록 바코드 분석방법을 창안한 것으로, 이하 본 발명을 첨부한 도면에 의거 상세히 설명하면 다음과 같다.
제1도는 본 발명 바코드 분석 시스템 구성도로서, 이에 도시한 바와 같이, 바코드에 적외선 빔을 주사하는 광학부(1)와, 상기 광학부(1)로부터 산란되어 나온 바토드의 광신호를 검출하여 디지탈 신호로 변환시키는 바코드 검출부(2)와, 상기 바토드 검출부(2)로부터 출력된 바코드의 디지탈 신호를 디코딩함과 아울러 인터럽트 신호를 발생하는 디코더부(4)와, 상기 디코더부(4)로부터 출력된 바코드 데이타를 추출 및 분석하여 정확학 바코드를 호스트 컴퓨터(5)로 전송함과 아울러 시스템 전체를 제어하는 마이크로 프로세서(3)로서 구성한다.
제2도는 제1도 디코더부의 출력 데이타에 대한 설명도로서, 제2도의 (a)와 같이 쉬프트 레지스터의 출력 데이타비트(DB-DB3)는 바코드의 비스디(BCD) 값이고, 데이타비트(DB4)는 좌, 우측의 바코드 문자구성을 나타낸 것으로, 만일 데이타비트(DB4)가 "1"이면 좌측 바코드문자가 4개로 구성된 것이고, ""이면 좌측 또는 우측의 바코드의 문자가 6개로 구성된 것을 의미한다. 또한 쉬프트 레지스터의 데이타 비트(DB5)는 바토드의 짝수 프레임 및 홀수프레임을 나타낸 것으로, 데이타 비트(DB5)가 ""이면 짝수 프레임 즉, 바코드의 좌측문자를 스캔한 것이고, "1"이면 홀수프레임 즉, 바토드의 우측문자를 스캔한 것이다. 쉬프트 레지스터의 데이타 비트(DB6)는 바코드를 주기적으로 스캔한 것인지 또는 지속적으로 스캔한 것인지를 뜻하는 것으로 "1"일 경우 주기적으로 스캔한 것이고, ""인 경우는 지속적으로 스캔한 것을 뜻한다.
또한 쉬프트 레지스터의 데이타비트(DB7)는 호스트 컴퓨터(5)의 상태를 나타낸 것으로, "1"일 경우는 호스트 컴퓨터의 바코드가 풀이고, ""인 경우는 호스트 컴퓨터의 바코드가 풀(full)이 아님을 뜻한다.
제2도의 (b)는 패리티 디코드에 관한 것으로, 이에 도시한 바와 같이, 패리티 디코드의 데이타비트(DB7)는 항상"1"이고, 데이타 비트(DB6)는 바코드를 정상적으로 스캔한 것인가를 나타낸 것으로, 데이타비트(DB6)가 "1"이면 바코드를 역으로 스캔 즉, 바코드를 좌측에서부터 우측으로 스캔한 것이고, ""이면 정상적으로 스캔 즉, 바코드를 우측에서 좌측으로 스캔한 것을 뜻한다 또한 패리티 디코드의 데이타 비트(DB4)(DB5)는 바코드의 형태를 구별하기 위한 것으로, 데이타비트(DB4)(DB5)가 ","이면 EAN 13종류의 바코드이고, ", 1"이면 UPCE 종류의 바코드이다. 여기서 EAN13 및 UPCE는 국가기준 코드로서 EAN13는 유럽기준이고, UPCE는 미국 기준 코드 E형을 뜻한다.
이와 같이 구성된 본 발명의 작용, 효과를 제2도 및 제3도를 참조하여 상세히 설명하면 다음과 같다. 바토드를 판독하기 위해 전원을 공급하면 초기에 마이크로 프로세서(3)는 디코더부(4), 바코드 검출부(2)에 제어신호를 인가하여 초기화시킨 후 디코더부(4)를 스캔하여 바코드 데이타의 입력을 기다리게 된다. 이때 광학부(1)로부터 바코드의 광신호가 산란되어 출력되면 바토드 검출부(2)가 광학부(1)로부터 산란되어 나온 광신호를 검출하여 이를 디지탈 신호로 변환시킨 후 디코더부(4)에 인가하게 되고, 상기 디코더부(4)는 바코드 검출부(2)로부터 검출된 바코드신호를 디코딩함과 아울러 마이크로 프로세서(3)로 인터럽트신호를 인가하게 된다.
이때 만일 디코더부(4)로부터 언터립트 신호가 출력되지 않으면 마이크로 프로세서(3)는 계속 디코더부(4)의 인터립트 신호를 스캔하게 되고, 디코더부(4)로부터 인터립트신호가 입력되면 마이크로 프로세서(3)는 그 디코더부(4)로부터 쉬프트 레지스터와 패리티(Parity) 디코더값을 읽어들여 이 데이타들을 가지고 현재 입력된 바코드 데이타가 정확한지의 여부를 판별하고, 이후 마이크로 프로세서(3)가 현재 입력되는 바코드의 형태를 구별하기 위해 디코더부(4)에 내장된 패리티 디코드의 데이타비트(DB5)와 데이타비트(DB4)를 체크하여 그 데이타비트(DB5)(DB4)가 ","이면, 즉 EAN13이라 판단되면 다시 바코드를 왼쪽부터 읽었는지(정상방향) 또는 오른쪽부터 읽었는지(역방향)의 여부를 패리티 디코드의 데이타비트(DB6)를 체크하여 "Ø"이면 즉 정상적인 방향(forwrard)일 경우 다시 바코드 종류를 세분화하기 위해 디코더부(4)에 내장된 쉬프트레지스터의 데이타비트(DB4)를 체크하여 그 데이타비트(DB4)가 "Ø"이면 즉, 좌측 또는 우측의 바토드가 6개(EAN13 우측의 바토드 6개, 좌측의 바코드 6개 및 EAN에서 좌측의 첫번째에 구성된 부수적인 바토드 1, 도합 13개)이면 13번째 케렉터를 읽고, 13개의 바코드 케렉터가 다 읽혀지면 이를 순서대로 배열하여 마이크로 프로세서(3)의 램에 저장한다.
이후 순서대로 배열된 바코드 데이타를 계산하기 위하여 디코더부(4)의 8비트를 데이타비트(DBØ-DB7)중 상위 4비트 즉, 데이타비트(DB4-DB7)를 마스크라는 서브루틴을 사용하여 "Ø"으로 만든다 즉, 디코더부(4)로부터 0-9까지의 데이타가 들어왔는지를 마이크로 프로세서(3)가 판별한 후 입력되면 상위 데이타비트(DB4-DB7)를 "Ø"으로 만든다.
이후 마이크로 프로세서(3)는 입력된 13개의 케렉터중 10이상이 되는 즉, 16진수로 "A"이상이 되는 케렉터가 있는지를 체크하여 모두 10미만이면 즉, Ø∼9이면 바코드의 맨끝에 있는 체크디지트를 체크하여 그결과가 정확한 바코드이면 호스트 컴퓨터(5)로 바코드 케렉터를 순서대로 전송을 하고, 만약 10 이상이 되는 케릭터가 있으면 에러로 처리하여 디코더부(4)를 리세트시킴과 아울러 새로운 바토드 데이타 입력을 기다린다.
상기에서 쉬프트 레지스터의 데이타비트(DB4)를 체크한 결과 그 데이타비트(DB4)가 "1"이면 즉, 좌측 또는 우측의 비코드가 4개(EAN8 : 우측 4개, 좌측 4개)이면 첫번째 케렉터에서 부터 8번째 케렉터까지 읽고, 8개의 바코드 케렉터가 다 읽혀지면 이를 순서대로 배열하여 마이크로 프로세서(3)의 램에 저장함과 아울러 그 배열된 바코드 데이타를 계산하기 위하여 디코더부(4)의 8비트의 데이타비트(DBØ-DB7)중 상위4비트(DB4-DB7)를 상기와 같이 마스크(MASK)라는 서브루틴을 사용하여 "Ø"으로 리세트시킨 후 디코더부(4)로 부터 입력된 8개의 케렉터중 10이상이 되는 케렉터가 있는지를 체크하여 모두 10 미만이면 바코드의 맨끝에 있는 체크디지트(Digit)를 체크하여 그 결과가 정확한 바코드이면 호스트 컴퓨터(5)로 바토드 케렉터를 순서대로 전송을 하고, 만약 10 이상이 되는 케렉터가 있으면 에러로 처리하여 디코더부(4)를 리세트함과 아울러 새로운 바코드 데이타의 입력을 기다린다.
또한 상기에서 디코더부(4)에 내장된 패리티 디코드의 데이타비트(DB6)를 체크한 결과 그 데이타 비트(DB6)가 "1"이면 즉, 역방향(Backward)(우측에서부터 좌측으로 스캔)일 경우 다시 바코드 종류를 세분화하기 위해 디코더부(4)에 내장된 쉬프트 레지스터의 데이타비트(DB4)를 체크하여 그 데이타비트(DB4)가"Ø"이면 즉, EAN13(좌측 또는 우측의 바코드가 6개)이면 13번께 케렉터를 읽고 13개의 바토드 케렉터가 역순으로 다 읽혀지면 케렉터의 순서를 역으로 하는 리버스(reverse)라는 서브루틴을 통하여 케렉터를 다른방향으로 배열한 후 마이크로 프로세서(3)의 램에 저장함과 아울러 그 배열된 바코드 케렉터를 계산하기 위하여 디코더부(4)의 8비트의 데이타비트(DBØ-DB7)중 상위 4비트(DB4-DB7)를 마스크하는 서브루틴을 사용하여 "Ø"으로 리세트하고, 이후 마이크로 프로세서(3)는 입력된 13개의 케렉터중 10 이상이 되는 케렉터가 있는지를 체크하여 모두 10 미만이면 맨끝에 있는 체크디지트를 체크하여 그 결과가 정확한 바코드이면 호스트컴퓨터(5)로 바코드 케렉터를 순서대로 전송하고, 만약 10 이상이 되는 케렉터가 있으며 에러로 처리하여 디코더부(4)를 리세트하고 새로운 바코드 데이타의 입력을 기다린다. 만일 상시에서 쉬프트 레지스터의 데이타 비트(DB4)를 체크한 결과 그 데이타비트(DB4)가 "1"이면 즉, EAN8(좌측 또는 우측의 바코드가 4개)이면 8개의 케렉터까지 역순으로 읽고, 8개의 바코드 케렉터가 다 읽혀지면 케렉터의 순서를 역으로 하는 리버스라는 서브루틴을 통하여 케렉터를 바른방향으로 배열하여 마이크로 프로세서(3)의 램에 저장함과 아울러 데이타비트(DB4-DB7)를 마스크를 통해 "Ø"으로 리세트하고, 이후 입력된 8개의 케렉터중10이상이 되는 케렉터가 있는지를 체크하여 모두 10 미만이면 바코드의 맨끝에 있는 체크디지트를 체크하여 그 결과가 정확한 바코드이면 호스트 컴퓨터(5)로 바코드 케렉터를 순서대로 전송하고 10 이상이 되는 케렉터가 있으면 에러로 처리하여 디코더부(4)를 리세트하고 새로운 바코드 데이타의 입력을 기다린다.
한편 상기에서 디코더부(4)에 내장된 패리티 디코드의 데이타 비트(DB5)(DB4)를 체크한 결과 그 데이타비트(DB5)(DB4)가 "Ø, 1"이면 즉, UPCE형이라 판단되면 그 UPCE형의 바토드의 7번께 케렉터를 읽고 7개의 바코드 케렉터가 디 읽혀지면 이를 순서대로 배열하여 램에 저장함과 아울러 그 배열된 바코드 케렉터를 계산하기 위해 디코더부(4)의 데이타비트(DB4-DB7)를 마스크라는 서브루틴을 사용하여 "Ø"으로 리세트한다. 이후 마이크로 프로세서(3)는 입력된 7의 케렉터중 10 이상이 되는 케렉터가 있는지를 체크하여 모두 10 미만이면 바코드의 맨끝에 있는 체크디지트를 체크하여 그 결과가 정확한 바코드이면 호스트 컴퓨터(5)로 바코드 케렉터를 순서대로 전송하고, 만약 10 이상이 되는 케렉터가 있으면 에로로 처리하여 디코더부(4)를 리세트시키고 새로운 바코드 데이타의 입력을 기다린다.
이상에서 상세히 설명한 바와 같이 본 발명은 바코드 검출부로부터 검출된 바코드 데이타를 디코더부가 디코딩하고 마이크로 프로세서가 디코더부의 출력 데이타를 체크하여 바코드의 종류를 판별하고, 그에따른 바코드 케렉터를 분석 처리하여 호스트 컴퓨터로 정확한 바코드 케렉터만을 전송을 하게되고 또한 고속으로 바토드를 스캔할 수 있는 효과가 있다.

Claims (2)

  1. 바코드 디코더 시스템에 있어서, 광학부(1)로부터 산란되어 나온 바코드의 광신호를 검출하여 디지탈신호로 변환시키는 바코드 검출부(2)와, 상기 바코드검출부(2)로부터 출력된 바코드의 디지탈 신호를 디코딩함과 아울러 인터럽트신호를 발생하는 디코더부(4)와, 상기 디코더부(4)로부터 출력된 바코드 데이타를 추출 및 분석하여 정확한 바코드 케렉터를 호스트 컴퓨터(5)로 전송하고 시스템전체를 제어하는 마이크로프로세서(3)로서 구성함을 특징으로 한 바코드 분석장치.
  2. 제1항에 있어서, 마이크로 프로세서(3)는 초기에 디코더부(4)로부터 인터럽트신호를 체크하여 신호가 있으면 디코더부의 쉬프트 레지스터 및 패리티 디코드값을 읽고 페리티 디코드의 데이타 비트(DB5)(DB4)를 체크하여 그 데이타비트(DB5)(DB4)가 "ØØ"이면 즉, EAN13이면 다시 패리티 디코드의 데이타비트(DB6)를 체크하여 데이타 비트(DB6)가 "Ø" 즉, 정상적인 방향이고 쉬프트 래지스터의 데이타비트(DB4)가 "Ø"이면 바코드의 13번째 케렉터를 읽어 배열함과 아울러 데이타비트(DB4-DB7)를 "Ø"으로 리세트한후 그 케렉터중 10 이상이 되는 케렉터가 있는가를 체크하여 없으면 체크디지트를 체크하여 그 결과가 정확한 바코드이면 호스트 컴퓨터(5)로 전송하고, 10 이상이 되는 케렉터가 있으면 에러로 처리하며, 상기에서 쉬프트 레지스터의 데이타비트(DB4)가 "1"인 경우 즉, EAN 8인 경우 8번께 케렉터를 읽은 후 ENA13의 케렉터를 배열하는 이후의 수행과정과 동일방법으로 8개의 케렉터를 처리하여 호스트 컴퓨터(5)로 전송하고, 상기에서 패리티 디코드의 데이타비트(DB4)가 "1"이고, 쉬프트 레지스터의 데이타 비트(DB4)가 "Ø"인 경우 13번께 케렉터를 읽고 그 케렉터의 순서를 리버스한 후 EAN13과 같이 데이타비트(DB4-DB7)를 리세트하는 이후의 수행과정과 동일방법으로, EAN13의 케렉터를 처리하여 전송하고, 상기에서 쉬프트 레지스터의 데이타비트(DB4)가 "1" 즉, EAN8인 경우에 8번께의 케렉터를 읽은 후 EAN13의 케렉터 리버스 이후의 수행과정과 동일방법으로 EAN8의 케렉터를 처리하여 전송하고, 상기에서 패리티디코드의 데이타비트(DB5)(DB4)가 "Ø, 1" 즉, UPCE인 경우 7번께 케렉터를 읽은 후 EAN의 케렉터를 배열 이후의 수행과정과 동일방법으로 UPCE의 케렉터를 처리하여 전송하는 것을 특징으로 한 바코드 분석장치.
KR1019900022451A 1990-12-29 1990-12-29 바코드 분석장치 KR930002343B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019900022451A KR930002343B1 (ko) 1990-12-29 1990-12-29 바코드 분석장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019900022451A KR930002343B1 (ko) 1990-12-29 1990-12-29 바코드 분석장치

Publications (2)

Publication Number Publication Date
KR920013186A KR920013186A (ko) 1992-07-28
KR930002343B1 true KR930002343B1 (ko) 1993-03-29

Family

ID=19308954

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900022451A KR930002343B1 (ko) 1990-12-29 1990-12-29 바코드 분석장치

Country Status (1)

Country Link
KR (1) KR930002343B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990083751A (ko) * 1999-07-20 1999-12-06 이언상 바코드 스케너를 이용한 생산정보 자동화 관리장치 시스템.

Also Published As

Publication number Publication date
KR920013186A (ko) 1992-07-28

Similar Documents

Publication Publication Date Title
US4902883A (en) Digitized video signal and time interval measurement transmission from a bar code reader
US3964022A (en) Hand-held scan data handling system
JP3004017B2 (ja) バーコード復号方法
US4822986A (en) Method of detecting and reading postal bar codes
US6386454B2 (en) Detecting bar code candidates
EP0063454A2 (en) Method for recognizing machine encoded characters
JP4917422B2 (ja) バーコード・スキャナによる移動アイテムの追跡方法及び装置
CA2267892C (en) Method and apparatus for decoding bar code symbols using ratio analysis of module size
US5627358A (en) System and method for reading two-dimensional barcodes
US5537431A (en) Method and apparatus for bar code reading and decoding
US5825010A (en) Bar code scanner positioning
KR930002343B1 (ko) 바코드 분석장치
US5189289A (en) Distinguishing bar code types by comparing bar block sizes
US4528443A (en) Bar code reading system and method
US7203361B1 (en) Adaptive digitizer for optical reader
EP0144202A2 (en) Optical reader
US3772648A (en) Electro-optical character reader
JPS6233630B2 (ko)
JPS5935478B2 (ja) バ−コ−ドシンボル読取方式
US5952643A (en) Bar code decoder for a lightpen
JP2932319B2 (ja) バーコード読取装置
US5917170A (en) Method for the evaluation of information stored in bar codes
JPH0614370B2 (ja) 読み取り制御方式
JP2778870B2 (ja) バーコードデコーダ
JPS60201483A (ja) Ocr文字およびバ−コ−ド両用読取装置

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 19951226

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee