diff --git a/OPCUA/OPCUA-IOC-01App/Db/GEM_Relay_Assignment.template b/OPCUA/OPCUA-IOC-01App/Db/GEM_Relay_Assignment.template new file mode 100644 index 000000000..d6991f963 --- /dev/null +++ b/OPCUA/OPCUA-IOC-01App/Db/GEM_Relay_Assignment.template @@ -0,0 +1,17 @@ +record(mbbi, "$(P)$(R):$(PV_NAME)") { + field(DTYP, "OPCUA") + field(INP, "@$(SUBS) ns=$(NS);s=$(NAME_PREFIX)$(NAME_SUFFIX)") + field(SCAN, "I/O Intr") + field(ZRVL, "0") + field(ZRST, "None") + field(ONVL, "1") + field(ONST, "A1") + field(TWVL, "2") + field(TWST, "A2") + field(THVL, "3") + field(THST, "B1") + field(FRVL, "4") + field(FRST, "B2") + field(TSE, "-2") + field(TPRO, "$(DEBUG=0)") +} diff --git a/OPCUA/OPCUA-IOC-01App/Db/GEM_Sensor_Status.template b/OPCUA/OPCUA-IOC-01App/Db/GEM_Sensor_Status.template new file mode 100644 index 000000000..d3af0bfa6 --- /dev/null +++ b/OPCUA/OPCUA-IOC-01App/Db/GEM_Sensor_Status.template @@ -0,0 +1,19 @@ +record(mbbi, "$(P)$(R):$(PV_NAME)") { + field(DTYP, "OPCUA") + field(INP, "@$(SUBS) ns=$(NS);s=$(NAME_PREFIX)$(NAME_SUFFIX)") + field(SCAN, "I/O Intr") + field(ZRVL, "0") + field(ZRST, "Data OK") + field(ONVL, "1") + field(ONST, "Under range") + field(TWVL, "2") + field(TWST, "Over range") + field(THVL, "3") + field(THST, "Error") + field(FRVL, "4") + field(FRST, "Off") + field(FVVL, "5") + field(FVST, "No hardware") + field(TSE, "-2") + field(TPRO, "$(DEBUG=0)") +} diff --git a/OPCUA/OPCUA-IOC-01App/Db/GEM_Vacuum_Pressure_Value.template b/OPCUA/OPCUA-IOC-01App/Db/GEM_Vacuum_Pressure_Value.template new file mode 100644 index 000000000..da3540d30 --- /dev/null +++ b/OPCUA/OPCUA-IOC-01App/Db/GEM_Vacuum_Pressure_Value.template @@ -0,0 +1,8 @@ +record($(RECORD_TYPE), "$(P)$(R):$(PV_NAME)") { + field(DTYP, "OPCUA") + field(INP, "@$(SUBS) ns=$(NS);s=$(NAME_PREFIX)$(NAME_SUFFIX)") + field(PREC, "7") + field(SCAN, "I/O Intr") + field(TSE, "-2") + field(TPRO, "$(DEBUG=0)") +} diff --git a/OPCUA/OPCUA-IOC-01App/Db/GEM_vacuum.substitutions b/OPCUA/OPCUA-IOC-01App/Db/GEM_vacuum.substitutions new file mode 100644 index 000000000..650e96557 --- /dev/null +++ b/OPCUA/OPCUA-IOC-01App/Db/GEM_vacuum.substitutions @@ -0,0 +1,50 @@ +global{NS="\$(NS)",P="\$(P)",SUBS="\$(SUBS)",DEBUG="\$(DEBUG=0)"} +file "$(TOP)/OPCUA-IOC-01App/Db/MAPS_vacuum.template" { + pattern{ RECORD_TYPE, PV_NAME, NAME_PREFIX, NAME_SUFFIX} + { "stringin", "UNIT", "\$(NAME_PREFIX)", ".ENG_UNIT" } + { "bi", "COMMS_ERROR", "\$(NAME_PREFIX)", ".COMM_ERROR" } + + { "stringin", "NAME_A1", "\$(NAME_PREFIX)", ".TPG_A1.NAME" } + { "stringin", "THRESHOLD_LOW_A1", "\$(NAME_PREFIX)", ".RL1.MIN_ON_SP" } + { "stringin", "THRESHOLD_HI_A1", "\$(NAME_PREFIX)", ".RL1.MAX_OFF_SP" } + { "bi", "SWITCH_FUNC_STATUS_A1", "\$(NAME_PREFIX)", ".RL1.OUTPUT" } + + { "stringin", "NAME_A2", "\$(NAME_PREFIX)", ".TPG_A2.NAME" } + { "stringin", "THRESHOLD_LOW_A2", "\$(NAME_PREFIX)", ".RL2.MIN_ON_SP" } + { "stringin", "THRESHOLD_HI_A2", "\$(NAME_PREFIX)", ".RL2.MAX_OFF_SP" } + { "bi", "SWITCH_FUNC_STATUS_A2", "\$(NAME_PREFIX)", ".RL2.OUTPUT" } + + { "stringin", "NAME_B1", "\$(NAME_PREFIX)", ".TPG_B1.NAME" } + { "stringin", "THRESHOLD_LOW_B1", "\$(NAME_PREFIX)", ".RL3.MIN_ON_SP" } + { "stringin", "THRESHOLD_HI_B1", "\$(NAME_PREFIX)", ".RL3.MAX_OFF_SP" } + { "bi", "SWITCH_FUNC_STATUS_B1", "\$(NAME_PREFIX)", ".RL3.OUTPUT" } + + { "stringin", "NAME_B2", "\$(NAME_PREFIX)", ".TPG_B2.NAME" } + { "stringin", "THRESHOLD_LOW_B2", "\$(NAME_PREFIX)", ".RL4.MIN_ON_SP" } + { "stringin", "THRESHOLD_HI_B2", "\$(NAME_PREFIX)", ".RL4.MAX_OFF_SP" } + { "bi", "SWITCH_FUNC_STATUS_B2", "\$(NAME_PREFIX)", ".RL4.OUTPUT" } +} + +file "$(TOP)/OPCUA-IOC-01App/Db/GEM_Relay_Assignment.template" { + pattern{ RECORD_TYPE, PV_NAME, NAME_PREFIX, NAME_SUFFIX} + { "mbbi", "SWITCH_FUNC_ASSIGN_A1", "\$(NAME_PREFIX)", ".RL1.ASSIGNED_CIRCUIT" } + { "mbbi", "SWITCH_FUNC_ASSIGN_A2", "\$(NAME_PREFIX)", ".RL2.ASSIGNED_CIRCUIT" } + { "mbbi", "SWITCH_FUNC_ASSIGN_B1", "\$(NAME_PREFIX)", ".RL3.ASSIGNED_CIRCUIT" } + { "mbbi", "SWITCH_FUNC_ASSIGN_B2", "\$(NAME_PREFIX)", ".RL4.ASSIGNED_CIRCUIT" } +} + +file "$(TOP)/OPCUA-IOC-01App/Db/GEM_Sensor_Status.template" { + pattern{ RECORD_TYPE, PV_NAME, NAME_PREFIX, NAME_SUFFIX} + { "mbbi", "MEASURED_VALUE_A1", "\$(NAME_PREFIX)", ".TPG_A1.PRESSURE_STATUS" } + { "mbbi", "MEASURED_VALUE_A2", "\$(NAME_PREFIX)", ".TPG_A2.PRESSURE_STATUS" } + { "mbbi", "MEASURED_VALUE_B1", "\$(NAME_PREFIX)", ".TPG_B1.PRESSURE_STATUS" } + { "mbbi", "MEASURED_VALUE_B2", "\$(NAME_PREFIX)", ".TPG_B2.PRESSURE_STATUS" } +} + +file "$(TOP)/OPCUA-IOC-01App/Db/GEM_Vacuum_Pressure_Value.template" { + pattern{ RECORD_TYPE, PV_NAME, NAME_PREFIX, NAME_SUFFIX} + { "ai", "PRESSURE_A1", "\$(NAME_PREFIX)", ".TPG_A1.PRESSURE_VALUE" } + { "ai", "PRESSURE_A2", "\$(NAME_PREFIX)", ".TPG_A2.PRESSURE_VALUE" } + { "ai", "PRESSURE_B1", "\$(NAME_PREFIX)", ".TPG_B1.PRESSURE_VALUE" } + { "ai", "PRESSURE_B2", "\$(NAME_PREFIX)", ".TPG_B2.PRESSURE_VALUE" } +} diff --git a/OPCUA/OPCUA-IOC-01App/Db/GEM_vacuum_header.db b/OPCUA/OPCUA-IOC-01App/Db/GEM_vacuum_header.db new file mode 100644 index 000000000..e81230308 --- /dev/null +++ b/OPCUA/OPCUA-IOC-01App/Db/GEM_vacuum_header.db @@ -0,0 +1,97 @@ +# PLC records: + +record(bo, "$(P)IS300") { + field(VAL, "1") + field(PINI, "YES") +} + +record(mbbi, "$(P)PLC:HIGH_VACUUM_VALVE") { + field(DTYP, "OPCUA") + field(INP, "@$(SUBS) ns=$(NS);s=Opc_GV2_STATUS") + field(SCAN, "I/O Intr") + field(ZRVL, "0") + field(ZRST, "Comm Lost") + field(ONVL, "1") + field(ONST, "Closed") + field(TWVL, "2") + field(TWST, "Opened") + field(THVL, "3") + field(THST, "Swiping") + field(FRVL, "4") + field(FRST, "Position Error") + field(TSE, "-2") + field(TPRO, "$(DEBUG=0)") +} + +record(mbbi, "$(P)$(R1):ERROR") { + field(DTYP, "OPCUA") + field(INP, "@$(SUBS) ns=$(NS);s=OPC_TPG1_DATA.ALARM_ACTIVE") + field(ZRVL, "0") + field(ZRST, "No Error") + field(ONVL, "1") + field(ONST, "Some Error") + field(TSE, "-2") + field(TPRO, "$(DEBUG=0)") +} + +record(mbbi, "$(P)$(R2):ERROR") { + field(DTYP, "OPCUA") + field(INP, "@$(SUBS) ns=$(NS);s=OPC_TPG2_DATA.ALARM_ACTIVE") + field(ZRVL, "0") + field(ZRST, "No Error") + field(ONVL, "1") + field(ONST, "Some Error") + field(TSE, "-2") + field(TPRO, "$(DEBUG=0)") +} + +record(mbbi, "$(P)$(R1):UNIT:SP") { + field(DTYP, "OPCUA") + field(INP, "@$(SUBS) ns=$(NS);s=OPC_TPG1_DATA.ENG_UNIT") + field(ZRVL, "0") + field(ZRST, "mbar") + field(ONVL, "1") + field(ONST, "Torr") + field(TWVL, "2") + field(TWST, "Pa") + field(TSE, "-2") + field(TPRO, "$(DEBUG=0)") +} + +record(mbbi, "$(P)$(R2):UNIT:SP") { + field(DTYP, "OPCUA") + field(INP, "@$(SUBS) ns=$(NS);s=OPC_TPG2_DATA.ENG_UNIT") + field(ZRVL, "0") + field(ZRST, "mbar") + field(ONVL, "1") + field(ONST, "Torr") + field(TWVL, "2") + field(TWST, "Pa") + field(TSE, "-2") + field(TPRO, "$(DEBUG=0)") +} + +record(mbbi, "$(P)Opc_Tank_Window_Cycles") { + field(DTYP, "OPCUA") + field(INP, "@$(SUBS) ns=$(NS);s=Opc_TANK_WINDOW_CYCLES") + field(SCAN, "I/O Intr") + field(TSE, "-2") + field(TPRO, "$(DEBUG=0)") +} + +record(stringin, "$(P)Opc_Sample_Tank_Pressure") { + field(DTYP, "OPCUA") + field(INP, "@$(SUBS) ns=$(NS);s=Opc_ST_PRESSURE_STRING") + field(SCAN, "I/O Intr") + field(TSE, "-2") + field(TPRO, "$(DEBUG=0)") +} + +record(stringin, "$(P)Opc_Collimation_Tube_Pressure") { + field(DTYP, "OPCUA") + field(INP, "@$(SUBS) ns=$(NS);s=Opc_CT_PRESSURE_STRING") + field(SCAN, "I/O Intr") + field(TSE, "-2") + field(TPRO, "$(DEBUG=0)") +} + \ No newline at end of file diff --git a/OPCUA/OPCUA-IOC-01App/Db/Makefile b/OPCUA/OPCUA-IOC-01App/Db/Makefile index 85c8316e1..1756cdbaa 100644 --- a/OPCUA/OPCUA-IOC-01App/Db/Makefile +++ b/OPCUA/OPCUA-IOC-01App/Db/Makefile @@ -20,6 +20,8 @@ DB += Merlin_other_controllers.db DB += SSMUON_Header.db DB += SSMUON.db +DB += GEM_vacuum_header.db +DB += GEM_vacuum.db #---------------------------------------------------- # If .db template is not named *.template add # _template =