Files
sinqSPS/scripts/shutter.cmd

38 lines
1.5 KiB
Batchfile

require sinqS7plcFW
# s7plcFWConfigure(
# # Alias,
# # IP,
# # fetchPort,fetchOrg,fetchDb,fetchOffsetInDb,fetchSizeOfDb,
# # writePort,writeOrg,writeDb,writeOffsetInDb,writeSizeOfDb,
# # 0 == big endian, 1 == little endian,
# # receive timeout,
# # receive delay,
# # out IO Interrupt Delay (if 0 then only reacts on a change)
# )
epicsEnvSet("SPS_REGISTER_NAME", "SPS-SHUTTER")
epicsEnvSet("SPS_FETCH_SIZE", "154")
# Seems that 1 doesn't work
epicsEnvSet("SPS_WRITE_SIZE", "2")
$(SET_SIM_MODE=#) $(SET_SIM_MODE) require misc
$(SET_SIM_MODE=#) $(SET_SIM_MODE) epicsEnvSet("SPS_IP", "127.0.0.1")
$(SET_SIM_MODE=#) $(SET_SIM_MODE) system "$(sinqSPS_DIR)shutter_sim.py $(FETCH_PORT=2000) $(WRITE_PORT=2001) &"
# starting the python socket seems to take a while
# and need misc to use built in sleep command
$(SET_SIM_MODE=#) $(SET_SIM_MODE) sleep 3
s7plcFWConfigure("$(SPS_REGISTER_NAME)", "$(SPS_IP)", "$(FETCH_PORT=2000),1,$(FETCH_DB),0,$(SPS_FETCH_SIZE)", "$(WRITE_PORT=2001),1,$(WRITE_DB=$(FETCH_DB)),0,$(SPS_WRITE_SIZE)", "$(SPS_ENDIANNESS=1)", "$(SPS_RECEIVE_TIMEOUT=1000)", "$(SPS_RECEIVE_DELAY=200)", "0")
# Provides Connection Status PVs
dbLoadRecords("$(sinqSPS_DB)/sps_status.db", "INSTR=$(INSTR), SPS_REGISTER_NAME=$(SPS_REGISTER_NAME)")
# Shutter PVs
dbLoadTemplate("$(sinqSPS_DB)/shutter.substitutions", "INSTR=$(INSTR), SPS_REGISTER_NAME=$(SPS_REGISTER_NAME)")
# Additional Mapping PVs
dbLoadRecords("$(sinqSPS_DB)/shutter.db", "INSTR=$(INSTR), SPS_REGISTER_NAME=$(SPS_REGISTER_NAME)")