forked from epics_driver_modules/motorBase
340 lines
11 KiB
Plaintext
340 lines
11 KiB
Plaintext
# The is the "ASYN" example for communication to either a Newport MM4000/5 or an
|
|
# IMS483 controller. The examples must be configured by including or omitting
|
|
# comment characters (i.e., #'s) from this file.
|
|
|
|
# "#!" marks lines that can be uncommented.
|
|
|
|
# The following must be added for many board support packages
|
|
#!cd "... IOC st.cmd complete directory path ... "
|
|
|
|
< cdCommands
|
|
#!< ../nfsCommands
|
|
|
|
cd topbin
|
|
|
|
# If the VxWorks kernel was built using the project facility, the following must
|
|
# be added before any C++ code is loaded (see SPR #28980).
|
|
sysCplusEnable=1
|
|
|
|
ld < WithAsynVx.munch
|
|
|
|
cd startup
|
|
dbLoadDatabase("$(TOP)/dbd/WithAsynVx.dbd")
|
|
WithAsynVx_registerRecordDeviceDriver(pdbbase)
|
|
|
|
dbLoadTemplate("motor.substitutions")
|
|
dbLoadRecords("$(MOTOR)/db/motorUtil.db", "P=IOC:")
|
|
|
|
# Configure the ASYN server code. This MUST be configured too!
|
|
< st_asynserver.cmd.Vx
|
|
|
|
# Newport MM3000 and MM4000/5/6 driver setup parameters:
|
|
# (1) maximum number of controllers in system
|
|
# (2) motor task polling rate (min=1Hz,max=60Hz)
|
|
#!MM3000Setup(1, 10)
|
|
#!MM4000Setup(1, 10)
|
|
|
|
# Newport MM3000 and MM4000/5/6 driver configuration parameters:
|
|
# (1) controller# being configured
|
|
# (2) ASYN port name
|
|
# (3) address (GPIB only)
|
|
#!MM3000Config(0, "a-Serial[0]")
|
|
#!drvMM3000debug=4
|
|
#!MM4000Config(0, "a-Serial[0]")
|
|
#!drvMM4000debug=4
|
|
|
|
# The MM4000 driver does not set end of string (EOS).
|
|
# for RS232 serial,
|
|
#!asynOctetSetInputEos( "a-Serial[0]",0,"\r")
|
|
#!asynOctetSetOutputEos("a-Serial[0]",0,"\r")
|
|
# for GPIB,
|
|
#!asynInterposeEosConfig("L0", 10, 1, 1)
|
|
#!asynOctetSetInputEos( "L0",10,"\r")
|
|
#!asynOctetSetOutputEos("L0",10,"\r")
|
|
|
|
# Newport PM500 driver setup parameters:
|
|
# (1) maximum number of controllers in system
|
|
# (2) motor task polling rate (min=1Hz,max=60Hz)
|
|
#!PM500Setup(1, 10)
|
|
|
|
# Newport PM500 configuration parameters:
|
|
# (1) controller# being configured
|
|
# (2) ASYN port name
|
|
# (3) address (GPIB only)
|
|
#!PM500Config(0, "a-Serial[0]")
|
|
#!drvPM500debug=4
|
|
|
|
# IMS IM483 driver setup parameters:
|
|
# (1) maximum number of controllers in system
|
|
# (2) motor task polling rate (min=1Hz,max=60Hz)
|
|
# SM - single mode PL - party mode
|
|
#!IM483SMSetup(1, 10)
|
|
#!IM483PLSetup(1, 10)
|
|
|
|
# IMS IM483 configuration parameters:
|
|
# (1) controller# (chain#) being configured,
|
|
# (2) ASYN port name
|
|
# SM - single mode PL - party mode
|
|
#!IM483SMConfig(0, "a-Serial[0]")
|
|
#!drvIM483SMdebug=4
|
|
#!IM483PLConfig(0, "a-Serial[0]")
|
|
#!drvIM483PLdebug=4
|
|
|
|
# MCB-4B driver setup parameters:
|
|
# (1) maximum # of controllers,
|
|
# (2) motor task polling rate (min=1Hz, max=60Hz)
|
|
#!MCB4BSetup(1, 10)
|
|
|
|
# MCB-4B driver configuration parameters:
|
|
# (1) controller
|
|
# (2) ASYN port name
|
|
#!MCB4BConfig(0, "a-Serial[0]")
|
|
#!asynOctetSetInputEos("a-Serial[0]",0,"\r")
|
|
#!asynOctetSetOutputEos("a-Serial[0]",0,"\r")
|
|
#!drvMCB4BDebug=4
|
|
|
|
# Newport ESP300 driver setup parameters:
|
|
# (1) maximum number of controllers in system
|
|
# (2) motor task polling rate (min=1Hz,max=60Hz)
|
|
#!ESP300Setup(1, 10)
|
|
|
|
# Newport ESP300 driver configuration parameters:
|
|
# (1) controller# being configured
|
|
# (2) ASYN port name
|
|
# (3) address (GPIB only)
|
|
#!ESP300Config(0, "a-Serial[0]")
|
|
#!drvESP300debug = 4
|
|
|
|
# MicroMo MVP2001 driver setup parameters:
|
|
#
|
|
# NOTE: The 1st controller on each chain should have it's address = 1.
|
|
# The rest of the controllers on a chain should follow sequentially.
|
|
#
|
|
#
|
|
# int MVP2001Setup(int num_cards, /* number of CHAINS of controllers */
|
|
# int scan_rate) /* polling rate (Min=1Hz, max=60Hz) */
|
|
#!MVP2001Setup(1, 10)
|
|
|
|
# int MVP2001Config(int card, /* CHAIN being configured */
|
|
# (2) ASYN port name
|
|
#!MVP2001Config(0, "a-Serial[0]")
|
|
#!drvMVP2001debug=4
|
|
|
|
# PI C-844 driver setup parameters:
|
|
# (1) maximum number of controllers in system
|
|
# (2) motor task polling rate (min=1Hz,max=60Hz)
|
|
#!PIC844Setup(1, 10)
|
|
|
|
# PI C-844 driver configuration parameters:
|
|
# (1) controller# being configured
|
|
# (2) ASYN port name
|
|
# (3) address (GPIB only)
|
|
#!PIC844Config(0, "a-Serial[0]")
|
|
#!drvPIC844debug = 4
|
|
|
|
# PI C-848 driver setup parameters:
|
|
# (1) maximum number of controllers in system
|
|
# (2) motor task polling rate (min=1Hz,max=60Hz)
|
|
#!PIC848Setup(1, 2)
|
|
|
|
# PI C-848 driver configuration parameters:
|
|
# (1) controller# being configured,
|
|
# (2) ASYN port name
|
|
#!PIC848Config(0, "a-Serial[0]")
|
|
#!drvPIC848debug = 4
|
|
|
|
# PI E-662 Piezo driver setup parameters:
|
|
# (1) maximum number of controllers in system
|
|
# (2) motor task polling rate (min=1Hz, max=60Hz)
|
|
#!PIC662Setup(1, 60)
|
|
|
|
# PI E-662 Piezo driver configuration parameters:
|
|
# (1) controller being configured
|
|
# (2) asyn port name (string)
|
|
#!PIC662Config(0, "serial1")
|
|
#!drvPIC662debug = 4
|
|
|
|
# PI C-862 DC-motor driver setup parameters:
|
|
# (1) maximum number of controllers in system
|
|
# (2) motor task polling rate (min=1Hz, max=60Hz)
|
|
#!PIC862Setup(1, 60)
|
|
|
|
# PI C-862 DC-motor driver configuration parameters:
|
|
# (1) controller being configured
|
|
# (2) asyn port name (string)
|
|
#!PIC862Config(0, "serial1")
|
|
#!drvPIC862debug = 4
|
|
|
|
# New Focus Picomotor Network Controller (model 8750/2) (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)
|
|
#!PMNC87xxSetup(1, 2, 10)
|
|
|
|
# New Focuc Picomotor Network Controller (model 8750/2) configuration parameters:
|
|
# (1) controller# being configured,
|
|
# (2) asyn port name (string)
|
|
#!PMNC87xxConfig(0, "serial2")
|
|
#!drvPMNC87xxdebug=4
|
|
|
|
|
|
# Micos MoCo driver setup parameters:
|
|
# Load MicosSetup once.
|
|
# (1) max # of controller groups. Controller groups are per serial
|
|
# port.
|
|
# (2) max # axes per controller group. Maximum 16. (addr 0-15)
|
|
# (3) motor task polling rate (min=1Hz, max=60Hz, 10Hz works well)
|
|
# Example:
|
|
# MicosSetup(1, 2, 10) 1 group. 2 axes (controllers) in the group.
|
|
# 10Hz poll.
|
|
#!MicosSetup(1, 2, 10)
|
|
|
|
# Micos MoCo driver configuration parameters:
|
|
# Load one MicosConfig for each group of Micos drivers.
|
|
# (1) "Controller group" number
|
|
# (2) ASYN port name
|
|
#!MicosConfig(0, "a-Serial[0]")
|
|
#!drvMicosDebug = 4
|
|
|
|
# IMS MDrive driver setup parameters:
|
|
# (1) maximum number of controllers in system
|
|
# (2) motor task polling rate (min=1Hz,max=60Hz)
|
|
#!MDriveSetup(1, 10)
|
|
|
|
# IMS MDrive driver configuration parameters:
|
|
# (1) controller# being configured
|
|
#!MDriveConfig(0, "a-Serial[0]")
|
|
#!drvMDrivedebug = 4
|
|
|
|
# Newport XPSC8 driver setup parameters:
|
|
# (1) maximum number of controllers in system
|
|
# (2) motor task polling rate (min=1Hz,max=60Hz)
|
|
#!XPSC8Setup(2, 60)
|
|
|
|
# Newport XPSC8 driver configuration parameters:
|
|
# (1) controller# being configured
|
|
# (2) ASYN port name
|
|
# (3) ASYN port #
|
|
# (4) number of axes
|
|
#!XPSC8Config(0, "tcp1", 0, 6)
|
|
#!XPSC8Config(1, "tcp2", 0, 8)
|
|
|
|
# Newport XPSC8 group and positioner name configuration:
|
|
# (1) controller# being configured
|
|
# (2) axis# being configured.
|
|
# (3) groupnumber
|
|
# (4) groupsize
|
|
# (5) # of axes in group
|
|
# (6) group name
|
|
# (7) positioner name
|
|
#!XPSC8NameConfig(0,0,0,6,0,"GROUP1","GROUP1.PHI")
|
|
#!XPSC8NameConfig(0,1,0,6,1,"GROUP1","GROUP1.KAPPA")
|
|
#!XPSC8NameConfig(0,2,0,6,2,"GROUP1","GROUP1.OMEGA")
|
|
#!XPSC8NameConfig(0,3,0,6,3,"GROUP1","GROUP1.PSI")
|
|
#!XPSC8NameConfig(0,4,0,6,4,"GROUP1","GROUP1.2THETA")
|
|
#!XPSC8NameConfig(0,5,0,6,5,"GROUP1","GROUP1.NU")
|
|
|
|
#!XPSC8NameConfig(1,0,0,1,0,"GROUP1","GROUP1.Y1_BASE")
|
|
#!XPSC8NameConfig(1,1,1,1,0,"GROUP2","GROUP2.Y2_BASE")
|
|
#!XPSC8NameConfig(1,2,2,1,0,"GROUP3","GROUP3.Y3_BASE")
|
|
#!XPSC8NameConfig(1,3,3,1,0,"GROUP4","GROUP4.TRX_BASE")
|
|
#!XPSC8NameConfig(1,4,4,1,0,"GROUP5","GROUP5.THETA-Y_BASE")
|
|
#!XPSC8NameConfig(1,5,5,1,0,"GROUP6","GROUP6.X_SAMPLE")
|
|
#!XPSC8NameConfig(1,6,6,1,0,"GROUP7","GROUP7.Y_SAMPLE")
|
|
#!XPSC8NameConfig(1,7,7,1,0,"GROUP8","GROUP8.Z_SAMPLE")
|
|
|
|
# The XPSC8 driver does not set the ASYN end of string (EOS).
|
|
#!asynOctetSetInputEos("tcp1",0,"")
|
|
#!asynOctetSetOutputEos("tcp1",0,"")
|
|
#!asynOctetSetInputEos("tcp2",0,"")
|
|
#!asynOctetSetOutputEos("tcp2",0,"")
|
|
|
|
|
|
# OMS PC68/78 stand-alone serial driver setup parameters:
|
|
# (1) maximum number of controllers in system
|
|
# (2) motor task polling rate (min=1Hz,max=60Hz)
|
|
#!OmsPC68Setup(1, 10)
|
|
|
|
# OMS PC68/78 stand-alone serial driver configuration parameters:
|
|
# (1) Card# being configured
|
|
# (2) asyn port name
|
|
#!OmsPC68Config(0, "L0")
|
|
#!drvOmsPC68debug=4
|
|
|
|
# Kohzu SC-800 motor controller setup parameters:
|
|
# (1) maximum number of controllers in system
|
|
# (2) motor task polling rate (min=1Hz,max=60Hz)
|
|
#!SC800Setup(1, 5)
|
|
|
|
# Kohzu SC-800 motor controller configuration parameters:
|
|
# (1) controller# being configured
|
|
# (2) ASYN port name
|
|
# (3) address (GPIB only)
|
|
#!SC800Config(0, "L0", 0)
|
|
#!drvSC800debug=4
|
|
|
|
# Faulhaber MCDC2805 driver setup parameters:
|
|
# (1)Max. controller count
|
|
# (2)Polling rate
|
|
#!MCDC2805Setup(1, 10)
|
|
|
|
# Faulhaber MCDC2805 driver configuration parameters:
|
|
# (1)Card being configured
|
|
# (2)# modules on this serial port
|
|
# (3)asyn port name
|
|
#!MCDC2805Config(0, 1, "L0")
|
|
#!drvMCDC2805debug=4
|
|
|
|
# The MCDC2805 driver does not set end of string (EOS).
|
|
#!asynOctetSetInputEos("L0",0,"\r")
|
|
#!asynOctetSetOutputEos("L0",0,"\r")
|
|
|
|
|
|
# attocube ANC 150 asyn motor driver setup parameter.
|
|
#!ANC150AsynSetup(1) /* number of ANC150 controllers in system. */
|
|
|
|
# attocube ANC 150 asyn motor driver configure parameters.
|
|
# (1) Controller number being configured
|
|
# (2) ASYN port name
|
|
# (3) Number of axes this controller supports
|
|
# (4) Time to poll (msec) when an axis is in motion
|
|
# (5) Time to poll (msec) when an axis is idle. 0 for no polling
|
|
#!ANC150AsynConfig(0, "a-Serial[1]", 3, 250, 2000)
|
|
|
|
|
|
# Aerotech Ensemble digital servo controller Setup
|
|
# (1) maximum number of controllers in system
|
|
# (2) motor task polling rate (min=1Hz,max=60Hz)
|
|
#!EnsembleSetup(1, 10)
|
|
|
|
# Aerotech Ensemble digital servo controller Configure
|
|
# (1) controller# being configured,
|
|
# (2) asyn port name (string)
|
|
#!EnsembleConfig(0, "a-Serial[0]")
|
|
|
|
|
|
# Newport MM4000/5/6 asyn motor driver setup parameter.
|
|
#!MM4000AsynSetup(1) /* number of MM4000 controllers in system. */
|
|
|
|
# Newport MM4000/5/6 asyn motor driver configure parameters.
|
|
# (1) Controller number being configured
|
|
# (2) ASYN port name
|
|
# (3) ASYN address (GPIB only)
|
|
# (4) Number of axes this controller supports
|
|
# (5) Time to poll (msec) when an axis is in motion
|
|
# (6) Time to poll (msec) when an axis is idle. 0 for no polling
|
|
#!MM4000AsynConfig(0, "a-Serial[1]", 0, 1, 100, 250)
|
|
|
|
# Asyn-based Motor Record support
|
|
# (1) Asyn port
|
|
# (2) Driver name
|
|
# (3) Controller index
|
|
# (4) Max. number of axes
|
|
#!drvAsynMotorConfigure("ANC150","motorANC150",0,1)
|
|
|
|
iocInit
|
|
|
|
# motorUtil (allstop & alldone)
|
|
motorUtilInit("IOC:")
|
|
|