forked from epics_driver_modules/motorBase
ad1e2f3181
command response mode (ERRLVL 4). The original driver was designed to response mode (ERRLVL 1) which was the mode required for MX.
227 lines
4.6 KiB
Plaintext
Executable File
227 lines
4.6 KiB
Plaintext
Executable File
|
|
Parker 6K8 Motor Controller Series
|
|
==============================================================================
|
|
|
|
Ethernet Configuration
|
|
----------------------------------
|
|
|
|
Default Ethernet Address: 192.168.10.30
|
|
|
|
|
|
Ascii Command Port: 5002
|
|
|
|
|
|
Note: This controller's ethernet port only accepts one server at a
|
|
time. If the RS232 is in use then the ethernet port is closed.
|
|
|
|
Controller Configuration
|
|
------------------------------------------
|
|
Disable Echo
|
|
ECHO0
|
|
Enable continuous command mode
|
|
COMEXEC1
|
|
|
|
Communication Settings
|
|
EOL13,10,0
|
|
EOT13,0,0
|
|
ERRLVL4
|
|
ERRDEF13,10,45,32
|
|
ERROK13,10,62,32
|
|
ERRBAD13,10,63,32
|
|
|
|
---------------- Network Commands -------------------
|
|
NTADDRxx,xx,xx,xx = network IP
|
|
NTMASKxxx,xxx,xxx,xxx = network mask
|
|
NTFEN2 = network enable
|
|
|
|
Workstations cannot link to 6K Controllers without
|
|
an explicit arp table entry using the 'arp' command.
|
|
|
|
arp -s <6K IP addr> <6K MAC addr> <Workstation IP addr>
|
|
|
|
* Use the 6K 'TNT' command to see the ip and MAC address
|
|
|
|
|
|
Commands
|
|
------------------------------------------
|
|
|
|
REVISION
|
|
--------
|
|
TREV
|
|
*TREV92-016740-01-6.4.0 GEM6K GT6K-L8
|
|
(60 characters)
|
|
|
|
CONTINUOUS COMMAND MODE
|
|
------------------------
|
|
COMEXC1 = set on, required for status updates during motion.
|
|
****(No Reply)***
|
|
|
|
LIMIT SWITCH ENABE
|
|
-----------------------
|
|
LH3 - enable hardware LS
|
|
LH0 - disable hardware LS
|
|
|
|
ENABLE DRIVE
|
|
-------------
|
|
DRIVE1 - enable drive (must be renable after a dreset)
|
|
*****(No Reply when Set)*********
|
|
|
|
DRIVE <cr>
|
|
*DRIVE<state> 0 or 1
|
|
|
|
MOTION MODE
|
|
-------------
|
|
MA<0/1> - Set incremental or absolute mode
|
|
0 = incremental
|
|
1 = absolute
|
|
|
|
MC1 - Coninutous Mode (Jog)
|
|
|
|
MOTION PARAMETERS
|
|
------------------
|
|
A<accel> - set acceleration units/sec^2
|
|
|
|
A<cr>
|
|
*A#### - prints acceleration
|
|
|
|
V<vel> - velocity
|
|
|
|
D<distance> - set distance
|
|
|
|
GO - start motion
|
|
|
|
|
|
ie: motion
|
|
|
|
MA1: A20: V25: D25000: GO
|
|
|
|
Setting absolute postion
|
|
<#>PSET<nnnnn>
|
|
|
|
|
|
Velociy Feedback:
|
|
|
|
<#>TVEL - commanded velocity
|
|
<#>TVELA - actual
|
|
|
|
Position Feedback:
|
|
|
|
<#>TPC - commanded position
|
|
<resp> *1TPC+0
|
|
<#>TPE - encoder position
|
|
<resp> *1TPE+0
|
|
|
|
SCALING:
|
|
SCALE0/1 - disable/enable
|
|
SCLA - acceleration
|
|
SCLV - velocity
|
|
SCLD - distance
|
|
|
|
DRES - Drive Resolution (steps/rev) **** Stepper Only *****
|
|
ERES - Encoder Resolution (steps/rev)
|
|
DRESET - drive reset - enables new scaling factors
|
|
|
|
STATUS:
|
|
<#>TAS
|
|
*<#>TAS0000_0000_0000_0000_0000_0000_0000_0000 (32 bits)
|
|
^ bit 1 ^bit 32
|
|
|
|
*** Returns - *0 or *1
|
|
TAS.1 - in motion (commanded - will be off during settling time)
|
|
TAS.2 - direction is negative
|
|
TAS.5 - home successfull
|
|
TAS.13 - drive shutdown
|
|
TAS.14 - drive fault
|
|
TAS.15 - Plus Hardware Travel Limit
|
|
TAS.16 - Minus Hardware Travel Limit
|
|
TAS.17 - Plus Software TL (LSPOS)
|
|
TAS.18 - Minus Software TL (LSNEG)
|
|
TAS.24 - In Target Zone
|
|
ie.
|
|
1TAS
|
|
*1TAS0000_0000_0000_0000_0000_0000_000_00000
|
|
|
|
-------------------- Jog Method --------------
|
|
MC1 - Use continuous motion mode for jogging
|
|
|
|
|
|
---------------- Program Handling ------------
|
|
|
|
TDIR - list downloaded programs
|
|
|
|
DEL <filename> - delete program
|
|
|
|
DEF <filname) - create program
|
|
<line1>
|
|
<line2>
|
|
.
|
|
.
|
|
END - end of program creation
|
|
|
|
TPROG - transfer program contents
|
|
|
|
|
|
|
|
|
|
|
|
============== Build Info ======================
|
|
|
|
xxxApp/src
|
|
Makefile
|
|
--------
|
|
xxx_Common_LIBS += Parker
|
|
|
|
xxCommonInclude.dbd
|
|
-------------------
|
|
include "devPC6K.dbd"
|
|
|
|
|
|
============= IOC Boot info ======================
|
|
|
|
iocBoot/iocLinux
|
|
serial.cmd
|
|
----------
|
|
|
|
# serial 1 is a RS232 link to a Parker Gemini 6K Controller
|
|
drvAsynSerialPortConfigure("serial1", "/dev/ttyUSB0", 0, 0, 0)
|
|
asynOctetSetInputEos("serial1",0,">")
|
|
asynOctetSetOutputEos("serial1",0,"\r")
|
|
asynOctetConnect("serial1", "serial1")
|
|
|
|
# serial 3 is ETHERNET link to the Parker Gemini 6K Controller
|
|
drvAsynIPPortConfigure("serial3", "192.168.10.29:5002", 0, 0, 0)
|
|
asynOctetConnect("serial3", "serial3")
|
|
asynOctetSetInputEos("serial3",0,">")
|
|
asynOctetSetOutputEos("serial3",0,"\r")
|
|
|
|
.
|
|
|
|
# Parker/Compumotor - Gemini 6K driver setup parameters:
|
|
# (1) maximum number of controllers in system
|
|
# (2) motor task polling rate (min=1Hz, max=60Hz)
|
|
PC6KSetup(2, 60)
|
|
|
|
# Parker/Compumotor - Gemini 6K driver configuration parameters:
|
|
# (1) controller being configured
|
|
# (2) asyn port name (string)
|
|
PC6KConfig(0, "serial1")
|
|
PC6KConfig(1, "serial3")
|
|
|
|
|
|
motor.substitutions
|
|
-------------------
|
|
Set the DTYPE column to "PC6K"
|
|
|
|
|
|
============== IOC Runtime Info (Post iocInit) ========================
|
|
|
|
# PC5KUpLoad(Controller #, <source file name>, <dest. file name (OPTIONAL)>)
|
|
|
|
### Send setup files to 6K8
|
|
PC6KUpLoad(0,"6k_setup","setup")
|
|
### Set startup file to setup
|
|
PC6KUpLoad(0,"startp")
|
|
|
|
|
|
|