Add example IOC
This commit is contained in:
9
iocHuber/db/asynRecord.db
Normal file
9
iocHuber/db/asynRecord.db
Normal file
@@ -0,0 +1,9 @@
|
||||
record(asyn,"$(P)$(R)")
|
||||
{
|
||||
field(DTYP,"asynRecordDevice")
|
||||
field(PORT,"$(PORT)")
|
||||
field(ADDR,"$(ADDR)")
|
||||
field(OMAX,"$(OMAX)")
|
||||
field(IMAX,"$(IMAX)")
|
||||
}
|
||||
|
||||
22
iocHuber/db/asyn_motor.db
Normal file
22
iocHuber/db/asyn_motor.db
Normal file
@@ -0,0 +1,22 @@
|
||||
record(motor,"$(P)$(M)")
|
||||
{
|
||||
field(DESC,"$(DESC)")
|
||||
field(DTYP,"$(DTYP)")
|
||||
field(DIR,"$(DIR)")
|
||||
field(VELO,"$(VELO)")
|
||||
field(VBAS,"$(VBAS)")
|
||||
field(ACCL,"$(ACCL)")
|
||||
field(BDST,"$(BDST)")
|
||||
field(BVEL,"$(BVEL)")
|
||||
field(BACC,"$(BACC)")
|
||||
field(OUT,"@asyn($(PORT),$(ADDR))")
|
||||
field(MRES,"$(MRES)")
|
||||
field(PREC,"$(PREC)")
|
||||
field(EGU,"$(EGU)")
|
||||
field(DHLM,"$(DHLM)")
|
||||
field(DLLM,"$(DLLM)")
|
||||
field(INIT,"$(INIT)")
|
||||
field(TWV,"1")
|
||||
field(RTRY,"0")
|
||||
}
|
||||
|
||||
22
iocHuber/db/basic_asyn_motor.db
Normal file
22
iocHuber/db/basic_asyn_motor.db
Normal file
@@ -0,0 +1,22 @@
|
||||
record(motor,"$(P)$(M)")
|
||||
{
|
||||
field(DESC,"$(DESC)")
|
||||
field(DTYP,"$(DTYP)")
|
||||
field(DIR,"$(DIR)")
|
||||
field(VELO,"$(VELO)")
|
||||
field(VBAS,"$(VBAS)")
|
||||
field(ACCL,"$(ACCL)")
|
||||
field(BDST,"$(BDST)")
|
||||
field(BVEL,"$(BVEL)")
|
||||
field(BACC,"$(BACC)")
|
||||
field(OUT,"@asyn($(PORT),$(ADDR))")
|
||||
field(MRES,"$(MRES)")
|
||||
field(PREC,"$(PREC)")
|
||||
field(EGU,"$(EGU)")
|
||||
field(DHLM,"$(DHLM)")
|
||||
field(DLLM,"$(DLLM)")
|
||||
field(INIT,"$(INIT)")
|
||||
field(TWV,"1")
|
||||
field(RTRY,"0")
|
||||
}
|
||||
|
||||
21
iocHuber/db/basic_motor.db
Normal file
21
iocHuber/db/basic_motor.db
Normal file
@@ -0,0 +1,21 @@
|
||||
grecord(motor,"$(P)$(M)")
|
||||
{
|
||||
field(DESC,"$(DESC)")
|
||||
field(DTYP,"$(DTYP)")
|
||||
field(DIR,"$(DIR)")
|
||||
field(VELO,"$(VELO)")
|
||||
field(VBAS,"$(VBAS)")
|
||||
field(ACCL,"$(ACCL)")
|
||||
field(BDST,"$(BDST)")
|
||||
field(BVEL,"$(BVEL)")
|
||||
field(BACC,"$(BACC)")
|
||||
field(OUT,"#C$(C) S$(S) @")
|
||||
field(MRES,"$(MRES)")
|
||||
field(PREC,"$(PREC)")
|
||||
field(EGU,"$(EGU)")
|
||||
field(DHLM,"$(DHLM)")
|
||||
field(DLLM,"$(DLLM)")
|
||||
field(INIT,"$(INIT)")
|
||||
field(TWV,"1")
|
||||
}
|
||||
|
||||
9
iocHuber/db/motorMessage.db
Normal file
9
iocHuber/db/motorMessage.db
Normal file
@@ -0,0 +1,9 @@
|
||||
|
||||
# The message text
|
||||
record(waveform, "$(P)$(M)-MsgTxt") {
|
||||
field(DTYP, "asynOctetRead")
|
||||
field(INP, "@asyn($(PORT),$(N),1) MOTOR_MESSAGE_TEXT")
|
||||
field(FTVL, "CHAR")
|
||||
field(NELM, "80")
|
||||
field(SCAN, "I/O Intr")
|
||||
}
|
||||
20
iocHuber/motor.substitutions.smc9300
Normal file
20
iocHuber/motor.substitutions.smc9300
Normal file
@@ -0,0 +1,20 @@
|
||||
file "$(MOTOR)/db/asyn_motor.db"
|
||||
{
|
||||
pattern
|
||||
{P, N, M, DTYP, PORT, ADDR, DESC, EGU, DIR, VELO, VBAS, ACCL, BDST, BVEL, BACC, MRES, PREC, DHLM, DLLM, INIT}
|
||||
{Huber:mcu:, 1, "m$(N)", "asynMotor", SMC1, 1, "Z-table", deg, Pos, 200, 10, 20, 0, 1, .2, 0.0001, 4, 10, -10, ""}
|
||||
{Huber:mcu:, 2, "m$(N)", "asynMotor", SMC1, 2, "Y-table", deg, Pos, 200, 10, 80, 0, 1, .2, 0.0001, 4, 10, -10, ""}
|
||||
{Huber:mcu:, 3, "m$(N)", "asynMotor", SMC1, 3, "X-table", deg, Pos, 200, 10, 80, 0, 1, .2, 0.0001, 4, 10,-10, ""}
|
||||
{Huber:mcu:, 4, "m$(N)", "asynMotor", SMC1, 4, "410-Rot", mm, Pos, 200, 10, 80, 0, 1, .2, 0.0001, 4, 180, -180, ""}
|
||||
}
|
||||
|
||||
|
||||
file "$(TOP)/db/motorMessage.db"
|
||||
{
|
||||
pattern
|
||||
{P,N, M,PORT}
|
||||
{Huber:mcu:, 1, "m$(N)", SMC1}
|
||||
{Huber:mcu:, 2, "m$(N)", SMC1}
|
||||
{Huber:mcu:, 3, "m$(N)", SMC1}
|
||||
{Huber:mcu:, 4, "m$(N)", SMC1}
|
||||
}
|
||||
23
iocHuber/st.cmd
Executable file
23
iocHuber/st.cmd
Executable file
@@ -0,0 +1,23 @@
|
||||
#!/ioc/tools/iocsh
|
||||
|
||||
require motorHuber,brambilla_m
|
||||
|
||||
epicsEnvSet("TOP","/afs/psi.ch/user/b/brambilla_m/work/motorHuber")
|
||||
|
||||
epicsEnvSet("EPICS_CA_ADDR_LIST","hipa-cagw:5062 129.129.195.154")
|
||||
|
||||
epicsEnvSet("STREAM_PROTOCOL_PATH","./db")
|
||||
epicsEnvSet("MOTOR","/afs/psi.ch/user/b/brambilla_m/work/motorHuber")
|
||||
|
||||
# Configure IP Port
|
||||
drvAsynIPPortConfigure("Huber1", "129.129.195.152:1234",0,0,0)
|
||||
|
||||
# Configure Controller
|
||||
asynOctetSetInputEos( "Huber1", -1, "\r")
|
||||
asynOctetSetOutputEos("Huber1", -1, "\r")
|
||||
|
||||
SMC9300CreateController("SMC1", "Huber1", 5, 50, 2000)
|
||||
|
||||
dbLoadTemplate "motor.substitutions.smc9300"
|
||||
|
||||
dbLoadRecords("$(TOP)/db/asynRecord.db","P=Huber:,R=mcu,PORT=Huber1,ADDR=0,OMAX=80,IMAX=80")
|
||||
Reference in New Issue
Block a user