JPS58225487A - Bar code reader - Google Patents

Bar code reader

Info

Publication number
JPS58225487A
JPS58225487A JP10763082A JP10763082A JPS58225487A JP S58225487 A JPS58225487 A JP S58225487A JP 10763082 A JP10763082 A JP 10763082A JP 10763082 A JP10763082 A JP 10763082A JP S58225487 A JPS58225487 A JP S58225487A
Authority
JP
Japan
Prior art keywords
data
barcode
character
bar
contents
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP10763082A
Other languages
Japanese (ja)
Other versions
JPH0327952B2 (en
Inventor
Shigeru Yamada
繁 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP10763082A priority Critical patent/JPS58225487A/en
Publication of JPS58225487A publication Critical patent/JPS58225487A/en
Publication of JPH0327952B2 publication Critical patent/JPH0327952B2/ja
Granted legal-status Critical Current

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
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/10881Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices constructional details of hand-held scanners

Landscapes

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

Abstract

PURPOSE:To read only normal bar code by disregarding the lead-off data of data in one character if an error occurs in decoding and the data has an extremely large width value. CONSTITUTION:One character data obtained by scanning a bar code with a hand scanner 1 is inputted to a CPU5 through an A/D converting circuit 2, pulse detecting circuit 3, and AND gate 4. The CPU5 decodes the one character data and if an error occurs in decoding, whether the data has an extremely large width value or not is detected. If the extremely large width value is found in the data, the lead-off data of the one-character data is disregarded to decode again one-character data to be led-off with the next data.

Description

【発明の詳細な説明】 この発明は、キャラクタ情報がバーコードにて記録され
ている媒体からバーコード情報を読取るバーコード読取
装置に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a barcode reading device that reads barcode information from a medium in which character information is recorded as a barcode.

従来1この種のものには、例えば、所定のキャラクタ情
報が白黒のバーコードにて記録(印刷)されている媒体
を光照射して光の反射率の違いを電気信号(電流の大小
)に羨換してバーコード情報を読取る光学的な読取装置
が実用化されている。
Conventional 1 This type of device, for example, irradiates light onto a medium on which predetermined character information is recorded (printed) as a black and white barcode, and converts the difference in light reflectance into an electrical signal (size of current). Optical reading devices that read barcode information have been put into practical use.

而して、この種の光学的読取装置は、通常の用紙ニハー
コードを印刷するだけでよいので、磁気テープ、磁気カ
ード等の媒体に比べ安価である等の利点を有し、電子式
キャッシュレジスタ等のよりなPO8システムのデータ
入力手段として広く活用されている。
This type of optical reading device has the advantage of being cheaper than media such as magnetic tape and magnetic cards because it only needs to print the Nihar code on ordinary paper, and it is also useful for electronic cash registers, etc. It is widely used as a data input means for PO8 systems.

ところで、この種の読取装置に用いられるバーコードに
は、種々のコード態形があり、例えば、NW−7は、白
黒のバーコード(明/暗)の幅が狭(Narrow)、
広(Wtae)で構成され、かつ1キヤラクタは4本の
黒バーと3本の白バーとで構成されている。このNW−
7においては、所定のキャラクタ間にバーコードの幅に
比べて非常に広い空白が挿入されることがある。例えば
、このコード態形を値札に使用した場合、上記空白は、
商品コード等と値段との間に挿入されることがある。こ
の種のものにおいて、値札の値段を変更する際には、値
段がバーコードにて印刷されて成る小さな紙片を上記空
白を境にして値段の形成部分上に貼り合せるようにして
いる。したがって、このような場合、貼り合せる紙片が
厚かったりすると、上記空白内の紙片の縁部が黒バーと
して読み取られるおそれがある。
By the way, there are various types of barcodes used in this type of reading device. For example, NW-7 is a black and white barcode (bright/dark) with a narrow width.
Each character consists of four black bars and three white bars. This NW-
7, a blank space that is much wider than the width of the barcode may be inserted between predetermined characters. For example, if this code format is used for a price tag, the blank above will be
It may be inserted between the product code, etc. and the price. In this type of device, when changing the price on a price tag, a small piece of paper on which the price is printed in the form of a bar code is pasted onto the price area with the blank space as the border. Therefore, in such a case, if the pieces of paper to be pasted together are thick, there is a risk that the edges of the pieces of paper within the blank space may be read as black bars.

この発明は、上述した事情を背景になされたもので、そ
の目的とするところは、例えば、値札の上に紙片を貼り
合せて値段を変更するようにした場合であっても正確な
バーコードのみを読み取るようにしたバーコード読取装
置を提供することにある。
This invention was made against the background of the above-mentioned circumstances, and its purpose is, for example, to ensure that accurate barcodes are used even when the price is changed by pasting a piece of paper on top of the price tag. An object of the present invention is to provide a barcode reading device that reads barcodes.

以下、この発明を図面に示す一実施例に基づいて具体的
に説明する。図中1は、手動操作可能なハンドスキャナ
を示す。このハンドスキャナ1はバーコードを照射した
ときの光の反射率(光の強弱)を電気信号(電流の大小
)に変換し、A/D(アナリグ/デジタル)変換回路2
に対して出力される。このA/D変換回路2で変換され
たデジタル信号(矩形波信号)は、パルス検出回路3に
入力される。パルス検出回路3は入力される矩形波のパ
ルスの立ち上がりおよび立ち下がりに夫々同期してトリ
ガを出力するもので、アンドゲート4を介してCPU5
に対してインタラブド信号1NTIとして入力される。
Hereinafter, the present invention will be specifically described based on an embodiment shown in the drawings. 1 in the figure indicates a manually operable hand scanner. This hand scanner 1 converts the reflectance of light (strength of light) when a barcode is irradiated into an electrical signal (magnitude of current), and converts it into an A/D (analog/digital) conversion circuit 2.
Output for. The digital signal (rectangular wave signal) converted by the A/D conversion circuit 2 is input to the pulse detection circuit 3. The pulse detection circuit 3 outputs a trigger in synchronization with the rise and fall of the input rectangular wave pulse.
is input as an interwoven signal 1NTI.

CPU5は、演算用のx、y、zt、ジスタ、フラグを
記憶するFL、FWレジスタ、データを記憶するB、8
レジスタ等、各種のレジスタを有すると共に、メモリM
に対してデータの書込みおよび読み出しを実行する際に
、メモリMのライトアドレスデータを記憶するアドレス
部AV、メモリMのり−、ドアドレスデータを記憶する
アドレス部AR及び論理演算回路ALU等を有する構成
となっている。而して、CPU5はSR型フリップフロ
ップ(SR−FF)6のSおよびRλ入力端子、夫々制
御信号を出力し、5R−FF6をセット、すセットさせ
る。この5R−FF6は、そのQ出力をアンドゲート4
の他方の入力端子に印加し、アシドゲート4を開閉制御
させるものである。また、CPU5は、時間カウンタT
oで得られた計数値データを読み込み、かつ、時間カウ
ンタTOに対してクリア信号C−を出力する。時間カウ
ンタToは所定周波数のフレック信号を計数するも9で
、CPU5に読み込まれる計数値データは、CPU5に
インタラブド信号lNTlが入力されてから次のインタ
ラブド信号lNTlが入力されるまでの時間間隔に相当
する。また、時間カウンタTOはキャリー信号をCPU
5に対してインタラブド信号INT、[とじて出力する
。更に、CPU5はメモリMとの間でデータの授受を行
うと共にヘデータメモリDとの間でもデータの授受を行
うように夫々相方向に接続されている。
The CPU 5 includes FL and FW registers that store x, y, zt, registers and flags for calculation, and B and 8 that store data.
In addition to having various registers such as registers, memory M
When writing and reading data to and from the memory M, the configuration includes an address section AV for storing write address data of the memory M, an address section AR for storing the write address data of the memory M, an address section AR for storing the write address data, and a logic operation circuit ALU. It becomes. Then, the CPU 5 outputs control signals to the S and Rλ input terminals of the SR type flip-flop (SR-FF) 6, respectively, and sets the 5R-FF 6. This 5R-FF6 converts its Q output into an AND gate 4
It is applied to the other input terminal of , and controls the opening and closing of the acid gate 4. Further, the CPU 5 uses a time counter T
The count value data obtained at step o is read, and a clear signal C- is output to the time counter TO. The time counter To counts fleck signals of a predetermined frequency and is 9, and the count value data read into the CPU 5 corresponds to the time interval from when the interwoven signal lNTl is input to the CPU 5 until the next interwoven signal lNTl is input. do. Also, the time counter TO sends the carry signal to the CPU.
5, the interlaced signal INT and [ are output. Furthermore, the CPU 5 is connected in each direction so that it can exchange data with the memory M, and can also exchange data with the data memory D.

メモリMは、例えは、RAM(ランダム、アクセス・メ
モリンによって構成され、データの書き込み、読み出し
を実行する。すなわち、アドレス部AVの内容に応じて
アドレス指定されたメモリMのエリアには、時間カウン
タTcがらの計数値データが0PU5を介して書き込ま
れ、また、アドレス部A の内容に応じてアドレス指定
された五 メモリMのエリア内のデータは、0PU5に対して読み
出される。
The memory M is configured, for example, by a RAM (random access memory) and executes writing and reading of data. That is, an area of the memory M that is addressed according to the contents of the address section AV has a time counter. Count value data from Tc is written through 0PU5, and data in the area of 5 memory M, which is addressed according to the contents of address section A, is read to 0PU5.

データメモリDの内容は、0PU5が例えば、図示しな
いll0R(1!子式キャッシュレジスタ)に対してス
トローブ信号STを出力し、E、:a i側からデータ
転送要求信号aOが0PU5に入力されたときに、0P
U5からKOR側へデータDTとして転送される。なお
、0PU5は、スピーカ7に報音指令を出力し、エラー
を報知する。
The contents of data memory D include, for example, 0PU5 outputs a strobe signal ST to ll0R (1! slave type cash register) not shown, and data transfer request signal aO is input to 0PU5 from E, :a i side. Sometimes 0P
The data is transferred from U5 to the KOR side as data DT. Note that the 0PU5 outputs a sound command to the speaker 7 to notify the error.

次に、上記実施例の動作を説明する。今、MW−7のコ
ード態形で表現されているバーコードを読み取るものと
する。このN W −7は、例えば、第2図に示す如く
、数字と記号のキャラクタ情報を2進数の7ビツトコー
ドで表現されていると共に、4本の黒バーと3本の白バ
ー(合計7本のバー)のバーコードで1キヤラクタを構
成し、白黒バーを問わず、2進数の「0」を幅の狭いバ
ー、「1」を幅の広いバーで表現されるものである。
Next, the operation of the above embodiment will be explained. Now, assume that a barcode expressed in the code format of MW-7 is to be read. For example, as shown in Figure 2, this NW-7 has character information of numbers and symbols expressed in a 7-bit binary code, and also has four black bars and three white bars (a total of seven bars). A barcode (bar) constitutes one character, and regardless of whether it is a black or white bar, a binary ``0'' is represented by a narrow bar and a ``1'' is represented by a wide bar.

かつ黒バーと白バーとは交互に配列されていると共に、
黒バーを先頭に配列するようになっている。
And the black bars and white bars are arranged alternately,
The black bar is arranged at the beginning.

このようなNW−7のバーフードを値札に使用すると、
例えば、第3図に示す如くとなる。この場合、ハンドス
キャナ読取用のNW−7では、データ長は最大20キヤ
ラクタで、商品コード等のバーコード領域Aと、値段の
バーコード領域Bとの間は分離され、その間には空白部
0が設けられ、また、値札の左端部にはレフトマージン
が設けられていると共に、スタートコードのバーコード
領域が設けられ、更に、値札の右端部にはライトマージ
ンが設けられていると共に、ストップコードのバーコー
ド領域が設けられている。このような値札において、値
札の上に紙片を貼り合せて値段を変更すると、空白部0
内に紙片の縁部が入り込み、その縁部で黒バーが形成さ
れる場合がある。
If you use NW-7 bar food like this on the price tag,
For example, as shown in FIG. In this case, in the NW-7 for hand scanner reading, the data length is a maximum of 20 characters, and the barcode area A for the product code etc. and the barcode area B for the price are separated, and there are 0 blank spaces between them. In addition, a left margin is provided at the left end of the price tag, as well as a barcode area for the start code, and a right margin is provided at the right end of the price tag, as well as a stop code. A barcode area is provided. For such price tags, if you change the price by pasting a piece of paper on top of the price tag, the blank space will be 0.
The edge of the piece of paper may get stuck inside, and a black bar may be formed at the edge.

第4図はこの状態を示したもので、第4図(υ〜(3)
は値札上に1枚の紙片を貼り付けた場合、第4図(2)
〜(9)は2枚、第4図(10)〜(19)は3枚の紙
片を重ね合せた場合を示し、その貼り付は方に応じて紙
片の縁部で形成される黒バーの位置としては、図示のよ
うな態様が考えられる。なお、図中四角で囲った部分は
、正規のバーコード領域を示している。
Figure 4 shows this state.
If a piece of paper is pasted on the price tag, Figure 4 (2)
~(9) shows two pieces of paper, and Figure 4 (10)~(19) shows the case of three pieces of paper stacked on top of each other. The position may be as shown in the figure. Note that the boxed area in the figure indicates the regular barcode area.

ところで、値札上に1枚の紙片を貼り付けたときにその
紙片の縁部で第4図(1ンに示すような黒バーか形成さ
れた場合に、ハンドスキャナ1で値札をスキャンすると
、A/D変換回路2の出力は、第5図(1)に示す如く
となる。第5図(1)は、第3図に示すコード領域Aの
末尾のキャラクタ「3」がら空白部0を通ってコード領
域Bの先頭のキャラクタ「¥」を走査したときのA /
 D変換回路2の出力を示し、空白部0内の紙片の縁部
を黒バーbとして読み取ったことを示している0而して
、第5図(1ンに示すような矩形波信号がA、 / D
変換回路2から出力され、パルス検出回路3に入力され
ると、その出力は第5図(2)に示す如くとなる〇この
ようにして得られたパルス検出回路3の出力は、アンド
ゲート4を介して0PU5に入力される。これによって
、0PU5はインタラブド信号工NTIの割り込み処理
を実行する◇すなわち、0PU5はインタラブド信号工
NTIが来ると、アドレス部AVの内容を+1するイン
クリメント処理を実行し、次いで、時間カウンタToの
計数値データを読み込んで、アドレス部Awの内容に応
じてアドレス指定されるメモリMのエリアに書き込み、
続いて、時間カウンタToの内容をクリアする処理をイ
ンタラブド信号工NTiが入力される毎に繰り返し実行
するようになる。この結果、0PU5に読み込まれる時
間カウンタTOの計数値データは、パルス検出回路3の
出力におけるパルスの時間間隔、換言すれば、白黒のバ
−コード領域の幅値に相当し、この幅値データがメモリ
Mのエリアに順次書き込まれる。この場合、時間カウン
タTOからキャリ信号が出力されると、0PU5はイン
タラブド信号工NTIIの割り込み処理を実行する。こ
れによって、!9R−FF6はリセットされ、インタラ
ブド信号工NTiの割り込み処理を禁止させる。すなわ
ち、この処理は例えば、ある一定時間以上経過しても次
のバーが来なかった場合に実行され、バーコードの読み
込み動作を禁止するものである。
By the way, when a piece of paper is pasted on a price tag and a black bar as shown in Figure 4 (1) is formed at the edge of the piece of paper, when the price tag is scanned with hand scanner 1, A The output of the /D conversion circuit 2 is as shown in FIG. 5 (1). FIG. 5 (1) shows that the character "3" at the end of code area A shown in FIG. A / when scanning the first character "\" of code area B with
0 shows the output of the D conversion circuit 2, and indicates that the edge of the piece of paper in the blank area 0 has been read as a black bar b. , /D
When the output from the conversion circuit 2 is input to the pulse detection circuit 3, the output becomes as shown in FIG. It is input to 0PU5 via. As a result, the 0PU5 executes the interrupt processing of the interconnected signal NTI. In other words, when the interwoven signal NTI arrives, the 0PU5 increments the contents of the address field AV by 1, and then the count value of the time counter To. Read the data and write it to the area of the memory M that is addressed according to the contents of the address part Aw,
Subsequently, the process of clearing the contents of the time counter To is repeatedly executed every time the interconnected signal NTi is input. As a result, the count value data of the time counter TO read into the 0PU5 corresponds to the time interval of the pulses in the output of the pulse detection circuit 3, in other words, the width value of the black and white barcode area. They are sequentially written into areas of memory M. In this case, when the carry signal is output from the time counter TO, the 0PU5 executes the interrupt processing of the interconnected signal engineer NTII. by this,! 9R-FF6 is reset to disable the interrupt processing of the interconnected signal engineer NTi. That is, this process is executed, for example, when the next bar does not arrive even after a certain period of time has elapsed, and prohibits the barcode reading operation.

而して、0PU5のメイン動作は、第6図の7四−にし
たがって実行される。すなわち、先ず、電源投入時或は
割り込み処理後、ステップS、が実行され、メモリM1
データメモリDおよびopU5内の各種レジスタの内容
に初期値を設定するイニシャライズ処理を実行する。続
いて、ステップS!では5R−11’lP6をセットし
てアントゲ−)4を開成させ、インタラブド信号工NT
■の割り込み処理を実行可能な状態にセットする。これ
によって、メモリMに記憶された時間カウンタT。
Thus, the main operation of 0PU5 is executed according to 74- in FIG. That is, first, when the power is turned on or after interrupt processing, step S is executed, and the memory M1 is
Initialization processing is executed to set initial values to the contents of various registers in data memory D and opU5. Next, step S! Then, set 5R-11'lP6 to open Antogame) 4, and connect Interconnected Signal Works NT.
Set the interrupt processing in (2) to an executable state. This causes the time counter T to be stored in the memory M.

の計数値データ、換言すれば、バーコードの幅値データ
をステップ81の実行により読み出す。すなわち、アド
レス部ARの内容にしたがってアドレス指定されるメモ
リMのエリアから幅値データを読み出してXレジスタに
転送する。次で、ステップsi進み、アドレス部ARの
内容を+1する処理を実行し、アドレスを更新させる。
In other words, the barcode width value data is read out by executing step 81. That is, the width value data is read from the area of the memory M addressed according to the contents of the address section AR and transferred to the X register. Next, the process proceeds to step si, and the process of incrementing the contents of the address field AR by 1 is executed to update the address.

続いて、ステップS、に進み、アドレス部ARの内容が
アドレス部AVの内容よりも先行したかどうかを調べる
Next, the process proceeds to step S, where it is checked whether the contents of the address field AR precede the contents of the address field AV.

すなわち、メモリMのデータの読み出し動作は、その書
き込み動作に先行することなく実行されなければならな
い為、ステップS、はその読み出し動作が正常であるか
どうかを調べる処理で、読み出し動作が正常であれば、
アドレス部ARの内容がアドレス部Ayの内容以上とな
り、次のステップS、、S、に進む。ステップS、、S
、は、メモリMから1キヤツク′り分のデータを読み出
すために実行される処理で、NW−7では1キヤラクタ
を7本のバーコードで構成する為、7本のバーコードに
応じたその幅値データを読み出すために、ステップS6
でYレジスタの内容を+1にインクリメントする処理を
実行し、次で、ステップS、でYレジスタの内容が「7
」であるかどうかを調べ、「7」でなければ、ステップ
S8に戻り、Yレジスタの内容が「7」になるまで、ス
テップS、乃至S、を繰り返じ実行する。
In other words, since the read operation of data in the memory M must be executed without preceding the write operation, step S is a process to check whether the read operation is normal. Ba,
The contents of the address field AR exceed the contents of the address field Ay, and the process proceeds to the next step S, , S. Step S,,S
, is a process executed to read one character's worth of data from memory M. In NW-7, one character consists of seven barcodes, so the width is determined according to the seven barcodes. To read the value data, step S6
At step S, the contents of the Y register are incremented by +1, and then at step S, the contents of the Y register are
”, and if it is not “7”, the process returns to step S8, and steps S and S are repeatedly executed until the contents of the Y register become “7”.

このようにして1キヤラクタ分のデータをメモリMから
読み出し、Xレジスタに転送する処理が終ると、次のス
テップSsに進み、Xレジスタの内容を論理演算回路A
LUにてデコードし、その結果を2レジスタに転送する
。次いで、ステップS0に進み、上述のスフフジ8番で
デコードした結果、デコードにエラーを生じたか否かを
調べ、エラーを生じなかった場合には、ステップS、。
When the process of reading data for one character from the memory M and transferring it to the X register is completed in this way, the process proceeds to the next step Ss, and the contents of the
Decode in LU and transfer the result to 2 registers. Next, the process proceeds to step S0, where it is checked whether or not an error has occurred in the decoding as a result of the decoding with the above-mentioned Suffix No. 8. If no error has occurred, the process proceeds to step S.

に進行するO このステップ810ではスタートコードが来たかどうか
を調べ、スタートコードであれば、ステップSllに進
み、FSレジスタに”1″をセットする。このステップ
Sttはスタートコードが来たならば、以降、ステップ
st!を通ってステップ81゜に70−を進行させるた
めに実行される。また、     (ステップstyは
νLSレジスタ内容が“1″であるかどうかを調べるも
ので、上述のステップsl。
Proceed to O In this step 810, it is checked whether a start code has arrived, and if it is a start code, the process proceeds to step Sll and sets "1" in the FS register. In this step Stt, when the start code comes, step st! is executed to advance 70- through step 81°. Further, (step sty is to check whether the contents of the νLS register is "1", and is the same as step sl described above).

でスタートコードではないと判断された場合には、ステ
ップ812を通って上記ステップSaに戻し、スタート
コードが来るまで上述の動作を実行する。
If it is determined that the start code is not the start code, the process returns to step Sa through step 812, and the above-described operations are executed until the start code is received.

而して、バーコードを正常にスキャンした場合には、最
初にスタートコードが来るので、ステップSttからス
テラ/龜8に進む。ステップSSSはストップコードが
来たかどうかを調べるもので、ストップコードが来なけ
れば、ステップS14に進む。
If the barcode is scanned normally, the start code comes first, and the process proceeds from step Stt to Stella/Customer 8. Step SSS is for checking whether a stop code has been received. If the stop code has not been received, the process advances to step S14.

ここでは、2レジスタの内容をデータメモリDに転送す
る。したがって、データメモリDには上記ステップSC
デコードされた数字或は記号のキャラクタ情報が書き込
まれる。このような処理が終ると、後述するエラー処理
を実行するための前処理であるステップ8111乃至S
、の実行に移る。すなわち、ステップsteはアドレス
部ARの内容を−1すると共に、その内容に応じてアド
レス指定されるメモリMのエリア内のデータをSレジス
タに退避させておく。この場合、Sレジスタに転送され
るデータは、今、デコードに供せられた1キヤラクタの
後端(末尾)に対応するバーコーF(7)データである
。次で、ステップ816はSレジスタに転送されたデー
タがナローバーかワイドバーか、すなわち、「0」か「
1」かを調べ、「1」であれば、ステップS、7に進行
し、FWレジスタに91″、また、「0」であれば、ス
テップSI8に進行し、7wレジスタに“OI′1をセ
ットする。したがって、FWレジスタの内容に応じて1
キヤラクタの後端バーがナローバーであったかワイドバ
ーであったかを知り得る。面して、ステップ81?或は
Flltaに続いて、ステップS1.が実行され、Sレ
ジスタの内容を予めクリアしたのち、ステップS1に戻
り、以下同様の動作が繰り返される。すなわち、メモリ
Mから1キヤラクタ分のデータを読み込んでデコードし
た結果、デコードが正常に行なわれたならば、ストップ
コードが来るまで、ステップ814が実行されるので、
データメモリ12には順次読み込んだキャラクタ情報が
書き込まれると共に、ステップ816乃至S4の実行に
より、前回、読み込んだキャラクタ情報の後端バーが、
ナローバーかワイドバーかが検索される。而して、スト
ップコードが来ると、ステップ818がらステップst
oに進み、5R−FF6をリセットし、インタラブド信
号工NTIの割り込み処理を禁止させる。次で、ステッ
プs21に進み、先ず、ICOR側にストローブ信号S
Tを送り、l1liOR側がらデータ転送要求信号00
が来るのを待ち、信号COが来ると、データメモリDの
内容をEoR側に対して、例えば、1キヤラクタづつシ
リアルに転送する。その後、ステップs1に戻り、同様
の動作を繰り返す。
Here, the contents of two registers are transferred to data memory D. Therefore, the data memory D has the above-mentioned step SC.
Character information of decoded numbers or symbols is written. When such processing is completed, steps 8111 to S8111, which are preprocessing for executing error processing to be described later, are performed.
, move on to execution. That is, in step ste, the contents of the address section AR are incremented by 1, and data in the area of the memory M that is addressed according to the contents is saved in the S register. In this case, the data transferred to the S register is barcode F(7) data corresponding to the rear end (tail) of one character that is currently being decoded. Next, step 816 determines whether the data transferred to the S register is a narrow bar or a wide bar, that is, "0" or "
If it is "1", proceed to step S, 7, and set 91" in the FW register. If it is "0", proceed to step SI8, and set "OI'1" in the 7w register. Therefore, 1 depending on the contents of the FW register.
You can know whether the rear end bar of the character is a narrow bar or a wide bar. Facing step 81? Alternatively, following Flta, step S1. is executed, and after clearing the contents of the S register in advance, the process returns to step S1, and the same operation is repeated thereafter. That is, if the data for one character is read from memory M and decoded, and the decoding is successful, step 814 is executed until the stop code is received.
The character information read sequentially is written into the data memory 12, and by executing steps 816 to S4, the trailing bar of the character information read last time is
Narrow bar or wide bar is searched. Then, when the stop code is received, the process starts from step 818 to step st.
Proceed to step o, reset 5R-FF6, and disable interrupt processing of the interconnected signal engineer NTI. Next, proceeding to step s21, first, the strobe signal S is sent to the ICOR side.
Sends a data transfer request signal 00 from the l1liOR side.
When the signal CO arrives, the contents of the data memory D are serially transferred, for example, one character at a time, to the EoR side. After that, the process returns to step s1 and the same operation is repeated.

而して、ステップ島でデコードされず、エラーと判断さ
れた場合には、ステップB22に進み、以降のエラー処
理を実行する。すなわち、ステップS■は、前回正常に
デコードされた1キヤラクタの後端バ―がす四−バーか
、ワイドバーがをFWレジスタの内容に応じて調べ、F
Wレジスタの内容が「1」、つまりワイドバーであれば
、ステップBIS、また、「0」、ナローバーであれば
ステップ8+14に進ませる。ステップs!sはSレジ
スタの内容に定数に1を乗算し、また、ステップs、4
はSレジスタの内容に定数1cte乗算し、夫々Sレジ
スタ内のデータを非常に広い幅値データとするもている
。而して、ステップS、3. S、、 (71処理が終
ると、次のステップs21+に進み、Xレジスタ内のデ
ータの中にSレジスタのデータより太いバーがあるかど
うかが調べられる。すなわち、ステップStaは、前回
正常にデコードされた1キヤラクタの後端バーと比較す
ることにより今回読み込んだ1キヤラクタ内のデータの
中に非常に太いバーがあるか否かを調べるものである。
If the step island is not decoded and an error is determined, the process advances to step B22 and subsequent error processing is executed. That is, step S■ checks whether the rear end bar of one character that was successfully decoded last time is a four-bar or a wide bar, depending on the contents of the FW register, and
If the content of the W register is "1", that is, a wide bar, the process proceeds to step BIS; if the content is "0", that is, a narrow bar, the process proceeds to step 8+14. Step s! s multiplies the contents of the S register by a constant by 1, and also performs step s, 4
The contents of the S register are multiplied by a constant 1 cte, and the data in each S register is made into extremely wide value data. Then, step S, 3. S,, (When processing 71 is completed, the process proceeds to the next step s21+, where it is checked whether there is a bar thicker than the data in the S register in the data in the This is to check whether or not there is a very thick bar in the data in one character read this time by comparing it with the rear end bar of one character.

この場合、本実施例ではハンドスキャナでバーコードを
読み取るようにしているため、スキャナ速度が変ること
がある。この結果、上記ステップ81!1の判断を前回
の後端バーと比較することにより行うようにずれば・″
H′速度0相違を受けず・1信頼性の高いものとなる。
In this case, since the barcode is read with a hand scanner in this embodiment, the scanner speed may change. As a result, if the judgment in step 81!1 is made by comparing it with the previous rear end bar, then...
H' Speed 0: No difference, 1: High reliability.

而して、ステップS2.の結果、非常に太いバーがある
と判断された場合には、第3図の空白0部分を読み込ん
だことが分る。この場合、ステップs26.に進み、S
レジスタの内容を+1する処理を実行し、続いて、ステ
ップ”h7に進み、Sレジスタの内容が「3」であるが
どうかを調べる。このようなステップ811?の処理は
、後述する以下の理由に基づいてエラー処理を3回まで
実行させるもので、その結果、Sレジスタの内容が「3
」以内であれば、次のステップ826を実行する。
Then, step S2. As a result, if it is determined that there is a very thick bar, it can be seen that the blank 0 part in FIG. 3 has been read. In this case, step s26. Go to S
The contents of the register are incremented by 1, and then the process proceeds to step "h7" to check whether the contents of the S register are "3". Step 811 like this? This process causes error processing to be executed up to three times based on the following reasons, which will be explained later, and as a result, the contents of the S register become "3".
”, the next step 826 is executed.

ここでは、アドレス部ARの内容を「−5」する処理を
実行する。続いて、ステップStOに進み、Xレジスタ
の内容をクリアしてステップS、  に戻る。この結果
、ステップSρ実行によりメモリM内のデータのうち今
回読み込んだ1キヤラクタの先頭の黒バーのデータを無
視して次の黒バーのデータより1キヤラクタ分のデータ
としてデコードを再開することになる。すなわち、ステ
ップ821でアドレス部ARの内容を「−5」とするこ
とにより2番目の黒バーから読み出されることになるの
で、先頭の黒バーをキャンセルしたことになる。
Here, processing is performed to increment the contents of the address field AR by "-5". Next, the process proceeds to step StO, the contents of the X register are cleared, and the process returns to step S. As a result, by executing step Sρ, among the data in memory M, the data in the first black bar of one character read this time is ignored, and decoding is restarted as data for one character from the data in the next black bar. . That is, by setting the contents of the address field AR to "-5" in step 821, the second black bar is read out, which means that the first black bar is canceled.

したがって、例えば、第4図に示す如く、値札の上に紙
片を貼り付けてその値段を変更した場合に1その紙片の
縁部で黒バーが形成されたとしても、その黒バーを無視
することができる。この場合、第4図(1)〜(3)に
示すように非正規の黒バーが1本であれば、1回目のエ
ラー処理で先頭の黒バーを無視して次の黒バーより1キ
ヤラクタ分のデータとしてデコードを再開すれば、直ち
に所定のキャククタ情報にデコードすることができるが
、非正規の黒バーが第4図(4)〜(9)に示すように
2本となると、ステップSIlで再びデコードにエラー
を生ずる。このため、再び、エラー処理の7四−が実行
される。この場合、ステップS!sでjyi sJと判
断されるので、ステップsteでSレジスタの内容が「
2」とされ、ステップStaを介してステップ828−
 shoを実行したのち名テップSsに戻り同様の処理
が繰り返される。この結果、同様に先頭の黒パー(この
場合、2本目の非正規の黒バー)をキャンセルし、次の
黒バー(正規の黒バー)からデコードを再開できる。ま
た、同様に、第4図(10)〜(19)に示すように、
非正規の黒ノく−が3本ある場合には、エラー処理を3
回繰り返すことにより非正規の3本目の黒バーをもキャ
ンセルすることができる。而して、エラー処理が3回続
けて実行されると、4回目のエラー処理に入ると、Sレ
ジスタの内容が「4」となるので、ステップも、からス
テップS、。に進み、エラーの報音が行なわれ、ステッ
プs1に戻る。このため、エラー処理が4回目に入ると
、ステップs1の実行により、各メモリ等の内容が初期
状態に戻されるので、オペレータは再び値札をスキャン
しなければならない。すなわち、aw−7では、1キヤ
ラクタ内に黒バーが4本あるので、3本までなら正規の
黒バーであるかどうかを判別することができるが、非正
規の黒バーが4本となると、正規のバーであるかどうか
の判別が不可能となるので、Sレジスタの内容が「4」
となったときには、ステップSsoでエラー報知を行た
って、再び値札ラスキャンするようにオペレータに報知
する。したがって、上述のステップ827の判断は、M
Y−7の特有のコード態形を考慮したものである。
Therefore, for example, as shown in Figure 4, when a piece of paper is pasted on a price tag and the price is changed, 1 even if a black bar is formed at the edge of the piece of paper, the black bar should be ignored. I can do it. In this case, if there is one irregular black bar as shown in Fig. 4 (1) to (3), the first black bar is ignored and one character is added from the next black bar in the first error processing. If the decoding is restarted as data for 20 minutes, it can be immediately decoded to predetermined character information, but if there are two irregular black bars as shown in FIG. 4 (4) to (9), step SIl will cause an error in decoding again. Therefore, error processing 74- is executed again. In this case, step S! s is determined to be jyi sJ, so in step ste the contents of the S register are
2'', and the process proceeds to step 828- via step Sta.
After executing ``sho'', the process returns to step Ss and the same process is repeated. As a result, it is possible to similarly cancel the leading black bar (in this case, the second irregular black bar) and restart decoding from the next black bar (regular black bar). Similarly, as shown in FIG. 4 (10) to (19),
If there are 3 non-regular Kuronoku-, error handling should be done 3 times.
By repeating this process twice, the third irregular black bar can also be canceled. Then, when error processing is executed three times in a row, when the fourth error processing starts, the contents of the S register becomes "4", so the steps also change from step S to step S. The process proceeds to step s1, an error alarm is sounded, and the process returns to step s1. Therefore, when the error process is executed for the fourth time, the contents of each memory etc. are returned to the initial state by executing step s1, and the operator has to scan the price tag again. In other words, in aw-7, there are four black bars in one character, so if there are up to three black bars, it can be determined whether they are regular black bars or not, but if there are four non-regular black bars, Since it is impossible to determine whether the bar is a regular bar or not, the content of the S register is "4".
When this occurs, an error notification is performed in step Sso, and the operator is notified to scan the price tag again. Therefore, the determination in step 827 above is based on M
This takes into account the unique code format of Y-7.

而して、ステップ穐てAV<ARと判断された場合、お
よびステップ82Bで[oJと判断された場合にもステ
ップSSOを介してステップS、に戻される。
Therefore, if it is determined that AV<AR in step 82B, and if it is determined that [oJ] in step 82B, the process returns to step S via step SSO.

なお、上記実施例は、NW−7のコード態形およびハン
ドスキャナを用いた場合を例に挙げたが、その他のコー
ド態形であってもよく、また、定着式スキャナ読取装置
に適用するようにしてもよい。
In the above embodiment, the NW-7 code format and a hand scanner were used as an example, but other code formats may also be used. You can also do this.

以上詳述したように、この発明に係るバーコード読取装
置によれば、バーコードをスキャンして得られた1キャ
ラクタ分のデータをデコードした結果、デコードにエラ
ーを生じた場合には、そのデータの中に非常に大きな幅
値があるか否かを検出し、この結果、非常に大きな幅値
が含まれていることか検出された際に、その1キヤラク
タ内のデータのうち先頭のデータを無視して次のデータ
より1キャラクタ分のデータを再びデコードするように
したから、例えば、値札の上に紙片を貼り    で付
けてその値段を変更するような場合、その紙片の縁部が
黒バーとして形成されてもその黒バーを無視して正規の
バーコニドのみを読み取ることができる。
As detailed above, according to the barcode reading device according to the present invention, if an error occurs in decoding as a result of decoding data for one character obtained by scanning a barcode, the data As a result, when it is detected that a very large width value is included, the first data of the data in that one character is Since the data for one character is ignored and the next data is decoded again, for example, if you change the price by attaching a piece of paper to a price tag, the edge of the piece of paper will be marked with a black bar. Even if it is formed as , the black bar can be ignored and only the regular barconide can be read.

【図面の簡単な説明】[Brief explanation of drawings]

図面はこの発明の一実施例を示し、第1図は全体のブロ
ック回路図、第2図はNW−7のコード態形を示す図、
第3図は値札上に形成されたバーコードを示す図、第4
図は値札上に紙片を貼り付けて値段を変更した場合に、
その紙片の縁部で形成される黒バーを示す図、第5図(
1)は第4図に示す状態の値札上のバーコードを読み込
んだときに第1図に示ずA / D変換回路の出力波形
図、第5図(2)はこの場合における第1図に示すパル
ス検出回路の出力波形図、第6図は第1図に示すOPU
のメイン動作を示すフローチャートである。 1・・・・・・ハンドスキャナ、2・・・・・・A /
 D変換回路、3・・・・・・パルス検出回路、5・・
・・・・OPUSM・川・・メモリ、To・・・・・・
時間カウンタ、D・・・・・・データメモリ。 =498 第4 ==0=21110 01・口111口 ・12・口111口 ・13・口1110 ・14・口I 11口 (15・口I II− 〇6・口1110 (17・口1110 、、、 S II 1口 ・・9・口1110
The drawings show an embodiment of the present invention, with FIG. 1 being an overall block circuit diagram, and FIG. 2 being a diagram showing the code form of NW-7.
Figure 3 shows the barcode formed on the price tag;
The figure shows what happens when a piece of paper is pasted on a price tag and the price is changed.
A diagram showing the black bar formed by the edge of the piece of paper, FIG.
1) is the output waveform diagram of the A/D conversion circuit not shown in Figure 1 when the barcode on the price tag in the state shown in Figure 4 is read, and Figure 5 (2) is the output waveform diagram in Figure 1 in this case. The output waveform diagram of the pulse detection circuit shown in Fig. 6 is the OPU shown in Fig. 1.
3 is a flowchart showing the main operation of FIG. 1...Hand scanner, 2...A/
D conversion circuit, 3...Pulse detection circuit, 5...
...OPUSM, river, memory, To...
Time counter, D...Data memory. =498 4th ==0=21110 01.mouth 111 mouth 12.mouth 111 mouth 13.mouth 1110 ・14.mouth I 11 mouth (15.mouth I II- 06.mouth 1110 (17.mouth 1110, ,, S II 1 mouth... 9 mouth 1110

Claims (1)

【特許請求の範囲】[Claims] 複数のキャラクタ情報がバーコードにて記録されると共
に、所定の前記キャツタタ情報間に前記バーコードに比
べて非常に広い幅の空間が挿入されて成る媒体よりバー
コード情報を読み取るバーコード読取装置において、前
記バーコードの各バーの領域に相当する幅値を読み取る
読取手段と、この読取手段で読取られた幅値データを順
次記憶する記憶手段と、この記憶手段に記憶された1キ
ャラクタ分の幅値データに基づいて所定のキャラクタ情
報を生成するデコード手段と、このデコード手段による
デコード中にエラーを生じた場合にその中に非常に広い
幅値が含まれているか否かを検出する検出手段と、この
検出手段で非常に広い幅値が含まれていることが検出さ
れた際に、前記記憶手段内の先頭の幅値データを無視し
て次の幅値データよりデコードを再開する制御手段とを
具備して成るバーコード読取装置。
In a barcode reading device for reading barcode information from a medium in which a plurality of character information is recorded as a barcode and a space having a width much wider than the barcode is inserted between predetermined pieces of character information. , a reading means for reading the width value corresponding to the area of each bar of the barcode, a storage means for sequentially storing the width value data read by the reading means, and a width for one character stored in the storage means. a decoding means for generating predetermined character information based on value data; and a detection means for detecting whether or not a very wide value is included in the character information when an error occurs during decoding by the decoding means. and control means which ignores the first width value data in the storage means and restarts decoding from the next width value data when the detection means detects that a very wide width value is included. A barcode reading device comprising:
JP10763082A 1982-06-24 1982-06-24 Bar code reader Granted JPS58225487A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10763082A JPS58225487A (en) 1982-06-24 1982-06-24 Bar code reader

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10763082A JPS58225487A (en) 1982-06-24 1982-06-24 Bar code reader

Publications (2)

Publication Number Publication Date
JPS58225487A true JPS58225487A (en) 1983-12-27
JPH0327952B2 JPH0327952B2 (en) 1991-04-17

Family

ID=14464053

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10763082A Granted JPS58225487A (en) 1982-06-24 1982-06-24 Bar code reader

Country Status (1)

Country Link
JP (1) JPS58225487A (en)

Also Published As

Publication number Publication date
JPH0327952B2 (en) 1991-04-17

Similar Documents

Publication Publication Date Title
US5128527A (en) Apparatus for reading a bar code
EP0262924B1 (en) Method and apparatus for bar code data autodiscrimination
JPH0157836B2 (en)
US4272675A (en) Symbol processing system
US4282426A (en) Slot scanning system
JPH0354388B2 (en)
US4567360A (en) Optical reading apparatus
JPS58225487A (en) Bar code reader
JPS593589A (en) Bar code reader
JPS59180626A (en) Controlling method of reading of magnetic card data
US5270524A (en) Automatic discriminating and decoding apparatus
JPS593588A (en) Bar code reader
KR910008434B1 (en) Card reader and its controlling method
JPS593587A (en) Bar code reader
JPH01116777A (en) Final display deciding circuit
JPH0327951B2 (en)
JP2853357B2 (en) Barcode reader
JP2779898B2 (en) Barcode reader
KR940006119B1 (en) Deciphering method of barcode system
JPS63266585A (en) Readout control system
JPH04297968A (en) Pulse noise removing circuit
JPS5930310B2 (en) Parcode identification method
JP3308931B2 (en) Barcode symbol reader
JPS6057107B2 (en) Erroneous reading detection circuit
JPH02224193A (en) Bar code reader