The program registers with dbman as FSmngr2.
If this is not specified it defaults to "MNGRconf" in the current working directory (i.e. the directory where the program was started).
The file is in CONFIG_TBL format and is named "fs_config". If this argument is not present the current working directory is assumed. If the file is not found it is created.
If this argument is not specified it generally defaults to the program name.
The control circuit has two inputs, direction and start.
The direction control determines the direction the mechanism moves (ccw or cw) when activated.
The start control is used to start a cycle. It is asserted long enough for the cam to move out of the rest position then deasserted. The motor continues to turn until the switch again senses that the cam is at the rest position.
The direction and start controls are combined into one 2 bit control. See the ctl1 description for more information.
The program is responsible for keeping track of the foil position and managing the hardware controls to correctly move the foil stripper.
Parameters needed by this program can be combined with parameters belonging to other programs. The "program name" field in the configuration file differentiates the entries.
FSmngr2 uses "FSmngr2" as the program name when searching the file.
FSmngr2 handles up to 4 foil strippers. One Group is assigned for each foil stripper to be managed. Groups g1, g2, g3, and g4 are used.
Parameters listed as required must be present in the config file for FSmngr2 to operate on the group.
Parameters listed as optional are not required and will be ignored or overridden by defaults as appropriate.
Usually this control is named FoilNumC in the database.
PhyMin is used as the the minimum foil number and PhyMax is used as the the maximum foil number.
An 80 position foil stripper might be set up as PhyMin=0, and PhyMax=79 or possiblly as PhyMin=1, and PhyMax=80.
The control key should be set to RSetK.
The parameter should be owned by by whatever task FSmngr2 registers as and the permissions should be set for indirect update by users and unconditional for the owner.
0.0 - nop
1.0 - home
The control key should be set to Mom.
Usually this control is named IdxHmeSC in the database.
The parameter should be owned by whatever task FSmngr2 registers as and the permissions should be set for indirect update by users and unconditional for the owner.
0.0 - none
1.0 - reverse
2.0 - forward
When comm3=none no windup compensation is performed.
When a new commanded position (comm1) is entered FSmngr2 calculates the shortest distance from the current foil position to the new foil position and moves backwards or forward to the new position.
When comm3=reverse and FSmngr2 moves the foil stripper backwards it will move one position beyond the destination then move one position forward to compensate for windup. When the foil stripper moves foward it advances to the new position without any additional steps.
When comm3=forward the situation is reversed. When the foil stripper is moved forward it will move one position beyond the destination then move backward one step. When it moves backward it goes directly to the destination.
The best setting for comm3 depends on the orientation of the foil stripper housing.
Usually this control is named DirSC in the database.
The control key should be set to IncN or possibly IDecE.
The parameter should be owned by whatever task FSmngr2 registers as and the permissions should be set for indirect update by users and unconditional for the owner.
This may be used in cases where is desired to inhibit indexing at certain times. For example, the system could be interlocked to prevent motion when beam is present. This could be done by checking that state of an upstream Faraday cup.
0.0 = inhibit indexing
1.0 = allow indexing
The control key should be set to RSet.
Usually this control is named NlkSR in the database.
Ownership and permissions for this parameter do not matter.
Usually this control is named FoilNumR in the database.
The parameter should be owned by whatever task FSmngr2 registers as and the permissions should be set for no update by users and direct for the owner.
foil stripper status
0.0 = rest
1.0 = moving
2.0 = caution
3.0 = error
The caution value means that the move didn’t complete because of an interlock trip. The rest are self explanatory.
Usually this control is named BusySR in the database.
The control key should be set to RSet.
The parameter should be owned by whatever task FSmngr2 registers as and the permissions should be set for no update by users and direct for the owner.
The hardware cam status read
0.0 = out_of_position
1.0 = in_position
Usually this control is named InPosSR in the database.
Ownership, control key, and permissions for this parameter do not matter.
Indexing is started in forward mode (see comm3) by setting the value to 0x3 (fwd/chg). After a short amount of time (6 sec) to allow the motor to move the in position switch off from the cam lobe the control is set to 0x2 (fwd/nop).
Indexing is started in reverse by setting the value to 0x1 (rev/chg). After a short amount of time (6 sec) the control is set to 0x0 (rev/nop).
Usually this control is named PosSC in the database.
The parameter should be writable by whatever task FSmngr2 registers as and the permissions should be set appropriately for FSmngr2 to write.
Many times this parameter is set so that the operator group can write to it. When FSmngr2 starts a write lock is placed on the parameter effectively preventing interference by a user.
This is convenient when setting up a new drive. The users can manipulate this control to troubleshoot the wiring etc. and when the drive mechanism is working properly FSmngr2 can be started.
The amount of time wait before declaring an indexer move timeout is hardcoded as 30 seconds. This may be changed someday.
The interlock scenario described in the comm4 description can also be done by interlocking the cup’s position status control to the BusySR (resp2). The BusySR state is set immediately when the program starts the move so it’s likely that the cup would drop in long before any damage could be done to the foil holder.