CA1139865A - Microfilm reader/printer - Google Patents

Microfilm reader/printer

Info

Publication number
CA1139865A
CA1139865A CA000290105A CA290105A CA1139865A CA 1139865 A CA1139865 A CA 1139865A CA 000290105 A CA000290105 A CA 000290105A CA 290105 A CA290105 A CA 290105A CA 1139865 A CA1139865 A CA 1139865A
Authority
CA
Canada
Prior art keywords
web
film
responsive
code
codes
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.)
Expired
Application number
CA000290105A
Other languages
French (fr)
Inventor
John R. Flint
Bruce A. Rady
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.)
Bell and Howell Co
Original Assignee
Bell and Howell Co
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 Bell and Howell Co filed Critical Bell and Howell Co
Priority to CA000412895A priority Critical patent/CA1164972A/en
Application granted granted Critical
Publication of CA1139865A publication Critical patent/CA1139865A/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
    • G06K17/0016Selecting or retrieving of images by means of their associated code-marks, e.g. coded microfilm or microfiche
    • G06K17/0019Selecting or retrieving of images by means of their associated code-marks, e.g. coded microfilm or microfiche for images on filmstrips

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Projection-Type Copiers In General (AREA)

Abstract

MICROFILM READER/PRINTER

Abstract of the Disclosure A microprocessor controlled microfilm reader/printer is arranged to transport a roll of film having all images contained thereon, in a distinctive format involving se-quentially recorded photographic areas. The reader/printer has an automatic call feature up, so that any given photo-graphic area may be selected and projected responsive to the push of a button, the operation of a rotary switch, or both.
A special bar code printed along an edge of the film elimi-nates the need for precise control over a film transport synchronized with a code reading speed. The bar code is preferably read by an optical electronic sensor, which provides a film positioning input control signal to enable an accurate locating of a selected photographic area within a viewing area.

Description

1139~365 Reference is made to a copending Canadian Serial No.
283,078, entitled Microprocessor Controlled Roll Film Microfiche Reader, filed on July 19, 1977 by Delmar Johnson, John R. Flint, Thomas Wells, Rolf Erikson and Bruce Rady, and assigned to the assignee of this invention.
This invention relates to microfilm readers, printers, and reader/printers and more particularly to means for transporting a roll of film through such devices, whether separate or combined. However, certain aspects of the invention also find utility anytime that it is necessary or desirable to transport long webs or strips, such as film, magnetic tape, perforated tape, or the like. Therefore, the term "reader/printer" is to be construed broadly enough to cover all of these and equivalent devices, both combined and separated. Likewise, the terms "film, web, or strips" are to be construed broadly enough to cover any medium which may be transported in the inventive manner.
A microfiche is a well known photographic device wherein a plurality of images are micro-photocopies arranged in an orthogonal array, on a small card or sheet film.
Therefore, the cards may become lost, damaged, destroyed, or refiled out of order. Sometimes, microfiche contain in-formation which must be continuously updated as the recorded information becomes obsolete or is superseded. If a large file of microfiche must be updated on a continuous basis, a substantial amount of time and labor is required, and filing mistakes are often made. Moreover, there are costs in copying and manipulating the individual cards or sheets of film, which costs are not incurred when copying or manipulating rolls of film.

P ~ ~, ~i39E~65 Yet another problem centers about security and control over a microfiche file. There are many times and conditions when a company, for example, wishes to issue a new edition of a microfiche "file" card, with an assurance that it will be properly filed and used by all employees, who are located at many widely scattered points. Also, the company would want to preclude un-authorized removal of individual microfiche from a company ~ file. There may be confidential information on some of the microfiche and the company may not want to have it readily available for copying.
Still another consideration is existing customer habits. For example, a service or repairman conventionally has a number of very large books containing pictures of assemblies and long listings of parts for those assemblies.
If these books are reproduced on microfiche, the arrange-ment of the microfiche should be such that the service or repairman may substantially follow his existing habit patterns, when using his books.
The reader/printer has an automatic call up feature so that any given photographic area may be selected and projected responsive to the push of a botton or the operation of any other suitable switch. An electronic control circuit, such as a microprocessor automatically controls the movement of a film transport mechanism to position a selected photographic area in a viewing area.
There, it is held stationary, while a lens is manually moved to project a selected image in the microfiche format.

---`` ii39865 The invention in one aspect pertains to a micro~ilm reader/printer having a viewing area for use with a web having thereon photographic areas which are individually identified by elongated codes including a series of marks with the elongated dimension of the series of marks being aligned and positioned along the edge of the web, and extending over a portion of the length of the web, each of the codes being positioned adjacent lndividually associated ones of the areas. Means are provided for transporting the web over a path through the reader/printer in either of two opposing directions which presents the marks in series to any point along the path of web travel. At least a pair of sensor means are located adjacent the path for indi-vidually reading each of the codes in series as the web is being transported adjacent the sensor means, the sensor means reading the code responsive to transport of the web in either of the two directions. Means responsive to code reading by one sensor means under the control of the other sensor means is provided for storing a code identifying a photographic area on the wek, and there are means for indicating a selected code. Comparator means jointly responsive to the codes read by the sensor means and the code-indicating means is provided for`comparing the sensed and indicated codes, and means provide for reversing the direction of web transport responsive to the comparing means detecting a change in the relationship between the compared codes which indicates that the desired photographic area has passed the viewing area, a function performed by at least one of the sensor means reversing each time that the direction of web travel reverses.
The invention also comprehends in one aspect a process for using a microprocessor to control a reader/printer having a viewing area for use with strips of film, each strip of film having thereon a plurality of photographic areas and each photo-~ ~39865 graphic area being individually identified by an elongatedseries of code marks sequentially formed, the elongated dimen-sion of the series extending along and parallel with the length of the film. The process includes transporting the strips of film in either of two directions through the reader/
printer; and sensing in series each mark of the codes on the film at each of two separated positions as the film is being transported in either of two directions through the reader/
printer, the sensing at one of the two positions a function of sensing at the other of the two positions, and the sensed series of marks being inverted when the film is transported in one of the two directions. The process further provides for indicating a selected code for identifying a selected one of the photographic areas on the film, comparing the sensed and indicated codes to determine the direction which the film should be transported through the reader/printer in order to reach the selected one of the photographic areas, reversing the direction of film transport responsive to the comparison indicating that a change of transport direction is necessary to bring the selected photographic area into the viewing area and reversing the function performed in at least one of the two sensing positions responsive to each transport reversal.
Various other aspects of this invention will become apparent from the description of the preferred embodiment herein.

:

~' ~ 39~6S

A preferred embodiment of such a reader is shown on the attached drawings wherein:
Fig. 1 is a perspective view of a roll film micro-film reader, printer, or reader/printer, incorporating the principles of the invention;
Fig. 2 is a schematic layout of a ~leb or strip of roll film,h~vinga plurality of photographic areas, each in a microfiche format comprising an ort~ogonal arr~y of imageS
with a special bar code printed along an edge of the film and located near the photographic area which i~ identifies;
Fig. 3 show~ an exemplary bar code used to identify each photographic area on the roll;
Fig. 4 is a graphical representation of how the bar codé is read;
Figs. 5 and 6 graphically represent the transport movement as the film is driven, reeled, and then brought to a stop;
Fig. 7 is a block diagram of an electronic system for controlling the microfilm reader/printer of Fig. l;
FigO 8 is a logic diagram of a control circuit used to complete the block diagram of Fig. 7;
Fig. 9 is a speed vs. torque graph which illustrates how the film is brought up to speed without loss of tension;
Fig. 10 is a graph which helps to illustrate how a tension is maintained in the film;
Fig. 11 is a block diagram of the logic portion of the control circuit;
Fig. 12 is a graphical representation of how the same information is stored regardless of the direction in which the film moves, appearing with Figs. 9, 10, 13, 14 and 15;

i398~S

Fig. 13 graphically illustrates how current is increased to cause the film transport mechanism to initiate film movement, appearing with Figs. 9, 10, 12, 14, and 15;
Fig. 14 is a logic circuit which illustrates how three sensors may be arranged to detect the direction of film movement, appearing with Figs. 9, 10, 12, 13 and 15;
and Fig. 15 graphically and schematically illustrates the three sensors of Fig. 14 and also shows a truth table explaining the operation thereof, appearing with Figs. 9, 10, 12, 13 and 14.
Fig. 16 illustrates the differences between regular bar codes and an overflow or "plus 1" bar code;
Figs. 17-19 are three timing curves (similar to Fig. 4) for illustrating how the sensors read the three bar codes of Fig. 16;
Fig. 20 is a truth table for the three timing curves of Figs. 17-19; and Fig. 21 is a logic diagram of a "plus 1" control circuit.
Briefly, the reader, printer, or reader/printer (Fig. 1) comprises a hood 50, a film transport mechanism 51, and a control panel 52. The hood 50 includes a rear il-luminated screen 54, in front of a cavity large enough to sustain a beam of light which contains the projected micro-film image on a single photographic area.
The transport mechanism includes a supply (relative to forward film transport) roll or reel 56, a take up roll or reel 58 and a web or length of film 60 extending there-between. Preferably the reels 56, 58 have spools, hubs, orfilm cores with as large a diameter as possible so that there will be a minimum of internal working within the web or film 60, itself. Any suitable number of guide rollers may also be provided (as shown at 62, 64) to convey the film 60 smoothly and evenly through the reader/printer. As the film travels between rollers 62, 64, it passes between two flat glass plates 66, 68 (usually called "glass flats") which are closely spaced to hold the film, and therefore the microfilm images, at a precisely positioned, vertically oriented location relative to the lens system (not seen in Fig. 1).
In order to load a web or strip, such as film 60, into the reader/printer of Fig. 1, the web or strip is pulled from the hub, reel, or core 56, passed over roller 62, between the glass flats 66, 68, over rollers 64, and attached to the hub, reel or core 58. The hùbs, reels, or film cores are internally keyed so that they will not fit over spindles located in the cavities 70, 72, unless they are properly positioned and the strip or film is properly oriented.
Cover plates (not shown) may be provided to prevent accidental removal of the film and to prevent entry of dirt or other foreign matter into the cavities 70, 72. For security, these cover plates may be protected by a lock and key.
The control panel 52 includes a photographic area address selector in the form of a plurality of push buttons 74 and a rotary switch 76. The rotary switch may be turned to select the address code of a book and the push buttons may be operated to select an address code of a chapter in that book. In the example of a large service parts center, the book might be "lawn mowers" and the chapter might be "engines". Therefore, the switches 76, 74 may be marked directly with these words. This way, the service or ~i39~6S
repairman using the reader/printer may ~ollow his customary procedures of selecting book and chapter, which procedures he conventionally followed before he received the microfilm.
Any other additional control, such as switch 75, may be provided to switch the reader/printer or lamp off/on or to cause any other suitable functions.
Once the photographic area representing a book and chapter has been automatically delivered to a reading and/or printing or viewing position, it remains stationary. The operator grasps a handle 77 and moves it over an index printed on plate 78. When handle 77 reaches a selected point, a desired index on the plate 78 appears in a window 80 associated with handle 77, and a corresponding page or image on a photographic area on film 60 is projected onto the reader/printer screen 54.
A special "Plus 1" push button 81 is provided to extend the chapter by advancing the film transport to display the next photographic area, when a chapter contains an over-flow of information wherein more than one of such areas is identified by a single chapter address code. When the film reaches the last overflow or "plus i" photographic area in a chapter, the roll of film automatically rewinds to again present the first photographic area at the address of the selected chapter, if the "plus 1" button 81 is again pushed.
A thumb wheel 82 on handle 77 may be turned to focus the image projected onto the screen 54.
Fig. 2 shows a small section of film 60 and illus-trates how the photographic areas are arranged thereon and identified by bar code addresses. In greater detail, each photographic area (85, for example) may have any convenient length "L" and a width "W", approximately equal to the width of the film, with suitable allowance for margins. Each 139~36S

photographic area includes a number of individual images (one of which is outlined at 86 for easy identification).
The images on the photographic area are arranged in an orthogonal layout. A suitable index or table of contents may be provided near one edge of each photographic area, as indicated by cross hatching at 88.
The drawing has been marked at 90, by way of example, to indicate that the images on photographic area 87 are identified by the address "Book 6, Chapter 9", which is also indicated by the bar code 92 address. The letter "A"
on photographic area 85 implies that chapter 9 is so large that it overflows and extends over a plurality of photographic areas. The user realizes that he must go on to another or overflow photographic area and he pushes the special "plus 1"
push button 81 (Fig. 1) to cause the reader/printer to advance from photographic area 87 to overflow photographic area 85, where a special single mark bar code 89 is en-countered. If the "plus 1" push button 81 is pushed again, the transport advances a second time, looking for another single mark bar code. However, this time a standard bar code 91 is found. Therefore, the second operation of the "plus 1" push button 81 causes the film to briefly rewind and to again display the initial photographic area 87 in Chapter 9. This "plus 1" process of advancing to the next or overflow photographic area, one at a time, may be re-peated as often as required.
A series of bar code addresses (such as 89, 91, 92) is printed along one margin of the film and precisely located at the same relative positions near each photographic area. Therefore, if the bar code 92, for example, is precisely positioned by the film transport mechanism so that a sensor is at one edge, such as 93, of the code 92, the " 1~39865 photographic area 85 is precisely located in the viewing area or in the optical path of the reader/printer.
The nature and function of the bar code is shown in Fig. 3. There are a number (here nine) of spots or marks arranged in a series and in a distinct geometry. Each binary "1" is a wide spot or mark, as at 98, and each "0" is a narrow spot or mark, as at 100. Each wide spot 98 is exactly twice as wide as a narrow spot 100. A pair of sensors or transducers 104, 106 are positioned adjacent the edge of film 60 to read the bar code as the film passes adjacent them. For example, if the spots or marks 98, 100 are dark areas recorded on transparent film (or transparent marks on dark film), the sensor or transducersl0~-, 106 ma~
include light sources on one side of the film and photocells on the other side of the film., The width of the space 107 between each spot or mark is exactly the same as the width of a narrow spot 100. The sensors or transducers 104, 106 are separated by a distance 108 which is exactly equal to 1.5 times the width of a narrow spot or mark 100.
According to the invention, it is totally irrelevant whether the film travels from left to right or from right to left. Neither direction is preferred. However, it is convenient to have an expression for distinguishing between these two directions. Therefore, one direction is arbitrari-ly called "forward" and the other "reverse". This same arbitrary terminology is used to identi~y "forward" and "reverse" motors which drive the film in those respective directions.
It should be noted that B sensor or transducer 104 encounters the bar ¢ode 92 before the A sensor or transducer 106 encounters it, when the film travels in a forward direction. The A sensor encounters the bar code first when 1~ 10 the film travels in the reverse direction. There is no problem, however, since the recording sensor drives into one side of a shift register when film moves in one direction and into the other side of that same shift register when film moves in an opposite direction. The shift register marks the same output conductors responsive to the same code, regardless of which direction the film is driven.
Fig. 4 graphically shows how the outputs of the sensors or transducers are interpreted by the associated electronic control circuits. (There is no correlation between the codes of Figs. 3, 4.) The sensor output pulse 109 is wide, responsive to a wide spot or mark. A narrow spot or mark 100, produces a narrow pulse 110, and a space 107 between spots or marks are indicated by narrow spaces 111 between pulses. The relative widths of the pulses and spaces, and of the distance between the sensors or trans-ducers are indicated in Fig. 4 by "X", "2X" and "1.5X".
Each bar code has a guard zone 112 on one end, in which zone another bar code is forbidden. At any distance beyond the end of this guard zone which is greater than 2X (i.e., more than a wide spo~ or mark), a new bar code may begin. There-fore, a photographic area does not have to have a fixed and standard length. There is no need for a guard zone on the other end of the bar code because that space is protected by the next adjacent bar code.
The output of sensor or transducer B is shown by curve B of Fig. 4 and the output of sensor or transducer A is shown by curve A. Note that the output A is the same as the output B, except that there is a lag of 1.5X between the two outputs. If the direction of film travel is reversed, the pulses in curve B will lag after those in curve A, because the sensor A encounters the bar code before sensor B
encounters it in reverse film travel.

-`"` il3986S

