CA2007343C - Method and apparatus for selecting wood stock to form panels of predetermined size - Google Patents
Method and apparatus for selecting wood stock to form panels of predetermined sizeInfo
- Publication number
- CA2007343C CA2007343C CA 2007343 CA2007343A CA2007343C CA 2007343 C CA2007343 C CA 2007343C CA 2007343 CA2007343 CA 2007343 CA 2007343 A CA2007343 A CA 2007343A CA 2007343 C CA2007343 C CA 2007343C
- Authority
- CA
- Canada
- Prior art keywords
- workpieces
- work pieces
- generating
- selecting
- signal
- 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 - Lifetime
Links
Landscapes
- Veneer Processing And Manufacture Of Plywood (AREA)
Abstract
A B S T R A C T
The present invention represents a further extension of the automation of the various steps of the wood gluing process. This invention automatically selects and transmits to further work stations appropriately sized pieces of stock which, when glued together (utilizing various of the apparatus shown in the art for gluing such strips together), saves time in the formation of the end products. Information concerning the operation of the invention is recorded by customer number or other code to provide a permanent record of the results of the invention's operation.
The present invention represents a further extension of the automation of the various steps of the wood gluing process. This invention automatically selects and transmits to further work stations appropriately sized pieces of stock which, when glued together (utilizing various of the apparatus shown in the art for gluing such strips together), saves time in the formation of the end products. Information concerning the operation of the invention is recorded by customer number or other code to provide a permanent record of the results of the invention's operation.
Description
2~073~3 BACKGROUND OF THE INVENTION
Field of the Invention This invention relates to the formation of panels of wood by gluing together smaller sized pieces of wood so as to utilize scrap wood materials which would otherwise be discarded and form usable panels therefrom.
Des~ription of R~lated Art Elmendorf, U.S. patent no. 1,428,765, October, 1922, forms sheets of wood from edge-glued wood strips using spacing grids formed by bars. Rails allow the strips to slide on the grids. The grids are used to carry edge-glued strips which are manually placed on each grid. A number of such supporting grids are shaped by stretching and compressing.
Frisch, U.S. patent no. 2,526,342, October, 1950, shows edge-bonding apparatus where glue is applied to the edges of the boards on an infeed table. The glued boards are fed into an area where a plurality of horizontal plungers apply pressure across the end of the edge-bonded boards. Upper and lower platens are provided which move into and out of engagement on the boards as same move into the pressurized area of the apparatus. The upper and lower platens apply RF energy to the wood to cure the glue in the gluing operation. Figure 10 of this patent shows a plurality of plungers utilized in the apparatus. The plungers serve to apply pressure uniformly to the sides of the board already selected for gluing. The plungers do not *~
20073~3 serve to advance selected boards beyond a predetermined point for further processing.
Schroeder, U.S. patent no. 4,195,346, March, 1980, shows an appara-tus to sort and classify lumber utilizing a computer programmed to select certain pieces. Schroeder's system selects based on the length and quality of the lumber and develops electrical contr~l signals from these inputs.
The control signals indicative of length and quality are fed into a computer programmed to select optimal cut-off length and optimum quality and to feed these selections to cutting or sorting apparatus so that the appropriate operations can be performed on selected pieces of lumber.
The Schroeder system is designed to work in a saw-mill. Schroeder requires and ralies on a visual inspection made by a human inspector who manually depresses buttons he selects based on the inspectorls judgment made by viewing the board. The boards so classified by the inspector are transferred on a sorting conveyor. Kickers are provided to knock off the boards so that they are placed in selected bins. Schroeder requires that an operator manually depress buttons indicative of criteria of wood boards which he observes from his inspection station. The computer then, based on preset criteria, compares the results of the signals generated by the depressed buttons with preset information and causes the boards to be conveyed automatically to preselected locations for further processing in the saw-mill.
arino, U.S. patent no. 4,512,840, April, 1985, shows a machine for forming planks by gluing a number of . .
i 20~73~3 wood fillets together. The planks are obtained from uniform sized wood fillets. Each plank is thirteen fillets wide and several metres long. Marino shows a feed station for the thirteen fillets. As the fillets are all of uniform size, Marino does not require any sizing, selection or processing based on the results of size analysis.
SUMMARY AND OBJECT OF THE INVENTION
Ths present invention relates to a method and apparatus for selecting wood stock of various sizes automatically and to convey the stock to a series of locations which carry them to work areas where gluing rollers and other operations are p~rformed to process the selected pieces of stock. Specifically, the invention employs a track section with thirteen distinct tracks having conveying means in which thirteen pieces of wood stock are positioned. The pieces of stock are of uniform length and thickness but are of unequal widths. The boards are placed in each of the tracks with their non-uniform dimension upright in the track.
The conveying means brings all of the separate wood boards up to a scanning area. The scanning area utilizes a track mounted analog proximity sensor positioned perpendicularly to the conveyor for the boards so that the proximity sensor will scan the height of each of the thirteen boards each time the scanner passes along the length of its track. The data received from the scanning sensors as to the height of the various thirteen boards is fed to a computer which computes which combination of the thirteen boards equals a predetermined size for the desired ;. .
20073~3 panel.
The computer then actuates a controller which, in turn, actuates selected ones of thirteen separate solenoid valves to control air to thirteen cylinders to raise or lower thirteen gates at the ends of each of the thirteen wood stock tracks. Conveyor means then conveys the selected boards to a secondary conveyor which carries them to a subsequent work area where gluing rollers and various other operations coact to further process the selected boards.
The wood gluing art is long recognized the need to automate what, for many years, has been essentially a manual operation. The field requires the cutting and sizing of strips of wood which are then glued along their edges, clamped together, the glue allowed to set, and the wooden panel, thus formed, removed for furthPr processing. Examples of various machinery developed to automate the steps of this operation are shown in U.S. patents 4,374,165, 4,062,320, 4,489,925, 3,771,779 and 4,773,555, all commonly assigned.
The present invention represents a further extension of the automation of the various steps of the wood gluing process. This invention automatically selects and transmits to further work stations appropriately sized pieces of stock which, when glued together (utilizing various of the apparatus shown in the art ~or gluing such strips together), saves time in the formation of the end products.
The system described in U.S. patent no. 4,934,328 has proven itself in operation; however, it has been found '~;
2~073~3 that its utility would be enhanced if the additional functions (described in this application) were added. These functions permit the system to provide additional information to and control for the operator; namely, (i) a count of the number of panels made by the apparatus and generation of control signal (which can be used to stop the apparatus) when a preset number of panels are made; and, (ii) generation of a report (on a screen or on a prin~er) covering the production on the machine during a time period which generates information by panel size, panel area, board feet, specie, and operator identification.
These features are incorporated in the system by modification of the computer program and the addition of a printer to give a permanent record of the display.
A
~AYL~. 3 ~ O--010 Zo~373~3 A principal object of ~he invention is the provision of apparatus which will automatically select the widths of the boards necessary to make up a panel of predetermined dimensions.
A further object of the present invention is to automate and make more efficient the fabrication of wood panels by gluin~
together pieces of wood.
Another object of the present invention is the provision of an apparatus which automatically stores a number o strips of wood having uniform length and thickness but non-uniform widths.
The apparatus automatically selects the number of pieces of the widths presented to make up the desired panel width.
A further object of the present invention is the pro-vision of an apparatus which automatically takes the selected pieces of wood and transmits them to a work station, first passlng them over an edge-gluing roller.
Yet another object of the present invention is the provision of an automatic stop which acts to inhibit operation of the system until glued selected wood pieces are removed from the apparatus for further processing.
A still further object of the present invention is the provision of a computer program which processes the information preset by the operator for width of the panel to be formed, the number of pieces of wood to be selected and the tolerances for the panel to be formed.
. .
~ ~()7~3 ~AYL~ 3.0-010 A further object of the present invention i5 the imple-mentation of an algorithm in the computer program, which algorithm develops output signals to select boards o different widths to make up a panel having preselec~ed width, number of boards to be contained in the panel, and desired tolerance~
Another object of the present invention is the provision of a scanner apparatus for scanning the widths of the plurality of boards and developing output signals indicative of the width of the board and the location of each board scanned.
Yet another object of the present invention is the pro-vision of scanning apparatus which employs an analog sensor for generating an electrical signal indicative of the width of the board which analog sensor operates by impinging compressional wave energy (ultrasonic signal) on the board and receiving a reflected signal therefrom.
A further object of the present invention is the employ~
ment in a scanning system of a digital location sensor which senses the position of the analog sensor hy developing a signal based on selection of mechanical indicia for each channel where boards are mounted.
Another object of the present invention is the employ-ment of a scanning system employing analog and digital sensors mounted on a rodless cylinder which serves to index the sensors across the width of the ends of the boards.
. . . ~ . .
.. . .
~AYL~ 3.0-010 z~7~3 These as well as further ohjects and advantages of the invention will become apparent to those skilled in the art from a review of the following detailed specification and accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
I Figure 1 is a top view of the apparatus of the invention Figure 2 is a side view of the apparatus;
Figure 3 is a perspective view partially in section of the infeed portion of the apparatus shown in Figures 1 and 2;
Figure 4 is an end view of a portion of the apparatus ' shown in Figure 3, taken along ~he line 4-4 of Figure 3;
Figure 5 is a perspective view partially in section sf the scanning subsystem of Figures 1 and 2; ~:
Figure 6 is a perspective view partially in section o a portion of the gating subsystem of the invention Figure 7 is an end view taken alon~ the line 7-7 of Figure 6 of a portion of the gating system of the invention Figure 8 is a perspective view partially ln section of the outfeed apparatus of the invention;
Figure 9 is a diagrammatic view of the connectlons amongst the various subsystems in the invention; and ..
.
Or~0073~;~
~AYL~ 3,0~010 Figure 10 is a flow chart for the computer program employed in the invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
.
Figure 1 is a top view of the apparatus employed in the invention~ Figure 1 consists of two main sections; an infeed section 2 i5 provided to the left of Figure 1 which includes lnfeed table surface 320 The infeed table surface 32 serves as a working surface which enables the operator to stack pieces of wood in thir-teen separate tracks shown generally at 30. The operator has avail-able to him a hand held push button controller 48. When the operator has filled the tracks 30 with pieces of wood, the operator depresses the push button on controller 48 to activate the appar-7 atus. The thirteen tracks each may contain a number o~ uniform length, uniform thickness but not non-uniEorm width pieces of wood. These thirteen tracks extend along the length of the frames supporting infeed section 2 until they pass beneath a scanner section shown yenerally at 84.
Each of the thirteen tracks 30 end in respective ones of thirteen gates shown generally at 28 in Pigure 1. The gates permit a num~er o selected boards to pass on to the second main section of the apparatus; the output section 4.
Thi~ scanner section is fo~lowed by an out~eed section shown generally at 4. The outfeed section takes the selected boards from the gates and conveys them to a work station after passin0 the boards throu~h a concentrator. The concentrator .9_ ~AYL~ 3.0-010 ~ ~7 3 43 consists of rails 12 and 14 which serve to concentrate and compress the boards into a compact arrangement and may be located centrally of the outfeed section 4~ The boards thus concentrate~ are in turn passed over the glue roller 10. Glue is applied to the boards by roller 10 on one edge thereof and are then conveyed to a wand a which acts as a stop wand or feeler. ~and 8 is pivoted about a spring-loaded pivot mounting 6~ Movement of the wand to th~
posltion shown in Figure 1 stops the apparatus. Release of the wand from the position shown in Fi~ure 1 permits the apparatus to operate. The wand 8 is caused to release from the position shown in Figure 1 when the bundle of boards which has ca~ed the wand to move its "of~" position as shown in Figure 1 is removed by ~he operator for further processiny.
The outfeed séction 4 of Fi~ure 1 includes a number of rotatable roller rails 16. These roller rails 16 are chain-driven by chains 22, 44 and 42 in Fi~ure 1. The set o roller rails 16 conveys the boards from the gates 28 through the concentrators 12 and 14. Another set of roller rails 18 controlle~ by chain drives 38, 40 and 20 ~ake the boards from the ~lue roller lQ to the end of the apparatus at stop wand 8~
As ~hown in Figure 2, a sid~ view of the apparatus oE
Fi~ure 1, ln~eed table sùrface 32 is connected to the thirteen ra~ls in conveying sectlon 2 of the appar~tusO
Figure 2 also shows a keyboard 48 with a liquid crystal display, The-keyboard 48 is mounted on a panel adjacent the '.1; ~!"' ' :
scanning section. This keyb~ard allows the scanning apparatus to : J
~AYLC 3.0-010 ~ ~ ~7 be set with selection parameters which will be described in con-nection with the computer program by which the apparatus operates as further described in connection with Figures 9 and 10 hereof.
The side view of Figure 2 also shows a plurality of sets of boards located at various points along the apparatus.
Also shown in Figures 2 and 5 is a vertical support bar 86 which mounts the scanner section of the apparatusO The scanner section consists of an ultrasonic analog scanner S0 and a digital proximity sensor 52. Each of these scanners are mounted on a supporting bracket 96 which is, in turn, mounted to a rodless cylinder 24.
As is known in the art, a rodless cylinder is an air driven device which allows a carriage to move from one side of the apparatus to the other. This is commercially available apparatus identiied as model BC100-lPx30" manufactured by Tolomatic and is employed in the present invention to move the scanners 50 and 52 across the entire width of the thirteen channels 30. The rodless cylinder ls mounted on bracket supports 86 and 88. A plate 84 is mounted on the top of the rodless cylinder 24. Plate 84 has thirteen stopnuts shown generally at 26 mounted therein. The stopnuts 26 provide an indication of location by proximity to sensor 52. The analog proximity sensor 50 develops electrical signal~ based on ultrasonic detected signals indicative of the width (height in Figures 2 and 5~ of each of tlle boards. The digital proximity sensor 52 detects which channel the analog sensor is measaring by a count of pulses indicative of sensing its proximity to the stopnuts 26. More particularly, a count from . . . . . .
one to thirteen i~ ~eveloped as the proximity sensor 52 moves TAYLO 3.0-010 ~o7~3 across the rodless cylinder 24 from one end to the other.
As shown in Figures 1, 2 and 6, an electric eye circuit 60 is provided to generate a signal indicati~e of boards passing in the path of the electric eye 60. Numeral 90 denotes the elec-trical lead wire connecting the sensors 50 and 52 to ths computer portion of the apparatus.
Figure 3 shows the infeed section of the apparatus of Figures 1 and 2 in more detail. In Figure 3, the infeed table 32 is mounted on a support bracket 76. One of the thirteen wood feed-ing tracks is shown in Figure 3~ This track is formed between rails 68 and 70~ A piece of wood 66 is shown edge-mounted between tha rails 68 and 70. The rails 68 and 70 are fastened to lateral frame supports such as 33 by a mounting fastener suitable to the materials of which the rail 68 and the support 33 is formed such as shown generally at 64. A chain drive is shown at 74 and serves to rotate roller rails such as 72, 78 and 80 to convey the wood piece ~6 alony the length of the infeed rail structure. As shown in Figures 3 and 4, the structural support is provlded by two com-plimentary U-shaped brackets 62 and 82. These brackets serve to provide structural integrity for the infeed section as well as to provide a safe protected covered housing for the chain drive 74.
Fiyure 5 shows the scanning section of the invention.
As will now be seen, thirteen boards o uniform length and thick-ness but different widths are presented beneath the scanning section. These boards are designated by numeral5 1l 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23 and 25. The boards are located beneath .
TAYL~ 3.0-010 200~3 the two scanners: the analog scanner 50 and the digital scanner 52.
The scanners 5~ and 52 are mounted on the rodless cylinder 24. The rodless cylinder is coupled to the scanners via scanner mounting bracket 98, 96. This bracket consists of U-shaped portions having a short leg 98 and a lon~ leg 96. Proximity di~ital sensor 52 is mounted on leg 96 and analog sensor S0 is mounted between leg 96 and short leg 98. As is known in the art, rodless cylinder 24 is coupled to the bracket 96,98 and, under control of air lines 94 and 92, serves to slide bracket 96, 98 from one side of cylinder 24 to the other at a uniform rate. There is also mounted on rod-less cylinder 24 a mounting plate 84 which contains the thirteen stopnuts shown generally at 26. It is these stopnuts that co-operate with and are sensed by ~he proximity sensor 52 so that actual signals indicative of the count o each stopnut from one through thirteen are developed for each scan of the sensors 52 and 50 across rodless cylinder 24. The rodless cylinder 24 is in turn mounted on the remaining apparatus by vertical supports 86 and 88. The brackets 86 and ~8 are coupled to support rails 100 and 102 in Figure 5 and 62 and 32 in Figures 3 and 4 (for support 88) via a bar such as 104 which is fastened to rail 100.
An important feature of the invention is shown in Figure 5 as calibration block or gauge block 54. This gau~e block con-tains two surfaces, a top surface 56 and a lower surface 58 located coincident with the level of the surface of the rails (one rail is shown in Figure 5 at 27). As will be explained later, analog ultra-sonlc sensor 50 utilizes these surfaces as calibration surfaces for the scan so as to ~au~e the range oE widths of the pieces of wood.
...
TAYLC 3.0-010 2~073~3 Figure 6 shows the gauge block 54 in more detail. In Figure 6, the gauge block is viewed from the end opposite that shown in Figure 5 so that two of the thirteen ~ates are also seen ln this showin~ More particularly, Figure 6 shows the mounting bracket supports 104 and 86 for the scanning section~ These brackets are connected to support rails 102, 1~0 as discussed in connection with Figure 5. The gauge block 54 has a top surface 56 and bottom surface 58 formed therein. Two pieces of wood 19 and 21 are shown in Figure 6 having arrived at the end location for the infeed section of the apparatus. Electric eye 60 is mounted to support rails 102, 100~
Each of the thirteen channels are controlled by gates which consist generally of a solenoid operated air cylindex 106 and a movable gate element 108 mounted to the air cylinder~ When the cylinder is actuated, the element 108 is caused to drop down rom the position shown in Figures 6 and 7 applicable to board 21 to the lower position shown in Figures 6 and 7 applicable to board 19. This allows the board 19 to advance to the next station.
In Figures 6 and 7 t nwnerals 27, 29 and 31 denote the support rails or the channels in whlch boards 21 and l9 are carried.
The cylinders are mounted on and supportec~ by mounting plate 110.
Figure 8 shows the outfeed portion of the apparatus.
Figure 8 show~ three groups of boards progressing from the gates 108 through the glue roller 1~ As shown, the boards are con-centrated by two rails 12 and 14 which are mounted such that the , ,boards are caused to move closer to each other before they pass ' ', .
TA~ ,R 3.0-010 ~73~3 over edge-gluing roller 10. Numeral 40 denotes one of the chain drives for the roller rails employed in the section of rails down-stream of the glue roller 10 and chain drives 22, 42 and 44 o~erate the section of rails 16 located upstream of the glue roller 10.
Figure 9 is a diagram which shows the electrical con-nections of the various elements previously described in connec-tion with Figures 1-8. The apparatus employs drive motors 112 and 116. Motor 112 operates infeed section 2. Motor 116 controls the glue roller 10, the intermediate section roller rails 16 upstream of glue roller 10 and the rails 18 downstream on controller 48 of glue roller 10. A push button on controller 48, described in connection with Figure 2 above, causes the apparatus to startl stop and scan under control of the operator.
The controller 48 permits the operator to select the width of the panel to be formed by the pieces, the number of pieces to be selected and the tolerance applicable to the selection. These signals are fed to computer 114. Computer 114 also receives as inputs, the outputs o dlgital proximity sensor 52 and analog sensor 50 from the scanning system. The computer 114 is also connected to receive the input of the electric eye sensor 60.
The computer controls the gates 106, 108 to seleck the boards for passage to glue roller 10 until de-energized by stop wand 8 on mounting pivot 6. A printer 200 is connected to computer 114~
The following table shows the manufacturer and model number of each of the elements of Figure 9:
, ., ~, . . .
-~5-TAYLG 3.0-010 20~7~
Computer 114 - Wintelc 6809 Control Computer Controller 48 - Quartic Systems QTERM-HRl Electric e~e sensor 60 ~ Sunx NX--52M Beam Sensor Digital proximity sensor 52 - Microswitch 923A~4W-ATT-L
Analog sensor 50 - Agastat PCU-A-30-M-30-AV
Gates 106,108 - Bimba I91-D l-1/16 bore x 1" stroke In practice, the number of thirteen different tracks from which the desired number of boards is to be selected was empirically derived. The number of boards required to make up a panel of the desired thickness could be more or less than thirteen depending on the variations in the output panel size desired and , the size of the input stock from which the panel is to be formed.
With respect to maximum and minimum sizes, in operation~
Applicant has found that the boards can vary in size from one inch to six inches in width theight when used in the apparatus).
The scanning section can sblect panels of any total width even wider than 13" x 6". The selector accomplishes this by making a number of runs. For example, if a panel of 200" is desired, even though the apparatus provides only thirteen pieces of a maximum 6"
height, three separate runs would be performed. On the first run, all the boards would be selected~ On the second run, agaln all the boards would be selected. On the third run, the number of boards necessary to give a total number of 200" would be selected.
If the scanning cannot select boards within the desired , ',tolerance (for example, lS" + or - 1/32") ~hen it selects the TAYLO 3.0-010 2007~43 combination that is closest to and larger than the desired size.
The flow chart for the program described below is shown in Figure 10 hereof. The computer program for controlling the apparatus is set forth below.
The program instructions for printing the information concerning operations of the apparatus are in the lines labeled, "PRINTER OUTPUT" . These instructions print information consist-ing o customer code, panel width, length, thickness, number of panels and number of boards. The information regarding produc-tion totals can also be printed.
The program instruction for generating a count alarm to stop the machine when a preset number of panels are produced are labeled, "COUNT ALARM IS REACHED".
' TAYLC 3.~-010 2 0 0 7 ~ ~ 3 tincl~ie 'psio.ll' -int u5e'i~a~] 7 sc.3n,~ir;
lnt bo3rdsi~eL22J;
unsi~rle,~ int l~utst~tus,ol~tst~t2 int n~Jnlslots,nlJmsl~tpllJsl;
int nl3:~o.3r~s,t.oar~1ssen~,m.3:~t.o.~r~i3perr3l,e.l;
int coo~e,2erocolJnt,rele.3see~lJr,t,resc~r,; .
Iong sizeleft;
int nletric; /~ik~ llill Le set t~ ~ne .iI~ Jrlsirl~ in nlP~rir ~ir,put ~) ;k~/
Version l.S 3110w5 15t an~ st 51~t5 to t~e le~`t empty Note: ~ersi~ns 1.7 .3n~i gre3ter .~11Ow the user tn progr-30 in the na::imun n~Jm~er of t~o~r~s pe.r p.lnel. 'Ihe progr.3nl sinlply rejert~ .~ny conl~ination ~A~ ith too m.any t~c3r~is. lf tl~ere is n~l c~mt~in.3tir.~ll, it ~en~is, tll0 closest size if it is withirl m3:~inllJnl toler3nce {
long si~ie,lastsi~e,leng~ll=O,~,llick=V,tottlar,els-O,nlJDI~o~r~ls=()!t~t~o~rlis=V;
~lo.~t totsqft=~.09tott"~ft=~.O,fll~atl~un~, int t~ler.ance;
int rn.~to1='J9'J~;
long loslginplJt~;
int nu~p.3ne1~=d;
int`n3de=(1,.~1~rnl=O;
rh.ar c~rustco,~eCl6~;
ru~teo~eL0~='\0';
~co~e=500;
sc~3n,iir=V;
Ma::bo~r~s=99;
m~ D3rdsperp3nel=';J'~
rese.an~l;
~ lit~);
prir,tl~l,'St.~rtup');
~ik set nletric i`l33 ik~/
if ~sense~
mYtri~=l;
toler3nce=76;
}
else nletr i~=O;
toler.~nre-30;
}
while 1isrt~.~r~)) irlrll3r~;
si~e=lon~input~lon~)V,6!~-nletrnir,~:nter le3l~el 'Si3e~1;
i~ ~isprlnt~)) {
len~th=longinput~length,6,3-nletric,l ~inter ~o.ar~\n lengtl~
th~cl:~longinplJt~tllick,S,J-metric~ ~nter ~o.ar~i~n rhichness'), if (isprintl)) l~rintl(2,~\n Jt)t~ 3t~ tr)~e~ls\n----~ n');
i r ~ S i ze ~ 9 J9 ) 3r~rC 3 l 1 ) ;
l.astsi~e=slze;
si~e1e~t=0;
setnlJ~lslots~ );
~ .
., TAYLC 3.0-010 20~73~3 39~in ~15~ );
printl~l, Va.6 ~ount~
printint(l~nump~nels);
printl(l,'\nP~nelsiæY:');
printlong~l~l3stsize,5,3-metrio, 1;
print~ n~-ltanel Size\n~-MenlJ 2 ~ot~ler)')-Cheok ~or ~3 key presse~if (isch3r() 1 I nu~510t5==0) if ~numslatsl-O) c inoll~r();
while (isoh~r()) inch3r(); /~ flu;ll t~uffer i8 (c=- A ) if (isprir~S~) 82 nump3nel 5~0 ) ~~ rls();
printl~l, \n ~rinting...\n Ple3se W~it );
i~ (~ustoo~eCOJI= \O ) {
printl(2, ~l;ode: ' );
printll2,custr o~ie);
printl(2, ~\n' );
printl(~, Width ~
printlong(2,si3e,fi,?-n~etrio~ );
prlntl(2~ \nLength: ^);
printlon~g~2,1engtl),6,3-metric, );
pr intl (.~ , ' \n~ltir k: ' ) ;
printlongi2,thirk,G~-metric, );
p~intl(2,'\nr~nels: ');
totp.~nels~=nu~p.~n~ls;
prin~long~,(long)nUmP~nel5!7.~,' ');
prlntlong~2~totp~nal~ 0, );
printl~2~n~oirds: );
totboardst-numbo3rds;
pr~ntlong~2,~10ng)numhoar~s,7,0, );
prlntlong~2,totbo3r~s,~,0, );
if ~letri~) {
~lo.~t~uM~~si~e/lOOt~O().O),It(length/lOQOOV~O)~nlJmp~nels;
printlt~, ~nSq.l1t.: J;
l~e~ J el~e o~*p~ flo3t~um ~si3e/12000.0);1(1en~th/12000.0J~non~p3nels; .' printl~ nSq.Lt.
totsqf't~=t 103t~ilJm;
printlon~g(Z,~long)~tlu~tdlJn~),7,0~ !;
printlong~,(longJ(totsqt`t),~,~, );
if ~n~etric) ~lo1tdunl~thirk/lOOVOO.O;
printl(2~ ~nCI~.llt.: ~;
else flo3tdum~t-thick./10OO.O;
printl(~ n~d.~t.: );
TAYLo~ 3 . 0--010 2 0 0 7 3 4 3 tott~ `t~=flo3tdunl;
prir,tlal,q(2, (lon~) ~flo3t~iunl~ ,7,~), ' ' );
prlr,tlon~(2,(10r,9~(tott,..i:t`t),~,~,' ');
prir,t.l(2,'~rl~ ------\rl'!;
I.astsi~e=~ize;
sise=longir,eot~sise,~,3-n~etrir, ~nter Par,el Si~e' );
if ( isprint( ) ) lenqth~lon~inrlut~len~th,G,.~-nle~.ri~,~ knter ~oard~n Len~th~;
thirk=longinputtthick.~ l-nletric,' Erltel~ L~03r-.1\n 'l'hickness');
31~rm=O;
nunp.3nels~0;
num~o.ards=O;
1.3stsise=si3e;
si~eleft=Q;
rese3n=l;
else if (~ nl~nlSIat5==
c15( );
printl~ Iolerar,ces~n~ isgnostics\r,('-E::trae;\rl');
while ( ! isch.lr c=inchar ( );
if (c=o'~' ) {
oln)enu:
cls~ );
prir,tl(l,~-ln.iti31 lol.\r,t~-Ma::inlunl lol.\nL~ t~ar~is/~r3tch\rlll-~laar~is/Parlel't;
while ( ! isol13r ( ) );
c=incl1lr ~ );
if (~=~'f~' ) toler.ancr!-longinplJt( ( long) tulerarlce,~ nletric~ ~.'nter 'l'oleranr e' );
~to talnlenu;
e l 5 e i r ( c~
nna~:tolall:ln~?inpl.lt((long)nla::tal,~ -nletric~nter ll~::in~ rl ]:c-lerlnce');
goto tolnlenl~;
else if (c=~'C' ) m~ oar,is~lar,ginpl~t~larl~)n~~3::t,0~3r,is~2,0,~krlter ~13::imunl t;rl~oards/113tchl);
~ato tolnlenlJ;
else if (c--'l.l' ) {
ml::t,D.3r-isperp.3nel lon-3inpot((10n~)nl.3::t,o.~r~:1sperp.3nel,2,0,'knter M3:~imunl ~\r ~oto tolnlenu;
}
else if (r=='~l' ) {
i i agnlenlJ:
c 1 s ~ ) ;
printl(l,~ of ~la~s~
printint(l,numsla~s!;
,~ç.~ ' .,.~ ' T~YL~ . 3. 0-010 2~73~3 prirlt~ r,~-.lr,~ot/UI~tput~ 11easorenle~,ts~r,~ nastics~!~
c= i nch~r ~ );
.if (r=='A' ) /~ Uispl.~y st.~tl~s o~ il,p'~ts ,'~/
~howir,plJts~ );
~oto .ii.3gnler~lJ;
else if ~c=='~') llispl3y in~:livi~~J-3l l:~a3r~i sises 7:7~7 showsi~es~ ):
goto ~ii.3gnlenu;
else if ~c=-'~.` ' ) /~ perfr~rm ~ii39rlostic te~ts , ,ii~grlastirs ~ );
resc.3n=l;
goto di.agmern~;
else if ~c~='C' ) e:~ tr anlènu:
cls~ );
p~rilntl~l~;A-Pr,iuctior, Co~e\r~-Cour~t h:l~rn~\r,l;-~plic3tar 110~e');
c-in~:h3r~ );
if ~r=='h') strin3inplJt~clJstco~e~ rlter\rl~'ro~iur tion Code' ) goto e::tr ~nlenu; `~
el5e if ~e-='l~
31arnl2langinput~10ng).31.~rnl,4,0,' L'ntel\r,Al~rnl Poir,t');
goto e:~tr anleno;
else iP ~c=~'C' ) c15~ );
prir,tl~ pl)lir~tor llo,~e:\rl\nllit Hnter~llto e::it.~);
e ~ ! i s c l1 3 r ~ ) ) if ~sense~!.;'J'(JPlJ(iNLI)) olJton~llPLlCA:l'UI~); :
else olJtoff~hrPI.J!l:~lUR)~
outoP~ ~qPPL ICI~TUR ), ~Ihile ~ iscl1ar ~1 ) incl }
}
els if ~size!~0) Tr y to nl.~ke 3 p.~r,e l .~
c=na3kepanel(size,to.1er.3nce,nla::tnl);
if ~c!=0) ~ .,~, ............................................................... .
s;
TAY R 3 . 0-010 2 0 r, rl ~ I?L 3 ~na~h ,nc 5tb~ nu3~bo~rds~
1.3st5ise ~sise-~iæeleI t;
if S~numpanels=-.3l~rM~
~9~arn~ pr;ntl~l9'Al~rm Counti of\n~);
I println~I,alarnlJ:
~JI~l prlntl ~1, ' h~ ~een~nreache~. Hit .3ny~nkey to ContinUQ, ' )' whil~ ch~r( ) ) if Ssen~e(~;~OP~A~!IlJ ) olJton(h~PLIC~lTCR);
;1~ OutOfr~PrL~ UR);
au~o~(APPLIGA~III~);
while ~isch.7r(J) inchar~);
} ~_ yoto ~gain;
. .
. ~.; . j . .. ~
TP.YL 3 . 0-010 2 0 0 7 3 ~ 3 ~inelu,~e 'psio.h' int s~n~o.3rds ~ netr ic ) ~' int Metric;
nunlber ~f unnle.~s~.lre~le ta3rlis is r eturrle~
f nletric=l, si~es 3re ret~rr,e~i ir, n)nl.llOO, otlnerwise ir, inches~lOQ0 eYtern int bo3r.isiset22~ nlJnlslots,nunlslotpl~Jsl e~:terr, int srandir,rest 3n;
int ~uDImy~serocolJnt=O;
flo.3t gagel ,g~3e6,i ~rg~9el ,f3rg~e6~ 6~iunlbo31 ~i;
re~,~ v.311les se-3n~93in.
r~soln-O;
scanst-3rt~ );
if t so3ndir ) {
f~rg3ge6=readsize~ 1 );
f.3rg.~3el=re.~dsize(0~;
for (~unlny=r~unlslots;~ilJnlnly.~ nlnly~
~ o.~r~si~eC~umnlyJ=re3~isi2e(0):
gagel=re3,~siæe~0~;
g ~gelj=r e.3dsi 3e ( 1 );
else {
g~ye~=re~d;iæe~1 );
9 3ye 1 =r e.3,is i.se ~ 0 );
for (,~umnly=l;,~umn~y~ n~nlslo~s:t~ nlnly) boar.isiæeL.iummy~=re.3.isiæf?~0);
i`.3rg.39el=rr?.~l~si~e!0);
f.3r9.3ge6=re.31isise~1 );
t if g.~eblock v.31ue is o~Jt a r3n~e, sr.3n 3g3in ~
if ~gage6~6~0 1 1 g.aye6:~1250 ! I f ~rg39e5 :650 1 1 .f.3rg.3~e6.~ 0 1 1 :
93ge~ 3~50 11 93gel~J50 1 I f~r33gelC335V 1 I f.3r~3yel~ 3~50~
c15~);
prir,tl(l, q~ge t~lotk\nnle.3slJrenlent\nerror~);
,iel.3y~ 1000);
resc.3n-l;
if ( isch3r ~ ~ ) returr,(-l );
~oto scan~g~in;
/A,~ convert ho3r~sise n nlters '.o inellun; asing A~/
A 93ge tlack.s for auto c3.lit~r3tian~ A~
for (~umnly=l;.:~unlt,ly~.:=nlJMslotsi~n-iun)noy) gl#~nunlslotpll.~sl-,lunlnly)~3.a~eln~ n~nly~f3r~33el)/(flo.3~)nun~slotp:lusl;
y6-~nun1slotpllJsl-.ilJnlnly)~g.~ge6l.1urnmy~f.3ry.~3eG)/(fla.3t)nunlslatpllJsl;dunlbo~rd-1.015,0Jt~g3-~o.ardsiseL,~ mnly:?)/(31-g6));
.~f (dun~ho3rd~.13) t~o.~rdsiseL.iunlnly:l=O;
if (dummy:~l 88 dlJn)nly~num~lot;) ~serocourlt;
~Ise ,(~, :. .
......
TAYLC 3 . 0-010 2 o ~ ~ 3 ll ~
i f ~ nletr i e ) ~onl~0 3l cl~.=2 . 5~1;
toar~isizeL.ilJnlnlyi=.:Jun~t~a3r~it~i"()~;
}
returrlt~erucour~t);
}
int re~i5i~e( sel) int sel j Returns the sise (volt~e) oi: one ~r).~rd. ~h~/
Ihis routine .3ssunles the sensor is tr3versing L~ok for ~own slope, therl n)in v~lue, tl~en up slope The min v.~lue must ~e in a f13t sone~ ~h/
sel-=l, wi~l return min v~lue re~,3r,iless of slopes ~
int fl~t=O,n1innoup='3~000,nlir,up=32~00,::,.loi~l,=sel,y=V~:nlin=320()0;
within any one Yl.3t 30ne, 3 nliniMunl v.~lue first ~,oes ir,tQ
nlinr,oup~ ~n .ln opslrllle, either in the ~"13t 30ne ar .3t the en-i o~ the f1at zone, it m.~y go ir,to minll~. fir,~lly .3t the en~ of the fl3t sone or .3t the en~i of the scan~ it n~,3y 90 into xmin whieh ~ill t~o returne.i.
.iown=sel;
et ol`f o~' cielinleter while t!sense(~ELI11E~ER~)-~ Tr.~verse until r,e::t ~elinlete7r ~tt~/
while (senset[1ELfHEIE~
{
x=~et.3dc();
if ~xC'y) ~iown-~ r /~ set fl~g on first iown slope Ir t:~y I1 sel~ r~ ups1rJpe ~
if (minnolJp~;Minup) minl.,p~nlinnolJp; :' if ~ y~;lS ~ y~ ;15) /.~;7~ f:l3~ ~;7~7~/
~i`lat;
keep tr.3ek ai Minimunl wi~hir, tllis fl3t "orle~ ~ mirlinlum i5 only v.~ i if .~ .:10wn s10p~ ha~ oecuro~
lf t::~c:nlinnoup ~ ~.lown) nlinnoup=:t;
else /~ not il3t ~
{
'1his c3n t-e the millinlunl if ~1 o.t t,ll~ fol.'10~Jirl~ .3re true:
- it h.3s t~een t'l3t for .~t le35t ~ e re3~:i.ir,~s.
- it is less t~ t the ps~evious mir~liml.lnl~
there ~5 .3 ~iCîl)n s.lope tP.t'Qre the mtninll.lnl. ~checke~i in minnoup) ~; - there ~r~ 3n up 510pe .~Yter thta mir,il~ m. (ellecke~J in nlinup) if ~fl3t~4 88 Min~p~S~ in) ::min=nlirlup;
f13t=0;
mlnnalJp:~000;
minl p=32000;
}
if ~.fl.3t~4 8i minup~ :nlir,) ::mir,=nltro~
returr,~::min);
--24-- .
. .
TAYLC 3.0--010 20073~3 r S s ~ r r r s ~ s s s . s I ~; S. s S ; s . s r~ s s s s S~ ~ r~ s ~ 7 s~ s s ~ ~ s s ! ~ r ~l r s~ 7 s r ~-25- : ~
.
TAYLOR 3.0-010 2007~,43 t lernlin.31 ~,perifi~ ~n~n).-,n~',s fcir l~iJ.3rti~ t~rn~
c15 ( ) printl(l,'~03 ~lel 3y ( 200 );
}
print.,tt~:,y) lnt ::,y;
printl(l~ '\V331r~;
p~Jtrh.-,r t t eh.-r ) ~ 47+y~c16+:: ) );
beep~ );
rr~s~r~r~7~S~r~s7~ S~ s~
-26-- .
'"':
... .
20~73ll3 TAYLOR 3.0--010 showsi3esl) ; ,iispl.~ys the si~.es of ir,~:livi~iu31 t~o-3r~i5 7 e:~tern int ~o.~r~Jsi~eL~ ,r,umslats,nletr.c;
int dumn\y;
cls( J;
printl(l, ~r,~er 0 tt~ sc.~n!~nilot n Mter, or~n~ to quit.~n~);
.ag.~ir,:
whiletllsch.3rt~);
,iunlmy=inchar ( ~;
if t~ilJmnly;~=4~ ~8 ,iunlnlyi::=57) ,-Junlnly-=48;
iP (dummy~=65 ~ ~iummyS=7G) ~iumlDy-=55;
if (~umnly,numslots) ret rn;
if (~iummy==t)) scant~c3r~s~ );
el se {
pri nt.~ttl,4~;
putrh.~r ~ i );
pr intint t 1, ~iummy ~;
pl~tchar t = );
prihtlon9~l~ t lorl~)t~rJar~isi~et~iunlnly:l,G,3-nletric, !;
printltl,^ ~;
goto a~ain;
:,:
.~
,.
~007~3 TAYLOR 3 . 0-010 tir,rlo,ie ~sio.h' e::tern int nlJnlslots~nun~slotplusl;
setnuDI510t~) sc~ns .3r,1i rour,ts ,ielimPtel S! therl sets l"~mslots ,t~
/~A~ .3n,i r,unlsIotspp ir,t st.3te,coont,tinle;
c 1 5 ( ) ;
printltl, 'Gettin~ ro~m~er\nof slots . ~ );
rolJnt=-l;
scanst.3rt~ );
if ~sense~ LIHE'IE~) ) prir,tl~l,'LIelirlpter ~ier,sar~r,oot o~ positian.~r,~est-3rt M~chine.');
Wll i 1 e ~ 1 ) ;
~io {
tinle=O;
~t.3te=sens~ ~LI~Llff~l'E~
while ~st3te==~ense~ 'LIIl~'TEP? 8g ~tin)e$4()0(~ timet;10000 8g roonto.'ll)));
~hi1e ~+t~ountCl:~ l l tinle<400V);
if ~count/~ 2!=count ll rr~untC2~ ol~d ~ of tr.~n~itions telluser('Error rountin3~nslots. ~it\n.3ny l~ey.~);
rlUM510t5=0;
nl M510tplU51=0;
else nun~slots=~rourlt-tl)~2;
}unlslotplus1-nl r~s10ts ~1;
r ~g ,r - 2~073~3 TAYLOR 3.0-010 /~ nlisc. routines ~ :
~inclor~e 'psio.h' -int w.3itst.~rt() ~ W.~its for StJ.~rt bottorl otf, tl~eo orl ~.3ir" nr .~ key 1s Fresse~i A/
while (isol1~r()) inch~r();
while l!isch~r~));
inch.~r~);
}
int ~el~y(tinle) llel~ys far tin~e milisecnrlds ~/
int tin~e;
{
int ~uMn~y,li2;
for (don~my-l;dlJn~n~yS=time;++dun~my) for ~d2-1;~ 0;+~i2);
}
int sc~nst~rt~) /~ St~rt sc~n cyl. tr~versin~ in o~posite ,iirection e:~tern int sc~n~ir;
sr~n~ir=!sc~ndir;
if ~sc~n~ir) uuton~5~f~NCYL);
els~ ol~tofr~CnNCrl.);
}
int cyl(::) int ::;
tr-~nsl3tes outputs 35 fOllO~Jg ~Ak . ~ .
14 --~ 17 22 --~ 14 ~A '23 --~ 15 {
~ 03 return ~
if 1::~;-13) return 1:~);
if ~::C=21~ retorn (~
retorn ~ 8);
}
7~5~77~7777~75~i7777.'77777i.~7i~i.'757ilS!77j!;'~7777'i!775'7'i7j~'777i~
20073~
T~YLOR 3 . Q-O10 sho-Jinputs( ) /mll;t; Displ.3ys st3tus of inputs f~r user tr- see J~
/ t,';~ an~ tog31es outputs .3t u er5 r~ est ir,t .~unln~y,iL5~,u;
~15();
printl(l,~ress output t\nur ~t~lEI~ ~o anlit\rlIr,plJts: Ultr.3:\n`);
~3in:
if (sense(l)!=iCl~ ll ser,s7e(2)! iL~J ll s~r~se(8)!=iL~ ense~)! iL~ Pt.3ic~)!=l.l) print.3t~1,4);
f or ~ duMmy= l; duMmy~=4; ~+dlJnlmy ) i~.iUnln~y]=ser,set.ilJmnly);
if ~iCdumnly~) printl(1,~X ');
else printl~l,'lJ ');
u=get.3.ic ( );
putch3r ( ' ' );
pr intir,t ~ l ,u );
prlntl(l9' 't;
t~Checkhfo~ )k.ey hit. . .( h~nge output st~3te ~un~0y=ir,ch~r ~ );
if ~dunlnly==l8) ~ummy=lV~
if ~-~lJn~D~y;~ 74~ ilJn~n~ =57) iun)n~y~ 8;
i~ (dun~my~=G~ ~17& iumrlyi; 7t`~) iummy-=55;
i ~ ( dumMy.~ 2 ~1 ) for ~-ium0y71;ilJmmy~ +~un~my) iP ~liummy!=16) outorf~iun~my);
return;
if ~u~my==~ l l iumMy==lG) scsnst~rt( );
else ir ~ison(dummy)) uuto~f~iummy);
f? 1 5 ~3 outon ( dumnly );
go to n:~.3i r,;
rS~ s~S~rs ~ rrs~s~7~s~s~r s'l~ S'~r7'7'7 S~S~S 5~5~', '' ', 'S5"~ '.'SS"!'S''.'7'~"~'7 '~'r~
:.,, G.~, .
TAYLC 3.0-010 ~ ~ ~ 7 3 ~ 3 ~ir~lu,~ 'psio~h' .3d~c.~
5peci.31 ro~tine for c31i~ratin~ the AIIC in o~Jr shop lhis rolJtir,e ~ssonles t~ie .~pplic3tor rel.3y is c~rltrollin~
the volta~e. ~Ihen ~ppplic3tor i5 of~, volt~e is OVlIC .~r"~
~ when .3pplicator i5 or" ~ult.~ge is int count~
while(l) {
~ rheck top screw outoff(~PPL~CATOR);
.ielay(500);
eount=O;
C15( );
printltl,'Top ~crew:~t,\n\rl');
while (count~20) t del.3ytSO);
:t-~et~,io();
if (~
{
printl(l,'~:urn t,CW \n');
count=O;
else if ~
{
printl(l,'lurn CW ~n9);
count=O;
}
else {
prin~ ion~ n~);
~+count;
}
~ check ~otton~ s~rew outon t ~PPLLC~TO~);
~elay(500);
cour,taO;
~ls~1;
printl(l,`L~ottun~ ~crew:~n~n~rl~) while (cour,t~:20) {
~el.3ytSO);
::a~et3,i~
if (::~;4091) ~.
printltl~'J'I.~rn (,~I ~r~
, . ColJnt=O, else if (::~409~) printl(l,~'lorn t,t;kl \n');
count~O;
}
else . .
TAYLOR 3.0-010 2007343 pr i n t l ~ oo~ r~
+co~Jnt;
}
rr~rS~S~S~S~r~s ~ ~s ~ s ~ S rrr~ s s ~i s~
,:
' :: :
~ ~-32- :
... .
~....,,. ~
- 2~73~3 TP~YLOR 3 . 0-010 lan~ lonQirlput(init,,~i3its"iecinl.~1s prampt) c prints pron,pt, then lr ts usër input .3 lor,g r,unl~er with ~;t~
Jigits ~iigits, .3 ieeinl.~l at iecin~ls`~ran~ the r i~ht clears the screer, .3n~i onl3/ ~ ) er,ters tlle ~ lue long init;
int ~iigits":le~imal~;
el1ar ~pranlpt;
I
lang r,um=O;
char r:
int cnunt=0, ~1s();
pr i nt ~ pr oD~pt ~;
pr i ntl ( I, ' ~n\n\nl~ress l; ta 1:1 e~r ' );
while (isrh.~r()) ir,ch.3r(); i~ cle.~r ir,pl~t t.affer printat(6,~);
prir,tlong(l,ir,it,Jigits"iecinlals,' ');
plJtchar ( ' \~ ksp 3ce while (I) {
r-inch.3r( );
if ((ce='l' 8S c~ '9') 11 ~c=='~)' t~ caunt.~01 1I c=='C') if (c=='C' ) {
count=0;
rm.Jn~=0;
}
else if (+~ro~mtC~~i3its) nunl=nunl~ 10 ~c-413;
pr i nt~t ( 6 , 3 ) ;
printlon~l,r,um"ii~its7,:~ecinlals, ' );
put~l1.3r ( ' \~ t acl.~p ~re ;~
}
elsé if (c=='d' 1 I c=='\r' ) i~ tount~=0) retlJrn~init);
lse return(nunl);
}
}
stringinpl.lt(st,Q" lengtll"~ronlpt~
This functiar, irlputs .3 strirlg with nlo::inlunl lenQtll lengtll 3nJ
~ t puts it into stg~ Cllaracters are ir,put urltil ',i is hit.
ch.~r ~stg,i~pronlpt;
int length;
{
i nt ~ourl t=0;
rh.3r c;
cls( );
printl(l,prompt~;
printl~l,'\n\n');
~hile (isrh3r()) inch~r(); /~ cil}3r l:~lJf`fer while (I) {
r-inch~r ( );
if (c=~'J' 1I c~='\r') ~7 .~ .
- 2~073~3 TAYLOR 3 . 0-010 ~;st~ ' \0 ';
fill with t~l~nk. s~!aces while (~eaunt'=ler~tll) putchar ( ' ' );
return;
if (r=-'~b' ) /~ L~cksp~ce ~,t;;~
if tcount~0) putch3r (r);
--st~;
unt;
}
els if (cnuntCler,gth) /~ 3~i~i this charactEr ~aur,t;
putch.sr ( c );
~stg=~;
+5t~i;
s ~ ~ S ! ~ ! S , ~ ~ S S S S S ~ ' S r .~ . s s s ~ ! S S S ! S ! S S; ! ~ S S ~ ~ S S S ~ S S S .
--3~--`~:
2 0 0 7 ~ 4 3 TAYL0~ 3 . 0--010 e::tern ~nsi~ne,i int outst.~tlJs,olJtst.~t.!;
int ioinit() ~A~ Ir~iti.31i~es .~11 io c.~r~s ~A/
{
o~Jts~3tlJ~
outst.~t2-~0;
o~Jtput(ol~tst~tl~s);
outpl~t2(ol~tst.lt2);
clr.3~ir();
olrsen();
}
int sense(input) /A~A returns .~ 0 or nan 0 value ,iepen.iirl~ on whether .~n AAA~
~AAA input nun~ber input i5 or,. AAA~
~AA~ If input is ne~.~tive, ~t ~aesn't re-re.3,i input v.31ues AAA/
int ir,put;
st~tir unsi3ned int sen;
if ( inpui;~V) sen=~etsen( ~;
e1s~ input=-input;
rr3turn(!(sen & (OXO1 ~:C (input:l2-1))));
}
fore lJsir)~ these routin~s~ outst.3tus h.3s to ~e ieol3red .~s AAA .an e:~tern unsi3ne~ int ~utst.3tus=NV. (set equ.31 to .~11 ones).
int nuton(nunl) Turns on output num~er nunl AA~/
int num~
.~
if (nunl~16) output2(outst.~t2 8= ~(Q::01 ~.:c (nunl-'-./)));
else outputtoutst3tus g ~tO~ : -nunl ) );
}
int outufftnlJm) /~AA Turn ol`f output r,unlber num AAA/
int nunl;
if (nunl~lG) output2toutst.3~,! 1=(()::01 C~; tnum-'./)));
e1se autput(out5t~tu 5 1 ' t OS:Q1 ~ UIII ) );
, int i son ( r,unl ) ~A~A returr,s 1 if outpl~t num i5 orl, atlleruise returns 0 AAA/
i nt nunl;
if (nunl~16) return(!(olJtst.~-t~ 8 (Q::~ : (nunl-CJ))));
else returr,(!(outst.~t~.J~ 8 (~ r: - r,unl)));
}
-35~
20073~3 I~YLO~ 3.0-010 int printl(port,stg) int port;
char ~st~;
{
int ir,~ie:~=O;
while ~stglinde::~!='\O') if ~port==2~ prcll~r(st~lin~:ie~
else putrh.~r~stgLir"~e~
~in~e::;
}
int printint~port,nlJm) ir,t portrnlJnl;
/~ prints a positi~e inte~Pr ~rll.ln {
char stgLlS~; :
cl1ar ~ptr=stg~14;
~ptr='\O'; J~ end of strillg ,io {
ptr)-4tl+r,un~-~r,uM/10)~10;
nlJn~=10;
~ hile ~num~O);
printl(port,ptr);
}
printlDng(port,nllm,,ii~its,derino31s,t,1.3nk.) prints a lon~ num~er, using fiigits 1 of ,ii~it;, putir~g a ,iecim.31 ~ieoinl.als places Yronl the en~i, ar"i ur.i.r,~ tll2nk ~ to fi11 311 tll.~rlk sp.3ces '~
long nun~; -int port,di~its,~e~iMals;
ch.ar ~1.3nk;
e.~:tern ir,t metrio;
rhar st~lS~;
rh.ar ~ptr-~tg~14;
int ::;
~pt~='\O';
for (:~ c:=~iigits;~
if tnum==O) ~ ptr)=~.larlk;
el~e ~ -ptr)=4~1~nun~-(nunl/10)~1();
nunl/~10;
if (::==,iecino~ls) i.f (metric) ~ ptr)-','; el5e ~ ptr)='.';
printl~port,ptr);
}
telloser~stg) char ~st~;
~ .
20~7~3 T~YLOR 3.0-010 c15~ );
printl(l,stg~
w.~ltst~rt();
}
prirltfr.~rt(port,f,,ier,onl) ~lo.~t f;
i nt por t r denonl;
prir,ts .~ flo~t nl~nl~er in fr~oti~rl.~l for~) h'itil ~ir'rlOnl 35 tile ~ienonlin.3tor (or .~ f.~etor o.f it~
int ::;
:~=f;
if ( ,S0) printinttport~
printl(port,' ');
f - =::;
x=f ~denonl;
while (::!=0 ~& (::/2)~
=2;
,ienom/=2;
if (:~!-0) printint~port,::);
printl~port,'~');
printint~port,denon~
}
7~7 ~ 7~r~7 ~ ~ 7 ~. 7 7 ~ 7 7 7 7 ~7 7 7 S~7 7 ~7~7 ~ ~
TAYLOR ~.0-010 2 ~ O ~ 3 q 3 ~ . .
illt sisep~nel(nunllJsed~ si3e~ to.ler~nce~ nl3::tol~ ma::l:o~
sizes ~ p~nel ta ~ wi~ith fr~nl ri..P t~ si~e~toler~rlce i~ it c.~rl.
other~/ise t3kes tl1e closest si~e i f within n~3::tol ~
returns nunt~er of t~o.~r~ ; use,i tt~ nl3ke p.3nel in r,un~l~se,i.
returns:
t'D~Jn-i .3 conlt~ i r~ t i o n = foun~i withirl m.~::trli, tlut over tolel~r~ce ~ 3 = ~.3r~t t:l.r"i witl1.ir~ nl.~::tol .~rl~i nl3s:~n.~r~sperp.~nel.
int ~nunll~se,~, toler.3nce, nl.3::tol, nl.3::ho;
lon~ size;
e::tern ir,t ~o.~r,isi~eL2~, use~il2~], nlJnlslots;
.int sortsise~22], sDrtpoirltert22], pointer[22~, elpointerl~2~, r"Jmover =O, r,lJnlb~O, olnunlb, ,iunln~y, r~un~ho3r~is-O, 1top, ~point,~ppoint,~rl::,lpm.~zho;
long olsize=~ J999?L, hi~hsis~=5.ize~n~'35 tl!
higllsise=sise+toler.~noe, I er~gtllL~2 ~, tot3lsise-O, ~plen~Jth;
p~.3::t~0=pointer-nl.3::~o;
poin-t=ho.ar~ize;
31ili .anotller t~oar~ to r,orte~:i 11st ,:Jo ~
~io {
t pQl~lt;
iP (~tnunlt.o~r~s~rllJnlslot~ oto e.~llt~irl~:J;
) while (!,~point1; /~ ,I.ip sero size~i ho.3r~
~pn.3::bo;
sortsize~++nunl~ point;
sortpointt~rLnunlt ~=rwJnlho.~r~:is;
tot.alsize~=~poirlt;
~ while~tot.31sizeCsi"e1;
if (nunt~;S) goto t,ottonup; /,l~ lierilie wlllcll routine to us goto try;
.~d.3~0.~rd:
io {
~poir,t;
if (~nuMho.~r~s::llunlslots1 ~oto c~ntfir":i;
} wllile (!~point1; /~ skip zero sizo~:l t~o.~r~s .
~pn~.ls:t,o;
20~73~3 TAYLOR 3.0-010 , ,, . , , .. , , .. .. ", sortsi3el 1 r~nunlb 1- I;pa.il,t;
s~rtp~interCnonlb~=r,l~ bo.3r tot~lsise+=~poir,t;
if (~r,nnlover~ g~to c.3rltfirl~i try:
try this ~o~ in3-tion ~
~plen3th=ler,gth)~tot.~lsise;
~(pp~int=puinter)~O;
checksi~e:
he~k these ~o~r,is ~
if ~plerl~tll~sise) gato uppoirlt;
if (~plen~thC=hi~hsize &8 ppoint,:=rnl~::tlo) ~ 3ao~ sise p::=pDinter~l;
~nunl~Jse,i=V;
for (~iumnly=l;duolnly~:=nunlt~ ionlnly) if ~pX~=ppr3int ~8 Ap~ ilJnlnly) ~ p:~;
else use~L+~,';nunlu~e,i]-r,nrtpointerL,~I~nlnly~;
return~l);
keep tr-ack uf snlallest ~
if ~plengtl1~01sise 2~ ~plengtl-l~=nl3xhi~ltsi3e tX ppo.int.`.=pnl.a::t~ol clnunlb=nunlt,;
rlsisP=,~plengt11;
for (p::=poir,ter~l,cltop=n).pnint,er~l;p:.s.~-ppoir,t;~p::,~el~op) ~ltop=~p::;
uplevel:
if (~ppoint~;nun~
~ppoint~ ppo.int~l;
~+ppoint;
~plen~th~ plengtll-sDrt,si.sel.~ppoirlt.];
+~plength;
~oto ehe~ksise;
}
.iownlevel:
--plengtll;
r ~--ppoint,--pointer) /~ r.~ll olJt of conlt~in~t,ions goto a~ia~o.~r-i;
ppoint:
if ~+~ppO.int==nlJnl~) ~otn ~nwnle~el;
~plengt1~ (plen~th-l)-sortsiseL~ pnint:l;
30to checksi3~;
c.3ntfin-~:
~ J5 ~ - -`- 200~3~3 TAY LO R 3 . 0 - 0 1 0 co~ in't iirl,i ~Jithin tnler.~nce 7tt~
if ~clsi~e=-9?cJ'J999L) retl rn (3); /3tt7l~ ~olJl~lrl~t fir~d withirl nl3::t~1 .3nd n~a::ba ~.t:il;/
t~t retUrn clnse~t si::e ~:,'.Ji/
p::=clp~ir~ter~l;
~nunluse,~=O;
for ~dlJn~my=~ umn~y~:=clrllJn\~ iOMnly) if (p:~;cltop &8 ~p~ mn~y) ++p::;
else usedL~tt:nunlused]-~ortpointerL~unlnly~;
return bo t tonlup:
/~t; this p.3rt uf the l~nctior, will searcll rronl tlle tottMnl op pnlazbo-painter+nl.l::t,o;
while(~+nun~bo.~r~s~=nlJnlslots) ++poi r,t;
:lf (~point) sortsiseL++nunl~ poir~t;
sortpointerCnunlb]-r,l.lnl~oar~
}
~tplengtll=length)=VL;
,~ppoint=pointer )=O;
clhecksise:
check these ~o~r~s iI ( ~pi ength~ hi gl~ e ~
/~At~ keep track of: sMll le st ~ t if ~plength~clsi3e es ~plrrl~ =nl~::lli3hsi3e 8& ppoint-::-pMa::to) clsise=~plength;
for (p~:=pointer+l,cltop=clro.inter~l;p::~;=plloint;lrp ~+~cltt)p) ~clt~p=~
~oto ulppoir~t;
ir ~,~;plength~=size ~ ppolnt-~;=pnl~:t~u) ~,t goo~ size ~numuse,i-O;
f ur. ( px=pointer+l; px-~;-ppoir,t; I +p:: ) ose~l r + linlinllJsed~=sor tpoir~ter L1~p~
return~
~YLOR, 3.0-010 2007~43 vlplevel:
if (~ppoint~..r,unlt~) ~(ppoirlttl)=~ppuintll;
~ppoint;
~(plerl~th~ .plerlgth~ss~rtsi3eLAI)poirlt:l;
++plength;
~oto rll1ecksize;
.ilawnlevel:
--pl eng th;
if ~--ppoint==pointer) /~ r~n out s~f con~tin~tiorls ~Dto cl~rltfir,d;
ulppoir,t:
if (++~ppoint,~nun~ vto dlos~nle~P.l ;plength=~p.ler,~tll-l)+ss~rtsiseL,ltppoir,t:l;
goto clhes~ksi~e;
clantf in,i:
s~ouldn't find s;~itllin tols~rans~s if ~s~lsise==9999999L) rs?toln (3); ~ cr.~.sldn'-l Xin~ within n~ tol 3nd nl3~0 else retlsrn sls~s2st si.~.e ~:5;/
~nun~used-0;
for ~ps:~olpointerrl;p:o:cltop ~p:t) use~iL~ti5~nunlu5ed~=50rtprllrllerl~
return~
}
~ ~ r s~77S777777i77;7S7777~7~7 ! ' ! 77',.~777i777 7 " ~ r 77 ! Si7777$7777$;77 7777 77 ! 77s ';' - ' TAYLOR 3.0-010 20073~3 . _ . . .
tir,ellJde 'psio.h' int nlakep.~nel(sise~toler.~rlce~m.3stol) ~i4 n~3kes one par,el rJf sise sise keepir~g the sise within taler3r~cQ i.t possit~le, ar,d ~iJ~/
.31w.3ys keeping the sise withir, n~.3~:tol.
ioes a~.l sisln3 .3rl.i n~atiorl eontral tu nl.~ke arle p.~nt?1 returns nuMt~er of t~a.~r,~s sent out O if stapped tly l.ey t~elr,~ presse~
1ong sise;
int tolerarlce,n~ tol;
.~
e::terr, long siæele~t; /~ t~res renlairlin3 si3e of' p.-.~ne~ or O if liane e::tern int scan~ir~ e~22~!tlo3rlisiseL22~rnun~slats~nlJnlslrJt~plllsl~tlo~rlissent;
e~:tern int nl3::baar~is, m.3::tØ3r~isperp.3nel, metri~, re1Y35eCOIJntr /~ kePI15 traCk 0~ t uf rele3ses sinte l.~st sc3n.
zerocour,t, /~ .eeps tr.3c~. af t of t~r3r-is th.3t are in the hit~
~ nle.3slJremerlt 3rea, tlut whose sizies are l~nknown. it~A/
resc.3n; /it~ik if this fl~g is set, the machine shoul-i rescan. it~/
int co-ie~numuseri,rilJmn~y,t~itcll.t.03rr~courlt,~i2;
len~ testsise,tot.31sise; '.
b.~trh=l;
if (sizeleftc'=O) {
si~eleft=sise;
to.3r-issent-O;
t-.3t~l=O;
}
while ~si3eleft~0) 3g-~in: ...
i~ (rese.~rl~
serocol~rltasr3nh~3r~is~n~etric~;
releasecQ~Jr,t=O;
ii` (isch.3r~ 3rrocollnt~=~ 3ute ~t~ort;
co~ie=ei3ep.3r,el~nlJnluse,i,~iiseleft.,t,Qler.~r,cr.~,nl.~:ttal1nla::t:,a~ar~isperp~neJ~t~o3r~1~sent);
if ~isch3rl)) ~ato 3t~ar-t;
if ~co,ie!=l) /~ik~ thYre is nn eon~t.irl.3tiorl witllin irlitial tt)lerarlee irst~ clleck hr.~ll ni~ny L~o.~r~ re 3~ k~le t~ use i~ (sera~JI.Jr~t~ rl~ tl~ ty s.ll~ts ~
if ~rele3secolr,t==O) /~ , ae ,just sr ~nne-i ~ ~ nlust te out ot ~!oo-i 1:
/~ ~un con~eyol for~ rd t'or '3.S eranis ~/
c 1 s ~ ) ;
~Irint~ t~eei n~ore t~oar.:l~');
outor~C~r~Vt'i`f~R);
~c13y~ 350V);
outof f ( cl~ ynr~;
}
sean tlle t oar -is ~
resc.~n=l;
~r TAY~OI~ ,.0-010 20073~L3 ~ot o a~.~ir-;
/~!; Calcol3te tc st si. .e ~/
bestsi~e-O;
for ~ nlnly~ ilJolnly~ JDlsll~t~ ilJnlnly) be s t s i e.e n-t o.~r i 5 i ~e l iunlnly 11;
bestsise/=2;
if tsi~ele.~t~t~estsi~e) /~ re.3sorl.3ble ior l:iout le b3tch ~
/t seni si~ele~ ~-tlestsi~e or all, whicl)ever 5 snl.311er ~;/
tot.31si~e-O;
r,unluse,i=O;
,:iu ~
++r,un~use.~, ose.iLrlunllJse i~=n~Jnlu3e :l;
-~,otalsi~e~=boar~:lsi~eLI~l.lmuse~J;
while (tot.31si3e~siæelef~-t,estsi e-1.5 ~Z nunluse~i~rl~nlslots)-if ~ (Y10.st)nunllJsel~:: ( (flo.~t~tot.alsiEe/sise)~m7::ho3rdspl rpanel) { /~ the nun)ber oi t~o.3r,ls ue were ~oing to sr?n~i ollt in tl1is batch rroul-t t~e more thar, lOZ over the percenta3e ot' n~ax l:u.3r.is ~ , t.~sed on si3 c15( );
printl(l,^C.~n't Yin~i~nl.~itll.in n~.~::\nbu3r.is/p~nel.\rl~ennve Snmllest~');
olJton(C~t~!'v6YOR);
,iel 3y ( ~50~ );
outbff~EOll~YO~!;
~tot ~gain;
else if ~co-ie==~ not re.3sorlltl1e to l.~ouble h~t( h, choke if not witllin nol::to c l ~
printl(l,~l,ar,t firl~ witllin~lln~3::0 toler-.~nce.\n~en~ove .~ hu.ard.~)7 o~Jton~C~N~EYOR);
i~1.3y(~500);
ul to~f ~Cl1N~EYUr~) r goto ag.sil,;
} }
/7tt7~ sen~ hn3rds: let ~il.ln~n~y poir,l tllru .311 7;electe~i tu.~ris le~ t.~O31'1iCUUnt ~nl.rnt t u:l to.3rlØ; s~nt ~unln~y-l;
~hile ~ilJnln~y~;=r~ n~ nl~) ~ W.3it ii stop w.~rirl hit ,~
,:lo ~
r ~isch.~r~ oto .3bort;
. . ~lhi l e ( ! 5er'1:. Y ~ S'~
/t ~en~i selecte~i bnar~t~ ~/
t~rele~secount;
to.3r~icour~t=l;
while ~ttumn~yC r,onlusei ~.~ boar~icoontc=n~3::bo~rds) if (boartisi2l?Luce:iL.lun~nly:3:1!-0) {
-43- .
.
~AYLOR 3 . 0-0I0 2 0 0 7 3 ~ 3 olJt~rl~cyl ~JSe~.lL~ nlnly] ) );
si~eleft-=~0.3r,isizel:lJse,iC,~ olnly]~;
r~siseLI.lse~iL~ nlnly]]=O;
t+t,0.3r ~iro~r~t;
~+tlo.~rdsserlt;
~+3erocolJr,t;
}
~ f ,ilJnlmy;
}
olJtor, ~ C0~1vEYlJ1~ );
if It~tri1~) ,iel.i3y(300);
autor~ 'LIl;~lUR);
,ie l 3y ~ 500 );
f or ~ !c: ~nl nls l o t s; l +~J~ ) outof~` ~cyl (~i2) );
,iel.i~y(400); /~ w3it .~n:~ther ~ seC to nl.i3ke slJre pisnel ,.irne ~/
while (!sense(XYE));
while (sense(i.:YE)) { /t~ let 9tOpll~ controI rorlveynrs ~./
if I I ser,se ( SrUPWhlJll ) ) ,i2-0;
whi 1 e ( ser,se ( ~YI~ ) ~ 2 ! sense ~ C, LUI'H~Illl ) ) ~. .
i ~ 3 (J () 0 ) {
tlJrn off ~onvr.?yors .3r,d ~ it for stopwiln~i or eye J;.~; to t~e o1e.3re,i l/
outof f I CUllV~Yllk );
o~tof ~ o~rr~L ~ct\~rufo;
hile(!ser,se(~ ) &~ sense~EY~));
/~t~ rest.3rt tlle coveyors if the stopwan~i is tle3r i f ( s erls e ~ !Jh~lll ) ) {
ol~tor~ L IC~lUH);
,:Je 1 .i~y ~ 30() );
ol.~torl(~ 'Jl.YUH);
}
}
}
outof f I CfJllVLYllH );
if Ico:lel-3 ~ iunlnly=-ro.lnluse~l) { / J~ i s i s t l l ~ l 3 s t tl :3 t ~11 Cl :l t l l .i g ~ r, ~lQ 1 ~y ~ '100 );
outof~ HHI.IC~lU~
} }
retl~rn ~ nunluse i );
.i~bor t:
if ~sizeleft=-size) si.zelef t-0;
return~0);
.~ .
rrrr~'~r7`rr'i"i'r~r~:''i''i''i'f7'~'r~"i'r!''i''i';''i'7''i'7'i''!'i'i'r7rri''i' irr77 i~ i7 i'i7 i'. i'i7' 77r7 ir777ri'i7 ;r7r777~ 7~r c!,~,,l, fl~YLOR 3~ 0~010 2 0 0 7 3 4 3 _ . . . .
iinclo,ie 'Fsio.ll' ~ii.3~r,0stics( ) /~ I'erf'Orn15 311 di3~r,0stic check.s ,t~
e::tern in-t sc.~niir,~o.~r~ i~eL22],nlJn~slots CCO~E?;
int ~unln~y,i2,.i3"il1,tinle,hi~h~5~,10l~CSJ,cr)ur,tL~],leYt~oo~i,rigllt3~o~i;
flo.3t f;
r ls( ); prir,tl(l, \r, L~ rlostirs~rl\rl );
/;t Visu.31 cor,Yeyor test .~J
pr i n tl ( 1~ ~ ~onveyor \n );
ou tor, ( CI~N~ tDr~ );
iel ~y ( 2500 );
outof f ( CUN~JfiYOR );
ie 1 3y t 80V ) ;
/~ Visu.~l test o.t cylirl-1ers ~/
printlll, Cylin~iers\n );
for (dunlnly=l;~iunlnly~ nlrn~slots;++dun~n~y) outor,(cyl(.iunlmy) );
~or (li2=l;.i~-.lSOOO;+td2);
outof~(cyl(,iunln~y));
,t test tr.3verse sFee-i, 1 of de:llnleter tr3n~itions, .3r,~
; Ultr.~;onic .~iiustnler,ts f our s r .~ns:
r ls~);
printl(1,~lesting tr.~vers~.?\rlspee-i ~nd\nserlsors.~);
f or ( r~unloy~ unl~y~-4; ~+ iunlMy ) solnst3rt( );
hi~tlt,ilJnlmy] re3isise( 1 !;
lowCdumn~y.l=re3,isise(0);
courltt.iun~nlyJ-O;
keep tr~ck of mir,lMun~ tilDe het~E en cl1.~n3es ir, i3 d3-9999;
.io ~
tin~e=O;
hile (!sense~ l.lllL'l~'X) ~ r~tin~ecsovo);
if ~ ~inle~ -~O~O X~ courltC-:Iunlr~ JC10) {
telluser( llr31inl~ter~r,ser,sor pr~hl~nl.~rlllit 3r~y l~ey~');
~ioto f our so 3ng .
}
i f t tin~e~;5000) .
tin~e-O;
~Ihile tsensE?tLI~L~ ) 88 ~+tin~eCS()()V);
O if ltin~e~-5()00) tellur.er( IIPlimeter\r,~er,sor E~rotllen~\nilit .~ny kEy. );
~oto f our sc.3r~q;
}
t+courltcliun~nry];
if ( t11ne~::li3) d;3--tl -~5 ~"-~ , .
TAYLOR 3 . 0-010 2 0 0 7 3 4 3 ... .. .... ...... ..... . ...
} I~ a ~ t i n if ~i3~::1000) telluser('hlo~J cioor~\rltr iversP. Iherl~nhi~, 3r,y kE!y.Y1;
goto foursc3tls;
if ~,i3)2VO~)) telluser~'S~ee,i up\r,tr3~rse~ lllerl\r,hit :~rly key~
goto f our sc 3ns;
} }
four sc-ins ccimp:Letr!d, clleck values obt3irled ~h/
.12=countC 1 ];
if ~d21=countL '~ 1 1 d2!-criurltl.3i 1 1 d:~!=colJrltL~
telluser~'lr,ternlit.3r,t\r"ielinleter ser,~or\r~problenl: slaw\rl~t)~ln tr.3verse.l~;
goto f olJr sc ~irls;
if ~-i2~;13 1 1 d2':'..!8) /~ A ~3d c~:ur,t ~
telluser('}.l-ld cielinleter~rlcol.lr,t. Cl-eck\ndelinleter posi-\r,ticr,s, hit key');
to f our sc.~r,s;
}
~=0;
~3-0;
for (~ Mnly=l;,il~nln~yi::=Çi;~+d,Jn~nly) d2 ~=highL,iunlr,ly:l/Çi;
~13~~10wLIilJnlnly]/~;
for (~iunlnly=l;~ nln~y~ dunlnly) if ~hi~llLIiunlnly]-,~ s400 1 1 ~ lllduninly`~ 100 1 j lowt,~ nlnly~ 3:: 90V 1 1 ~i8-lowtl~lJr tellu~,er('lr,corl~ist.ar,t\l,ultr.-isonic\r,serl~,rir rea~.l1rl~s:\rl1!eFl=icc~
}
checkag.-iirl:
if ~d~80V 1 1 ~i2:: 110~ i3C31iV(J 1 1 113~S:JtlVO) cls~ );
if ~d ~ O I I 1~ =-3,!~ 0) prir~t~ l.lrr~ ~:PI'rJ --~crQ'~ .r~o~ Çi t~ r~ lel~ llit 31-~y\r~1~.ey. ~ );
~lai tst.3r t ( );
r ls~;
if ~ 2~ 11OO) prir,tl~l,nT~rr, sero scre~r~rlil~ 1 turr,~nlller, llit .iny\r,k.ey.~);
w3 i tst.3r t ~ ) ;
c 1 s ~ ) ;
i f ~ ;3 S 0 V ) printl~ lurr, 6~i.3n scre~l\rlir, 1/~ torl,.\r,lllt!r~ l~it --ir,y\r,key.~);
waitst3rt~( );
c~ 1 g ~ ) ;
_.,, --,, ;r~yLo R 3 . 0--0 1 O 2 ~ 0 7 3 4 3 . . .
Field of the Invention This invention relates to the formation of panels of wood by gluing together smaller sized pieces of wood so as to utilize scrap wood materials which would otherwise be discarded and form usable panels therefrom.
Des~ription of R~lated Art Elmendorf, U.S. patent no. 1,428,765, October, 1922, forms sheets of wood from edge-glued wood strips using spacing grids formed by bars. Rails allow the strips to slide on the grids. The grids are used to carry edge-glued strips which are manually placed on each grid. A number of such supporting grids are shaped by stretching and compressing.
Frisch, U.S. patent no. 2,526,342, October, 1950, shows edge-bonding apparatus where glue is applied to the edges of the boards on an infeed table. The glued boards are fed into an area where a plurality of horizontal plungers apply pressure across the end of the edge-bonded boards. Upper and lower platens are provided which move into and out of engagement on the boards as same move into the pressurized area of the apparatus. The upper and lower platens apply RF energy to the wood to cure the glue in the gluing operation. Figure 10 of this patent shows a plurality of plungers utilized in the apparatus. The plungers serve to apply pressure uniformly to the sides of the board already selected for gluing. The plungers do not *~
20073~3 serve to advance selected boards beyond a predetermined point for further processing.
Schroeder, U.S. patent no. 4,195,346, March, 1980, shows an appara-tus to sort and classify lumber utilizing a computer programmed to select certain pieces. Schroeder's system selects based on the length and quality of the lumber and develops electrical contr~l signals from these inputs.
The control signals indicative of length and quality are fed into a computer programmed to select optimal cut-off length and optimum quality and to feed these selections to cutting or sorting apparatus so that the appropriate operations can be performed on selected pieces of lumber.
The Schroeder system is designed to work in a saw-mill. Schroeder requires and ralies on a visual inspection made by a human inspector who manually depresses buttons he selects based on the inspectorls judgment made by viewing the board. The boards so classified by the inspector are transferred on a sorting conveyor. Kickers are provided to knock off the boards so that they are placed in selected bins. Schroeder requires that an operator manually depress buttons indicative of criteria of wood boards which he observes from his inspection station. The computer then, based on preset criteria, compares the results of the signals generated by the depressed buttons with preset information and causes the boards to be conveyed automatically to preselected locations for further processing in the saw-mill.
arino, U.S. patent no. 4,512,840, April, 1985, shows a machine for forming planks by gluing a number of . .
i 20~73~3 wood fillets together. The planks are obtained from uniform sized wood fillets. Each plank is thirteen fillets wide and several metres long. Marino shows a feed station for the thirteen fillets. As the fillets are all of uniform size, Marino does not require any sizing, selection or processing based on the results of size analysis.
SUMMARY AND OBJECT OF THE INVENTION
Ths present invention relates to a method and apparatus for selecting wood stock of various sizes automatically and to convey the stock to a series of locations which carry them to work areas where gluing rollers and other operations are p~rformed to process the selected pieces of stock. Specifically, the invention employs a track section with thirteen distinct tracks having conveying means in which thirteen pieces of wood stock are positioned. The pieces of stock are of uniform length and thickness but are of unequal widths. The boards are placed in each of the tracks with their non-uniform dimension upright in the track.
The conveying means brings all of the separate wood boards up to a scanning area. The scanning area utilizes a track mounted analog proximity sensor positioned perpendicularly to the conveyor for the boards so that the proximity sensor will scan the height of each of the thirteen boards each time the scanner passes along the length of its track. The data received from the scanning sensors as to the height of the various thirteen boards is fed to a computer which computes which combination of the thirteen boards equals a predetermined size for the desired ;. .
20073~3 panel.
The computer then actuates a controller which, in turn, actuates selected ones of thirteen separate solenoid valves to control air to thirteen cylinders to raise or lower thirteen gates at the ends of each of the thirteen wood stock tracks. Conveyor means then conveys the selected boards to a secondary conveyor which carries them to a subsequent work area where gluing rollers and various other operations coact to further process the selected boards.
The wood gluing art is long recognized the need to automate what, for many years, has been essentially a manual operation. The field requires the cutting and sizing of strips of wood which are then glued along their edges, clamped together, the glue allowed to set, and the wooden panel, thus formed, removed for furthPr processing. Examples of various machinery developed to automate the steps of this operation are shown in U.S. patents 4,374,165, 4,062,320, 4,489,925, 3,771,779 and 4,773,555, all commonly assigned.
The present invention represents a further extension of the automation of the various steps of the wood gluing process. This invention automatically selects and transmits to further work stations appropriately sized pieces of stock which, when glued together (utilizing various of the apparatus shown in the art ~or gluing such strips together), saves time in the formation of the end products.
The system described in U.S. patent no. 4,934,328 has proven itself in operation; however, it has been found '~;
2~073~3 that its utility would be enhanced if the additional functions (described in this application) were added. These functions permit the system to provide additional information to and control for the operator; namely, (i) a count of the number of panels made by the apparatus and generation of control signal (which can be used to stop the apparatus) when a preset number of panels are made; and, (ii) generation of a report (on a screen or on a prin~er) covering the production on the machine during a time period which generates information by panel size, panel area, board feet, specie, and operator identification.
These features are incorporated in the system by modification of the computer program and the addition of a printer to give a permanent record of the display.
A
~AYL~. 3 ~ O--010 Zo~373~3 A principal object of ~he invention is the provision of apparatus which will automatically select the widths of the boards necessary to make up a panel of predetermined dimensions.
A further object of the present invention is to automate and make more efficient the fabrication of wood panels by gluin~
together pieces of wood.
Another object of the present invention is the provision of an apparatus which automatically stores a number o strips of wood having uniform length and thickness but non-uniform widths.
The apparatus automatically selects the number of pieces of the widths presented to make up the desired panel width.
A further object of the present invention is the pro-vision of an apparatus which automatically takes the selected pieces of wood and transmits them to a work station, first passlng them over an edge-gluing roller.
Yet another object of the present invention is the provision of an automatic stop which acts to inhibit operation of the system until glued selected wood pieces are removed from the apparatus for further processing.
A still further object of the present invention is the provision of a computer program which processes the information preset by the operator for width of the panel to be formed, the number of pieces of wood to be selected and the tolerances for the panel to be formed.
. .
~ ~()7~3 ~AYL~ 3.0-010 A further object of the present invention i5 the imple-mentation of an algorithm in the computer program, which algorithm develops output signals to select boards o different widths to make up a panel having preselec~ed width, number of boards to be contained in the panel, and desired tolerance~
Another object of the present invention is the provision of a scanner apparatus for scanning the widths of the plurality of boards and developing output signals indicative of the width of the board and the location of each board scanned.
Yet another object of the present invention is the pro-vision of scanning apparatus which employs an analog sensor for generating an electrical signal indicative of the width of the board which analog sensor operates by impinging compressional wave energy (ultrasonic signal) on the board and receiving a reflected signal therefrom.
A further object of the present invention is the employ~
ment in a scanning system of a digital location sensor which senses the position of the analog sensor hy developing a signal based on selection of mechanical indicia for each channel where boards are mounted.
Another object of the present invention is the employ-ment of a scanning system employing analog and digital sensors mounted on a rodless cylinder which serves to index the sensors across the width of the ends of the boards.
. . . ~ . .
.. . .
~AYL~ 3.0-010 z~7~3 These as well as further ohjects and advantages of the invention will become apparent to those skilled in the art from a review of the following detailed specification and accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
I Figure 1 is a top view of the apparatus of the invention Figure 2 is a side view of the apparatus;
Figure 3 is a perspective view partially in section of the infeed portion of the apparatus shown in Figures 1 and 2;
Figure 4 is an end view of a portion of the apparatus ' shown in Figure 3, taken along ~he line 4-4 of Figure 3;
Figure 5 is a perspective view partially in section sf the scanning subsystem of Figures 1 and 2; ~:
Figure 6 is a perspective view partially in section o a portion of the gating subsystem of the invention Figure 7 is an end view taken alon~ the line 7-7 of Figure 6 of a portion of the gating system of the invention Figure 8 is a perspective view partially ln section of the outfeed apparatus of the invention;
Figure 9 is a diagrammatic view of the connectlons amongst the various subsystems in the invention; and ..
.
Or~0073~;~
~AYL~ 3,0~010 Figure 10 is a flow chart for the computer program employed in the invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
.
Figure 1 is a top view of the apparatus employed in the invention~ Figure 1 consists of two main sections; an infeed section 2 i5 provided to the left of Figure 1 which includes lnfeed table surface 320 The infeed table surface 32 serves as a working surface which enables the operator to stack pieces of wood in thir-teen separate tracks shown generally at 30. The operator has avail-able to him a hand held push button controller 48. When the operator has filled the tracks 30 with pieces of wood, the operator depresses the push button on controller 48 to activate the appar-7 atus. The thirteen tracks each may contain a number o~ uniform length, uniform thickness but not non-uniEorm width pieces of wood. These thirteen tracks extend along the length of the frames supporting infeed section 2 until they pass beneath a scanner section shown yenerally at 84.
Each of the thirteen tracks 30 end in respective ones of thirteen gates shown generally at 28 in Pigure 1. The gates permit a num~er o selected boards to pass on to the second main section of the apparatus; the output section 4.
Thi~ scanner section is fo~lowed by an out~eed section shown generally at 4. The outfeed section takes the selected boards from the gates and conveys them to a work station after passin0 the boards throu~h a concentrator. The concentrator .9_ ~AYL~ 3.0-010 ~ ~7 3 43 consists of rails 12 and 14 which serve to concentrate and compress the boards into a compact arrangement and may be located centrally of the outfeed section 4~ The boards thus concentrate~ are in turn passed over the glue roller 10. Glue is applied to the boards by roller 10 on one edge thereof and are then conveyed to a wand a which acts as a stop wand or feeler. ~and 8 is pivoted about a spring-loaded pivot mounting 6~ Movement of the wand to th~
posltion shown in Figure 1 stops the apparatus. Release of the wand from the position shown in Fi~ure 1 permits the apparatus to operate. The wand 8 is caused to release from the position shown in Figure 1 when the bundle of boards which has ca~ed the wand to move its "of~" position as shown in Figure 1 is removed by ~he operator for further processiny.
The outfeed séction 4 of Fi~ure 1 includes a number of rotatable roller rails 16. These roller rails 16 are chain-driven by chains 22, 44 and 42 in Fi~ure 1. The set o roller rails 16 conveys the boards from the gates 28 through the concentrators 12 and 14. Another set of roller rails 18 controlle~ by chain drives 38, 40 and 20 ~ake the boards from the ~lue roller lQ to the end of the apparatus at stop wand 8~
As ~hown in Figure 2, a sid~ view of the apparatus oE
Fi~ure 1, ln~eed table sùrface 32 is connected to the thirteen ra~ls in conveying sectlon 2 of the appar~tusO
Figure 2 also shows a keyboard 48 with a liquid crystal display, The-keyboard 48 is mounted on a panel adjacent the '.1; ~!"' ' :
scanning section. This keyb~ard allows the scanning apparatus to : J
~AYLC 3.0-010 ~ ~ ~7 be set with selection parameters which will be described in con-nection with the computer program by which the apparatus operates as further described in connection with Figures 9 and 10 hereof.
The side view of Figure 2 also shows a plurality of sets of boards located at various points along the apparatus.
Also shown in Figures 2 and 5 is a vertical support bar 86 which mounts the scanner section of the apparatusO The scanner section consists of an ultrasonic analog scanner S0 and a digital proximity sensor 52. Each of these scanners are mounted on a supporting bracket 96 which is, in turn, mounted to a rodless cylinder 24.
As is known in the art, a rodless cylinder is an air driven device which allows a carriage to move from one side of the apparatus to the other. This is commercially available apparatus identiied as model BC100-lPx30" manufactured by Tolomatic and is employed in the present invention to move the scanners 50 and 52 across the entire width of the thirteen channels 30. The rodless cylinder ls mounted on bracket supports 86 and 88. A plate 84 is mounted on the top of the rodless cylinder 24. Plate 84 has thirteen stopnuts shown generally at 26 mounted therein. The stopnuts 26 provide an indication of location by proximity to sensor 52. The analog proximity sensor 50 develops electrical signal~ based on ultrasonic detected signals indicative of the width (height in Figures 2 and 5~ of each of tlle boards. The digital proximity sensor 52 detects which channel the analog sensor is measaring by a count of pulses indicative of sensing its proximity to the stopnuts 26. More particularly, a count from . . . . . .
one to thirteen i~ ~eveloped as the proximity sensor 52 moves TAYLO 3.0-010 ~o7~3 across the rodless cylinder 24 from one end to the other.
As shown in Figures 1, 2 and 6, an electric eye circuit 60 is provided to generate a signal indicati~e of boards passing in the path of the electric eye 60. Numeral 90 denotes the elec-trical lead wire connecting the sensors 50 and 52 to ths computer portion of the apparatus.
Figure 3 shows the infeed section of the apparatus of Figures 1 and 2 in more detail. In Figure 3, the infeed table 32 is mounted on a support bracket 76. One of the thirteen wood feed-ing tracks is shown in Figure 3~ This track is formed between rails 68 and 70~ A piece of wood 66 is shown edge-mounted between tha rails 68 and 70. The rails 68 and 70 are fastened to lateral frame supports such as 33 by a mounting fastener suitable to the materials of which the rail 68 and the support 33 is formed such as shown generally at 64. A chain drive is shown at 74 and serves to rotate roller rails such as 72, 78 and 80 to convey the wood piece ~6 alony the length of the infeed rail structure. As shown in Figures 3 and 4, the structural support is provlded by two com-plimentary U-shaped brackets 62 and 82. These brackets serve to provide structural integrity for the infeed section as well as to provide a safe protected covered housing for the chain drive 74.
Fiyure 5 shows the scanning section of the invention.
As will now be seen, thirteen boards o uniform length and thick-ness but different widths are presented beneath the scanning section. These boards are designated by numeral5 1l 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23 and 25. The boards are located beneath .
TAYL~ 3.0-010 200~3 the two scanners: the analog scanner 50 and the digital scanner 52.
The scanners 5~ and 52 are mounted on the rodless cylinder 24. The rodless cylinder is coupled to the scanners via scanner mounting bracket 98, 96. This bracket consists of U-shaped portions having a short leg 98 and a lon~ leg 96. Proximity di~ital sensor 52 is mounted on leg 96 and analog sensor S0 is mounted between leg 96 and short leg 98. As is known in the art, rodless cylinder 24 is coupled to the bracket 96,98 and, under control of air lines 94 and 92, serves to slide bracket 96, 98 from one side of cylinder 24 to the other at a uniform rate. There is also mounted on rod-less cylinder 24 a mounting plate 84 which contains the thirteen stopnuts shown generally at 26. It is these stopnuts that co-operate with and are sensed by ~he proximity sensor 52 so that actual signals indicative of the count o each stopnut from one through thirteen are developed for each scan of the sensors 52 and 50 across rodless cylinder 24. The rodless cylinder 24 is in turn mounted on the remaining apparatus by vertical supports 86 and 88. The brackets 86 and ~8 are coupled to support rails 100 and 102 in Figure 5 and 62 and 32 in Figures 3 and 4 (for support 88) via a bar such as 104 which is fastened to rail 100.
An important feature of the invention is shown in Figure 5 as calibration block or gauge block 54. This gau~e block con-tains two surfaces, a top surface 56 and a lower surface 58 located coincident with the level of the surface of the rails (one rail is shown in Figure 5 at 27). As will be explained later, analog ultra-sonlc sensor 50 utilizes these surfaces as calibration surfaces for the scan so as to ~au~e the range oE widths of the pieces of wood.
...
TAYLC 3.0-010 2~073~3 Figure 6 shows the gauge block 54 in more detail. In Figure 6, the gauge block is viewed from the end opposite that shown in Figure 5 so that two of the thirteen ~ates are also seen ln this showin~ More particularly, Figure 6 shows the mounting bracket supports 104 and 86 for the scanning section~ These brackets are connected to support rails 102, 1~0 as discussed in connection with Figure 5. The gauge block 54 has a top surface 56 and bottom surface 58 formed therein. Two pieces of wood 19 and 21 are shown in Figure 6 having arrived at the end location for the infeed section of the apparatus. Electric eye 60 is mounted to support rails 102, 100~
Each of the thirteen channels are controlled by gates which consist generally of a solenoid operated air cylindex 106 and a movable gate element 108 mounted to the air cylinder~ When the cylinder is actuated, the element 108 is caused to drop down rom the position shown in Figures 6 and 7 applicable to board 21 to the lower position shown in Figures 6 and 7 applicable to board 19. This allows the board 19 to advance to the next station.
In Figures 6 and 7 t nwnerals 27, 29 and 31 denote the support rails or the channels in whlch boards 21 and l9 are carried.
The cylinders are mounted on and supportec~ by mounting plate 110.
Figure 8 shows the outfeed portion of the apparatus.
Figure 8 show~ three groups of boards progressing from the gates 108 through the glue roller 1~ As shown, the boards are con-centrated by two rails 12 and 14 which are mounted such that the , ,boards are caused to move closer to each other before they pass ' ', .
TA~ ,R 3.0-010 ~73~3 over edge-gluing roller 10. Numeral 40 denotes one of the chain drives for the roller rails employed in the section of rails down-stream of the glue roller 10 and chain drives 22, 42 and 44 o~erate the section of rails 16 located upstream of the glue roller 10.
Figure 9 is a diagram which shows the electrical con-nections of the various elements previously described in connec-tion with Figures 1-8. The apparatus employs drive motors 112 and 116. Motor 112 operates infeed section 2. Motor 116 controls the glue roller 10, the intermediate section roller rails 16 upstream of glue roller 10 and the rails 18 downstream on controller 48 of glue roller 10. A push button on controller 48, described in connection with Figure 2 above, causes the apparatus to startl stop and scan under control of the operator.
The controller 48 permits the operator to select the width of the panel to be formed by the pieces, the number of pieces to be selected and the tolerance applicable to the selection. These signals are fed to computer 114. Computer 114 also receives as inputs, the outputs o dlgital proximity sensor 52 and analog sensor 50 from the scanning system. The computer 114 is also connected to receive the input of the electric eye sensor 60.
The computer controls the gates 106, 108 to seleck the boards for passage to glue roller 10 until de-energized by stop wand 8 on mounting pivot 6. A printer 200 is connected to computer 114~
The following table shows the manufacturer and model number of each of the elements of Figure 9:
, ., ~, . . .
-~5-TAYLG 3.0-010 20~7~
Computer 114 - Wintelc 6809 Control Computer Controller 48 - Quartic Systems QTERM-HRl Electric e~e sensor 60 ~ Sunx NX--52M Beam Sensor Digital proximity sensor 52 - Microswitch 923A~4W-ATT-L
Analog sensor 50 - Agastat PCU-A-30-M-30-AV
Gates 106,108 - Bimba I91-D l-1/16 bore x 1" stroke In practice, the number of thirteen different tracks from which the desired number of boards is to be selected was empirically derived. The number of boards required to make up a panel of the desired thickness could be more or less than thirteen depending on the variations in the output panel size desired and , the size of the input stock from which the panel is to be formed.
With respect to maximum and minimum sizes, in operation~
Applicant has found that the boards can vary in size from one inch to six inches in width theight when used in the apparatus).
The scanning section can sblect panels of any total width even wider than 13" x 6". The selector accomplishes this by making a number of runs. For example, if a panel of 200" is desired, even though the apparatus provides only thirteen pieces of a maximum 6"
height, three separate runs would be performed. On the first run, all the boards would be selected~ On the second run, agaln all the boards would be selected. On the third run, the number of boards necessary to give a total number of 200" would be selected.
If the scanning cannot select boards within the desired , ',tolerance (for example, lS" + or - 1/32") ~hen it selects the TAYLO 3.0-010 2007~43 combination that is closest to and larger than the desired size.
The flow chart for the program described below is shown in Figure 10 hereof. The computer program for controlling the apparatus is set forth below.
The program instructions for printing the information concerning operations of the apparatus are in the lines labeled, "PRINTER OUTPUT" . These instructions print information consist-ing o customer code, panel width, length, thickness, number of panels and number of boards. The information regarding produc-tion totals can also be printed.
The program instruction for generating a count alarm to stop the machine when a preset number of panels are produced are labeled, "COUNT ALARM IS REACHED".
' TAYLC 3.~-010 2 0 0 7 ~ ~ 3 tincl~ie 'psio.ll' -int u5e'i~a~] 7 sc.3n,~ir;
lnt bo3rdsi~eL22J;
unsi~rle,~ int l~utst~tus,ol~tst~t2 int n~Jnlslots,nlJmsl~tpllJsl;
int nl3:~o.3r~s,t.oar~1ssen~,m.3:~t.o.~r~i3perr3l,e.l;
int coo~e,2erocolJnt,rele.3see~lJr,t,resc~r,; .
Iong sizeleft;
int nletric; /~ik~ llill Le set t~ ~ne .iI~ Jrlsirl~ in nlP~rir ~ir,put ~) ;k~/
Version l.S 3110w5 15t an~ st 51~t5 to t~e le~`t empty Note: ~ersi~ns 1.7 .3n~i gre3ter .~11Ow the user tn progr-30 in the na::imun n~Jm~er of t~o~r~s pe.r p.lnel. 'Ihe progr.3nl sinlply rejert~ .~ny conl~ination ~A~ ith too m.any t~c3r~is. lf tl~ere is n~l c~mt~in.3tir.~ll, it ~en~is, tll0 closest size if it is withirl m3:~inllJnl toler3nce {
long si~ie,lastsi~e,leng~ll=O,~,llick=V,tottlar,els-O,nlJDI~o~r~ls=()!t~t~o~rlis=V;
~lo.~t totsqft=~.09tott"~ft=~.O,fll~atl~un~, int t~ler.ance;
int rn.~to1='J9'J~;
long loslginplJt~;
int nu~p.3ne1~=d;
int`n3de=(1,.~1~rnl=O;
rh.ar c~rustco,~eCl6~;
ru~teo~eL0~='\0';
~co~e=500;
sc~3n,iir=V;
Ma::bo~r~s=99;
m~ D3rdsperp3nel=';J'~
rese.an~l;
~ lit~);
prir,tl~l,'St.~rtup');
~ik set nletric i`l33 ik~/
if ~sense~
mYtri~=l;
toler3nce=76;
}
else nletr i~=O;
toler.~nre-30;
}
while 1isrt~.~r~)) irlrll3r~;
si~e=lon~input~lon~)V,6!~-nletrnir,~:nter le3l~el 'Si3e~1;
i~ ~isprlnt~)) {
len~th=longinput~length,6,3-nletric,l ~inter ~o.ar~\n lengtl~
th~cl:~longinplJt~tllick,S,J-metric~ ~nter ~o.ar~i~n rhichness'), if (isprintl)) l~rintl(2,~\n Jt)t~ 3t~ tr)~e~ls\n----~ n');
i r ~ S i ze ~ 9 J9 ) 3r~rC 3 l 1 ) ;
l.astsi~e=slze;
si~e1e~t=0;
setnlJ~lslots~ );
~ .
., TAYLC 3.0-010 20~73~3 39~in ~15~ );
printl~l, Va.6 ~ount~
printint(l~nump~nels);
printl(l,'\nP~nelsiæY:');
printlong~l~l3stsize,5,3-metrio, 1;
print~ n~-ltanel Size\n~-MenlJ 2 ~ot~ler)')-Cheok ~or ~3 key presse~if (isch3r() 1 I nu~510t5==0) if ~numslatsl-O) c inoll~r();
while (isoh~r()) inch3r(); /~ flu;ll t~uffer i8 (c=- A ) if (isprir~S~) 82 nump3nel 5~0 ) ~~ rls();
printl~l, \n ~rinting...\n Ple3se W~it );
i~ (~ustoo~eCOJI= \O ) {
printl(2, ~l;ode: ' );
printll2,custr o~ie);
printl(2, ~\n' );
printl(~, Width ~
printlong(2,si3e,fi,?-n~etrio~ );
prlntl(2~ \nLength: ^);
printlon~g~2,1engtl),6,3-metric, );
pr intl (.~ , ' \n~ltir k: ' ) ;
printlongi2,thirk,G~-metric, );
p~intl(2,'\nr~nels: ');
totp.~nels~=nu~p.~n~ls;
prin~long~,(long)nUmP~nel5!7.~,' ');
prlntlong~2~totp~nal~ 0, );
printl~2~n~oirds: );
totboardst-numbo3rds;
pr~ntlong~2,~10ng)numhoar~s,7,0, );
prlntlong~2,totbo3r~s,~,0, );
if ~letri~) {
~lo.~t~uM~~si~e/lOOt~O().O),It(length/lOQOOV~O)~nlJmp~nels;
printlt~, ~nSq.l1t.: J;
l~e~ J el~e o~*p~ flo3t~um ~si3e/12000.0);1(1en~th/12000.0J~non~p3nels; .' printl~ nSq.Lt.
totsqf't~=t 103t~ilJm;
printlon~g(Z,~long)~tlu~tdlJn~),7,0~ !;
printlong~,(longJ(totsqt`t),~,~, );
if ~n~etric) ~lo1tdunl~thirk/lOOVOO.O;
printl(2~ ~nCI~.llt.: ~;
else flo3tdum~t-thick./10OO.O;
printl(~ n~d.~t.: );
TAYLo~ 3 . 0--010 2 0 0 7 3 4 3 tott~ `t~=flo3tdunl;
prir,tlal,q(2, (lon~) ~flo3t~iunl~ ,7,~), ' ' );
prlr,tlon~(2,(10r,9~(tott,..i:t`t),~,~,' ');
prir,t.l(2,'~rl~ ------\rl'!;
I.astsi~e=~ize;
sise=longir,eot~sise,~,3-n~etrir, ~nter Par,el Si~e' );
if ( isprint( ) ) lenqth~lon~inrlut~len~th,G,.~-nle~.ri~,~ knter ~oard~n Len~th~;
thirk=longinputtthick.~ l-nletric,' Erltel~ L~03r-.1\n 'l'hickness');
31~rm=O;
nunp.3nels~0;
num~o.ards=O;
1.3stsise=si3e;
si~eleft=Q;
rese3n=l;
else if (~ nl~nlSIat5==
c15( );
printl~ Iolerar,ces~n~ isgnostics\r,('-E::trae;\rl');
while ( ! isch.lr c=inchar ( );
if (c=o'~' ) {
oln)enu:
cls~ );
prir,tl(l,~-ln.iti31 lol.\r,t~-Ma::inlunl lol.\nL~ t~ar~is/~r3tch\rlll-~laar~is/Parlel't;
while ( ! isol13r ( ) );
c=incl1lr ~ );
if (~=~'f~' ) toler.ancr!-longinplJt( ( long) tulerarlce,~ nletric~ ~.'nter 'l'oleranr e' );
~to talnlenu;
e l 5 e i r ( c~
nna~:tolall:ln~?inpl.lt((long)nla::tal,~ -nletric~nter ll~::in~ rl ]:c-lerlnce');
goto tolnlenl~;
else if (c=~'C' ) m~ oar,is~lar,ginpl~t~larl~)n~~3::t,0~3r,is~2,0,~krlter ~13::imunl t;rl~oards/113tchl);
~ato tolnlenlJ;
else if (c--'l.l' ) {
ml::t,D.3r-isperp.3nel lon-3inpot((10n~)nl.3::t,o.~r~:1sperp.3nel,2,0,'knter M3:~imunl ~\r ~oto tolnlenu;
}
else if (r=='~l' ) {
i i agnlenlJ:
c 1 s ~ ) ;
printl(l,~ of ~la~s~
printint(l,numsla~s!;
,~ç.~ ' .,.~ ' T~YL~ . 3. 0-010 2~73~3 prirlt~ r,~-.lr,~ot/UI~tput~ 11easorenle~,ts~r,~ nastics~!~
c= i nch~r ~ );
.if (r=='A' ) /~ Uispl.~y st.~tl~s o~ il,p'~ts ,'~/
~howir,plJts~ );
~oto .ii.3gnler~lJ;
else if ~c=='~') llispl3y in~:livi~~J-3l l:~a3r~i sises 7:7~7 showsi~es~ ):
goto ~ii.3gnlenu;
else if ~c=-'~.` ' ) /~ perfr~rm ~ii39rlostic te~ts , ,ii~grlastirs ~ );
resc.3n=l;
goto di.agmern~;
else if ~c~='C' ) e:~ tr anlènu:
cls~ );
p~rilntl~l~;A-Pr,iuctior, Co~e\r~-Cour~t h:l~rn~\r,l;-~plic3tar 110~e');
c-in~:h3r~ );
if ~r=='h') strin3inplJt~clJstco~e~ rlter\rl~'ro~iur tion Code' ) goto e::tr ~nlenu; `~
el5e if ~e-='l~
31arnl2langinput~10ng).31.~rnl,4,0,' L'ntel\r,Al~rnl Poir,t');
goto e:~tr anleno;
else iP ~c=~'C' ) c15~ );
prir,tl~ pl)lir~tor llo,~e:\rl\nllit Hnter~llto e::it.~);
e ~ ! i s c l1 3 r ~ ) ) if ~sense~!.;'J'(JPlJ(iNLI)) olJton~llPLlCA:l'UI~); :
else olJtoff~hrPI.J!l:~lUR)~
outoP~ ~qPPL ICI~TUR ), ~Ihile ~ iscl1ar ~1 ) incl }
}
els if ~size!~0) Tr y to nl.~ke 3 p.~r,e l .~
c=na3kepanel(size,to.1er.3nce,nla::tnl);
if ~c!=0) ~ .,~, ............................................................... .
s;
TAY R 3 . 0-010 2 0 r, rl ~ I?L 3 ~na~h ,nc 5tb~ nu3~bo~rds~
1.3st5ise ~sise-~iæeleI t;
if S~numpanels=-.3l~rM~
~9~arn~ pr;ntl~l9'Al~rm Counti of\n~);
I println~I,alarnlJ:
~JI~l prlntl ~1, ' h~ ~een~nreache~. Hit .3ny~nkey to ContinUQ, ' )' whil~ ch~r( ) ) if Ssen~e(~;~OP~A~!IlJ ) olJton(h~PLIC~lTCR);
;1~ OutOfr~PrL~ UR);
au~o~(APPLIGA~III~);
while ~isch.7r(J) inchar~);
} ~_ yoto ~gain;
. .
. ~.; . j . .. ~
TP.YL 3 . 0-010 2 0 0 7 3 ~ 3 ~inelu,~e 'psio.h' int s~n~o.3rds ~ netr ic ) ~' int Metric;
nunlber ~f unnle.~s~.lre~le ta3rlis is r eturrle~
f nletric=l, si~es 3re ret~rr,e~i ir, n)nl.llOO, otlnerwise ir, inches~lOQ0 eYtern int bo3r.isiset22~ nlJnlslots,nunlslotpl~Jsl e~:terr, int srandir,rest 3n;
int ~uDImy~serocolJnt=O;
flo.3t gagel ,g~3e6,i ~rg~9el ,f3rg~e6~ 6~iunlbo31 ~i;
re~,~ v.311les se-3n~93in.
r~soln-O;
scanst-3rt~ );
if t so3ndir ) {
f~rg3ge6=readsize~ 1 );
f.3rg.~3el=re.~dsize(0~;
for (~unlny=r~unlslots;~ilJnlnly.~ nlnly~
~ o.~r~si~eC~umnlyJ=re3~isi2e(0):
gagel=re3,~siæe~0~;
g ~gelj=r e.3dsi 3e ( 1 );
else {
g~ye~=re~d;iæe~1 );
9 3ye 1 =r e.3,is i.se ~ 0 );
for (,~umnly=l;,~umn~y~ n~nlslo~s:t~ nlnly) boar.isiæeL.iummy~=re.3.isiæf?~0);
i`.3rg.39el=rr?.~l~si~e!0);
f.3r9.3ge6=re.31isise~1 );
t if g.~eblock v.31ue is o~Jt a r3n~e, sr.3n 3g3in ~
if ~gage6~6~0 1 1 g.aye6:~1250 ! I f ~rg39e5 :650 1 1 .f.3rg.3~e6.~ 0 1 1 :
93ge~ 3~50 11 93gel~J50 1 I f~r33gelC335V 1 I f.3r~3yel~ 3~50~
c15~);
prir,tl(l, q~ge t~lotk\nnle.3slJrenlent\nerror~);
,iel.3y~ 1000);
resc.3n-l;
if ( isch3r ~ ~ ) returr,(-l );
~oto scan~g~in;
/A,~ convert ho3r~sise n nlters '.o inellun; asing A~/
A 93ge tlack.s for auto c3.lit~r3tian~ A~
for (~umnly=l;.:~unlt,ly~.:=nlJMslotsi~n-iun)noy) gl#~nunlslotpll.~sl-,lunlnly)~3.a~eln~ n~nly~f3r~33el)/(flo.3~)nun~slotp:lusl;
y6-~nun1slotpllJsl-.ilJnlnly)~g.~ge6l.1urnmy~f.3ry.~3eG)/(fla.3t)nunlslatpllJsl;dunlbo~rd-1.015,0Jt~g3-~o.ardsiseL,~ mnly:?)/(31-g6));
.~f (dun~ho3rd~.13) t~o.~rdsiseL.iunlnly:l=O;
if (dummy:~l 88 dlJn)nly~num~lot;) ~serocourlt;
~Ise ,(~, :. .
......
TAYLC 3 . 0-010 2 o ~ ~ 3 ll ~
i f ~ nletr i e ) ~onl~0 3l cl~.=2 . 5~1;
toar~isizeL.ilJnlnlyi=.:Jun~t~a3r~it~i"()~;
}
returrlt~erucour~t);
}
int re~i5i~e( sel) int sel j Returns the sise (volt~e) oi: one ~r).~rd. ~h~/
Ihis routine .3ssunles the sensor is tr3versing L~ok for ~own slope, therl n)in v~lue, tl~en up slope The min v.~lue must ~e in a f13t sone~ ~h/
sel-=l, wi~l return min v~lue re~,3r,iless of slopes ~
int fl~t=O,n1innoup='3~000,nlir,up=32~00,::,.loi~l,=sel,y=V~:nlin=320()0;
within any one Yl.3t 30ne, 3 nliniMunl v.~lue first ~,oes ir,tQ
nlinr,oup~ ~n .ln opslrllle, either in the ~"13t 30ne ar .3t the en-i o~ the f1at zone, it m.~y go ir,to minll~. fir,~lly .3t the en~ of the fl3t sone or .3t the en~i of the scan~ it n~,3y 90 into xmin whieh ~ill t~o returne.i.
.iown=sel;
et ol`f o~' cielinleter while t!sense(~ELI11E~ER~)-~ Tr.~verse until r,e::t ~elinlete7r ~tt~/
while (senset[1ELfHEIE~
{
x=~et.3dc();
if ~xC'y) ~iown-~ r /~ set fl~g on first iown slope Ir t:~y I1 sel~ r~ ups1rJpe ~
if (minnolJp~;Minup) minl.,p~nlinnolJp; :' if ~ y~;lS ~ y~ ;15) /.~;7~ f:l3~ ~;7~7~/
~i`lat;
keep tr.3ek ai Minimunl wi~hir, tllis fl3t "orle~ ~ mirlinlum i5 only v.~ i if .~ .:10wn s10p~ ha~ oecuro~
lf t::~c:nlinnoup ~ ~.lown) nlinnoup=:t;
else /~ not il3t ~
{
'1his c3n t-e the millinlunl if ~1 o.t t,ll~ fol.'10~Jirl~ .3re true:
- it h.3s t~een t'l3t for .~t le35t ~ e re3~:i.ir,~s.
- it is less t~ t the ps~evious mir~liml.lnl~
there ~5 .3 ~iCîl)n s.lope tP.t'Qre the mtninll.lnl. ~checke~i in minnoup) ~; - there ~r~ 3n up 510pe .~Yter thta mir,il~ m. (ellecke~J in nlinup) if ~fl3t~4 88 Min~p~S~ in) ::min=nlirlup;
f13t=0;
mlnnalJp:~000;
minl p=32000;
}
if ~.fl.3t~4 8i minup~ :nlir,) ::mir,=nltro~
returr,~::min);
--24-- .
. .
TAYLC 3.0--010 20073~3 r S s ~ r r r s ~ s s s . s I ~; S. s S ; s . s r~ s s s s S~ ~ r~ s ~ 7 s~ s s ~ ~ s s ! ~ r ~l r s~ 7 s r ~-25- : ~
.
TAYLOR 3.0-010 2007~,43 t lernlin.31 ~,perifi~ ~n~n).-,n~',s fcir l~iJ.3rti~ t~rn~
c15 ( ) printl(l,'~03 ~lel 3y ( 200 );
}
print.,tt~:,y) lnt ::,y;
printl(l~ '\V331r~;
p~Jtrh.-,r t t eh.-r ) ~ 47+y~c16+:: ) );
beep~ );
rr~s~r~r~7~S~r~s7~ S~ s~
-26-- .
'"':
... .
20~73ll3 TAYLOR 3.0--010 showsi3esl) ; ,iispl.~ys the si~.es of ir,~:livi~iu31 t~o-3r~i5 7 e:~tern int ~o.~r~Jsi~eL~ ,r,umslats,nletr.c;
int dumn\y;
cls( J;
printl(l, ~r,~er 0 tt~ sc.~n!~nilot n Mter, or~n~ to quit.~n~);
.ag.~ir,:
whiletllsch.3rt~);
,iunlmy=inchar ( ~;
if t~ilJmnly;~=4~ ~8 ,iunlnlyi::=57) ,-Junlnly-=48;
iP (dummy~=65 ~ ~iummyS=7G) ~iumlDy-=55;
if (~umnly,numslots) ret rn;
if (~iummy==t)) scant~c3r~s~ );
el se {
pri nt.~ttl,4~;
putrh.~r ~ i );
pr intint t 1, ~iummy ~;
pl~tchar t = );
prihtlon9~l~ t lorl~)t~rJar~isi~et~iunlnly:l,G,3-nletric, !;
printltl,^ ~;
goto a~ain;
:,:
.~
,.
~007~3 TAYLOR 3 . 0-010 tir,rlo,ie ~sio.h' e::tern int nlJnlslots~nun~slotplusl;
setnuDI510t~) sc~ns .3r,1i rour,ts ,ielimPtel S! therl sets l"~mslots ,t~
/~A~ .3n,i r,unlsIotspp ir,t st.3te,coont,tinle;
c 1 5 ( ) ;
printltl, 'Gettin~ ro~m~er\nof slots . ~ );
rolJnt=-l;
scanst.3rt~ );
if ~sense~ LIHE'IE~) ) prir,tl~l,'LIelirlpter ~ier,sar~r,oot o~ positian.~r,~est-3rt M~chine.');
Wll i 1 e ~ 1 ) ;
~io {
tinle=O;
~t.3te=sens~ ~LI~Llff~l'E~
while ~st3te==~ense~ 'LIIl~'TEP? 8g ~tin)e$4()0(~ timet;10000 8g roonto.'ll)));
~hi1e ~+t~ountCl:~ l l tinle<400V);
if ~count/~ 2!=count ll rr~untC2~ ol~d ~ of tr.~n~itions telluser('Error rountin3~nslots. ~it\n.3ny l~ey.~);
rlUM510t5=0;
nl M510tplU51=0;
else nun~slots=~rourlt-tl)~2;
}unlslotplus1-nl r~s10ts ~1;
r ~g ,r - 2~073~3 TAYLOR 3.0-010 /~ nlisc. routines ~ :
~inclor~e 'psio.h' -int w.3itst.~rt() ~ W.~its for StJ.~rt bottorl otf, tl~eo orl ~.3ir" nr .~ key 1s Fresse~i A/
while (isol1~r()) inch~r();
while l!isch~r~));
inch.~r~);
}
int ~el~y(tinle) llel~ys far tin~e milisecnrlds ~/
int tin~e;
{
int ~uMn~y,li2;
for (don~my-l;dlJn~n~yS=time;++dun~my) for ~d2-1;~ 0;+~i2);
}
int sc~nst~rt~) /~ St~rt sc~n cyl. tr~versin~ in o~posite ,iirection e:~tern int sc~n~ir;
sr~n~ir=!sc~ndir;
if ~sc~n~ir) uuton~5~f~NCYL);
els~ ol~tofr~CnNCrl.);
}
int cyl(::) int ::;
tr-~nsl3tes outputs 35 fOllO~Jg ~Ak . ~ .
14 --~ 17 22 --~ 14 ~A '23 --~ 15 {
~ 03 return ~
if 1::~;-13) return 1:~);
if ~::C=21~ retorn (~
retorn ~ 8);
}
7~5~77~7777~75~i7777.'77777i.~7i~i.'757ilS!77j!;'~7777'i!775'7'i7j~'777i~
20073~
T~YLOR 3 . Q-O10 sho-Jinputs( ) /mll;t; Displ.3ys st3tus of inputs f~r user tr- see J~
/ t,';~ an~ tog31es outputs .3t u er5 r~ est ir,t .~unln~y,iL5~,u;
~15();
printl(l,~ress output t\nur ~t~lEI~ ~o anlit\rlIr,plJts: Ultr.3:\n`);
~3in:
if (sense(l)!=iCl~ ll ser,s7e(2)! iL~J ll s~r~se(8)!=iL~ ense~)! iL~ Pt.3ic~)!=l.l) print.3t~1,4);
f or ~ duMmy= l; duMmy~=4; ~+dlJnlmy ) i~.iUnln~y]=ser,set.ilJmnly);
if ~iCdumnly~) printl(1,~X ');
else printl~l,'lJ ');
u=get.3.ic ( );
putch3r ( ' ' );
pr intir,t ~ l ,u );
prlntl(l9' 't;
t~Checkhfo~ )k.ey hit. . .( h~nge output st~3te ~un~0y=ir,ch~r ~ );
if ~dunlnly==l8) ~ummy=lV~
if ~-~lJn~D~y;~ 74~ ilJn~n~ =57) iun)n~y~ 8;
i~ (dun~my~=G~ ~17& iumrlyi; 7t`~) iummy-=55;
i ~ ( dumMy.~ 2 ~1 ) for ~-ium0y71;ilJmmy~ +~un~my) iP ~liummy!=16) outorf~iun~my);
return;
if ~u~my==~ l l iumMy==lG) scsnst~rt( );
else ir ~ison(dummy)) uuto~f~iummy);
f? 1 5 ~3 outon ( dumnly );
go to n:~.3i r,;
rS~ s~S~rs ~ rrs~s~7~s~s~r s'l~ S'~r7'7'7 S~S~S 5~5~', '' ', 'S5"~ '.'SS"!'S''.'7'~"~'7 '~'r~
:.,, G.~, .
TAYLC 3.0-010 ~ ~ ~ 7 3 ~ 3 ~ir~lu,~ 'psio~h' .3d~c.~
5peci.31 ro~tine for c31i~ratin~ the AIIC in o~Jr shop lhis rolJtir,e ~ssonles t~ie .~pplic3tor rel.3y is c~rltrollin~
the volta~e. ~Ihen ~ppplic3tor i5 of~, volt~e is OVlIC .~r"~
~ when .3pplicator i5 or" ~ult.~ge is int count~
while(l) {
~ rheck top screw outoff(~PPL~CATOR);
.ielay(500);
eount=O;
C15( );
printltl,'Top ~crew:~t,\n\rl');
while (count~20) t del.3ytSO);
:t-~et~,io();
if (~
{
printl(l,'~:urn t,CW \n');
count=O;
else if ~
{
printl(l,'lurn CW ~n9);
count=O;
}
else {
prin~ ion~ n~);
~+count;
}
~ check ~otton~ s~rew outon t ~PPLLC~TO~);
~elay(500);
cour,taO;
~ls~1;
printl(l,`L~ottun~ ~crew:~n~n~rl~) while (cour,t~:20) {
~el.3ytSO);
::a~et3,i~
if (::~;4091) ~.
printltl~'J'I.~rn (,~I ~r~
, . ColJnt=O, else if (::~409~) printl(l,~'lorn t,t;kl \n');
count~O;
}
else . .
TAYLOR 3.0-010 2007343 pr i n t l ~ oo~ r~
+co~Jnt;
}
rr~rS~S~S~S~r~s ~ ~s ~ s ~ S rrr~ s s ~i s~
,:
' :: :
~ ~-32- :
... .
~....,,. ~
- 2~73~3 TP~YLOR 3 . 0-010 lan~ lonQirlput(init,,~i3its"iecinl.~1s prampt) c prints pron,pt, then lr ts usër input .3 lor,g r,unl~er with ~;t~
Jigits ~iigits, .3 ieeinl.~l at iecin~ls`~ran~ the r i~ht clears the screer, .3n~i onl3/ ~ ) er,ters tlle ~ lue long init;
int ~iigits":le~imal~;
el1ar ~pranlpt;
I
lang r,um=O;
char r:
int cnunt=0, ~1s();
pr i nt ~ pr oD~pt ~;
pr i ntl ( I, ' ~n\n\nl~ress l; ta 1:1 e~r ' );
while (isrh.~r()) ir,ch.3r(); i~ cle.~r ir,pl~t t.affer printat(6,~);
prir,tlong(l,ir,it,Jigits"iecinlals,' ');
plJtchar ( ' \~ ksp 3ce while (I) {
r-inch.3r( );
if ((ce='l' 8S c~ '9') 11 ~c=='~)' t~ caunt.~01 1I c=='C') if (c=='C' ) {
count=0;
rm.Jn~=0;
}
else if (+~ro~mtC~~i3its) nunl=nunl~ 10 ~c-413;
pr i nt~t ( 6 , 3 ) ;
printlon~l,r,um"ii~its7,:~ecinlals, ' );
put~l1.3r ( ' \~ t acl.~p ~re ;~
}
elsé if (c=='d' 1 I c=='\r' ) i~ tount~=0) retlJrn~init);
lse return(nunl);
}
}
stringinpl.lt(st,Q" lengtll"~ronlpt~
This functiar, irlputs .3 strirlg with nlo::inlunl lenQtll lengtll 3nJ
~ t puts it into stg~ Cllaracters are ir,put urltil ',i is hit.
ch.~r ~stg,i~pronlpt;
int length;
{
i nt ~ourl t=0;
rh.3r c;
cls( );
printl(l,prompt~;
printl~l,'\n\n');
~hile (isrh3r()) inch~r(); /~ cil}3r l:~lJf`fer while (I) {
r-inch~r ( );
if (c=~'J' 1I c~='\r') ~7 .~ .
- 2~073~3 TAYLOR 3 . 0-010 ~;st~ ' \0 ';
fill with t~l~nk. s~!aces while (~eaunt'=ler~tll) putchar ( ' ' );
return;
if (r=-'~b' ) /~ L~cksp~ce ~,t;;~
if tcount~0) putch3r (r);
--st~;
unt;
}
els if (cnuntCler,gth) /~ 3~i~i this charactEr ~aur,t;
putch.sr ( c );
~stg=~;
+5t~i;
s ~ ~ S ! ~ ! S , ~ ~ S S S S S ~ ' S r .~ . s s s ~ ! S S S ! S ! S S; ! ~ S S ~ ~ S S S ~ S S S .
--3~--`~:
2 0 0 7 ~ 4 3 TAYL0~ 3 . 0--010 e::tern ~nsi~ne,i int outst.~tlJs,olJtst.~t.!;
int ioinit() ~A~ Ir~iti.31i~es .~11 io c.~r~s ~A/
{
o~Jts~3tlJ~
outst.~t2-~0;
o~Jtput(ol~tst~tl~s);
outpl~t2(ol~tst.lt2);
clr.3~ir();
olrsen();
}
int sense(input) /A~A returns .~ 0 or nan 0 value ,iepen.iirl~ on whether .~n AAA~
~AAA input nun~ber input i5 or,. AAA~
~AA~ If input is ne~.~tive, ~t ~aesn't re-re.3,i input v.31ues AAA/
int ir,put;
st~tir unsi3ned int sen;
if ( inpui;~V) sen=~etsen( ~;
e1s~ input=-input;
rr3turn(!(sen & (OXO1 ~:C (input:l2-1))));
}
fore lJsir)~ these routin~s~ outst.3tus h.3s to ~e ieol3red .~s AAA .an e:~tern unsi3ne~ int ~utst.3tus=NV. (set equ.31 to .~11 ones).
int nuton(nunl) Turns on output num~er nunl AA~/
int num~
.~
if (nunl~16) output2(outst.~t2 8= ~(Q::01 ~.:c (nunl-'-./)));
else outputtoutst3tus g ~tO~ : -nunl ) );
}
int outufftnlJm) /~AA Turn ol`f output r,unlber num AAA/
int nunl;
if (nunl~lG) output2toutst.3~,! 1=(()::01 C~; tnum-'./)));
e1se autput(out5t~tu 5 1 ' t OS:Q1 ~ UIII ) );
, int i son ( r,unl ) ~A~A returr,s 1 if outpl~t num i5 orl, atlleruise returns 0 AAA/
i nt nunl;
if (nunl~16) return(!(olJtst.~-t~ 8 (Q::~ : (nunl-CJ))));
else returr,(!(outst.~t~.J~ 8 (~ r: - r,unl)));
}
-35~
20073~3 I~YLO~ 3.0-010 int printl(port,stg) int port;
char ~st~;
{
int ir,~ie:~=O;
while ~stglinde::~!='\O') if ~port==2~ prcll~r(st~lin~:ie~
else putrh.~r~stgLir"~e~
~in~e::;
}
int printint~port,nlJm) ir,t portrnlJnl;
/~ prints a positi~e inte~Pr ~rll.ln {
char stgLlS~; :
cl1ar ~ptr=stg~14;
~ptr='\O'; J~ end of strillg ,io {
ptr)-4tl+r,un~-~r,uM/10)~10;
nlJn~=10;
~ hile ~num~O);
printl(port,ptr);
}
printlDng(port,nllm,,ii~its,derino31s,t,1.3nk.) prints a lon~ num~er, using fiigits 1 of ,ii~it;, putir~g a ,iecim.31 ~ieoinl.als places Yronl the en~i, ar"i ur.i.r,~ tll2nk ~ to fi11 311 tll.~rlk sp.3ces '~
long nun~; -int port,di~its,~e~iMals;
ch.ar ~1.3nk;
e.~:tern ir,t metrio;
rhar st~lS~;
rh.ar ~ptr-~tg~14;
int ::;
~pt~='\O';
for (:~ c:=~iigits;~
if tnum==O) ~ ptr)=~.larlk;
el~e ~ -ptr)=4~1~nun~-(nunl/10)~1();
nunl/~10;
if (::==,iecino~ls) i.f (metric) ~ ptr)-','; el5e ~ ptr)='.';
printl~port,ptr);
}
telloser~stg) char ~st~;
~ .
20~7~3 T~YLOR 3.0-010 c15~ );
printl(l,stg~
w.~ltst~rt();
}
prirltfr.~rt(port,f,,ier,onl) ~lo.~t f;
i nt por t r denonl;
prir,ts .~ flo~t nl~nl~er in fr~oti~rl.~l for~) h'itil ~ir'rlOnl 35 tile ~ienonlin.3tor (or .~ f.~etor o.f it~
int ::;
:~=f;
if ( ,S0) printinttport~
printl(port,' ');
f - =::;
x=f ~denonl;
while (::!=0 ~& (::/2)~
=2;
,ienom/=2;
if (:~!-0) printint~port,::);
printl~port,'~');
printint~port,denon~
}
7~7 ~ 7~r~7 ~ ~ 7 ~. 7 7 ~ 7 7 7 7 ~7 7 7 S~7 7 ~7~7 ~ ~
TAYLOR ~.0-010 2 ~ O ~ 3 q 3 ~ . .
illt sisep~nel(nunllJsed~ si3e~ to.ler~nce~ nl3::tol~ ma::l:o~
sizes ~ p~nel ta ~ wi~ith fr~nl ri..P t~ si~e~toler~rlce i~ it c.~rl.
other~/ise t3kes tl1e closest si~e i f within n~3::tol ~
returns nunt~er of t~o.~r~ ; use,i tt~ nl3ke p.3nel in r,un~l~se,i.
returns:
t'D~Jn-i .3 conlt~ i r~ t i o n = foun~i withirl m.~::trli, tlut over tolel~r~ce ~ 3 = ~.3r~t t:l.r"i witl1.ir~ nl.~::tol .~rl~i nl3s:~n.~r~sperp.~nel.
int ~nunll~se,~, toler.3nce, nl.3::tol, nl.3::ho;
lon~ size;
e::tern ir,t ~o.~r,isi~eL2~, use~il2~], nlJnlslots;
.int sortsise~22], sDrtpoirltert22], pointer[22~, elpointerl~2~, r"Jmover =O, r,lJnlb~O, olnunlb, ,iunln~y, r~un~ho3r~is-O, 1top, ~point,~ppoint,~rl::,lpm.~zho;
long olsize=~ J999?L, hi~hsis~=5.ize~n~'35 tl!
higllsise=sise+toler.~noe, I er~gtllL~2 ~, tot3lsise-O, ~plen~Jth;
p~.3::t~0=pointer-nl.3::~o;
poin-t=ho.ar~ize;
31ili .anotller t~oar~ to r,orte~:i 11st ,:Jo ~
~io {
t pQl~lt;
iP (~tnunlt.o~r~s~rllJnlslot~ oto e.~llt~irl~:J;
) while (!,~point1; /~ ,I.ip sero size~i ho.3r~
~pn.3::bo;
sortsize~++nunl~ point;
sortpointt~rLnunlt ~=rwJnlho.~r~:is;
tot.alsize~=~poirlt;
~ while~tot.31sizeCsi"e1;
if (nunt~;S) goto t,ottonup; /,l~ lierilie wlllcll routine to us goto try;
.~d.3~0.~rd:
io {
~poir,t;
if (~nuMho.~r~s::llunlslots1 ~oto c~ntfir":i;
} wllile (!~point1; /~ skip zero sizo~:l t~o.~r~s .
~pn~.ls:t,o;
20~73~3 TAYLOR 3.0-010 , ,, . , , .. , , .. .. ", sortsi3el 1 r~nunlb 1- I;pa.il,t;
s~rtp~interCnonlb~=r,l~ bo.3r tot~lsise+=~poir,t;
if (~r,nnlover~ g~to c.3rltfirl~i try:
try this ~o~ in3-tion ~
~plen3th=ler,gth)~tot.~lsise;
~(pp~int=puinter)~O;
checksi~e:
he~k these ~o~r,is ~
if ~plerl~tll~sise) gato uppoirlt;
if (~plen~thC=hi~hsize &8 ppoint,:=rnl~::tlo) ~ 3ao~ sise p::=pDinter~l;
~nunl~Jse,i=V;
for (~iumnly=l;duolnly~:=nunlt~ ionlnly) if ~pX~=ppr3int ~8 Ap~ ilJnlnly) ~ p:~;
else use~L+~,';nunlu~e,i]-r,nrtpointerL,~I~nlnly~;
return~l);
keep tr-ack uf snlallest ~
if ~plengtl1~01sise 2~ ~plengtl-l~=nl3xhi~ltsi3e tX ppo.int.`.=pnl.a::t~ol clnunlb=nunlt,;
rlsisP=,~plengt11;
for (p::=poir,ter~l,cltop=n).pnint,er~l;p:.s.~-ppoir,t;~p::,~el~op) ~ltop=~p::;
uplevel:
if (~ppoint~;nun~
~ppoint~ ppo.int~l;
~+ppoint;
~plen~th~ plengtll-sDrt,si.sel.~ppoirlt.];
+~plength;
~oto ehe~ksise;
}
.iownlevel:
--plengtll;
r ~--ppoint,--pointer) /~ r.~ll olJt of conlt~in~t,ions goto a~ia~o.~r-i;
ppoint:
if ~+~ppO.int==nlJnl~) ~otn ~nwnle~el;
~plengt1~ (plen~th-l)-sortsiseL~ pnint:l;
30to checksi3~;
c.3ntfin-~:
~ J5 ~ - -`- 200~3~3 TAY LO R 3 . 0 - 0 1 0 co~ in't iirl,i ~Jithin tnler.~nce 7tt~
if ~clsi~e=-9?cJ'J999L) retl rn (3); /3tt7l~ ~olJl~lrl~t fir~d withirl nl3::t~1 .3nd n~a::ba ~.t:il;/
t~t retUrn clnse~t si::e ~:,'.Ji/
p::=clp~ir~ter~l;
~nunluse,~=O;
for ~dlJn~my=~ umn~y~:=clrllJn\~ iOMnly) if (p:~;cltop &8 ~p~ mn~y) ++p::;
else usedL~tt:nunlused]-~ortpointerL~unlnly~;
return bo t tonlup:
/~t; this p.3rt uf the l~nctior, will searcll rronl tlle tottMnl op pnlazbo-painter+nl.l::t,o;
while(~+nun~bo.~r~s~=nlJnlslots) ++poi r,t;
:lf (~point) sortsiseL++nunl~ poir~t;
sortpointerCnunlb]-r,l.lnl~oar~
}
~tplengtll=length)=VL;
,~ppoint=pointer )=O;
clhecksise:
check these ~o~r~s iI ( ~pi ength~ hi gl~ e ~
/~At~ keep track of: sMll le st ~ t if ~plength~clsi3e es ~plrrl~ =nl~::lli3hsi3e 8& ppoint-::-pMa::to) clsise=~plength;
for (p~:=pointer+l,cltop=clro.inter~l;p::~;=plloint;lrp ~+~cltt)p) ~clt~p=~
~oto ulppoir~t;
ir ~,~;plength~=size ~ ppolnt-~;=pnl~:t~u) ~,t goo~ size ~numuse,i-O;
f ur. ( px=pointer+l; px-~;-ppoir,t; I +p:: ) ose~l r + linlinllJsed~=sor tpoir~ter L1~p~
return~
~YLOR, 3.0-010 2007~43 vlplevel:
if (~ppoint~..r,unlt~) ~(ppoirlttl)=~ppuintll;
~ppoint;
~(plerl~th~ .plerlgth~ss~rtsi3eLAI)poirlt:l;
++plength;
~oto rll1ecksize;
.ilawnlevel:
--pl eng th;
if ~--ppoint==pointer) /~ r~n out s~f con~tin~tiorls ~Dto cl~rltfir,d;
ulppoir,t:
if (++~ppoint,~nun~ vto dlos~nle~P.l ;plength=~p.ler,~tll-l)+ss~rtsiseL,ltppoir,t:l;
goto clhes~ksi~e;
clantf in,i:
s~ouldn't find s;~itllin tols~rans~s if ~s~lsise==9999999L) rs?toln (3); ~ cr.~.sldn'-l Xin~ within n~ tol 3nd nl3~0 else retlsrn sls~s2st si.~.e ~:5;/
~nun~used-0;
for ~ps:~olpointerrl;p:o:cltop ~p:t) use~iL~ti5~nunlu5ed~=50rtprllrllerl~
return~
}
~ ~ r s~77S777777i77;7S7777~7~7 ! ' ! 77',.~777i777 7 " ~ r 77 ! Si7777$7777$;77 7777 77 ! 77s ';' - ' TAYLOR 3.0-010 20073~3 . _ . . .
tir,ellJde 'psio.h' int nlakep.~nel(sise~toler.~rlce~m.3stol) ~i4 n~3kes one par,el rJf sise sise keepir~g the sise within taler3r~cQ i.t possit~le, ar,d ~iJ~/
.31w.3ys keeping the sise withir, n~.3~:tol.
ioes a~.l sisln3 .3rl.i n~atiorl eontral tu nl.~ke arle p.~nt?1 returns nuMt~er of t~a.~r,~s sent out O if stapped tly l.ey t~elr,~ presse~
1ong sise;
int tolerarlce,n~ tol;
.~
e::terr, long siæele~t; /~ t~res renlairlin3 si3e of' p.-.~ne~ or O if liane e::tern int scan~ir~ e~22~!tlo3rlisiseL22~rnun~slats~nlJnlslrJt~plllsl~tlo~rlissent;
e~:tern int nl3::baar~is, m.3::tØ3r~isperp.3nel, metri~, re1Y35eCOIJntr /~ kePI15 traCk 0~ t uf rele3ses sinte l.~st sc3n.
zerocour,t, /~ .eeps tr.3c~. af t of t~r3r-is th.3t are in the hit~
~ nle.3slJremerlt 3rea, tlut whose sizies are l~nknown. it~A/
resc.3n; /it~ik if this fl~g is set, the machine shoul-i rescan. it~/
int co-ie~numuseri,rilJmn~y,t~itcll.t.03rr~courlt,~i2;
len~ testsise,tot.31sise; '.
b.~trh=l;
if (sizeleftc'=O) {
si~eleft=sise;
to.3r-issent-O;
t-.3t~l=O;
}
while ~si3eleft~0) 3g-~in: ...
i~ (rese.~rl~
serocol~rltasr3nh~3r~is~n~etric~;
releasecQ~Jr,t=O;
ii` (isch.3r~ 3rrocollnt~=~ 3ute ~t~ort;
co~ie=ei3ep.3r,el~nlJnluse,i,~iiseleft.,t,Qler.~r,cr.~,nl.~:ttal1nla::t:,a~ar~isperp~neJ~t~o3r~1~sent);
if ~isch3rl)) ~ato 3t~ar-t;
if ~co,ie!=l) /~ik~ thYre is nn eon~t.irl.3tiorl witllin irlitial tt)lerarlee irst~ clleck hr.~ll ni~ny L~o.~r~ re 3~ k~le t~ use i~ (sera~JI.Jr~t~ rl~ tl~ ty s.ll~ts ~
if ~rele3secolr,t==O) /~ , ae ,just sr ~nne-i ~ ~ nlust te out ot ~!oo-i 1:
/~ ~un con~eyol for~ rd t'or '3.S eranis ~/
c 1 s ~ ) ;
~Irint~ t~eei n~ore t~oar.:l~');
outor~C~r~Vt'i`f~R);
~c13y~ 350V);
outof f ( cl~ ynr~;
}
sean tlle t oar -is ~
resc.~n=l;
~r TAY~OI~ ,.0-010 20073~L3 ~ot o a~.~ir-;
/~!; Calcol3te tc st si. .e ~/
bestsi~e-O;
for ~ nlnly~ ilJolnly~ JDlsll~t~ ilJnlnly) be s t s i e.e n-t o.~r i 5 i ~e l iunlnly 11;
bestsise/=2;
if tsi~ele.~t~t~estsi~e) /~ re.3sorl.3ble ior l:iout le b3tch ~
/t seni si~ele~ ~-tlestsi~e or all, whicl)ever 5 snl.311er ~;/
tot.31si~e-O;
r,unluse,i=O;
,:iu ~
++r,un~use.~, ose.iLrlunllJse i~=n~Jnlu3e :l;
-~,otalsi~e~=boar~:lsi~eLI~l.lmuse~J;
while (tot.31si3e~siæelef~-t,estsi e-1.5 ~Z nunluse~i~rl~nlslots)-if ~ (Y10.st)nunllJsel~:: ( (flo.~t~tot.alsiEe/sise)~m7::ho3rdspl rpanel) { /~ the nun)ber oi t~o.3r,ls ue were ~oing to sr?n~i ollt in tl1is batch rroul-t t~e more thar, lOZ over the percenta3e ot' n~ax l:u.3r.is ~ , t.~sed on si3 c15( );
printl(l,^C.~n't Yin~i~nl.~itll.in n~.~::\nbu3r.is/p~nel.\rl~ennve Snmllest~');
olJton(C~t~!'v6YOR);
,iel 3y ( ~50~ );
outbff~EOll~YO~!;
~tot ~gain;
else if ~co-ie==~ not re.3sorlltl1e to l.~ouble h~t( h, choke if not witllin nol::to c l ~
printl(l,~l,ar,t firl~ witllin~lln~3::0 toler-.~nce.\n~en~ove .~ hu.ard.~)7 o~Jton~C~N~EYOR);
i~1.3y(~500);
ul to~f ~Cl1N~EYUr~) r goto ag.sil,;
} }
/7tt7~ sen~ hn3rds: let ~il.ln~n~y poir,l tllru .311 7;electe~i tu.~ris le~ t.~O31'1iCUUnt ~nl.rnt t u:l to.3rlØ; s~nt ~unln~y-l;
~hile ~ilJnln~y~;=r~ n~ nl~) ~ W.3it ii stop w.~rirl hit ,~
,:lo ~
r ~isch.~r~ oto .3bort;
. . ~lhi l e ( ! 5er'1:. Y ~ S'~
/t ~en~i selecte~i bnar~t~ ~/
t~rele~secount;
to.3r~icour~t=l;
while ~ttumn~yC r,onlusei ~.~ boar~icoontc=n~3::bo~rds) if (boartisi2l?Luce:iL.lun~nly:3:1!-0) {
-43- .
.
~AYLOR 3 . 0-0I0 2 0 0 7 3 ~ 3 olJt~rl~cyl ~JSe~.lL~ nlnly] ) );
si~eleft-=~0.3r,isizel:lJse,iC,~ olnly]~;
r~siseLI.lse~iL~ nlnly]]=O;
t+t,0.3r ~iro~r~t;
~+tlo.~rdsserlt;
~+3erocolJr,t;
}
~ f ,ilJnlmy;
}
olJtor, ~ C0~1vEYlJ1~ );
if It~tri1~) ,iel.i3y(300);
autor~ 'LIl;~lUR);
,ie l 3y ~ 500 );
f or ~ !c: ~nl nls l o t s; l +~J~ ) outof~` ~cyl (~i2) );
,iel.i~y(400); /~ w3it .~n:~ther ~ seC to nl.i3ke slJre pisnel ,.irne ~/
while (!sense(XYE));
while (sense(i.:YE)) { /t~ let 9tOpll~ controI rorlveynrs ~./
if I I ser,se ( SrUPWhlJll ) ) ,i2-0;
whi 1 e ( ser,se ( ~YI~ ) ~ 2 ! sense ~ C, LUI'H~Illl ) ) ~. .
i ~ 3 (J () 0 ) {
tlJrn off ~onvr.?yors .3r,d ~ it for stopwiln~i or eye J;.~; to t~e o1e.3re,i l/
outof f I CUllV~Yllk );
o~tof ~ o~rr~L ~ct\~rufo;
hile(!ser,se(~ ) &~ sense~EY~));
/~t~ rest.3rt tlle coveyors if the stopwan~i is tle3r i f ( s erls e ~ !Jh~lll ) ) {
ol~tor~ L IC~lUH);
,:Je 1 .i~y ~ 30() );
ol.~torl(~ 'Jl.YUH);
}
}
}
outof f I CfJllVLYllH );
if Ico:lel-3 ~ iunlnly=-ro.lnluse~l) { / J~ i s i s t l l ~ l 3 s t tl :3 t ~11 Cl :l t l l .i g ~ r, ~lQ 1 ~y ~ '100 );
outof~ HHI.IC~lU~
} }
retl~rn ~ nunluse i );
.i~bor t:
if ~sizeleft=-size) si.zelef t-0;
return~0);
.~ .
rrrr~'~r7`rr'i"i'r~r~:''i''i''i'f7'~'r~"i'r!''i''i';''i'7''i'7'i''!'i'i'r7rri''i' irr77 i~ i7 i'i7 i'. i'i7' 77r7 ir777ri'i7 ;r7r777~ 7~r c!,~,,l, fl~YLOR 3~ 0~010 2 0 0 7 3 4 3 _ . . . .
iinclo,ie 'Fsio.ll' ~ii.3~r,0stics( ) /~ I'erf'Orn15 311 di3~r,0stic check.s ,t~
e::tern in-t sc.~niir,~o.~r~ i~eL22],nlJn~slots CCO~E?;
int ~unln~y,i2,.i3"il1,tinle,hi~h~5~,10l~CSJ,cr)ur,tL~],leYt~oo~i,rigllt3~o~i;
flo.3t f;
r ls( ); prir,tl(l, \r, L~ rlostirs~rl\rl );
/;t Visu.31 cor,Yeyor test .~J
pr i n tl ( 1~ ~ ~onveyor \n );
ou tor, ( CI~N~ tDr~ );
iel ~y ( 2500 );
outof f ( CUN~JfiYOR );
ie 1 3y t 80V ) ;
/~ Visu.~l test o.t cylirl-1ers ~/
printlll, Cylin~iers\n );
for (dunlnly=l;~iunlnly~ nlrn~slots;++dun~n~y) outor,(cyl(.iunlmy) );
~or (li2=l;.i~-.lSOOO;+td2);
outof~(cyl(,iunln~y));
,t test tr.3verse sFee-i, 1 of de:llnleter tr3n~itions, .3r,~
; Ultr.~;onic .~iiustnler,ts f our s r .~ns:
r ls~);
printl(1,~lesting tr.~vers~.?\rlspee-i ~nd\nserlsors.~);
f or ( r~unloy~ unl~y~-4; ~+ iunlMy ) solnst3rt( );
hi~tlt,ilJnlmy] re3isise( 1 !;
lowCdumn~y.l=re3,isise(0);
courltt.iun~nlyJ-O;
keep tr~ck of mir,lMun~ tilDe het~E en cl1.~n3es ir, i3 d3-9999;
.io ~
tin~e=O;
hile (!sense~ l.lllL'l~'X) ~ r~tin~ecsovo);
if ~ ~inle~ -~O~O X~ courltC-:Iunlr~ JC10) {
telluser( llr31inl~ter~r,ser,sor pr~hl~nl.~rlllit 3r~y l~ey~');
~ioto f our so 3ng .
}
i f t tin~e~;5000) .
tin~e-O;
~Ihile tsensE?tLI~L~ ) 88 ~+tin~eCS()()V);
O if ltin~e~-5()00) tellur.er( IIPlimeter\r,~er,sor E~rotllen~\nilit .~ny kEy. );
~oto f our sc.3r~q;
}
t+courltcliun~nry];
if ( t11ne~::li3) d;3--tl -~5 ~"-~ , .
TAYLOR 3 . 0-010 2 0 0 7 3 4 3 ... .. .... ...... ..... . ...
} I~ a ~ t i n if ~i3~::1000) telluser('hlo~J cioor~\rltr iversP. Iherl~nhi~, 3r,y kE!y.Y1;
goto foursc3tls;
if ~,i3)2VO~)) telluser~'S~ee,i up\r,tr3~rse~ lllerl\r,hit :~rly key~
goto f our sc 3ns;
} }
four sc-ins ccimp:Letr!d, clleck values obt3irled ~h/
.12=countC 1 ];
if ~d21=countL '~ 1 1 d2!-criurltl.3i 1 1 d:~!=colJrltL~
telluser~'lr,ternlit.3r,t\r"ielinleter ser,~or\r~problenl: slaw\rl~t)~ln tr.3verse.l~;
goto f olJr sc ~irls;
if ~-i2~;13 1 1 d2':'..!8) /~ A ~3d c~:ur,t ~
telluser('}.l-ld cielinleter~rlcol.lr,t. Cl-eck\ndelinleter posi-\r,ticr,s, hit key');
to f our sc.~r,s;
}
~=0;
~3-0;
for (~ Mnly=l;,il~nln~yi::=Çi;~+d,Jn~nly) d2 ~=highL,iunlr,ly:l/Çi;
~13~~10wLIilJnlnly]/~;
for (~iunlnly=l;~ nln~y~ dunlnly) if ~hi~llLIiunlnly]-,~ s400 1 1 ~ lllduninly`~ 100 1 j lowt,~ nlnly~ 3:: 90V 1 1 ~i8-lowtl~lJr tellu~,er('lr,corl~ist.ar,t\l,ultr.-isonic\r,serl~,rir rea~.l1rl~s:\rl1!eFl=icc~
}
checkag.-iirl:
if ~d~80V 1 1 ~i2:: 110~ i3C31iV(J 1 1 113~S:JtlVO) cls~ );
if ~d ~ O I I 1~ =-3,!~ 0) prir~t~ l.lrr~ ~:PI'rJ --~crQ'~ .r~o~ Çi t~ r~ lel~ llit 31-~y\r~1~.ey. ~ );
~lai tst.3r t ( );
r ls~;
if ~ 2~ 11OO) prir,tl~l,nT~rr, sero scre~r~rlil~ 1 turr,~nlller, llit .iny\r,k.ey.~);
w3 i tst.3r t ~ ) ;
c 1 s ~ ) ;
i f ~ ;3 S 0 V ) printl~ lurr, 6~i.3n scre~l\rlir, 1/~ torl,.\r,lllt!r~ l~it --ir,y\r,key.~);
waitst3rt~( );
c~ 1 g ~ ) ;
_.,, --,, ;r~yLo R 3 . 0--0 1 O 2 ~ 0 7 3 4 3 . . .
3 ~ 0 0 ) -~
printl~ lurn span scre~1\nau~ l/4 turr,.\n111er1 l1it ar,y\r,kPy.~);
113itstart~ );
c}l s ( ~ i sc3n 5 tart~ );
ft~r (~unlmy=~ Jn~n\y~=r~unlslots~; t~ Jnlnly) rea~sise(O);
~3=re.3,isi~e~V);
~i2=re.ldsise(l);
~oto clletk39~in }
te s t i ~1 pUt s c 1 s ( 3 ;
printl(l,'lnput lests~n\rl\rllrip thrJ ~ye\n-);
,iun~n~y=sense ( EYE );
while~,iun~my==ser,se(EYE));
printl(l,'Move Stop W~n,i');
,iumnly-sense ( S~UE~ NLl );
WhilE? (~iull1my~=ser,se(SIl~PlJ~
6 ~t'; lest ~age hlook 5et~inr:!r~
rls~); .
cro,ie=longil,p1J~( (lon~)rcu~ie,3,0, ~ ~n~er\nC3l ihr.3tiur1 Co~ie' ~;
C15( );
~rintl~l,'Put l\' hlooks\r,.ir, firo.t .~ st\nslots. l'hen hit\nar1y k.ey.~);
lef t~oo-i=0;
r i ght~oo~i=0;
w.aitst.~rtt );
g~ge.3ga i r~:
c 1 ~
~cr ~3~1,,iun~n~y=~,d2=O;d~ =3;~+d3) outan~LONV~YOR);
for ~ iO~)O; t+
Ol~t)~'Y ( ~U~V~YU~ );
~ear,c,0~7r ~ls ( O );
1I (to.srdsi3eLl~==3:!000 11 t~oar,isiseLr~1.ln1~lnt~i:]=-~2000) {
c15~ );
printl(l, '~rrt~r . ~nlrry s:lo~1in~\nl'ravt-rse' );
~uto ga~e.~ ir,;
~iuMnly+=t~oar,isist?L 1:1;
~i21 =ho.~r~isi%cLr~lJn~slot.s] .
~iunlnly/=~;
~i2~-3;
iun)n~y~=149S-rcc1,ie ~t ~gunln~y~;-lS.~ cto~ie) right~uo~g=l; /~ Ri~hlL g39E' ~look ~uccess~ :
.. iP ~ l49~-cco,ie X~ ;OO-cro~e) 'leftgu~ Left 9.3~e tlock successful ~i/
i~ ~ I rightgoo~ 1 1 ! lef t~osd~
if ~ !rig11tgoo~) rls( );
printl~ Hove g~e t~lorkR
i f ~ ~un1n~y~t; 11')'o-cc~1ie ) ... .
L ,,,~, .
'~AYLOR 3.0-OlO 2007343 F1~irltl(1,~liourl ~) f~ 9~-ccode-dllnlnly~0~:
else printl(l,'ll~
f=(~unlnly~ -cco~ie))~.02;
if ~f~. a 125) f .l~S;
printfr.~t(l~f,~);
printltl,'\r,turrl. lllnr~ ll3ny k~y.~);
~n~itst.3rtt);
}
if ~!leftgoo.~) ~ls();
printI(l~'Hove ~.3~e t,lock\rlt~
if ~i2~14'J~-cra~ie) printltl,~own ');
f=(l~-Ji'-ooo,ie~ .02;
}
else {
printl~ up ~);
f=(,i~ -J7-ooo,ie))~.02;
if ~f~;.125) ~ 5;
printfr.~ct~l,f,8);
printl~l,'\ntulrl. XHert hlt\r,~ny k.ey.');
w.~itst.3rt(~;
}
~oto ~39e~93irl;
telluser~'Ui~nustics\r,~`onlplete-~, hi~n.3ny k.ey to\r,oontirlue.');
outon~CUN'~fiYU~);
delay~3000);
ol~torf ~ ~NvEy~r~);
}
~ r~ r~
~.. ,~ .
7~3~3 ~AY R 3.0-010 ..
he flow chart of Figure 10 is presented to aid in understanding the operations described in the computer program listed above. In Figure 10, numeral 100 denotes start of the ~lowchart. Numeral 102 denotes the settings formed by the u~er utilizing keyboard 48, descri~ed in connection with Figure 9 above. Standard diagnostic tests performed on the computer operations are indicated at numeral 104 in Fi~ure 10~
Steps 106 and 108 in the flow chart indicates the lack of the indication that the apparatus should stop; namely, that no key on the controller 48 has been depressed or no indication that the stop wand 8 is in the position shown in Figure 1.
The next function 110 is to scan the boards and again, in 112, sense that any key is depressed. The boards are selected through the combination of func~ions 114, 116, 118, 120 and 122.
Again, the sensing of whether any key is pressed, is indicated in block 124. The boards are then sent to glue applicator, as indicated at 126 in Figure 10.
The equations for measuring a particular board will be described below.
In the equations followin~, the following applies:
Vl = value of 6" reference left (or riqht); V2 - value of 1" reference left; V3 = value oE 1" reference right; Vn =
valus of a selected workpiece; dn = the distance to the workpiece selected ~iOe. Vn); and d3 = distance between V2 and V3.
~ . .
T~YLOi `.0-010 ~73~3 , .
Calibration from far left to far right tor vice versa) is represented by the following equation:
91 = dn (V3 - V2~ ~ V2 g6 = dn tV3 - V2) ~ V
~3 ~3 The above equation is desi~ned to calibrate the hei~ht above the boards of the analog sensor and the digital sensor.
The calibration e~uation above recognizes that the hei~ht may be uneven from one far end support to the other. More specifically, and with reference to Figure 5 for example, the hei~ht of the scanning support 98,96 as mounted on rodless cylinder 24 and support0d by vertical supports 86,88 may not be uniform from one end to the other. Thus, the 6" references and the 1" references are used in the program to develop the calibration signals ~1 and g6 representative of any difference in height of the mounting oE
the analog scanner. More specifically, if the analog electrical signal V3 is greater than V2 then a calibration signal 91 is generated in lines "gl" and "~6" Of the computer program described infra. The signal is 0enerated for the hoard located at a location Dn corresponding to the volta~e Vn. Xn this manner, the computer program generates a correction signal for each board location representative of the hei~ht differentlal hetween the two references, V3 and V2.
The height calihration is developed in the equation which follows. In this equation, the difference between the 1"
reference and the 6" reference is utilized to establish in the program calibration oE each of the locations g1 --~0--~AYLo~ 3.0-010 The height calibration is represented by the Eollowing equation:
Height = 1 ~ 5(g1 ~ Vn) gl ~ g6 My invention recognizes that there are several alter-natives to approaching computer analysis of a multiplicity o different sized boards so as to determine which of the boards make up the desired width panel.
One way to size the panels is to go through the signals representative oE the size of each board and adding up the sizes, comparing them to the desired size and goin~ immediately to the next comblnation if the combination size exceeds the maximum allowable panel size. This approach involves the necessity to perform calculations on every comhination o panels.
Another method which may be employed is to take the first n (say 5) boards such that the total size ~i5 over the desired panel width. Then, from this combination o~ the ~irst n boards over the panel width, combinations of boards are subtracted rom the total size to get a result of the proper size. The advantage in this method is that you are taking combinations of boards at a time so that a more rapid process is involved in reaching the combination of the desired size.
One o the problems in workincl with this approach is that combinations o boards are repeated. ~or example, if in . .
thi~ approach ei~ht boards are being exarnined subtracting one, ~3073~
TAYL~, 3 . 0--010 two, three at a time and no combination is found, the approach must look at nine boards so that any combination that subtracts the ninth board involves simply a repeat of one oE the combinations tried when looking at ei~ht boards.
The approach employed in the present program involves several repeats. Lines "make a panel" through "can't find withln tolerance" of the program described infra control the selection process such that, for example if nine boards are being tried, the program avoids any combination that subtracts the ninth board (as this was already accomplished in analysis of eight boards). Further, if a combination of ten boards is being analyzed, the program does not calculate any combination based on subtraction of board number ten.
In establishin~ the methods above, the determinations were based on a test of sizing panels 121' to 30" wide on a machine with thirteen slots and board sizes ranging from 1" to 3"~
Obviously, depending upon other numbers of boards, panel sizes~ and combinations, other differing methods may be employed.
While a specific embodiment of this invention is described as is shown herein, it is to be understood that other embodiments may be resorted to without departing from the spirit and scope of the invention.
printl~ lurn span scre~1\nau~ l/4 turr,.\n111er1 l1it ar,y\r,kPy.~);
113itstart~ );
c}l s ( ~ i sc3n 5 tart~ );
ft~r (~unlmy=~ Jn~n\y~=r~unlslots~; t~ Jnlnly) rea~sise(O);
~3=re.3,isi~e~V);
~i2=re.ldsise(l);
~oto clletk39~in }
te s t i ~1 pUt s c 1 s ( 3 ;
printl(l,'lnput lests~n\rl\rllrip thrJ ~ye\n-);
,iun~n~y=sense ( EYE );
while~,iun~my==ser,se(EYE));
printl(l,'Move Stop W~n,i');
,iumnly-sense ( S~UE~ NLl );
WhilE? (~iull1my~=ser,se(SIl~PlJ~
6 ~t'; lest ~age hlook 5et~inr:!r~
rls~); .
cro,ie=longil,p1J~( (lon~)rcu~ie,3,0, ~ ~n~er\nC3l ihr.3tiur1 Co~ie' ~;
C15( );
~rintl~l,'Put l\' hlooks\r,.ir, firo.t .~ st\nslots. l'hen hit\nar1y k.ey.~);
lef t~oo-i=0;
r i ght~oo~i=0;
w.aitst.~rtt );
g~ge.3ga i r~:
c 1 ~
~cr ~3~1,,iun~n~y=~,d2=O;d~ =3;~+d3) outan~LONV~YOR);
for ~ iO~)O; t+
Ol~t)~'Y ( ~U~V~YU~ );
~ear,c,0~7r ~ls ( O );
1I (to.srdsi3eLl~==3:!000 11 t~oar,isiseLr~1.ln1~lnt~i:]=-~2000) {
c15~ );
printl(l, '~rrt~r . ~nlrry s:lo~1in~\nl'ravt-rse' );
~uto ga~e.~ ir,;
~iuMnly+=t~oar,isist?L 1:1;
~i21 =ho.~r~isi%cLr~lJn~slot.s] .
~iunlnly/=~;
~i2~-3;
iun)n~y~=149S-rcc1,ie ~t ~gunln~y~;-lS.~ cto~ie) right~uo~g=l; /~ Ri~hlL g39E' ~look ~uccess~ :
.. iP ~ l49~-cco,ie X~ ;OO-cro~e) 'leftgu~ Left 9.3~e tlock successful ~i/
i~ ~ I rightgoo~ 1 1 ! lef t~osd~
if ~ !rig11tgoo~) rls( );
printl~ Hove g~e t~lorkR
i f ~ ~un1n~y~t; 11')'o-cc~1ie ) ... .
L ,,,~, .
'~AYLOR 3.0-OlO 2007343 F1~irltl(1,~liourl ~) f~ 9~-ccode-dllnlnly~0~:
else printl(l,'ll~
f=(~unlnly~ -cco~ie))~.02;
if ~f~. a 125) f .l~S;
printfr.~t(l~f,~);
printltl,'\r,turrl. lllnr~ ll3ny k~y.~);
~n~itst.3rtt);
}
if ~!leftgoo.~) ~ls();
printI(l~'Hove ~.3~e t,lock\rlt~
if ~i2~14'J~-cra~ie) printltl,~own ');
f=(l~-Ji'-ooo,ie~ .02;
}
else {
printl~ up ~);
f=(,i~ -J7-ooo,ie))~.02;
if ~f~;.125) ~ 5;
printfr.~ct~l,f,8);
printl~l,'\ntulrl. XHert hlt\r,~ny k.ey.');
w.~itst.3rt(~;
}
~oto ~39e~93irl;
telluser~'Ui~nustics\r,~`onlplete-~, hi~n.3ny k.ey to\r,oontirlue.');
outon~CUN'~fiYU~);
delay~3000);
ol~torf ~ ~NvEy~r~);
}
~ r~ r~
~.. ,~ .
7~3~3 ~AY R 3.0-010 ..
he flow chart of Figure 10 is presented to aid in understanding the operations described in the computer program listed above. In Figure 10, numeral 100 denotes start of the ~lowchart. Numeral 102 denotes the settings formed by the u~er utilizing keyboard 48, descri~ed in connection with Figure 9 above. Standard diagnostic tests performed on the computer operations are indicated at numeral 104 in Fi~ure 10~
Steps 106 and 108 in the flow chart indicates the lack of the indication that the apparatus should stop; namely, that no key on the controller 48 has been depressed or no indication that the stop wand 8 is in the position shown in Figure 1.
The next function 110 is to scan the boards and again, in 112, sense that any key is depressed. The boards are selected through the combination of func~ions 114, 116, 118, 120 and 122.
Again, the sensing of whether any key is pressed, is indicated in block 124. The boards are then sent to glue applicator, as indicated at 126 in Figure 10.
The equations for measuring a particular board will be described below.
In the equations followin~, the following applies:
Vl = value of 6" reference left (or riqht); V2 - value of 1" reference left; V3 = value oE 1" reference right; Vn =
valus of a selected workpiece; dn = the distance to the workpiece selected ~iOe. Vn); and d3 = distance between V2 and V3.
~ . .
T~YLOi `.0-010 ~73~3 , .
Calibration from far left to far right tor vice versa) is represented by the following equation:
91 = dn (V3 - V2~ ~ V2 g6 = dn tV3 - V2) ~ V
~3 ~3 The above equation is desi~ned to calibrate the hei~ht above the boards of the analog sensor and the digital sensor.
The calibration e~uation above recognizes that the hei~ht may be uneven from one far end support to the other. More specifically, and with reference to Figure 5 for example, the hei~ht of the scanning support 98,96 as mounted on rodless cylinder 24 and support0d by vertical supports 86,88 may not be uniform from one end to the other. Thus, the 6" references and the 1" references are used in the program to develop the calibration signals ~1 and g6 representative of any difference in height of the mounting oE
the analog scanner. More specifically, if the analog electrical signal V3 is greater than V2 then a calibration signal 91 is generated in lines "gl" and "~6" Of the computer program described infra. The signal is 0enerated for the hoard located at a location Dn corresponding to the volta~e Vn. Xn this manner, the computer program generates a correction signal for each board location representative of the hei~ht differentlal hetween the two references, V3 and V2.
The height calihration is developed in the equation which follows. In this equation, the difference between the 1"
reference and the 6" reference is utilized to establish in the program calibration oE each of the locations g1 --~0--~AYLo~ 3.0-010 The height calibration is represented by the Eollowing equation:
Height = 1 ~ 5(g1 ~ Vn) gl ~ g6 My invention recognizes that there are several alter-natives to approaching computer analysis of a multiplicity o different sized boards so as to determine which of the boards make up the desired width panel.
One way to size the panels is to go through the signals representative oE the size of each board and adding up the sizes, comparing them to the desired size and goin~ immediately to the next comblnation if the combination size exceeds the maximum allowable panel size. This approach involves the necessity to perform calculations on every comhination o panels.
Another method which may be employed is to take the first n (say 5) boards such that the total size ~i5 over the desired panel width. Then, from this combination o~ the ~irst n boards over the panel width, combinations of boards are subtracted rom the total size to get a result of the proper size. The advantage in this method is that you are taking combinations of boards at a time so that a more rapid process is involved in reaching the combination of the desired size.
One o the problems in workincl with this approach is that combinations o boards are repeated. ~or example, if in . .
thi~ approach ei~ht boards are being exarnined subtracting one, ~3073~
TAYL~, 3 . 0--010 two, three at a time and no combination is found, the approach must look at nine boards so that any combination that subtracts the ninth board involves simply a repeat of one oE the combinations tried when looking at ei~ht boards.
The approach employed in the present program involves several repeats. Lines "make a panel" through "can't find withln tolerance" of the program described infra control the selection process such that, for example if nine boards are being tried, the program avoids any combination that subtracts the ninth board (as this was already accomplished in analysis of eight boards). Further, if a combination of ten boards is being analyzed, the program does not calculate any combination based on subtraction of board number ten.
In establishin~ the methods above, the determinations were based on a test of sizing panels 121' to 30" wide on a machine with thirteen slots and board sizes ranging from 1" to 3"~
Obviously, depending upon other numbers of boards, panel sizes~ and combinations, other differing methods may be employed.
While a specific embodiment of this invention is described as is shown herein, it is to be understood that other embodiments may be resorted to without departing from the spirit and scope of the invention.
Claims (14)
1. An apparatus for selecting among work pieces for further processing comprising:
infeed means for supporting and advancing work pieces from a first station to a second station;
means at said second station for inspecting said work pieces and developing electrical signals indicative of the height of each of said work pieces;
means connected to receive said electrical signals for comparing said electrical signals with predetermined height requirements and for generating output signals as a result of said comparison;
selection means mounted in proximity to said work pieces and coupled to receive said output signals for simultaneously selecting ones of work pieces;
conveying means mounted in proximity to said selection means for conveying said selected work pieces for further processing; and recording and control means connected to said conveying means for recording parameters relating to the operation of the apparatus and for generating a control signal when a predetermined number of selected work pieces have been conveyed for further processing.
infeed means for supporting and advancing work pieces from a first station to a second station;
means at said second station for inspecting said work pieces and developing electrical signals indicative of the height of each of said work pieces;
means connected to receive said electrical signals for comparing said electrical signals with predetermined height requirements and for generating output signals as a result of said comparison;
selection means mounted in proximity to said work pieces and coupled to receive said output signals for simultaneously selecting ones of work pieces;
conveying means mounted in proximity to said selection means for conveying said selected work pieces for further processing; and recording and control means connected to said conveying means for recording parameters relating to the operation of the apparatus and for generating a control signal when a predetermined number of selected work pieces have been conveyed for further processing.
2. Apparatus for automatically selecting a number of work pieces for further processing to combine said selected workpieces into an intermediate product of predetermined dimensions comprising:
supply means for supplying a plurality of workpieces of different dimensions;
signal generating means for generating an electrical signal representative of the height dimension of each of said workpieces, said signal generating means including:
support means for said signal generating means connected to said supply means;
movable mounting means connected to said support means and to said signal generating means for conveying said signal generating means in proximity to said workpieces;
scanning means mounted on said movable mounting means for generating a first electrical signal indicative of said height dimension of each of said workpieces and a second electrical signal identifying each of said workpieces;
means connected to said signal generating means for simultaneously selecting at least two of said workpieces for further processing; and recording and control means connected to said conveying means for recording parameters relating to the operation of the apparatus and for generating a control signal when a predetermined number of selected work pieces have been con-veyed for further processing.
supply means for supplying a plurality of workpieces of different dimensions;
signal generating means for generating an electrical signal representative of the height dimension of each of said workpieces, said signal generating means including:
support means for said signal generating means connected to said supply means;
movable mounting means connected to said support means and to said signal generating means for conveying said signal generating means in proximity to said workpieces;
scanning means mounted on said movable mounting means for generating a first electrical signal indicative of said height dimension of each of said workpieces and a second electrical signal identifying each of said workpieces;
means connected to said signal generating means for simultaneously selecting at least two of said workpieces for further processing; and recording and control means connected to said conveying means for recording parameters relating to the operation of the apparatus and for generating a control signal when a predetermined number of selected work pieces have been con-veyed for further processing.
3. The apparatus of Claim 2 wherein said supply means includes a plurality of separate tracks, each of said tracks being formed by a plurality of rails separating one track from the other; and rotating means mounted beneath said rails for advancing said work pieces within said rails.
4. The apparatus of Claim 2 wherein said means for selecting at least one of said work pieces includes gating means operable in a first position to block passage of said work pieces and in a second position to permit passage of said work pieces; said gate means including a plurality of individually operable means each coupled to said signal generating means.
5. The apparatus of Claim 4 further including means coupled to said means for receiving said work pieces on said gate means assuming said second position, said receiving means including means coupled to receive said work pieces to concentrate said work pieces; gluing means coupled to receive said work pieces after concentration thereof for applying glue to one surface of said work pieces; and means contacting said glued work pieces for stopping said apparatus on arrival of said glued work pieces at a predetermined location.
6. The apparatus of Claim 5 wherein said stopping means includes a sensor mounted for contacting said glued work pieces and for stopping said apparatus when said sensor is in a first position and for permitting said apparatus to operate when said sensor is in a second position, said sensor being driven to said first position by the presence of work pieces contacting said sensor wand.
7. The apparatus of Claim 2 wherein said first electrical signal is an analog signal and said second electrical signal is a digital signal.
8. The apparatus of Claim 1 further including means at said second station for inspecting said workpieces and developing an electrical signal indicative of the location of each of said work-pieces.
9. The apparatus of Claim 8 wherein said electrical signals indicative of the height of each of said workpieces are analog signals and the electrical signals indicative of the location of each of said workpieces are digital signals.
10. The apparatus of Claim 1 wherein said inspecting means includes transporting means coupled to said electrical signal developing means for carrying said electrical signal developing means across said workpieces.
11. A method of selecting from a number of workpieces a lesser number of workpieces for further processing comprising the steps of:
conveying said workpieces to be selected from the first station to the second station;
scanning said workpieces at said second station to generating electrical signals representing height and loca-tion of each of said workpieces;
comparing the signals generated with predetermined conditions representing the desired width of a final product;
comparing the electrical signals representing height and location of said workpieces with said predetermined conditions and selecting which of said workpieces will comprise said desired width of the final product; and recording parameter describing the characteristic of said lesser number of workpieces.
conveying said workpieces to be selected from the first station to the second station;
scanning said workpieces at said second station to generating electrical signals representing height and loca-tion of each of said workpieces;
comparing the signals generated with predetermined conditions representing the desired width of a final product;
comparing the electrical signals representing height and location of said workpieces with said predetermined conditions and selecting which of said workpieces will comprise said desired width of the final product; and recording parameter describing the characteristic of said lesser number of workpieces.
12. The apparatus of Claim 1 further including calibrating means at said second station for generating a calibration reference signal indicative of height.
13. A method for selecting among work pieces for further pro-cessing comprising:
supporting and advancing work pieces from a first station to a second station;
inspecting said work pieces and developing electrical signals indicative of the height of each of said work pieces;
comparing said electrical signals with predetermined requirements and generating output signals as a result of said comparison;
selecting workpieces based on said output signals;
conveying said selected work pieces for further pro-cessing; and recording parameter describing the characteristic of said lesser number of workpieces.
supporting and advancing work pieces from a first station to a second station;
inspecting said work pieces and developing electrical signals indicative of the height of each of said work pieces;
comparing said electrical signals with predetermined requirements and generating output signals as a result of said comparison;
selecting workpieces based on said output signals;
conveying said selected work pieces for further pro-cessing; and recording parameter describing the characteristic of said lesser number of workpieces.
14. The method of automatically selecting a number of workpieces for further processing to combine said selected workpieces into an intermediate product of predetermined dimensions comprising:
supplying a plurality of workpieces of different dimensions;
generating electrical signals representative of the dimensions of said workpieces by scanning said workpieces for generating a first electrical signal indicative of a dimension of each of said workpieces and a second electrical signal identifying each of said workpieces;
selecting at least one of said workpieces for further processing using said electrical signals.
supplying a plurality of workpieces of different dimensions;
generating electrical signals representative of the dimensions of said workpieces by scanning said workpieces for generating a first electrical signal indicative of a dimension of each of said workpieces and a second electrical signal identifying each of said workpieces;
selecting at least one of said workpieces for further processing using said electrical signals.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/412,168 US5161697A (en) | 1988-02-18 | 1989-09-25 | Apparatus for selecting wood stock to form panels of predetermined size |
| US412,168 | 1989-09-25 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CA2007343A1 CA2007343A1 (en) | 1991-03-25 |
| CA2007343C true CA2007343C (en) | 1994-04-12 |
Family
ID=23631877
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CA 2007343 Expired - Lifetime CA2007343C (en) | 1989-09-25 | 1990-01-08 | Method and apparatus for selecting wood stock to form panels of predetermined size |
Country Status (1)
| Country | Link |
|---|---|
| CA (1) | CA2007343C (en) |
-
1990
- 1990-01-08 CA CA 2007343 patent/CA2007343C/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| CA2007343A1 (en) | 1991-03-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5161697A (en) | Apparatus for selecting wood stock to form panels of predetermined size | |
| CN1247369C (en) | Method for cutting mosaic plate or the like | |
| US4984172A (en) | System for detecting and correcting defects in articles being processed, in particular wood panels with splits, knot-holes, etc. | |
| KR101285421B1 (en) | Method of calibration in a machine for processing plate-like items | |
| CN109515009B (en) | Full-automatic laser marking system for semiconductor sealing and testing | |
| CN112531194A (en) | Fuel cell stack assembly system | |
| CN219817105U (en) | Face sweep type warp detection equipment | |
| EP1298412B1 (en) | Plate thickness inspecting apparatus | |
| CA2007343C (en) | Method and apparatus for selecting wood stock to form panels of predetermined size | |
| US4205568A (en) | Method and apparatus for optimizing edge cut of boards from cants and the like | |
| CN118150589A (en) | An intelligent detection system for packaging box printing quality | |
| CN109515010B (en) | Marking positioning mechanism of full-automatic laser marking system for semiconductor sealing and measuring | |
| CN218282746U (en) | Full-automatic power-on detection and label tearing and sticking equipment for display screen | |
| CN109515008B (en) | Conveying track mechanism of full-automatic laser marking system for semiconductor sealing and testing | |
| US5351833A (en) | Method for selecting wood stock to form panels of predetermined size | |
| WO1994029043A1 (en) | Method, apparatus for punching and bending plate | |
| US5595044A (en) | Method and device for detecting shortage/excess of article enclosed in automatic mail enclosing and sealing machine | |
| CN214473691U (en) | Chip calibration equipment | |
| US8182404B2 (en) | Method for converting a trimming machine for the preferably three-sided trimming of a stack of sheets | |
| CN221445108U (en) | PCB thickness measurement and copper thickness measurement function all-in-one | |
| CN109515007B (en) | Marking device of full-automatic laser marking system for semiconductor sealing and testing | |
| CN114101434A (en) | Automatic production stamping assembly line for automobile seat beam fittings | |
| JP5052356B2 (en) | Screen printing method and apparatus | |
| CN218455771U (en) | Circuit board detection system | |
| CN214878769U (en) | Online object moving track automatic detection alarm device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EEER | Examination request | ||
| MKEX | Expiry |