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