The A sensor functions as a clock or strobe for reading the B sensor. This way, it is not necessary for a clock to maintain a precise synchronization between the film transport and the code reader/printer. In greater detail, curve A has been marked with arrow heads to indicate whether the transitions in the output of sensor or transducer A are going positive or going negative. In this example, the associated logic circuitry is arranged to read the output of the B sensor or transducer, each tlme that the transition in the output of the A sensor or transducer is going positive, as at 117, for example. Curve B is marked at the left-hand end to indicate the voltage levels representing a "1" and a "0" .
By inspection, it will be seen that curve C re-presents the state of the output of the B sensor or trans-ducer, at the instances when the positive going transitions occur in the output of the A sensor or transducer. Thus, the logic circuitry "sees" the binary word "101100", as indicated by Arabic numerals below curve C. By recalling that each wide pulse in curve B is a binary "1" and that each narrow pulse is a binary "O", it is apparent from an inspection of Fig. 4 that the code originally read by the B
sensor or transducer has been correctly interpreted by the logic circuitry.
Curve D is a parity envelope generated as a function of the start and stop of a bar code. This envelope is generated responsive to the negative going transitions in the output of the A sensor, under the clocking assumptions of Fig. 4. The first negative going transition 113 in the output of the A sensor or transducer triggers a start of a code detection parity envelope, as indicated at 114 in curve D. As long as the A sensor goes negative while the B sensor is "high", bar code continues to be read from the film.
Hence, the partiy control envelope, curve D remains "high".
When the negative going A sensor output occurs while the B
sensor is "low", the parity envelope collapses or terminates, at 116. At this time, a negative going A sensor transition counter reaches a specific count if there is code parity.
The sensors should have read the last output in a bar code if the negative going transition 115 occurs while the B
curve is low, which indicates an end of a bar code. The curve D goes from "high" to "low", as indicated at 116. The end of code signal 116 occurs on the sixth negative going transition (curve A) in Fig. 4 or the ninth transition in the code of Fig. 3. Since the number of spots or marks are the same in all bar codes, there is a parity check because the proper number of spots or marks must be registered at the time when curve D goes negative. (In the example here given, the parity check occurs when the circuit counts the correct number of down going transitions between edges 114, 116, inclusive.) There are several ways that clocking may be done, when the film reverses its direction of travel. One way of clocking is to cause the lagging sensor to always act as a clock for the leading sensor. This way, the two sensors interchange their respective functions when the film trans-port reverses the direction of film travel. Another way of clocking is to cause the normal output of one of the sensors to act as a clock when film moves in one direction and a complement of that output to act as a clock when the film moves in an opposite direction. Regardless of which of these clocking systems is used, care should be taken to insure that there is a uniform and consistent parity check envelope (curve D) for a full and complete bar code, regardless of the direction of film travel.

~13986S

The advantage of interchanging the roles of the two sensors is that the parity envelope (Fig. 4D) is automatically the same, regardless of the direction of film travel. The leading edges of the trailing sensor pulses always test the status of the leading sensor, for the reading of a binary signal. The trailing edges of the trailing sensor pulses always test the status of the leading sensor for generating the parity envelope. In the complementary method of parity - checking, the leading edges of the trailing sensor pulses test the status of the leading sensor, for reading a binary signal in the forward film travel direction. For reverse film travel, the trailing edges of pulses from the leading sensor test the status of the trailing sensor for reading a binary signal. The parity envelope on reverse travel will require a reversal of the roles so that the trailing sensor will test the leading sensor in order to trigger the col-lapse of the parity envelope.
The film is transported responsive to an operation of switches on control panel 52, to automatically select and display a desired photographic area. More particularly, Figs. 5, 6 help explain how a roll of film is transported, in order to bring a selected photographic area into the viewing area in the reader/printer of Fig. 1 responsive to a reading of the bar codes of Figs. 2-4. Fig. 5 graphically shows film 60 travelling a forward direction and Fig. 6 shows the same film 60 travelling in a reverse direction.
The memory of the last read bar code is stored, so that the reader/printer always starts in the correct direction. But, if that memory has been lost (for example, there might be a power interruption), the reader/printer starts in one preferred direction. One bar code is read, and the electronic control circuit decides whether the film ~ ~39~365 is or is not travelling in the correct direction. If it is, the film continues to so travel. If not, the film trans-port reverses direction.
It should be noted that every code is checked, while it is being read, to determine whether it is greater or less than the desired code. ~ence, the direction of film travel is reversed whenever a code indicates that it is travelling in the wrong direction.
In either direction of travel, it is always necessary for the film to stop at the same position relative to the bar code. For example, as Figs. 2 and 3 are drawn, it is desirable for the film to always stop with the A
sensor or transducer head 106 (Fig. 3) aligned with the left hand edge 93 of the bar code 92, regardless of whether the film travels in a forward or reverse direction.
Fig. 5 shows how the film is so stopped from the forward travel motion, 184. Initially, the film transport is commanded to travel at a high searching speed. When the control circuit first recognizes a bar code corresponding to its commanded code, the film transport may be travelling at a very high speed if it has been running long enough to get up to its maximum speed. Since the transport mechanism is a mechanical device with inertia, the film 60 may coast one or more bar codes beyond the desired photographic area. The transport reverses direction 186, and it thereafter travels at a slow speed. When the desired bar code is again recognized, the transport reverses once more. At slow speed, inertia does not carry the transport as far as it does at high speed. However, the film may still coast by at least some discrete distance.

