Date: Thu, 28 Mar 2024 13:52:50 +0000 (UTC) Message-ID: <1057495651.1867.1711633970577@ip-172-30-2-14> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_1866_1191294438.1711633970572" ------=_Part_1866_1191294438.1711633970572 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
Scanners use a parameter file to input th= e various camera, laser and calibration settings used for obtaining profile= data. This technique allows simpler editing of parameters compared to othe= r ways of adjusting the exposure, encoder, etc. A simple, commentable, text= file can be saved, copied, and e-mailed, allowing for easier backup and lo= ng-distance diagnostics. Other techniques that involve a GUI can't be saved= and copied as easily.
We've also worked hard to make as few of = the parameters on a per-scanner basis, especially the encoder parameters. T= his means you can understand the workings of the system by glancing at a co= uple lines of parameters. There are per-scanner parameters, but they are th= ings that are dependent on position, like exposure and calibration fixtures= .
Case Sensitivity
<= /span>The parameters are CASE SENSITIVE. Th= is means you have to use the same case for parameters and names of Zones, ScannerConfigs, etc. Don't fo= rget to capitalize the first letter of all the words for parameters that ha= ve more than one word (e.g., ScannerConfig).= p>
Comments
Comments are started by a # sign and = run until the end of the line.
Unicode Not Supported
The param.dat file should be saves as a straight ASCII, sometimes also c= alled ANSI, file. Saving in a UTF8 encoding will cause failures in se= nding the parameters to the scan heads. Editors link notepad++ have a= encoding settings where you can convert a file to save as ANSI/ASCII.
Value Format: |
ScannerConfig YourScannerConfigNameHere Cab= leID, ..., CableID { # Parameters Here }<= /pre> |
There can be = multiple ScannerConfig = blocks in a single parameter file, each one controlling different Cable IDs= . However, a Cable ID can only appear in the list of one Scanne= rConfig block, otherwise saving the= parameters will return an error and the parameters will not be loaded.
Let's imagine a board edging system with four scanners:
Scanners 0 and 1 scan opposite sides of the first half of a board, s= canners 2 and 3 scan opposite sides of the second half of a board.
Scanners 0 and 2 are on the left, 1 and 3 are on the right.
The laser end of the scanners is closer to the infeed than the camer= a end of the scanners.
The encoder pulses 4000 times per sprocket rotation, which moves the= chain 18.75 inches.
You want to scan the board with one-inch spacing.
Here's an example scanner configuration file.
#A ScannerConfig named "Scanners" that applies = to Cable ID's 0 through 3 ScannerConfig Scanners 0, 1, 2, 3 { =09#The lasers are on the downstream end of the chain =09LaserUpstream=09false =09#The scanners calibrate against a fixture named "Circles" =09CalibrationFixtureNames= a>=09Circles =09#The scanners work in "shifts" =09StaggeredScanning=09true } E= ncoderPulseInterval 0.0046875 # =3D 18.75 / 4000 How far the belt move= s per encoder pulse E= ncoderScanInterval 1.0 #This is the distance between scans N= umberOfPhases 2 #Break the EncoderScanInterval into this= many pieces T= riggerPhase 0 : 0, 2 #Scanners 0 and 2 scan at the beginning of the in= ch T= riggerPhase 1 : 1, 3 #Scanners 1 and 3 scan at the middle of the inch Zone FirstZone=090, 1 #You can view sca= nners 0 and 1 at the same time in Graph View Zone SecondZone 2, 3 #You can view scann= ers 2 and 3 at the same time in Graph View #A CalibFixture named "Circles" -- the name can be anything you want CalibFixture Circles { =09CircleFeature 1.0 2.0= 3.0 #Radius is 1.0" Centered at the coordinates (2.0", 3.0") =09CircleFeature 2.0 5.0= 6.0 #Radius is 2.0" Centered at the coordinates (5.0", 6.0") } |
LaserUpstream
is set to false to=
indicate that the laser end of the scanner is downstream.
CalibrationFixtureNames
means th=
e scanners calibrate with the fixture named "Circles". These fixtures are d=
efined later (or before) in the parameter file.
StaggeredScanning
means the scanners operate in "shifts". First TriggerPhase
0 goes, then TriggerPhase
1, then the next Tr=
iggerPhase
, etc.
EncoderPulseInterval<=
/code>
means that each pulse of the encoder moves the belt 0.09876=
54 units of distance. You can use the distance units you prefer, like meter=
s, as long as you use the same units for all the encoder parameters. This e=
xample will assume that distance is measured in inches.
EncoderScanInterval=
code>
tells the scanner how far the belt should move in order to t=
rigger another scan.
NumberOfPhases
=
is the number of "shifts" the scanners will work in when they're =
scanning in synchronized mode.
Zone
means that scanners 0 and 1 are scanning the=
same part of the object (probably opposite sides) and that scanners 2 and =
3 are both scanning the a different area of the same object. Zones are used=
in JSDiag to watch liv=
e profile data from only the scanners in that zone.
CalibFixture
is a description of=
the calibration fixture that will be used to calibrate the scanners with.<=
/p>
In general, it is best to include only th= e parameters for which the default parameter is not sufficient. This will p= revent someone from accidentally changing a value at a later date.
You can store multiple ScannerConfig=
code>'s in the same parameter file as long as each one has a different name=
. In addition, each Cable ID may only be listed in one
ScannerConfig
block.