Sample Configuration File

Let's imagine a board edging system with four scanners:

  • Scanners 0 and 1 scan opposite sides of the first half of a board, scanners 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 camera 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 IDs 0 through 3
ScannerConfig Scanners 0, 1, 2, 3
	#The lasers are on the downstream end of the chain
	LaserUpstream	false

	#The scanners calibrate against a fixture named "Circles"
	CalibrationFixtureNames	Circles

	#The scanners work in "shifts"
	StaggeredScanning	true

EncoderPulseInterval  0.0046875 # = 18.75 / 4000 How far the belt moves per encoder pulse
EncoderScanInterval   1.0       #This is the distance between scans
NumberOfPhases        2         #Break the EncoderScanInterval into this many pieces

TriggerPhase 0 : 0, 2  #Scanners 0 and 2 scan at the beginning of the inch
TriggerPhase 1 : 1, 3  #Scanners 1 and 3 scan at the middle of the inch

Zone FirstZone	0, 1   #You can view scanners 0 and 1 at the same time in Graph View
Zone SecondZone 2, 3  #You can view scanners 2 and 3 at the same time in Graph View

#A CalibFixture named "Circles" -- the name can be anything you want
CalibFixture Circles
	CircleFeature 1.0 2.0 3.0 #Radius is 1.0" Centered at the coordinates (2.0", 3.0")
	CircleFeature 2.0 5.0 6.0 #Radius is 2.0" Centered at the coordinates (5.0", 6.0")


LaserUpstream is set false to indicate that the laser end of the scanner is downstream.

CalibrationFixtureNames means the scanners calibrate with the fixture named "Circles". These fixtures are defined later (or before) in the parameter file.

StaggeredScanning means the scanners operate in "shifts." First TriggerPhase 0 goes, then TriggerPhase 1, then the next TriggerPhase, etc.

EncoderPulseInterval means that each pulse of the encoder moves the belt 0.0987654 units of distance. You can use the distance units you prefer, like meters, as long as you use the same units for all the encoder parameters. This example will assume that distance is measured in inches.

EncoderScanInterval tells the scanner how far the belt should move in order to trigger another scan.

NumberOfPhases is the number of "shifts" the scanners will work in when they're scanning in synchronized mode.

TriggerPhase means that scanners 0 and 2 will scan first, then scanners 1 and 3 will scan. This prevents the scanners from seeing each other's lasers, if, for example, scanner 0 is on the left side of the part of the board that scanner 1 is on the right side of.

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 live 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.

In general, it is best to include only the parameters for which the default parameter is not sufficient. This will prevent someone from accidentally changing a value at a later date.

You can store multiple ScannerConfigs 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.


  • No labels