1~398~5 During this homing sequence, the deceleration is always greater than the acceleration, each time that the film transport reverses direction; thus, coasting becomes progressively smaller, as graphically indicated by the lengths of arrows in Figs. 5, 6. Therefore, the transport mechanism reverses (188) direction a number of times (here up to six times), moving the film slightly less on each reversal, until the leading edge 93 of the bar code is precisely under the A sensor or transducer head 106 (i.e., at the point 115 in Fig. 4). Accordingly, the edge 93 moves back and forth under sensor A in diminishing amounts of travel. After a certain number of reversals have occurred, the homing sequence is complete and the film is positioned.
When the film is travelling in the reverse direction (Fig. 6), the control circuit again looks for a bar code corresponding to its command code. However, it would be expensive and awkward to require the homing to be performed in two different ways depending upon the direction of film travel during high speed searching. Therefore, once the bar code corresponding to the command code is encountered during high speed searching in the reverse direction 189, the transport mechanism reverses its direction of travel without immediate effect and before the homing sequence begins.
This means that even on reverse direction searching, the film is travelling in forward direction 184 when the homing sequence is initiated. Thereafter, the homing sequence is the same as the sequence used in the forward direction.
The electronic control circuit is seen in Figs. 7, 8. Briefly, the rotary and push-button switches 74, 76 (Fig. 7) send the command code signals into a microprocessor 192, which may be any of many commercially available products.

While any of these products may be used, the invention currentiy employs the well known F8 microprocessor system components made by the Fairchild Camera & Instrument Corporation.
The A,B sensors or transducers 106, 104 transmit the sensed signals (Fig. 4) into the microprocessor 192 via switching amplifiers 194, 196. The microprocessor energizes a glass flat solenoid 197 via a driver amplifier 198. The microprocessor controls the direction of film travel by selectively energizing "FWD", "GO" and "REV" wires 200. The "FWD" and "REV" wires are energized with a steady d.c.
potential to select the direction of film transport travel.
The "GO" wire is energized with either a steady d.c. poten-tial to command the forward (F) and reverse (R) motors 202, 204 to turn at high speed or with an interrupted d.c.
potential to command the motors to turn at a low speed. The actual low speed depends upon the percentage of a duty cycle during which the GO wire is marked with the interrupted d.c.
potential. These command signals are fed to the motors 202, 204 via two individual driving amplifiers 206, 208, which are essentially "AND" gates.
Each of the motors 202, 204 is mechanically con-nected in any suitable manner to drive one of the associated film cores. Forward motor 202 drives the take up film core 58 (Fig. 1) and reverse motor 204 drives the supply film core 56.
Fig. 8 shows the logic diagram of an electronic control circuit which may be used to complete the block diagram of Fig. 7. The control switches 74, 76 are part of a matrix 212.

il39~6S

The matrix 212 comprises horizontal and vertical multiples defining a plurality of crosspoints. Each switch 74, 76 has a set of contacts connected across the matrix crosspoints. For example, one set of switch controlled crosspoint contacts, shown at 209, are here assumed to be the only ones closed by an operated push button 74. of course, any other crosspoints could also be the closed ones.
Scanner 210, which may be part of the micro-processor, initially applied ground G to the uppermost horizontal Hl in matrix 212. All other horizontals are marked with the positive potential Pl. All verticals are marked with positive potential P2.
Scanner 211, which may also be part of the micro-processor, sequentially tests the potential on each vertical in matrix 212, and finds only potential P2 because the above assumption, in this description, has been that only cross-points 209 are closed.
After scanner 211 completes one scan, the scanner 210 is operated to remove ground G from the uppermost hori-zontal Hl and to apply it to the next lower horizontal H2.The scanner 211 finds potential P2 on vertical Vl. However, vertical V2 is connected through contacts 209, assumed to be closed, to ground G.
Immediately, the control circuit recognizes that it has found the closed push-button contact and scanner 210 is advanced in its cycle to apply ground G to horizontal HS.
Again, the scanner 211 searches for a ground applied through a selected set of contacts on rotary switch. If the closed rotary switch contact is on horizontal HS, the control circuit stops the scanners. If not, scanner 210 is advanced to apply ground G to horizontal H6 and scanner 211 searches for it. One way to prevent contact bounce is to require the ~13986S
scanners to find the same contact closure a predetermined number of times before accepting the signal as a valid one.
It should now be apparent that the matrix 212 en-ables the electronic circuitry to ascertain the commanded code responsive to a selective operation of a push button 74 and rotary switch 76.
The logic of the microprocessor 192 is represented - at 214 (Fig. 8 and shown in detail in Fig. 11). For com-pleteness both Fig. 8 and Fig. 11 repeat the sensors or transducers 104,106 and amplifiers 194, 196. Each of the sensor amplifiers 194, 196 include a buffer amplifier 216, 218 (Fig. 8) followed by individually associated trigger circuits 220, 222, preferably Schmitt triggers. This way, the logic ciruitry 214 receives unambiguous sensor originated signals (Fig. 4) responsive to each detection of a bar code spot or mark.
The remainder of Fig. 8 shows a circuit for driving the film transport mechanism and for maintaining fllm tension. This portion of the figure is divided by a dot-dashed line 224, with the driving amplifier 206 shown above the line and driving amplifier 208 shown below the line.
Since circuits 206,208 are the same,only circuit 206 will be explained.
The forward FWD and reverse lines REV are con-nected to individually associated AND gates 226, 228. Thus, the AND gate 226 conducts when the microprocessor 192 ener-gized the FWD and GO wires. The AND gate 228 conducts when the microprocessor energizes the REV and GO wires.
The output of AND gate 226 is fed into an OR gate 230 which energizes a motor drive circuit 232. The motor drive circuit supplies a d.c. voltage to forward motor 202.

If the motor 202 is in the fast drive mode, there is a steady state d.c. potential. The microprocessor 192 ener-gizes the GO wire continuously and without interruption.
Drive circuit 232 then applies a maximum d.c. power to the motor 202, which runs at high speed.
When the desired bar code is detected, the motor 202 is stopped. The microprocessor signal for stopping the motor is a simultaneous energization of the FWD, REV and GO
wires, so that the two motors pull against each other. The potential on the GO wire is interrupted, first slowly and then at a progressively faster rate. After the frequency of interruptions passes a critical high frequency rate, the system can no longer follow the interruptions and the motors stop with the initially undriven motor acting as a drag upon the film to maintain film tension and help stop the driven motor.
When the motor 202 is driven in a slow drive mode, there is a problem since frictional forces may vary from system to system, with the amount of film which has been wound upon the driven reel, etc. For the same slow speed, the amount of energy supplied at any given time may vary from the amount that must be supplied at any other time.
Accordingly, when the combination of signals sent ~rom the microprocessor logic 214 over the FWD and GO leads to motor drive circuit 232 indicates a slow speed, the motor drive circuit 232 preferably applies energy to the motor in the manner indicated by Fig. 9, wherein speed is shown on a vertical scale and torque on a horiæontal scale. Initially, a very slow voltage is applied to forward motor 202 a-t a potential which is here arbitrarily designated "X". If the motor does not turn, the potential is gradually increased to "X2". If it still does not turn, the voltage is increased ii39865 to "X3", etc. ~ventually, the motor be~ins to turn.
In order to so increase the potential applied to the motor 202, the slow speed indicating intermittent inter-ruptions on the GO wire begin as narrow pulses which are gradually made wider, with a rising ramp front characteristic.
As the GO wire is energized during progressively longer period in the interruption duty cycle, the motor 202 runs at progressively faster (but still relatively slow) speeds.
Hence, as soon as the instantaneous friction is overcome in the motor, it starts slowly and thereafter builds speed, with the accelteration characteristics depicted by line 233 in the graph of Fig. 9.
Whenever either motor (the driven motor) is oper-ating to pull the film, the other motor (the undriven motor) is energized with a weak current. The undriven motor supplies only enough torque to act as a drag and thereby maintain film tension. The control of this drag is extremely important since it maintains a uniform film tension. Other-wise, the turns of film on a reel might alternately loosen and cinch, and therefore, damage the film. Accordingly, there is a need for the microprocessor to precisely control the current supplied to the undriven motor.
Fig. 10 explains how the current supplied to the undriven motor is controlled and regulated to maintain a predetermined film tension. In greater detail, when the forward motor is first energized, it draws current which shoots up from a zero axis to the point 240, Fig. 10A. As the motor begins turning, the current falls off, with some decaying characteristics, as indicated between the points 240, 242.

il39~6S
Current sensor 24~ is a trigger circuit connected to the output of the motor drive circuit 232 to detect current drawn by the motor, as depicted in Fig~ 10A. The sensor 244 detects when the current falls to the point 242, and thereupon sends a signal over wire 250 to AND gate 252.
The other input of AND gate 252 is already energized via the FWD wire and the output of AND gate 226. Thus, when the forward motor 202 is operating, AND gate 252 applies a signal through OR gate 254 to motor drive circuit 256 and reverse motor 204.
Upon energization, reverse motor 204 acts as a drag upon film 60 and therefore upon forward motor 202, which must then draw more current from the motor drive source 232. Current sensor 244 uses a trigger circuit which switches OFF when there is an increase of current in the motor 202~ The current to reverse motor 204 is removed~
Thus, the motor drive circuit 256 has received a pulse of driving current, as indicated by pulse 258 (Fig~ 10B)~ A
de-energization of the reverse motor 204 reduces the drag upon film 60 and foward motor 204, and the cycle repeats~
The motor drive circuit may also operate on an analog basis, if desired.
Hence, as long as the dri.ven forward motor 202 continues running (Curve A, Fig. 10), its energizing current fluctuates while motor 202 hunts for current film tension or motor torque, as shown at 260. The undriven reverse motor 204 is pulsed, as shown at 262, responsive to current fluctuations 260. Thus, the undriven motor receives a low level d.c. energy, which is an integration of and derived from an average of the pulses 262. This low level of current causes the reverse motor 204 to resist turning and thereby maintains a steady tension upon the film 60.

1139~36S

