Files
motorBase/motorApp/PC6KSrc
jsullivan-anl ad1e2f3181 Major rewite to be compatable with factor default
command response mode (ERRLVL 4). The original driver
was designed to response mode (ERRLVL 1) which was
the mode required for MX.
2006-08-31 15:42:31 +00:00
..

                     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")