forked from epics_driver_modules/motorBase
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")