setup ioc stuff
This commit is contained in:
26
ESB_MX.subs
Normal file
26
ESB_MX.subs
Normal file
@@ -0,0 +1,26 @@
|
||||
################################################################################
|
||||
#P, M - Define motor record name
|
||||
#PORT - Name of the ppmac controller port created by powerPmacCreateController
|
||||
#ADDR - Axis index - second parameter of powerPmacCreateAxis and powerPmacCreateVirtualAxis
|
||||
#
|
||||
#The rest are standard motor record fields
|
||||
################################################################################
|
||||
|
||||
#!motor(mot=1,current=600,JogSpeed=102.4*5/25.6/10,servoSf=25.6*10,invDir=True)
|
||||
# 102.4*7/ 71.67/20 um/ms =0.500 mm/s -> use 0.40 mm/s
|
||||
|
||||
#Speed: 102.4*5/25.6/10 um/ms =2 mm/s
|
||||
#Position Units are in um
|
||||
|
||||
#ms to achive speed VELO -> same as Motor[1].JogTa (if positive). Motor[1].JogTa will be set to a caculated negative number
|
||||
# JAR = EGU/s^2 -> JAR = VELO/ACCL (Jog acceleration)
|
||||
|
||||
#global {M1="TX", M2="TZ", M3="RX", M4="RZ"}
|
||||
|
||||
|
||||
file PPMACMotor.template {
|
||||
pattern {DESC ,P ,M ,PORT ,ADDR ,DIR,VMAX,VELO,JVEL,HVEL,ACCL,JAR,MRES ,PREC,EGU ,DHLM,DLLM}
|
||||
{ "Rotation Y" ,"$(P_M)","MOTOR_ROT_Y1","$(PORT_M)","$(M1)",0 ,2 ,2 ,2 ,1 ,0.1 ,20 ,-0.001,3 ,"deg",0 ,0}
|
||||
{ "Translation X","$(P_M)","MOTOR_X1" ,"$(PORT_M)","$(M2)",0 ,2 ,2 ,2 ,1 ,0.1 ,20 ,-0.001,3 ,"mm",0 ,0}
|
||||
{ "Translation Y","$(P_M)","MOTOR_Y1" ,"$(PORT_M)","$(M3)",0 ,2 ,2 ,2 ,1 ,0.1 ,20 ,-0.001,3 ,"mm",0 ,0}
|
||||
}
|
||||
9
Makefile
Normal file
9
Makefile
Normal file
@@ -0,0 +1,9 @@
|
||||
include /ioc/tools/driver.makefile
|
||||
MODULE = $(notdir $(shell pwd))
|
||||
BUILDCLASSES = Linux
|
||||
ARCH_FILTER = eldk42% SL6-x86_64
|
||||
EXCLUDE_VERSIONS = 3.14.8
|
||||
SCRIPTS+=$(wildcard add_device*.cmd cfg/*.cfg cfg/*.py cfg/*.pbi qt/*.ui qt/*.jpg)
|
||||
#SOURCES+=src/DHVSaSub.cpp
|
||||
#DBDS+=src/DHVSaSub.dbd
|
||||
USR_CXXFLAGS+= -fno-operator-names
|
||||
27
PPMACMotor.template
Normal file
27
PPMACMotor.template
Normal file
@@ -0,0 +1,27 @@
|
||||
record(motor,"$(P):$(M)")
|
||||
{
|
||||
field(DESC,"$(DESC)")
|
||||
field(DTYP,"asynMotor")
|
||||
field(OUT,"@asyn($(PORT),$(ADDR))")
|
||||
field(DIR,"$(DIR)")
|
||||
field(VMAX,"$(VMAX)")
|
||||
field(VELO,"$(VELO)")
|
||||
field(JVEL,"$(JVEL)")
|
||||
field(HVEL,"$(HVEL)")
|
||||
field(ACCL,"$(ACCL)")
|
||||
field(JAR, "$(JAR)")
|
||||
field(MRES,"$(MRES)")
|
||||
field(PREC,"$(PREC)")
|
||||
field(EGU,"$(EGU)")
|
||||
field(DHLM,"$(DHLM)")
|
||||
field(DLLM,"$(DLLM)")
|
||||
}
|
||||
|
||||
record(asyn,"$(P):ASYN")
|
||||
{
|
||||
field(DTYP,"asynRecordDevice")
|
||||
field(PORT,"$(PORT)")
|
||||
field(ADDR,"0")
|
||||
field(OMAX,"100")
|
||||
field(IMAX,"100")
|
||||
}
|
||||
23
add_device.cmd
Normal file
23
add_device.cmd
Normal file
@@ -0,0 +1,23 @@
|
||||
### Required Parameters ###
|
||||
#PORT='PPMAC1'
|
||||
#P='SARFE10-OAPU...'
|
||||
#M1_ADDR=1
|
||||
#powerPmacCreateController(<port_name>, <moving_poll_pseriod [ms]>, <idle_poll_period [ms]>)
|
||||
#powerPmacCreateController("$(PORT)", 100, 100) <<< done in commom module
|
||||
###########################
|
||||
require gpasciiCommander
|
||||
! $(gpasciiCommander_DIR)/gpasciiCommander --path $(ESB_MX_DIR) $(ESB_MX_DIR)/mx-stage.cfg
|
||||
|
||||
#M1=$(M1_ADDR)
|
||||
M1=1
|
||||
M2=$(M1)+1
|
||||
M3=$(M1)+2
|
||||
#M4=$(M1)+3
|
||||
|
||||
powerPmacCreateAxis($(PORT), $(M1))
|
||||
powerPmacCreateAxis($(PORT), $(M2))
|
||||
powerPmacCreateAxis($(PORT), $(M3))
|
||||
#powerPmacCreateAxis($(PORT), $(M4))
|
||||
|
||||
# Load databse
|
||||
dbLoadTemplate("$(ESB_MX_TEMPLATES)/ESB_MX.subs", "PORT_M=$(PORT),P_M=$(P),M1=$(M1),M2=$(M2),M3=$(M3)")
|
||||
@@ -57,6 +57,10 @@ while(1)
|
||||
}
|
||||
}
|
||||
|
||||
Motor[2].PhasePos=560 // 555 581 593 558
|
||||
Motor[3].PhasePos=1540 //1549 1531 1543 1537
|
||||
|
||||
|
||||
Motor[2].MaxDac=L20
|
||||
Motor[2].FatalFeLimit=L21
|
||||
Motor[2].JogSpeed=L22
|
||||
|
||||
@@ -36,9 +36,9 @@
|
||||
//Mot 7: Test Stepper: Vextra PK244M 200 poles 1 rev = 100*2048 phase_step (2 stepper motor)
|
||||
//Enc 7: Test Stepper: ssi_enc multiturn 1 rev = 4096 enc_step
|
||||
|
||||
$$$***
|
||||
//$$$***
|
||||
//!common()
|
||||
!common(PhaseFreq=20000,PhasePerServo=4)
|
||||
//!common(PhaseFreq=20000,PhasePerServo=4)
|
||||
//!common(PhaseFreq=20000,PhasePerServo=1)
|
||||
//!common(PhaseFreq=40000)
|
||||
|
||||
|
||||
17
logbook.md
17
logbook.md
@@ -888,3 +888,20 @@ cd ~/Documents/prj/SwissFEL/epics_ioc_modules/ESB_MX/cfg/;gpasciiCommander --hos
|
||||
|
||||
enable plc 1
|
||||
|
||||
|
||||
|
||||
cd ~/Documents/prj/SwissFEL/epics_ioc_modules/ESB_MX/qt
|
||||
CAQTDM_DISPLAY_PATH=/sf/controls/config/qt
|
||||
EPICS_CA_ADDR_LIST='sf-cagw SAR-CPPM-EXPMX1'
|
||||
EPICS_CA_ADDR_LIST=SAR-CPPM-EXPMX1
|
||||
$ caget SAR-ESB_MX:MOTOR_X1
|
||||
|
||||
|
||||
dbl
|
||||
dbpf SAR-ESB_MX:MOTOR_Y1 10
|
||||
dbpf SAR-ESB_MX:MOTOR_X1 10
|
||||
|
||||
dbpf SAR-ESB_MX:ASYN.AOUT 'enable plc 1'
|
||||
|
||||
|
||||
dbpf
|
||||
Reference in New Issue
Block a user