NAME
Robotics::Tecan - Control Tecan robotics hardware as Robotics module
See Robotics::Manual
VERSION
Version 0.23
probe
attach
Start communication with the hardware.
Arguments are:
- Robotics object: The variable returned from new().
- (optional) Flags. A string which specifies attach options as single characters in the string: "o" for override
-
Returns: String containing hardware type and version from manufacturer "VERSION" output.
Will not attach to "BUSY" hardware unless override flag is given.
Write
Function to compile a command to hardware Robotics device driver and send the command if attached to the hardware.
park
Park robotics motor arm (perhaps running calibration), based on the motor name (see 'move')
For parking roma-named arms, use the arguments: =item (optional) grip - gripper (hand) action for parking: "n" or false means unchanged grip (default), "p" for park the grip
For parking liha-named arms, use the arguments:
For parking Return status string. May take time to complete.
grip
Grip robotics motor gripper hand, based on the motor name (see 'move').
For roma-named motors, the gripper hand motor name is the same as the arm motor name.
For roma-named motors, use the arguments: =item (optional) direction - "o" for hand open, or "c" for hand closed (default) =item (optional) distance - numeric, 60..140 mm (default: 110) =item (optional) speed - numeric, 0.1 .. 150 mm/s (default: 100) =item (optional) force - numeric when moving hand closed, 1 .. 249 (default: 40)
For pnp-named motors, use the arguments: =item (optional) direction - "o" for hand open/release tube, or "c" for hand closed/grip (default) =item (optional) distance - numeric, 7..28 mm (default: 16) =item (optional) speed - numeric (unused) =item (optional) force - numeric (unused)
Return status string. May take time to complete.
move
Move robotics motor arm, based on the case-insensitive motor name and given coordinates.
Note: The Gemini application asks the user for arm numbers 1,2,3... in the GUI application, whereas the robotics command language (and this Perl module) use arm numbers 0,1,2,.. The motors are named as follows:
- "roma0" .. "romaN" - access RoMa arm number 0 .. N. Automatically switches to make the arm the current arm. Alternatively, "romaL" or "romal" can be used for the left arm (same as "roma0") and "romaR" or "romar" can be use for the right arm (same as "roma1").
- "pnp0" .. "pnpN" - access PnP arm number 0 .. N. Alternatively, "pnpL" or "pnpl" can be used for the left arm (same as "pnp0") and "pnpR" or "pnpr" can be use for the right arm (same as "pnp1"). Note: The Gemini application asks the user for arm numbers 1,2,3... in the GUI application, whereas the robotics command language (and this Perl module) use arm numbers 0,1,2,..
- "temo0" .. "temoN" - access TeMo arm number 0 .. N.
- "liha0" .. "lihaN" - access LiHA arm number 0 .. N. (Note: no commands exist)
-
For moving roma-named motors with Gemini-defined vectors, use the arguments:
- vector - name of the movement vector (programmed previously in Gemini)
- (optional) direction - "s" = travel to vector start, "e" = travel to vector end (default: go to vector end)
- (optional) site - numeric, (default: 0)
- (optional) relative x,y,z - three arguments indicating relative positioning (default: 0)
- (optional) linear speed (default: not set)
- (optional) angular speed (default: not set)
-
For moving roma-named motors with Robotics::Tecan points (this module's custom software), use the arguments:
- point - name of the movement point (programmed previously)
-
For moving pnp-named motors, use the arguments:
- TBD
-
For moving temo-named motors, use the arguments:
- TBD
-
For moving carousel-named motors, use the arguments:
- TBD
-
Return status string. May take time to complete.
move_path
Move robotics motor arm along predefined path, based on the case-insensitive motor name and given coordinates. See move.
Arguments:
- Name of motor.
- Array of Robotics::Tecan custom points (up to 100 for Genesis)
-
Return status string. May take time to complete.
Read
Low level function to read commands from hardware.
detach
End communication to the hardware.
status_hardware
Read hardware type. Return hardware type string (should always be "GENESIS").
configure
Loads configuration data into memory.
- pathname of configuration file in YAML format
-
Returns: 0 if success, 1 if file error, 2 if configuration error.
status
Read hardware status. Return status string.
initialize
Quickly initialize hardware for movement (perhaps running quick calibration). Return status string. May take time to complete.
initialize_full
Fully initialize hardware for movement (perhaps running calibration). Return status string. May take time to complete.
simulate_enable
Robotics::Tecan internal hook for simulation and test. Not normally used.
REFERENCE ON NAMED PIPES
Named pipes must be accessed as UNCs. This means that the computer name where the named pipe is running is a part of its name. Just like any UNC a share name must be specified. For named pipes the share name is pipe. Examples are:
\\machinename\pipe\My Named Pipe \\machinename\pipe\Test \\machinename\pipe\data\Logs\user_access.log
Notice how the third example makes use of an arbitrarly long path and that it has what appear to be subdirectories. Since a named pipe is not truly a part of the a disk based file system there is no need to create the data\logs subdirectories; they are simply part of the named pipes name. Also notice that the third example uses a file extension (.log). This extension does absolutely nothing and is (like the subdirectories) simply part of the named pipes name.
When a client process attempts to connect to a named pipe it must specify a full UNC. If, however, the named pipe is on the same computer as the client process then the machine name part of the UNC can be replaced with a dot "." as in:
\\.\pipe\My Named Pipe
AUTHOR
Jonathan Cline, <jcline at ieee.org>
BUGS
Please report any bugs or feature requests to bug-robotics at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Robotics. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Robotics::Tecan
You can also look for information at:
RT: CPAN's request tracker
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
ACKNOWLEDGEMENTS
COPYRIGHT & LICENSE
Copyright 2009 Jonathan Cline.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.
8 POD Errors
The following errors were encountered while parsing the POD:
- Around line 127:
'=item' outside of any '=over'
- Around line 161:
You forgot a '=back' before '=head2'
- Around line 351:
'=item' outside of any '=over'
- Around line 634:
You forgot a '=back' before '=head2'
- Around line 640:
'=item' outside of any '=over'
- Around line 1080:
You forgot a '=back' before '=head2'
- Around line 1145:
'=item' outside of any '=over'
- Around line 1207:
You forgot a '=back' before '=head2'