forked from epics_driver_modules/motorBase
117 lines
3.3 KiB
Plaintext
117 lines
3.3 KiB
Plaintext
NewFocus PicoMotor Controller (87xx)
|
|
===================================
|
|
|
|
|
|
This motorRecord driver supports the NewFocus 8750 and 8752
|
|
PicoMotor Network Controllers.
|
|
8750 - RS232 @ 19200Baud (8data, No Parity, 1stop)
|
|
8752 - RS232 @ 19200Baud or Ethernet (port 23)
|
|
|
|
Support Motor Drivers (daisychained)
|
|
8753 - 3 Channel Open-loop
|
|
8751 - 1 Channel Closed-loop
|
|
|
|
Motor Resolution:
|
|
Standard Picomotor - ~30nm
|
|
Tiny Picomotor - ~100nm
|
|
|
|
|
|
Serial Port Config
|
|
===================
|
|
DB9: Male
|
|
Tx - Pin 2
|
|
Rx - Pin 3
|
|
|
|
Null-Modem (swap 2-3) required for IP-Octal breakout module
|
|
|
|
Baud: 19200 (eight data bits, one stop bit, and no parity)
|
|
|
|
|
|
**** EXAMPLE CONFIGURATION FOR VXWORKS TARGETS ****
|
|
|
|
Ethernet Config (8752 Only)
|
|
============================
|
|
Commands sent using RS232 port
|
|
|
|
EHCO ComA ON Turn echo on RS232 port (Computer)
|
|
|
|
IPMODE (STAT, DHCP) - IP Mode (Static IP, Use DHCP Server)
|
|
IPADDR IP Setting
|
|
NETMASK Network Mask
|
|
MACADDR MAC Address
|
|
GATEWAY Network Gateway
|
|
SAV Save Configuration Settings
|
|
|
|
After setting up ethernet parameters and SAV(ing) reset the controller.
|
|
The IPMODE and IPADDR do not take effect untill after a reboot.
|
|
|
|
Example:
|
|
>IPMODE=STAT
|
|
>IPADDR=164.54.9.33
|
|
>NETMASK=255.255.252.0
|
|
>GATEWAY=164.54.8.1
|
|
>SAV
|
|
<power cycle>
|
|
|
|
|
|
Other Info
|
|
===================================
|
|
Test Versions:
|
|
VER<cmnd>
|
|
8750 - Version 1.0.13
|
|
8752 - Version 1.5.0, 1.6.0
|
|
8752 - Version 1.5.4 (NO '>' on STA command - use '/n' for input EOS)
|
|
|
|
|
|
Detect driver types
|
|
DRT Driver Type (8752 Only)
|
|
1 = 3 channel open loop (8753)
|
|
2 = 1 channel closed loop (8751)
|
|
|
|
|
|
|
|
EPICS SETUP
|
|
============
|
|
|
|
|
|
xxxApp/src/Makefile
|
|
-------------------
|
|
xxx_vxWorks_LIBS += NewFocus
|
|
|
|
xxxApp/src/xxxCommonInclude.dbd
|
|
--------------------------------
|
|
include "devNewFocus.dbd"
|
|
|
|
|
|
iocBoot/iocxxx/serial.cmd
|
|
---------------------------
|
|
tyGSAsynInit("serial1", "UART_0", 1, 19200,'N',1,8,'N',">","\r") /* NewFocus Pico Motor */
|
|
|
|
.
|
|
# Setup IP port for 8752
|
|
drvAsynIPPortConfigure("serial3", "164.54.9.33:23", 0, 0, 0)
|
|
asynOctetSetInputEos("serial3",0,">")
|
|
asynOctetSetOutputEos("serial3",0,"\r")
|
|
.
|
|
.
|
|
|
|
# New Focus Picomotor Network Controller (model 87xx) (setup parameters:
|
|
# (1) maximum number of controllers in system
|
|
# (2) maximum number of drivers per controller (1 - 3)
|
|
# (3) motor task polling rate (min=1Hz,max=60Hz)
|
|
#drvPMNC87xxdebug=0
|
|
PMNC87xxSetup(1, 2, 10)
|
|
|
|
# New Focuc Picomotor Network Controller (model 87xx) configuration parameters:
|
|
# (1) controller# being configured,
|
|
# (2) asyn port name (string)
|
|
PMNC87xxConfig(0, "serial1")
|
|
|
|
|
|
iocBoot/iocxxx/motor.substitutions
|
|
----------------------------------
|
|
{xxx:, 1, m$(N), "PMNC87xx", 0, 0, "motor $(N)", degrees, Pos, 10, 0., 1., 0, 1, .2, 1e-3, 3, 100, -100, ""}
|
|
{xxx:, 2 m$(N), "PMNC87xx", 0, 1, "motor $(N)", degrees, Pos, 60, 0., 1.5, 0, 1, .2, 1e-3, 3, 100, -100, ""}
|
|
{xxx:, 3, m$(N), "PMNC87xx", 0, 2, "motor $(N)", degrees, Pos, 60, 0., 1., 0, 1, .2, 1e-3, 3, 100, -100, ""}
|
|
|