Between the outputs of AND gates 226, 228 there is an interlock circuit designed to keep the motors from being driven at any time when the mechanical parts of the reader/
printer are not in a condition for the film to travel safely. In greater detail, a plurality of any suitable mechanical switches 264 are connected in series between ground and a voltage divider comprising resistors 266, 268, 270. These switches 264 may be "Microswitches" actuated by mechanical reader/printer parts, such as the movable glass flat 68 or any other mechanical parts, all of which should be in a normal condition before the film may be safely transported. If all of the switches 264 are properly closed, ground is applied to the base of transistor 272, which switches off. Thereafter, the outputs of AND gates 226, 228 may be effective upon the motors 202, 204. However, if one or more of the interlock switches 264 is opened, the potential set by voltage divider 266, 268, 270 establishes a base bias which switches on the transistor 272, to apply ground to a junction between diodes 274, 276, which are connected to the outputs of AND gates 226, 228, respectively.
Thereafter, the outputs of AND gates 226, 228 are clamped to ground, and the motors 202, 204 cannot be commanded to operate.
When the electronic control circuit of Fig. 8 finally stops the film, a desired photographic area is accurately positioned in a viewing position between the glass flats 66, 68 (Fig. 11). More particularly, the bar code reading head sensors or transducers 104, 106 are located at any convenient point along the travel path for film 60. For example, if the bar code 92 (Fig. 2) is printed at a proper position on the film 60, photographic area 87 is precisely positioned between glass flats 66, 68, when one edge 93 (Fig. 2) of the bar code is directly under one of the sensors (here assumed to be A sensor 106~.
Fig. 11 shows the basic principles of the logic 214 for the microprocessor 192 of Figs. 7, 8. Those components which appear in Fig. 11 and other figures are identified by the same reference numbers. The portions of Fig. 11 which are not part of the microprocessor are enclosed within blocks outlined by double dot-dashed lines. The operative portions of the microprocessor are separated by dashed lines.
The basic or master control for the microprocessor 192 is a timed enabling device or allotter 300. It causes each of a number of different functions to be performed in an orderly sequence. As here shown symbolically, the allotter is a clock having a single rotating hand 302 which sequentially touches conductive segments 1-0 in order to individually enable the various circuits shown elsewhere in Fig. 11.
The allotter 300 steps periodically under control of a free running oscillator (not shown~. The allotter 300 may be stepped forward or backward, depending upon control signals sent from circuit 301. Normally, the hand of allotter 300 is to be viewed as rotating step-by-step in the clockwise direction D. However, each time that the allotter hand 302 reaches segment 3, it automatically steps backward to segment 2, responsive to the next pulse from the - free running oscillator, unless gate 304 is inhibited.
Accordingly, the cyclic repetition of signals from the seg-ments 2, 3 provides means for cyclically reading the com-parator 336 and the A, B sensors 106, 104. When the com-parator finds equality in the stored and read codes, the cyclic reading is interrupted and a stopping sequence begins when the allotter reaches the fourth segment. On the fifth il39~65 segment, the film comes to rest and the allotter stops to hold the film in its stopped position. On the next command to find a photographic area, the allotter steps over the zero segment to restore all circuits to normal. Then the sequencing begins again when the allotter reaches segment 1.
The other major subdivisions (set off by dashed lines) of the circuit of Fig. 11 are the A and B sensor circuits 306, 308, code input circuit 310, keyboard 312, keyboard control circuit 314, debounce circuit 316, valid code detect circuit 318, transport control circuit 320, find mark circuit control circuit 322, and speed control circuit 324. A "plus 1" circuit 325 enables the film transport mechanism to advance one photographic area section at a time, as explained above in connection with the special bar code 89.
Means are provided for storing an address of a desired photographic area responsive to an operation of a selected key in the keyboard 312. In greater detail, the instantaneous position of the allotter 300 determines the sequence in which the various circuits operate. By inspec-tion, it is seen that the first circuit to opera-te (i.e., responsive to a signal from allotter segment 1) is debounce circuit 316. Responsive to a signal applied simultaneously to a lower input of AND gate 326 and to a monostable flip-flop 328, there is a period of time, indicated by pulse 330, during which the flip-flop 328 is "high" at terminal Q and "low" at terminal Q. Then, after pulse 330, the flip-flop 328 outputs go high at terminal Q, whereupon AND gate 326 conducts. The duration of pulse 330 is adequate for any contact bounce to subside, in keyboard 312.
Responsive to an output from AND gate 326, an enabling signal i5 applied to AND gate 332. If any switch in keyboard 312 has been operated, a selected combination of 113g865 signals appears at the keyboard output terminals 334. These signals pass through AND gate 332, when it is enabled from the output of AND gate 326, after the end of the debounce period.
Thus, the bar code address of the demanded photo-graphic area is stored in a comparator 336 while the allotter is on segment 1, according to the operation of a key in key-board 312.
When the allotter 300 reaches segment 2, a series of AND gates 338, 340, 342 are enabled, which commands the transport mechanism to start reeling the film. The direction of reeling depends upon information, if any, which may be stored in the code input circuit 310 prior to an operation of the key. It is here assumed that no information has been stored previously. Therefore, the film transport mechanism may begin reeling in either a forward or a reverse direction (one preferred direction is usually built into the circuits).
Means are provided for reading the bar codes as the film is reeled, responsive to the allotter reaching segment 3. Also, responsive to the allotter output from segment 3, an AND gate 304 conducts to cause allotter 300 to step back to segment 2, unless gate 304 is inhibited by a location of the desired photographic area. Actually, the allotter is operating at a suitable sampling speed and the film transport is operating with mechanical inertia. Therefore, the film runs smoothly and without interruption despite the allotter switching back and forth between segments 2 and 3.
The A and B sensors 306, 308 and the circuits 194, 196 are connected in parallel with wires J and K which may be used when a third sensor is employed to detect the direction of film movement, as disclosed in Fig. 14. Normally, wires J and K are not used.

^-` 11391~65 One embodiment of the reading principle was des-cribed above in connection with Fig. 4. There, it was ex-plained that one way of clocking is to interchange the roles of the A and B sensors, depending upon the direction of film travel. A second embodiment is shown and described in Fig.
12, comprising two graphical parts 346, 348, which refer to film travel in reverse and forward directions, respectively.
It will be noted that Fig. 12 is drawn so that the positions of sensors A, B, the bar code 92 and the clock symbols (arrow heads) on sensor A output are reversed in these two parts 346, 348. Upon reflection, it will be seen that these drawing reversals amount to film travel reversal. In each case, it may be assumed that either the bar code 92 moves to the left (arrow E) or the sensors move to the right (arrow G). This reversal symbology is here used so that the clock pulses 350 may be shown in the graph with apparent movement toward the right, since time is normally depicted by such rightward movement.
When A sensor is first over a code mark area (e.g., mark 349) of bar code 92, there is an upward movement or leading edge 352 in a graph of a pulse in the A sensor out-put. When the A sensor moves off a code mark area, there is a downward movement or trailing edge 354 in the output of the A sensor. In the embodiment of Fig. 12, as distinguished from the embodiment of Fig. 4, sensor A is always used as the clock for reading the output of sensor B. The arrow heads indicate when the output of the B sensor 104 is read (i.e., on the leading edge 352 in forward direction and the trailing edge 354 in the reverse direction). By inspection, and recalling the description of Fig. 4, it is seen that the output of the B sensor accurately reflects the binary information embodied in the bar code 92, regardless of whether the film is travelling in a forward or a reverse direction. 27 il39~65 The code input circuit 310 (Fig. 11) provides means for storing the bar code as it is read by the B sensor.
In greater detail, a shift register 356 has a clock input 358 controlled from A sensor 106 on either the leading or trailing edge of the sensor A clock pulses, as indicated in Fig. 12. The shift register 356 has an input 360, 361 con-- -trolled by B sensor 104. The direction of film travel is sensed at shift register 356 responsive to a signal on wire 362, which controls an exclusive OR gate 364 and which selectively marks a shift left terminal SL. If the shift left terminal SL is not marked, the shift register 356 shifts to the right.
The A sensor clocking of the shift register input is controlled this way. When A sensor 106 is over a bar code mark, amplifier 194 produces a pulse 366. For the duration of such pulse, an inverter 368 (Fig. 11) switches off its output so that AND gate 370 cannot produce an out-put. Simultaneously, AND gate 372 is energized by pulse 366. If the film is travelling in a reverse direction, wire 362 is not energized so that AND gate 372 conducts to clock the A sensor pulses into shaft register 356 responsive to the leading edge of pulse 366. However, if the film is travelling in the forward direction, wire 362 is energized to inhibit AND gate 372 so that there is no output responsive to the leading edge of the A sensor pulse 366. In this case, AND gate 370 conducts when inverter 368 switches its output on responsive to the trailing edge of pulse 366 (i.e., when the individual code marks pass out from under sensor A). Thus, as shown at 346 (Fig. 12), the clock pulses from the A sensor are effective on the leading edge when film travels in the reverse direction and on the trail-ing edge when film travels in a forward direction. Either 113g865 way, the outputs of the gates 370, 372 are conducted through OR gate 374 to an AND gate 376.
From Figs. 4 and 12, it will be recalled that the mark (a binary "0") in the bar code is one unit wide while the sensors are separated by one and one-half units. From Fig. 12, the B sensor is always read on the leading or rising edge 352 of the A sensor output for reverse film travel and on the trailing or falling edge 354 for forward film travel. A validity or parity check is made on the edges (not marked by arrow heads) of the A sensor output pulses which are opposite to the edges used for clocking.
Responsive thereto, the geometry of an envelope (curve D in the various figures) of the bar code is compared with pulse train produced. Care is taken to be sure that the geometry of this parity envelope is identical for both directions of film travel. Clocking on one edge and validity checking on the opposite edge, effectively reduces the spacing between the sensors so that at the time of validity checking, the B
sensor always has an output responsive to any mark in the bar code, when it is read on the clocking edge.
Means are provided for checking the apparent validity of the bar code, as read from the B sensor 104.
In greater detail, the A sensor 106 output is also applied from OR gate 374 to a code validation circuit 318. Inverter 378 conducts at all times, except when there is an output from OR gate 374. When there is an output from OR gate 374, the inverter 378 switches off. Hence, the effect of inverter 378 is to read the edge of the A sensor output pulse 366 which is opposite to the clocking edge of pulse 346.
The B sensor 104 feeds its output to the D terminal of a memory circuit 380, which reads and remembers the ~ 1139~65 output of the B sensor each time that inverter 378 enables a read in. As a result, the memory circuit 380 is set to a "high" potential state for the duration of the pulse train resulting, from a valid reading of ~he bar code by the B
sensor.
Responsive to the output potential at terminal Q
of memory circuit 380, a "high" potential is applied to the "clear" input CLR of shift register 356. The small circle or bubble 382 indicates that the "CLR" (or clear terminal) is "low" when the memory output is "high". Thus, shift register 356 may store the pulses received from B sensor 104.
However, if the B sensor 104 output does not recur within the period permitted by the memory 380, there is an interruption for a period which is long enough to cause the output potential at terminal Q of memory 380 to go "low".
When this interruption occurs, the CLR terminal goes "high"
to erase the memory stored in shift register 356. The result is that the shift register is cleared if an invalid (less than a full complement) code is received or at the end of a complete bar code, whichever occurs first. From a comparison of Figs. 4 and 12, it will be seen that there is a period of time equal to the width of the last A sensor pulse (at 115, Fig. 4) during which the bar code stored in shift register 356 may be effectively transferred to com-parator 336, before it is cleared responsive to the signal from memory 380.
If the film is travelling in a reverse direction, the output from B sensor 104 is read in-to shift reyister 356 (with shifting in a right hand direction) each time that a clock pulse from A sensor 106 appears at the output of AND

gate 376. This AND gate output may appear during the third segment in the operation of the allotter 300.

` 1139865 If the film is travelling in a forward direction, a signal feeds back over wire 362 to a shift left (SL) terminal.
This means that the bar code information read by the B sensor is shifted in a leftward direction each time that a clock pulse from A sensor 106 appears at the output of AND gate 376. Thus, it should be clear that the same in~ormation is stored in shift register 356 responsive to the two bar codes 92, as shown at 346, 348 in Fig. 12.
It may be recalled that the information (T) de-rived from the encoded output of the keyboard 312 was storedin comparator 336 during allotter time segment 1. The information (S) derived from the bar code is stored in comparator 336, as it is read by the sensors. The comparator 336 compares this stored information (T) and (S) and gives an output 384 which indicates which (S or T) is greater or when the two are equal. When the value of stored bar code information (S) is less than the value of the stored key-board information (T), the AND gate 338 conducts each time that allotter 300 segment 2 is energized. Likewise, AND
gate 342 conducts when the bar code information (S) is greater than the keyboard information (T). When the bar code information (S) is equal to the keyboard information (T), the AND gate 340 conducts. A terminal S ~ T is marked whenever the terminal S = T is not marked. The marking at terminal S ~ T energizes the "Go" wire, also seen in Fig. 8.
The forward motor 202 is driven responsive a signal transmitted from AND gate 338, through contacts 386 and OR
gate 388 to the forward driver amplifier 206 and motor 202, while the "Go" wire is marked via OR gate 387. Simultaneous-ly, a signal is returned over wire 362 to indicate the for-ward direction of film travel to the exclusive OR gate 364 and to the shift register 356 (i.e., shift register 356 ~39865 shifts leftwardly responsive to s sensor signals at input 360 when wire 362 is marked).
The reverse motor 204 is driven responsive to a signal transmitted from AND gate 342, through switch 390 and OR gate 391, to the driver amplifier 208 and the reverse motor 204, while the "Go" wire is marked via OR gate 387.
Note that on reverse drive, no signal is fed back via wire 362 so that the shift register 356 stores bar code infor-mation by shifting rightwardly, responsive to B sensor I0 signals at input 361.
- As the film travels, there comes a time when the desired bar code passes under the A and B sensors. At that time, the signal switches from S >T through S = T to S < T
or from S < T through S = T to S > T, as the case may be, since inertia of the moving transport system carries the film beyond the desired film area. At that same time, the AND gates 338 and 342 switch their conductive states. The formerly driven motor ceases to be driven, and the formerly undriven motor is driven. The reversal of the driven motor causes the film to move back in the reverse direction, as graphically shown in Figs. 5 and 6.
Since the ~ilm has just reversed its direction of travel, it will not have had enough time to get up to speed.
Therefore, the film is travelling relatively slowly when the desired bar code is next encountered. The comparator signal again passes from S < T or S > T (depending on the direction of film travel) to S = T. ~hen the output is S = T, the marking disappears from the terminal S ~ T. At that time the speed control circuit 324 modulates the "Go" signal ap-plied via wire 406.

The AND gate 340 conducts to apply a signal toinhibit the AND gate 304. The allotter 300 ceases stepping back and forth between segments 2, 3. On the next pulses from the free running oscillator, the allotter 300 steps onto segments 3 and 4.
When the comparator 336 detects an approximate equality (i.e., the film is within one bar code of the desired photographic film area), an inhibit is removed from terminal 398 of the AND gate 400. This prepares the circuits to stop the film with a controlled deceleration curve.
After the inhibit is removed from the gate 400, the potential on the fourth segment of allotter 300 is applied to an astable multivibrator 404. Responsive thereto, the multi-vibrator begins to pulse "Go" wire 406 in order to interrupt the energization of the motors. Also, responsive to the output of the gate 400, the ramp control circuit 408 begins to gradually modulate the astable period of the multivibrator 404, as shown in Fig. 13. Initially the motor drive is energized for short periods of time and de-energized for long periods, as shown in the curve of Fig. 13A. As the ramp control circuit 408 progressively increases its output, the "On" durations from the multivibrator 404 become progressively longer, as shown in Figs. 13B and C, and the motor receives progressively higher levels of energization.
This gradual control of film transport speed, responsive to a ramping of an energy interrupting duty cycle, produces three results. First, it eliminates the need for a tachometer. Second, it overcomes inconsistencies produced by variations of unknown film transport friction, without clutching. Third, there is a control over acceleration and deceleration so that the rate of deceleration always exceeds the rate of acceleration so that the film comes int~ final position without requiring braking.

~' ~139~65 As explained in connection with Fig. 9, there comes a time when the energy level which is progressively in-creased, creates a torque that overcomes the static friction of the film transport system. Thus, regardless of any variations in instantaneous friction the motor always begins to turn with the same characteristics, slowly at first, and then with increasing speed.
Since the film is almost correctly positioned at this time, there is not enough time for the transport mechanism to acquire any appreciable speed or inertia. The point is that the slowly increasing energy, caused by changes in the duty cycle of multivibrator 404, just overcomes ~ static friction. Therefore, the film begins to creep along.
Although, the current is increasing, the film will be stopped before it accelerates to any appreciable speed.
When the signal actually becomes and remains S = T, the AND gate 340 conducts to energize AND gate 402. On the fifth segment of allotter 300, AND gate 402 conducts and operates the ~5UX switch 392. Contacts symbolically shown at 386, 390 move to complete circuits through contacts 394, 396. The allotter 300 stands on the fifth segment until the next operation of a key on the keyboard 312.
Final positioning means are provided for finding an exact point in the bar code so that A sensor 106 is exactly aligned over one edge of a specific one of the selected bar code marks. More particularly, after the MUX
switch 392 operates, the A sensor 106 is connected through terminals 394, contacts 386 and OR gate 388 to the forward motor driver 206. The A sensor is also connected through inverter 410 to terminal 396, contacts 390 and OR gate 391 to the reverse motor driver 208. This way, the forward motor drives when the A sensor has an output and the reverse 1139~65 motor drives when the A sensor does not have an output. The film repeatedly reverses direction, as often as may be de-sired for the film to come to rest with a bar code mark precisely positioned relative to the A sensor, as shown in Figs. 5, 6. The exact nature of the final stopping position, relative to the A sensor, depends upon bias potentials used.
Any of various means may be provided for deter-mining when the film is finally positioned. As here shown, the film reverses its direction a selected predetermined number of times which brings the fllm to rest within acceptable tolerance limits. Then, the film transport reversals are automatically stopped. Each of the motors is then energized at a reduced level in order to maintain film tension.
In greater detail, before the film transport control circuit (Fig. 11) goes into the find the mark sequence, the S ~ T marking is applied over wire 413 to hold a reset con-dition on the film stop circuit 324, thereby inhibiting its operation. When S becomes equal to T, comparator 336 switches the marking from output terminal S ~ T to output terminal S = T, which de-energizes wire 413 and thereby removes the inhibit from the film stop circuit 324.
When the A sensor 106 detects a bar co~e mark, flip-flop 414 generates a pulse which is transmitted through OR gate 415 to drive counter 416 and reset the ramp control circuit 408. When the A sensor moves off a bar code mark inverter 410 conducts and the flip-flop 417 operates with similar resul-ts. Each time that the ramp control circuit 408 resets responsive to a signal at terminal 420, the duty cycle of multivibrator 404 repeats the increase of energy I level depicted in Fig. 13 and again causes energy to be applied at progressively higher levels to the driven motor.

1~;7 1~39865 The duty cycle of the multivibrator 404 goes through the progression depicted by the curves 13A, B, C, in the order in which these curves are drawn.
After a selected number of film drive reversals have occurred, counter 416 reaches an output terminal 418.
At this time, both of the OR gates 388, 391 are energized from output terminal 418 so that both of the motors 202, 204 are energized simultaneously, to maintain film tension.
At the same time, the signal transmitted from counter output terminal 418, through capacitor 419, reverses the ramp control circuit 408. This time the duty cycle of the astable multivibrator 404 progresses from a high energy level tFig. 13C) to a low energy level (Fig. 13A), inversely to the order in which these curves are drawn. Thus, the "Go" wire is modulated via conductor 406 and OR gate 387.
There is a reducing energy level duty cycle, which holds a constant film tension without enabling the motors to actually move the film.
The circuit remains in this condition until the next operation of a key in keyboard 312, at which time the allotter 300 steps off the fifth segment. On the zero segment of allotter 300, all circuits are reset to normal.
Then, the circuit of Fig. 11 repeats the above-described sequence, when the allotter 300 reaches segment "1".
Fig. 2 illustrates a "plus 1" operation in its disclosure of a special bar code 89 which is a single wide mark. The user pushes a special key in keyboard~312 when he wishes to advance the roll of microfilm to display the next photographic area. It is somewhat similar to turning the page of a book. For this, the special key in keyboard 312 is equipped to transmit a special "plus 1" ~ode. An AND gate 412 is wired to conduct whenever that special code is sent.

` 113986S

In greater detail, the "plus 1" control circui-t is shown and explained by Figs. 16-21. More particularly, Fig.
16 illustrates the possible differences between an exemplary two bar codes and "plus 1" code. The bar codes always in-clude a pluraltiy of long and short marks, as shown in Fig.
3; the "plus 1" mark includes only one long mark. Exemplary bar code 16A begins with a short mark 500 followed by a long mark 502 and any other combination of marks (not shown). sar code 16B begins with a long mark 504, followed by a long mark 506 and any other combination of marks (not shown). Of course, the second marks 502, 506 may also be short marks;
however, this distinction is totally irrelevant. The "plus 1" mark is a single long mark, not followed by any other combination of marks. Elence, the object of the "plus 1"
mark is to enable the film transport to advance, responsive to a single wide mark, from photographic area to photographic area, one at a time, as explained above in connection with Fig. 2. If the advancing fiim does not contain a "plus 1"
mark, it returns to the last bar code. This is somewhat similar to turning a page and finding the start of a new chapter, in which case, the reader may wish to return to the-start of the chapter that he is reading.
Figs. 17-19 are timing charts, similar to the chart of Fig. 4, for explaining the A, B sensor outputs responsive to the three codes of Figs. 16A-C. Thus, for example, the bar code of Fig. 16A produces the outputs of Fig. 17. It should be noted that the first output pulse 510 of the Bl sensor curve occurs responsive to the bar code mark 500.
Pulse 510 then disappears before the parity check envelope Dl goes "high" at 512 ~i.e., sensor A goes "low" while senspr B iS "high"). Likewise, in Fig. 18 the first output pulse 514 of the B2 sensor curve disappears before the ~139865 parity check envelope D2 goes "high" at 516 (again sensor A
goes "low" while sensor s is "high"). However, in the "plus 1" graph (Fig. 19), the parity check envelope D3 never goes "high" because sensor B is "low" when sensor A goes low.
Accordingly, the truth table of Fig. 20 may be drawn after an inspection of Figs. 17 19. Cell 1 is taken from Fig. 17 and shows that if the parity envelope D goes high (i.e., is 1) and if the "1" bar code pulse is "0", cannot be a "pulse 1" code. Likewise, cell 2, which is taken from Fig. 18, shows that there is no "plus 1" mark when the parity envelope D goes high and the "1" output is 1.
There is a "plus 1" mark only when the signals are as shown in cell 3, where the parity envelope D is O (i.e., does not go "high") and there is a "1", or wide first pulse en-countered by the B sensor. If the parity envelope does not go high and the B sensor has a "1", it means that there is one and only one mark in the bar code and that the one mark is no shorter than 2x or longer than 3.5x, using the nomenclature of Fig. 4. This combination virtually insures that the system will not respond to a smudge on the film.
Fig. 21 shows a circuit for operating the film transport responsive to an operation of a "plus 1". In greater detail, the "plus 1" key causes an AND gate 412 to conduct and drive a sequence counter 520 via OR gate 522.
The counter takes one step to initiate a first sequence whereby forward motor 202 is started via wire 524 and OR gate 526. Simultaneously, one input of AND gate 528 is energized. If the A sensor 106 is standing over a bar code mark, inverter 530 does not conduct. However, once the film moves far enough, the bar code mark clears the A
sensor and inverter 530 switches on. The AND gate 528 con-ducts to step counter 520 via OR gate 522.

" 1139~365 The counter 520 stands on its second step and the second sequence begins. Motor 202 continues to run res-ponsive to the signal transmitted over wire 532 and -through OR gate 526. The upper input of AND gate 534 is energized.
After the film reaches the end of a photographic area, the next bar code moves under the A sensor 106. The lower input of the AND gate 534 is energized to step counter 520 via OR
gate 522; the se~uence counter step on to motivate the third sequence.
In the third sequence, the circuit looks for a detection of the "plus 1" bar code by the B sensor 104. The potential on wire 535 keeps the forward motor running and energizes the upper input of AND gate 536. Responsive to the B sensor reading a mark, AND gate 536 conducts to step the sequence counter 520 via OR gate 522.
It is now necessary to read the bar code to deter-mine whether it is a single wide mark or a series of bar code marks. Accordingly, on the fourth step of counter 520, the motor 202 continues to run responsive to the marking on wire 538, and the upper input of AND gate 540 is marked. When the bar code mark moves away from the A sensor 106, inverter 530 energizes the lower input of AND gate 540 to step the sequence counter 520 to the fifth step.
However, if the B sensor 104 does not detect any bar code mark Oll the fourth step of counter 520, there is a problem and the "plus 1" sequence should be stopped Accordingly, an inverter 544 conducts while no bar code mark is under the B sensor in order to mark the upper input of AND gate 552. When AND gate 534 conducts to step the counter 520 to the third step, the AND gate 552 conducts to start a timer 554. For a measured period of time the timer 554 holds an inhibit on gate 556. By the time that timer 554 times outl the B sensor 104 should have found a bar code mark, in which case, AND gate 536 conducts to continue holding an inhibit on the AND gate 556. The gate 556 is no longer capable of having an output after the sequence switch 520 step off its step 3. However, if the B sensor 104 has not found a bar code mark, the inhibit is not present at the upper input of gate 556 when the timer 554 times out. There-fore, gate 556 conducts to stop the "plus 1" sequence.
The fifth sequence occurs when both the A and B
sensors 106, 105 are reading a mark (as shown in Fig. 19).
Responsive thereto, inverters 530, 544 conduct, and acting through AND gate 546, energize the upper input of AND gate 548. The lower input of gate 548 is energized when the counter 520 is setting on its fifth step. Responsive to the output of AND gate 548, the MUX switch 392 (Fig. 11) operates and the transport goes into its find the mark sequence. When the mark is found, wire 550 is marked and sequence counter 520 steps to its sixth step, from which the circuit resets to normal.
The parity envelope cannot appear during a valid "plus 1" sequence, as will be apparent from Figs. 16-20. If a parity envelope does appear, memory 380 produces a signal at its Q terminal. Responsive thereto, gate 548 is inhibited so that the MUX switch cannot operate, sequence counter 520 is reset to cancel the "plus 1" operation, and flip-flop 562 is set. The flip-flop 562 energizes the upper input of AND
gate 564, where there is a coincidence with the output of the "plus 1" AND gate 412. Driver 208 and reverse motor 204 operates. The film is now driven backward through any number of "plus 1" area codes, each of which is marked by a single wide mark.

"` 113~86S

The output of AND gate 564 is applied through an OR gate 566 to step a counter 568 to its first or "1" step, where it marks the lower input of AND gate 567. Counter 568 remains on step "1" while the film rewinds. Evenutally, the film comes to a full and complete bar code, which causes a parity envelope to reappear. The memory 380 conducts to mark the upper input of AND gate 567 and thereby feed back a signal through OR gate 566 to step counter 568 on to the Step "2". There, a signal is produced to reset flip-flop 562, de-energize AND gate 564, and terminate the "plus 1" circuit control over rewind. Also, the output of counter step 2 causes the circuit of Fig. 11 to go into a "find the mark" sequence to position the film on the full and complete bar code that was just found. While the trans-port is going through its find the mark routine, step 2 of the counter 568 holds an inhibit on gate 570 to prevent the OR gate from responding to a mark found signal. When the mark is found, the counter 568 is reset to de-energize the "2" output. This removes the inhibit from gate 570.
20 Thereafter, the OR gate 522 is energized by the "mark found"
wire 550.
Upon reflection, it is seen that the inventive "plus 1" is quite different from prior art circuits. For example, if the film in a prior art circuit is standing on frame "514", a "plus 1" would advance the film to "515", regardless of the information content of frame "515". In the inventive circuit, a film standing on 514 (in this example) is advanced to frame 514-1, then 514-2, 514-3...
etc. When the film reaches frame 515, it automatically 30 rewinds through all of the dash number frames (here -3, -2, -1) and stops on the original frame ~14. When the images are originally recorded on the film, they are numbered according to the informational content of the recorded ima~es.

`` ~13~8~S

Sometimes, it is either necessary or desirable for the machine to detect the direction of film travel, in-dependently of the outputs 384 of the comparator 336 (Fig.
11). For this, three sensors (A, B, C) are used, as shown in Figs. 14, 15. These three sensors are geometrically arranged, as shown in Fig. 15 so that the C or third sensor 420 lies between the A and B sensors 106, 104. A11 three sensors are positioned to read the same bar code.
It may be recalled that the narrow bar code mark has a width of "X", the wide bar code mark has a width of "2X", and the space between the A and B sensors is 1.5 "X".
Therefore, when each mark in the bar code is first read, there are the four possibilities shown in Fig. 15 by the truth table 424. More particularly, in either direction of film travel, a wide bar code mark simultaneously covers all three sensors to produce a binary word 111. ~lowever, a narrow bar code simultaneously covers only two of the sensors at a given time. Hence, if the narrow mark 422 passes under the sensors in the reverse direction, there will be a simultaneous output from the A and C sensors before there is-a "0" output from the A sensor, to give the binary word 110 (as at 426). When the narrow mark travels in an opposite direction the binary word is reversed to become 011 (as at 42~), before there is a "0" output from the B
sensor.
From Fig. 11, it will be recalled that wire 362 is marked when the film is travelling in the forward direction.
An absence of a mark on this wire indicates that film is travelling in a reverse direction. Thus, it is only necessary for the three sensors (Fig. 14) to detect and signal the forward motion and to feed the resulting signal to gate 372 and to the SL input to the shift register 356.

To connect the three sensor circuits of Fig. 14 to the control circuit of Fig. 11, it is only necessary to interconnect wires J, K and M in these two figures. Diodes 430, 432 prevent feed back between the circuit of Fig. 14 and the junction between the OR gate 388 and the MUX switch 386.
Each of the A, B, C sensors (Fig. 14) is connected to its individually associated drivers 194, 196, 436 which are, in turn, connected to individual stages in a three stage register 440. (Sensors 104, 106 and drivers 194, 196 are shown in dotted lines in Fig. 14 since they already appear in Fig. 11). The individual stages in register 440 are set each time that the output of the associated sensor detects a mark in the bar code. By inspection of Fig. 15, it will be seen that a forward film motion is always in-dicated by the binary word "011", as shown at 428. Regard-less of whether the narrow or the wide bar code mark passes under the sensor, such mark changes to the binary word "011"
when the mark passes out from under the A sensor and is still under the B and C sensors. On the other hand, if either the wide or the narrow mark is under the sensors, the output becomes "110" when the mark passes out from under the B
sensor.
The AND gate 442 conduc-ts only when the three stages of memory 440 conduct simultaneously. This means that a bar code mark has passed under all three sensors.
The gate 444 conducts when there is an output from the AND
gate 442, but not from the sensor A (i.e., sensor A must turn off to remove an inhibit from input 446). A free running multivibrator 448 repeatedly resets the memory 440.

i3986S

The speed of this electronic reset and the mechanical transport speed are such that the output of the AND gate 442 does not have time to disappear before the output of the A sensor 104 disappears. Accordingly, gate 444 conducts only when the binary word "011" appears. If the film runs in reverse direction, the B sensor 106 ceases to conduct at a time when the A sensor 104 still has an output that inhibits the gate 444. Before the bar code mark passes out from under sensor A, the output of the free running multi-vibrator 448 resets the memory 440. Hence, ~ate 444 never conducts while the film is travelling in a reverse direction. Thus, an output on the wire M indicates a for-ward film motion and is effective in Fig. 11 in the same manner that a marking on wire 362 is effective.
Those who are skilled in the art will readily perceive how the disclosed structure may be modified.
Therefore, the appended claims are to be construed to cover all equivalents falling within the true scope and spirit of the invention.

Claims (40)

The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:
1. A microfilm reader/printer having a viewing area for use with a web having thereon photographic areas which are individually identified by elongated codes including a series of marks with the elongated dimension of said series of marks being aligned and positioned along the edge of said web, and extending over a portion of the length of said web, each of said codes being positioned adjacent individually associated ones of said areas, means for transporting said web over a path through said reader/printer in either of two opposing directions which presents said marks in series to any point along the path of web travel, at least a pair of sensor means located adjacent said path for individually reading each of said codes in series as said web is being transported adjacent said sensor means, said sensor means reading said code re-sponsive to transport of said web in either of said two directions, means responsive to code reading by one sensor means under the control of the other sensor means for storing a code identifying a photographic area on said web, means for indicating a selected code, comparator means jointly respon-sive to the codes read by said sensor means and said code-indicating means for comparing the sensed and indicated codes, and means for reversing the direction of web transport re-sponsive to said comparing means detecting a change in the relationship between said compared codes which indicates that the desired photographic area has passed the viewing area, a function performed by at least one of said sensor means reversing each time that the direction of web travel reverses.
2. The reader/printer of claim 1 wherein there is a first motor for reeling said web in one of said two directions and a second motor for reeling said web in the opposite of said two directions, and means responsive to said comparator means finding equality between said compared codes for connecting said sensor means directly to one of said motors and through an inverter means to the other of said motors whereby the reeling of said web repeatedly reverses said directions until a mark sensed by said sensor means comes to rest directly under said sensor means.
3. The reader/printer of claim 2 and means whereby the deceleration is greater than the acceleration each time that said web transport means reverses direction so that said film comes to rest without braking.
4. The reader/printer of claim 1 wherein each of said codes comprises a predetermined number of marks, means for generating parity envelope representing the beginning and the end of said predetermined number of marks, and means for rejecting said code if said predetermined number of marks are not read during said parity envelope.
5. The reader/printer of claim 1 wherein said means for indicating a code of a selected photographic area comprises means for separately indicating two codes.
6. The reader/printer of claim 5 wherein one of said two codes identifies a book and the second of said two codes identifies a chapter.
7. The reader/printer of claim 6 and means for manually selecting a page in said chapter.
8. The reader/printer of claim 1 wherein said means for indicating a selected code includes a mechanical keyboard, whereby operation of a key may cause a contact bounce, means responsive to operation of a key for measuring a period of time which exceeds the contact bounce period, and means responsive to said measuring means for transferring an indicated code signal from said keyboard to said comparing means after the end of said measured period of time.
9. The reader/printer of claim 1 and time control means for cyclically reading said comparator means and said sensing means, whereby said comparator means is continuously updated as to the instantaneous code being read by said sensor means.
10. The reader/printer of claim 9 and means responsive to said comparator means finding an approximate equality between said compared codes for interrupting said cyclic reading and initiating a transport homing sequence.
11. A microfilm reader/printer having a viewing area for use with a web having thereon photographic areas which are individually identified by codes, each of said codes being a series of similar marks formed against a contrasting background extending along the length of the web, the length of said web being parallel to the series of marks and adjacent individually associated ones of said areas, means for transporting said web over a path through said reader/printer in either of two opposing directions which presents said marks in series to any point along the path of web travel, a pair of sensor means located adjacent said path for individually reading each mark of said codes, each of said sensor means individually reading each mark in said series as it appears whereby said marks are read in one order when said web transport is driving in one direction and in an inverse order when said web transport is driving in the opposite direction, means responsive to code reading by one sensor means under the control of the other sensor means for identifying a photographic area on said web, shift register storage means for storing signals representing each of said marks, means responsive to said sensor means for storing data in said shift register with shifting in a first direction when said web transport moves in said one direction and with shifting in an opposite direction when said web transport moves in said opposite direction whereby the same code stores the same data in said shift register regardless of the direction of web travel, means for indicating a selected code, comparator means jointly responsive to the codes read by said sensor means and said code-indicating means for comparing the sensed and indicated codes, and means for reversing the direction of web transport responsive to said comparing means detecting a change in the relationship between said compared codes which indicates that the desired photographic area has passed the viewing area, a function performed responsive to at least one of said sensor means reversing each time that the direction of web travel reverses.
12. The reader/printer of claim 11 and means responsive to said comparator means for controlling the direction in which said data is shifted in said shift register.
13. The reader/printer of claim 11 and means responsive to said sensor means for detecting the direction of web travel and controlling the direction in which said data is shifted into said shift register.
14. The reader/printer of claim 13 wherein said sensor means comprises three sensors, all activated in sequence responsive to each mark in said series of marks.
15. A microfilm reader/printer having a viewing area for use with a web having thereon photographic areas which are individually identified by codes printed along the length of said web and adjacent individually associated ones of said areas, means for transporting said web through said reader/
printer in either of two opposing directions, sensing means for (claim 15 cont'd) reading each of said codes as said web is being transported in either of said two opposing directions adjacent said sensing means, means for indicating a code identifying a selected photographic area on said web, comparator means jointly responsive to said sensing means and said indicating means for comparing the sensed and indicated codes, means for reversing the direction of web transport responsive to said comparing means detecting a change in the relationship between said compared codes which indicates that the photographic area has passed the viewing area, said printed code being a series of marks extending along the length of the web, the length of said web being parallel to the series of marks, said sensor means individually reading each mark in said series as it appears, whereby said marks are read in one order when said web transport is driving in one direction and in an inverse order when said web transport is driving in the opposite direction, storage means responsive to said sensing means, said storage means comprising shift register storage means for storing signals representing each of said marks, means responsive to said sensor means for storing data in said shift register with shifting in a first direction when said web transport moves in said one direction and with shifting in an opposite direction when said web transport moves in said opposite direction, whereby the same code stores the same data in said shift register regardless of the direction of web travel, said series of marks in said printed code comprising a binary word series of discrete marks extending along predetermined lengths of said web, said sensing means comprising two sensor means located a predetermined distance from each other to scan the same series of marks, each of said sensor means being positioned to generate a pulse having leading and trailing edges responsive to each of said discrete marks, means responsive to the leading edge of each of said pulses from one of said sensors for gating the output of the other of said sensors into said shift register when said web transport moves in a first direction, and means responsive to the trailing edge of each of said pulses from said one sensor for gating the output of the other of said sensors into said shift register when said web transport moves in the second of said directions, whereby the same data is shifted into said shift register regardless of the direction of web travel.
16. The reader/printer of claim 15 and code validation means operated responsive to the trailing edge of each of said pulses from said one sensor when said transport moves said web in said first direction and to the leading edge of each of said pulses from said one sensor when said transport moves said web in said second direction, and means responsive to said code validation means for clearing said shift register when an invalid code is detected.
17. The reader/printer of claim 16 wherein said code validation means operates responsive to a failure of said one sensor to generate succeeding pulses within a predetermined period of time.
18. A microfilm reader/printer having a viewing area for use with a web having thereon photographic areas which are individually identified by codes including a series of marks positioned along the length of said web and adjacent individually associated ones of said areas, means for transporting said web over a path through said reader/printer in either of two opposing directions which presents said marks in series to any point along the path of web travel, first motor means for reeling said web in one of said two directions and second motor means for reeling said web in the opposite of said two directions, a pair of sensor means located adjacent said (claim 18 cont'd) path for individually reading each of said codes in series as said web is being transported adjacent said sensor means, said sensor means sensing said code responsive to transport of said web in either of said two directions, means responsive to code reading by one sensor means under the control of the other sensor means for storing a code identifying a photographic area on said web, means for indicating a selected code, comparator means jointly responsive to the codes read by said sensor means and said storing means for comparing the sensed and indicated codes, means responsive to said comparator means finding equality between said compared codes for connecting said sensor means directly to one of said motors and through an inverter means to the other of said motors whereby the reeling of said web repeatedly reverses said directions until a mark sensed by said sensor means comes to rest directly under said sensor means, said last-named means reversing the direction of web transport responsive to said comparing means detecting a change in the relationship between said compared codes which indicates that the desired photographic area has passed the viewing area, a function performed by at least one of said sensor means reversing each time that the direction of web travel reverses, means responsive to said comparator means detecting approximate equality between said sensed and indicated codes for initiating a sequence for homing said web at a desired position, means for carrying out said homing sequence by repeatedly and cyclically interrupting the energy supplied to said motors, and means for progressively changing the duty cycle of said energy interrupting means so that a progressively greater level of energy is applied to said motors each time that the web reverses direction, whereby said motors start slowly when the level of said progressively increasing energy reaches a level which overcomes friction in said transport means.
19. The reader/printer of claim 18 and means responsive to said homing sequence for simultaneously energizing both of said motors, and means for progressively reducing the level of energy applied to said two motors for maintaining web tension without moving said web.
20. A microfilm reader/printer having a viewing area for use with a web having thereon photographic areas which are individually identified by codes including a series of marks positioned along the length of said web and adjacent individually associated ones of said areas, means for transporting said web over a path through said reader/printer in either of two opposing directions which presents said marks in series to any point along the path of web travel, a pair of sensor means located adjacent said path for individually reading each of said codes in series as said web is being transported adjacent said sensor means, sensor means sensing said code responsive to transport of said web in either of said two directions, means responsive to code reading by one sensor means under the control of the other sensor means for storing a code identifying a photographic area on said web, means for indicating a selected code, comparator means jointly responsive to the codes read by said sensor means and said code-indicating means for comparing the sensed and indicated codes, means for reversing the direction of web transport responsive to said comparing means detecting a change in the relationship between said compared codes which indicates that the desired photographic area has passed the viewing area, a function performed by at least one of said sensor means reversing each time that the direction of web travel reverses, means responsive to a demand for a predetermined one of said codes for advancing said web by a distance equal to one photographic area in search for a distinctive code printed on said web, means responsive to said distinctive code for homing said web with said one photographic area in said viewing area and means responsive to detection of any except said distinctive code for returning to the last preceding code.
21. A microfilm reader/printer having a viewing area for use with a web having thereon photographic areas which are individually identified by codes including a series of marks positioned along the length of said web and adjacent individually associated ones of said areas, means for transporting said web over a path through said reader/printer in either of two opposing directions which presents said marks in series to any point along the path of web travel, a pair of sensor means located adjacent said path for individually reading each of said codes in series as said web is being transported adjacent said sensor means, sensor means sensing said code responsive to transport of said web in either of said two directions, means responsive to code reading by one sensor means under the control of the other sensor means for storing a code identifying a desired photographic area on said web, a keyboard means having a plurality of keys which are individually marked with said codes for indicating a selected code, comparator means jointly responsive to the codes read by said sensor means and said keyboard means for comparing the sensed and indicated codes, means for reversing the direction of web transport responsive to said comparing means detecting a change in the relationship between said compared codes which indicates that the desired photographic area has passed the viewing area, a function performed by at least one of said sensor means reversing each time that the direction of web travel reverses, one of said keys being marked with a plus one symbol to indicate that said transport should advance by one photographic area, means responsive to operation of said plus one key for advancing said web until the next code comes under said sensing means, and means responsive to said next code for either stopping said transport or for rewinding to a preceding web area, depending upon the nature of the code.
22. A process for using a microprocessor to control a reader/printer having a viewing area for use with strips of film, each strip of film having thereon a plurality of photographic areas, each photographic area being individually identified by an elongated series of code marks sequentially formed, the elongated dimension of said series extending along and parallel with the length of said film, said process comprising the steps of:
(a) transporting said strips of film in either of two directions through said reader/printer, (b) sensing in series each mark of said codes on said film at each of two separated positions as said film is being transported in either of two directions through said reader/printer, the sensing at one of said two positions a function of sensing at the other of said two positions, said sensed series of marks being inverted when said film is transported in one of said two directions, (c) indicating a selected code for identifying a selected one of said photographic areas on said film, (d) comparing the sensed and indicated codes to determine the direction which said film should be transported through said reader/printer in order to reach said selected one of said photographic areas, (e) reversing the direction of film transport responsive to said comparison indicating that a change of transport direction is necessary to bring the selected photographic area into the viewing area, and (f) reversing the function performed in at least one of said two sensing positions responsive to each transport reversal.
23. The process of claim 22 and the added step of driving the transport for said film in either a forward or a reverse direction responsive to the sensing of said code.
24. The process of claim 22 wherein said film transport has two motors for individually reeling said film in opposite directions, and the added steps of:
(g) detecting an approximate equality between said sensed and indicated codes for initiating a stop sequence which repeatedly reverses the film transport, (h) carrying out said stop sequence by repeatedly and cyclically interrupting energy to said motors after each reversal, and (i) progressively changing the duty cycle of said energy interruptions after each reversal so that a progressively greater level of energy is applied to said motors, whereby said motors start slowly after each reversal when said progressive-ly increasing energy reaches a level which over-comes friction in said film transport.
25. The process of claim 24 and the added steps of:
(j) energizing both of said motors with a pro-gressively lesser level of energy whereby said two motors maintain film tension without moving said film.
26. The process of claim 22 and the added steps of:
(g) generating a pair of time displaced pulses responsive to each of said code of marks, whereby there are two identical pulse trains, one lagging after the other, and (h) clocking the pulses in one of said two pulse trains responsive to the corresponding pulses in the other of said two pulse trains.
27. The process of claim 26 and the added step of reversing the role of said two pulse trains responsive to the reversing of said film transport.
28. The process of claim 22 and the added steps of:
(g) indicating the code in step (c) responsive to a keyboard operation subject to a contact bounce, (h) measuring a period of time which exceeds the period during which said contact may bounce, and (i) transferring a code signal from said keyboard for comparing in step (d) after the end of said measured period of time.
29. The process of claim 22 and the added step of:
(g) cyclically repeating said steps (b) and (d) whereby said comparison is continuously updated to reflect the instantaneous code reading.
30. The process of claim 29 and the added steps of:
(h) finding an approximate equality between said compared codes during repeated steps (d) for interrupting said cyclic reading, and (i) initiating a transport stopping sequence.
31. The process of claim 22 wherein there is a first motor for reeling film in one direction and a second motor for reeling said film in an opposite direction, said process including the added steps of:
(g) finding equality between said compared codes during step (d), (h) connecting one of said motors directly to be controlled by the sensing of step (b), and (i) connecting said one motor indirectly to be controlled in an inverse sense by the sensing of step (b) whereby said film repeatedly reverses direction until a mark sensed during said sensing step (b) comes to rest directly under a desired point of reference.
32. The process of claim 22 wherein step (c) comprises the further steps of:
(c-1) registering a first address in terms of a book title to identify a book of information data, (c-2) registering a second address in terms of a chapter title to identify a chapter of information data included within said identified book, (c-3) automatically transporting said web to find the book and chapter of information data addressed during steps (c-1) and (c-2), and (c-4) manually finding a page in the chapter found during step (c-3).
33. The process of claim 32 and the added steps of:
(g) reading bar code addresses formed on said web in terms of a standard address code geometry while said transport moves said web, (h) comparing the address read during step (g) with a standard geometry of an address code, and (i) accepting or rejecting the address read during step (g) responsive to the comparison of step (h).
34. A process for using a microprocessor to control a reader/printer having a viewing area for use with strips of film, each strip of film having thereon a plurality of photographic areas, each photographic area being individually identified by a series of code marks sequentially formed along the length of said film each of said series of code marks being a similar mark on a uniform background to form a binary word, said process comprising the steps of:
(a) transporting said strips of film in either of two directions through said reader/printer, (b) sensing in series each mark of said codes on said film as it is being transported in either of two directions through said reader/printer, said sensed series of marks being inverted when said film is transported in one of said two directions, (c) the sensing of step (b) comprising a reading of each mark in said series as it appears before sensing means stationed along a path over which said film is transported, whereby said marks are read in the binary word order when said film transport is driving in one of said two directions and in an inverse order when said film transport is driving in the other of said two directions, (d) indicating a selected code for identifying a desired one of said photographic areas on said film, (e) comparing the sensed and indicated codes to determine the direction which said film should be transported through said reader/printer in order to reach said desired one of said photographic areas, (f) reversing the direction of film transport responsive to said comparison indicating that a change of transport direction is necessary to bring the desired photographic area into the viewing area, and (g) storing data read in the binary word order by insertion into one side of a memory when said film transport drives in said one direction and storing data read in said inverse order by insertion into the other side of said memory when said film transport moves in an opposite direction, whereby the same data always appears in the same order in said memory regardless of the direction of film travel.
35. A process for using a microprocessor to control a reader/printer having a viewing area for use with strips of film, each strip of film having thereon a plurality of photographic areas, each photographic area being individually identified by code marks printed along the length of said film, said process comprising the steps of:
(a) transporting said strips of film in either of two directions through said reader/printer, (b) sensing each of said codes on said film at each of two sensors as said film is being transported in either of said two directions through said reader/printer, (c) indicating a selected code for identifying a selected one of said photographic areas on said film, (d) comparing the sensed and indicated codes to determine the direction which said film should be transported through said reader/printer in order to reach said selected one of said photographic areas, (e) reversing the direction of film transport responsive to said comparison indicating that a change of transport direction is necessary to bring the selected photographic area into the viewing area, (f) generating a pulse having leading and trailing edges responsive to each of said series of marks passing each of said two sensors, (g) gating the output of one of said sensors into memory storage responsive to the leading edge of each of said pulses from the other of said sensors when said film transport moves in one direction, and (h) gating the output of said one sensor into memory storage responsive to the trailing edge of each of said pulses from said other sensor when said film transport moves in the other of said directions.
36. The process of claim 35 and the added steps of:
(i) validating each of said pulses from said one sensor responsive to the trailing edge of each of said pulses from the other of said sensors when said transport moves in said one direction and to the leading edge of each of said pulses from said other of said sensors when said trans-port moves in said other direction, and (j) clearing said shift register when an invalid code is detected.
37. The microfilm reader/printer of claim 1, 3 or 4 wherein one of said sensor means clocks the other of said sensor means when said sensor means read said code responsive to transport of said web in either of said two directions, the clocking function performed by said one of said sensor means reversing each time that the direction of web travel reverses.
38. The microfilm reader/printer of claim 5, 8 or 9 wherein one of said sensor means clocks the other of said sensor means when said sensor means read said code responsive to transport of said web in either of said two directions, the clocking function performed by said one of said sensor means reversing each time that the direction of web travel reverses.
39. The process for using a microprocessor to control a reader/printer of claim 22, 24 or 25 wherein, in sensing in series each mark of said codes on said film at each of two separated positions as said film is transported in either of said two directions, the sensing at said one of said two positions clocks the sensing at the other of said two positions and the clocking function is reversed responsive to each transport reversal.
40. The process for using a microprocessor to control a reader/printer of claim 28, 31 or 33 wherein, in sensing in series each mark of said codes on said film at each of two separated positions as said film is transported in either of said two directions, the sensing at said one of said two positions clocks the sensing at the other of said two positions and the clocking function is reversed responsive to each transport reversal.
CA000290105A 1976-11-15 1977-11-02 Microfilm reader/printer Expired CA1139865A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CA000412895A CA1164972A (en) 1976-11-15 1982-10-05 Microfilm reader/printer

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US74192976A 1976-11-15 1976-11-15
US741,929 1976-11-15

Publications (1)

Publication Number Publication Date
CA1139865A true CA1139865A (en) 1983-01-18

Family

ID=24982816

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000290105A Expired CA1139865A (en) 1976-11-15 1977-11-02 Microfilm reader/printer

Country Status (5)

Country Link
CA (1) CA1139865A (en)
CH (1) CH630469A5 (en)
DE (1) DE2750341A1 (en)
GB (1) GB1587920A (en)
IT (1) IT1090437B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2201259B (en) * 1987-01-30 1991-07-17 Xerox Corp Positioning apparatus

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3299272A (en) * 1963-02-09 1967-01-17 Ricoh Kk Photosensitive system for taking out desired portions of records on microfilm
US3290987A (en) * 1964-01-16 1966-12-13 Eastman Kodak Co Automatic searching film reader
US3768897A (en) * 1971-07-28 1973-10-30 Eastman Kodak Co Positive-negative microfilm film reader
US3885866A (en) * 1974-04-08 1975-05-27 Eastman Kodak Co Compensation apparatus for improved microfilm code field reading
US3974482A (en) * 1974-08-22 1976-08-10 Vladimir Nikolaevich Balashov Storage and display apparatus

Also Published As

Publication number Publication date
GB1587920A (en) 1981-04-15
IT1090437B (en) 1985-06-26
DE2750341A1 (en) 1978-05-18
CH630469A5 (en) 1982-06-15

Similar Documents

Publication Publication Date Title
US4174891A (en) Microfilm reader/printer
US4110020A (en) Electronically controlled microfilm photographic image utilization device
US3034643A (en) Data processing for edge coded cards
US4494127A (en) Apparatus and method for recording both machine-readable and printed information
US4174890A (en) Electronically controlled microfilm photographic image utilization device
US4506274A (en) Time card recorder and method for identifying employee work schedule
US3978964A (en) Magnetic head control assembly for a magnetic passbook printing system
US3802771A (en) Microfilm handling apparatus
US5336873A (en) Photographic film having frame number bar codes
CA1139865A (en) Microfilm reader/printer
US3999846A (en) Information search device
US3553649A (en) System and method for intake and ejection of forms in a data processing machine
US3907415A (en) Film searching apparatus
CA1164972A (en) Microfilm reader/printer
US4185900A (en) Roll film reader/printer with manually insertable discrete film
US4608705A (en) Information retrieval apparatus capable of stopping an information bearing medium accurately at a desired location
GB1165140A (en) Sheet Marking Apparatus
EP0115343B1 (en) Apparatus for driving tapes
US4616126A (en) Information retrieval system
US4054198A (en) Magnetic head control assembly for a magnetic passbook printing system
CA1110360A (en) Microprocessor controlled roll film microfiche reader
US2957162A (en) Punched card to magnetic tape converter
GB2058399A (en) A Microform Document Recording and Apparatus for Reading the Material
EP0517722B1 (en) Improvements in and relating to film frame number identification
JPS6368986A (en) Method for reading identification mark of printer

Legal Events

Date Code Title Description
MKEX Expiry