Files
motorDSM/iocs/dsmIOC/iocBoot/iocDsm/st.cmd.md90.multi

179 lines
6.7 KiB
Plaintext

#errlogInit(5000)
< envPaths
# Tell EPICS all about the record types, device-support modules, drivers, etc.
dbLoadDatabase("../../dbd/dsm.dbd")
dsm_registerRecordDeviceDriver(pdbbase)
# Unfortunately, iocsh doesn't support looping...
# Local serial port
drvAsynSerialPortConfigure("serial0", "/dev/ttyUSB0", 0, 0, 0)
drvAsynSerialPortConfigure("serial1", "/dev/ttyUSB1", 0, 0, 0)
drvAsynSerialPortConfigure("serial2", "/dev/ttyUSB2", 0, 0, 0)
drvAsynSerialPortConfigure("serial3", "/dev/ttyUSB3", 0, 0, 0)
drvAsynSerialPortConfigure("serial4", "/dev/ttyUSB4", 0, 0, 0)
drvAsynSerialPortConfigure("serial5", "/dev/ttyUSB5", 0, 0, 0)
drvAsynSerialPortConfigure("serial6", "/dev/ttyUSB6", 0, 0, 0)
drvAsynSerialPortConfigure("serial7", "/dev/ttyUSB7", 0, 0, 0)
asynSetOption("serial0", 0, "baud", "115200")
asynSetOption("serial1", 0, "baud", "115200")
asynSetOption("serial2", 0, "baud", "115200")
asynSetOption("serial3", 0, "baud", "115200")
asynSetOption("serial4", 0, "baud", "115200")
asynSetOption("serial5", 0, "baud", "115200")
asynSetOption("serial6", 0, "baud", "115200")
asynSetOption("serial7", 0, "baud", "115200")
asynSetOption("serial0", 0, "bits", "8")
asynSetOption("serial1", 0, "bits", "8")
asynSetOption("serial2", 0, "bits", "8")
asynSetOption("serial3", 0, "bits", "8")
asynSetOption("serial4", 0, "bits", "8")
asynSetOption("serial5", 0, "bits", "8")
asynSetOption("serial6", 0, "bits", "8")
asynSetOption("serial7", 0, "bits", "8")
asynSetOption("serial0", 0, "parity", "none")
asynSetOption("serial1", 0, "parity", "none")
asynSetOption("serial2", 0, "parity", "none")
asynSetOption("serial3", 0, "parity", "none")
asynSetOption("serial4", 0, "parity", "none")
asynSetOption("serial5", 0, "parity", "none")
asynSetOption("serial6", 0, "parity", "none")
asynSetOption("serial7", 0, "parity", "none")
asynSetOption("serial0", 0, "stop", "1")
asynSetOption("serial1", 0, "stop", "1")
asynSetOption("serial2", 0, "stop", "1")
asynSetOption("serial3", 0, "stop", "1")
asynSetOption("serial4", 0, "stop", "1")
asynSetOption("serial5", 0, "stop", "1")
asynSetOption("serial6", 0, "stop", "1")
asynSetOption("serial7", 0, "stop", "1")
asynOctetSetInputEos("serial0", 0, "\r")
asynOctetSetInputEos("serial1", 0, "\r")
asynOctetSetInputEos("serial2", 0, "\r")
asynOctetSetInputEos("serial3", 0, "\r")
asynOctetSetInputEos("serial4", 0, "\r")
asynOctetSetInputEos("serial5", 0, "\r")
asynOctetSetInputEos("serial6", 0, "\r")
asynOctetSetInputEos("serial7", 0, "\r")
asynOctetSetOutputEos("serial0", 0, "\r")
asynOctetSetOutputEos("serial1", 0, "\r")
asynOctetSetOutputEos("serial2", 0, "\r")
asynOctetSetOutputEos("serial3", 0, "\r")
asynOctetSetOutputEos("serial4", 0, "\r")
asynOctetSetOutputEos("serial5", 0, "\r")
asynOctetSetOutputEos("serial6", 0, "\r")
asynOctetSetOutputEos("serial7", 0, "\r")
asynSetTraceIOMask("serial0", 0, 2)
asynSetTraceIOMask("serial1", 0, 2)
asynSetTraceIOMask("serial2", 0, 2)
asynSetTraceIOMask("serial3", 0, 2)
asynSetTraceIOMask("serial4", 0, 2)
asynSetTraceIOMask("serial5", 0, 2)
asynSetTraceIOMask("serial6", 0, 2)
asynSetTraceIOMask("serial7", 0, 2)
# Turn on the power supply and set the deadband
asynOctetConnect("initConnection", "serial0", 0)
asynOctetWrite("initConnection", "EPS")
asynOctetWrite("initConnection", "SDB 10")
asynOctetDisconnect('initConnection')
# Turn on the power supply and set the deadband
asynOctetConnect("initConnection", "serial1", 0)
asynOctetWrite("initConnection", "EPS")
asynOctetWrite("initConnection", "SDB 10")
asynOctetDisconnect('initConnection')
# Turn on the power supply and set the deadband
asynOctetConnect("initConnection", "serial2", 0)
asynOctetWrite("initConnection", "EPS")
asynOctetWrite("initConnection", "SDB 10")
asynOctetDisconnect('initConnection')
# Turn on the power supply and set the deadband
asynOctetConnect("initConnection", "serial3", 0)
asynOctetWrite("initConnection", "EPS")
asynOctetWrite("initConnection", "SDB 10")
asynOctetDisconnect('initConnection')
# Turn on the power supply and set the deadband
asynOctetConnect("initConnection", "serial4", 0)
asynOctetWrite("initConnection", "EPS")
asynOctetWrite("initConnection", "SDB 10")
asynOctetDisconnect('initConnection')
# Turn on the power supply and set the deadband
asynOctetConnect("initConnection", "serial5", 0)
asynOctetWrite("initConnection", "EPS")
asynOctetWrite("initConnection", "SDB 10")
asynOctetDisconnect('initConnection')
# Turn on the power supply and set the deadband
asynOctetConnect("initConnection", "serial6", 0)
asynOctetWrite("initConnection", "EPS")
asynOctetWrite("initConnection", "SDB 10")
asynOctetDisconnect('initConnection')
# Turn on the power supply and set the deadband
asynOctetConnect("initConnection", "serial7", 0)
asynOctetWrite("initConnection", "EPS")
asynOctetWrite("initConnection", "SDB 10")
asynOctetDisconnect('initConnection')
MD90CreateController("MD900", "serial0", 1, 100, 5000)
MD90CreateController("MD901", "serial1", 1, 100, 5000)
MD90CreateController("MD902", "serial2", 1, 100, 5000)
MD90CreateController("MD903", "serial3", 1, 100, 5000)
MD90CreateController("MD904", "serial4", 1, 100, 5000)
MD90CreateController("MD905", "serial5", 1, 100, 5000)
MD90CreateController("MD906", "serial6", 1, 100, 5000)
MD90CreateController("MD907", "serial7", 1, 100, 5000)
### Motors
dbLoadTemplate "motor.substitutions.md90.multi"
dbLoadRecords("$(ASYN)/db/asynRecord.db", "P=DSM:,R=serial0,PORT=serial0,ADDR=0,OMAX=80,IMAX=80")
dbLoadRecords("$(ASYN)/db/asynRecord.db", "P=DSM:,R=serial1,PORT=serial1,ADDR=0,OMAX=80,IMAX=80")
dbLoadRecords("$(ASYN)/db/asynRecord.db", "P=DSM:,R=serial2,PORT=serial2,ADDR=0,OMAX=80,IMAX=80")
dbLoadRecords("$(ASYN)/db/asynRecord.db", "P=DSM:,R=serial3,PORT=serial3,ADDR=0,OMAX=80,IMAX=80")
dbLoadRecords("$(ASYN)/db/asynRecord.db", "P=DSM:,R=serial4,PORT=serial4,ADDR=0,OMAX=80,IMAX=80")
dbLoadRecords("$(ASYN)/db/asynRecord.db", "P=DSM:,R=serial5,PORT=serial5,ADDR=0,OMAX=80,IMAX=80")
dbLoadRecords("$(ASYN)/db/asynRecord.db", "P=DSM:,R=serial6,PORT=serial6,ADDR=0,OMAX=80,IMAX=80")
dbLoadRecords("$(ASYN)/db/asynRecord.db", "P=DSM:,R=serial7,PORT=serial7,ADDR=0,OMAX=80,IMAX=80")
iocInit
# This IOC does not use save/restore, so set values of some PVs
dbpf("DSM:m0.RTRY", "0")
dbpf("DSM:m0.TWV", "0.1")
dbpf("DSM:m0.VMAX", "0.625")
dbpf("DSM:m1.RTRY", "0")
dbpf("DSM:m1.TWV", "0.1")
dbpf("DSM:m1.VMAX", "0.625")
dbpf("DSM:m2.RTRY", "0")
dbpf("DSM:m2.TWV", "0.1")
dbpf("DSM:m2.VMAX", "0.625")
dbpf("DSM:m3.RTRY", "0")
dbpf("DSM:m3.TWV", "0.1")
dbpf("DSM:m3.VMAX", "0.625")
dbpf("DSM:m4.RTRY", "0")
dbpf("DSM:m4.TWV", "0.1")
dbpf("DSM:m4.VMAX", "0.625")
dbpf("DSM:m5.RTRY", "0")
dbpf("DSM:m5.TWV", "0.1")
dbpf("DSM:m5.VMAX", "0.625")
dbpf("DSM:m6.RTRY", "0")
dbpf("DSM:m6.TWV", "0.1")
dbpf("DSM:m6.VMAX", "0.625")
dbpf("DSM:m7.RTRY", "0")
dbpf("DSM:m7.TWV", "0.1")
dbpf("DSM:m7.VMAX", "0.625")