Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.naic.edu/~phil/hardware/byuPhasedAr/Positioner_communication.txt
Дата изменения: Tue May 25 21:04:33 2010
Дата индексирования: Sat Jun 26 00:40:45 2010
Кодировка:

Поисковые слова: sirds
Subject:
Positioner communication
From:
"David R. Smith"
Date:
Mon, 17 May 2010 01:36:26 +0000
To:
ge_cortes@yahoo.com, phil@naic.edu

Hi Phil,

The way I talk to the positioner is via telnet to
socket 5002. I've controlled it from 'telnet' under
linux and from PuTTY under windows. Depending on your
line discipline, to interrupt may require a
to send it to the controller.

The interface is very basic. Commands are all case
insensitive. You can put more than one command on a
line, and, as written right now, order doesn't matter.
They will always evaluate in the order that the command
parser looks for them. 'Quit' or 'Exit' take priority,
though, so if that is typed anywhere, the program will end.

When you connect, the system prompt should read "Positioner
Ready>". Unless you are interrupting motion, it's all
more robust to wait for an answer before sending the
next command. However, it does clear the input buffer
when it returns to the prompt.



Here is a short list of the current commands:

HELP
Lists the names of available commands.

WHERE
Returns the current position of the system (right
now, I only have the angle actuator).

STATUS
Returns position and status bit information.

RESET
After a motion interrupt, various 'Kill Motion'
bits are set. The prompt will then read "Axis
Motion DISABLED>" and no motion commands will be
sent to the controller until the bits are reset.
This command attempts to reset the bits. If there
is a hardware condition (e.g., Emergency stop),
the system will state that and leave the "Axis
Motion DISABLED>" prompt in place. Otherwise,
it will clear the bits and return the prompt to
"Positioner Ready>".

ANGLE=
Followed by a number in decimal degrees, this will
send the system to the commanded angle. Commands
outside the software limit will not generate a
motion, but will return an error indicating that
the command is outside the allowed range. If the
command is in range, the drive is enabled, the
system is driven to the commanded position, and the
drive is disabled (including setting the brakes).

FOCUS=
Followed by a number in mm, this will send the
system to the commanded focus position. Commands
outside the software limit will not generate a
motion, but will return an error indicating that
the command is outside the allowed range. If the
command is in range, the drive is enabled, the
system is driven to the commanded position, and the
drive is disabled (including setting the brakes).

RADIUS=
Followed by a number in mm, this will send the
system to the commanded radial position. Commands
outside the software limit will not generate a
motion, but will return an error indicating that
the command is outside the allowed range. If the
command is in range, the drive is enabled, the
system is driven to the commanded position, and the
drive is disabled (including setting the brakes).

Again, after sending a command, motion can be interrupted
by sending ESC.


Samples (not an actual log... I have the system
disconnected while I'm installing the feedthroughs):

telnet 192.168.1.40 5002

Positioner Ready> angle=180
Outside of software limits (-178,178)
Positioner Ready> angle=170.1
Driving to 170.1, ESC to abort...
Positioner Ready> angle=0
Driving to 0, ESC to abort...

Motion killed
Axis Motion DISABLED>
Axis Motion DISABLED> angle=0
Axis Motion DISABLED> where
Angle= 123.45 degrees
Axis Motion DISABLED> reset
Trying to reset disable bits.

EStopPressed = 0
KillAngleAxis = 0
KillAllMovesZero = 0
Positioner Ready>
Positioner Ready> angle=0
Driving to 0, ESC to abort...

Positioner Ready>

Best,

David

-----------------------------------------------------
David R. Smith, Ph.D., PE David_Smith@merlab.com
MERLAB, PC Voice: (404)378-2138
357 S. Candler St. FAX: (404)378-0822
Decatur, GA 30030