Add 2nd moxa XGS600 and TPG256 default tip
authorHeinz Junkes <junkes@fhi-berlin.mpg.de>
Wed, 15 Jul 2020 08:12:22 +0200
changeset 2 320de4b4c9ee
parent 1 f6e1a4c75073
Add 2nd moxa XGS600 and TPG256
IOCINFRAApp/Db/Makefile
IOCINFRAApp/Db/XGS600_1.substitutions
IOCINFRAApp/Db/XGS600_2.substitutions
IOCINFRAApp/Db/maxigauge.proto
IOCINFRAApp/Db/maxigauge.sub
IOCINFRAApp/Db/maxigauge.template
iocBoot/iocIOCINFRA/st.cmd
--- a/IOCINFRAApp/Db/Makefile	Fri Jul 10 06:11:39 2020 +0200
+++ b/IOCINFRAApp/Db/Makefile	Wed Jul 15 08:12:22 2020 +0200
@@ -6,7 +6,8 @@
 # Install databases, templates & substitutions like this
 DB += XGS600_chan.db
 DB += XGS600.proto
-DB += XGS600.substitutions
+DB += XGS600_1.substitutions
+DB += XGS600_2.substitutions
 DB += XGS600_unit.db
 DB += TPG26x.db
 DB += TPG26x.proto
@@ -21,6 +22,9 @@
 DB += devKeithley6487.db
 DB += devKeithley6487.proto
 DB += asynRecord.db
+DB += maxigauge.proto
+DB += maxigauge.template
+DB += maxigauge.sub
 
 # If <anyname>.db template is not named <anyname>*.template add
 # <anyname>_TEMPLATE = <templatename>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/IOCINFRAApp/Db/XGS600_1.substitutions	Wed Jul 15 08:12:22 2020 +0200
@@ -0,0 +1,14 @@
+file "db/XGS600_unit.db" {
+  pattern
+  {  HWUNIT,               ADDR }
+  { "${LINK}", "00" }
+}
+
+file "db/XGS600_chan.db" {
+  pattern
+  { HWUNIT,                ADDR, CHAN, SYS,     DEV,  INST    }
+  { "${LINK}", "00", "I1", "trARPES:", "XGS600:", "PressureAC" }
+  { "${LINK}", "00", "I2", "trARPES:", "XGS600:", "PressureTC" }
+  { "${LINK}", "00", "I3", "trARPES:", "XGS600:", "PressureMETIS" }
+  { "${LINK}", "00", "I4", "trARPES:", "XGS600:", "PressureMBE" }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/IOCINFRAApp/Db/XGS600_2.substitutions	Wed Jul 15 08:12:22 2020 +0200
@@ -0,0 +1,14 @@
+file "db/XGS600_unit.db" {
+  pattern
+  {  HWUNIT,               ADDR }
+  { "${LINK}", "00" }
+}
+
+file "db/XGS600_chan.db" {
+  pattern
+  { HWUNIT,                ADDR, CHAN, SYS,     DEV,  INST    }
+  { "${LINK}", "00", "I1", "staticARPES:", "XGS600:", "PressurePREP" }
+  { "${LINK}", "00", "I2", "staticARPES:", "XGS600:", "PressureANA" }
+  { "${LINK}", "00", "I3", "staticARPES:", "XGS600:", "PressureCH3" }
+  { "${LINK}", "00", "I4", "staticARPES:", "XGS600:", "PressureCH4" }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/IOCINFRAApp/Db/maxigauge.proto	Wed Jul 15 08:12:22 2020 +0200
@@ -0,0 +1,6 @@
+getSensorValue {
+	out "PR\$1\r";
+	in ACK CR LF;
+	out ENQ;
+	in "%s" CR LF;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/IOCINFRAApp/Db/maxigauge.sub	Wed Jul 15 08:12:22 2020 +0200
@@ -0,0 +1,16 @@
+# macros
+# P -> Device
+# R -> PV
+# PORT -> Asyn Link
+# CHA -> Physical Port on the Pfeiffer Maxigauge
+
+file db/maxigauge.template
+{
+	pattern{ P, R, PORT, CHA, DESC }
+	{ "staticARPES:TPG256", "CH1", "MAXI_01", "1" , "tobedef" }
+	{ "staticARPES:TPG256", "CH2", "MAXI_01", "2" , "tobedef" }
+	{ "staticARPES:TPG256", "CH3", "MAXI_01", "3" , "tobedef" }
+	{ "staticARPES:TPG256", "CH4", "MAXI_01", "4" , "tobedef" }
+	{ "staticARPES:TPG256", "CH5", "MAXI_01", "5" , "tobedef" }
+	{ "staticARPES:TPG256", "CH6", "MAXI_01", "6" , "tobedef" }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/IOCINFRAApp/Db/maxigauge.template	Wed Jul 15 08:12:22 2020 +0200
@@ -0,0 +1,22 @@
+record(stringin, "$(P):$(R):getter"){
+	field(DESC, "$(DESC) raw answer")
+	field(DTYP, "stream")
+	field(INP, "@maxigauge.proto getSensorValue($(CHA)) $(PORT)")
+	field(SCAN, "1 second")
+	field(FLNK, "$(P):$(R):Status")
+}
+
+record(scalcout, "$(P):$(R):Status"){
+	field(DESC, "$(DESC)")
+	field(INAA, "$(P):$(R):getter")
+	field(CALC, "SSCANF(AA, \"%d%*\")")
+	field(FLNK, "$(P):$(R):Pressure")
+}
+
+record(scalcout, "$(P):$(R):Pressure"){
+	field(DESC, "$(DESC)")
+	field(INAA, "$(P):$(R):getter")
+        field(CALC, "SSCANF(AA, \"%*2c%E\")")
+	field(PREC, "12")
+        field(EGU, "mbar")
+}
--- a/iocBoot/iocIOCINFRA/st.cmd	Fri Jul 10 06:11:39 2020 +0200
+++ b/iocBoot/iocIOCINFRA/st.cmd	Wed Jul 15 08:12:22 2020 +0200
@@ -24,7 +24,8 @@
 epicsEnvSet ("LOG_DIR", "/epics/iocs/log")
 
 cd "${TOP}"
-epicsEnvSet "XGS-600" "_trarpes_vac_xgs600_1"
+epicsEnvSet "XGS-600_1" "_trarpes_vac_xgs600_1"
+epicsEnvSet "XGS-600_2" "_trarpes_vac_xgs600_2"
 
 ## Register all support components
 dbLoadDatabase "dbd/IOCINFRA.dbd"
@@ -34,8 +35,19 @@
 #dbLoadRecords("db/xxx.db","user=epics")
 
 # Configure asyn communication port, first
-drvAsynIPPortConfigure(${XGS-600}, "172.24.192.29:4001", 0, 0, 0 )
-dbLoadTemplate("db/XGS600.substitutions")
+drvAsynIPPortConfigure(${XGS-600_1}, "172.24.192.29:4001", 0, 0, 0 )
+dbLoadTemplate("db/XGS600_1.substitutions", "LINK=${XGS-600_1}")
+drvAsynIPPortConfigure(${XGS-600_2}, "172.24.192.32:4001", 0, 0, 0 )
+dbLoadTemplate("db/XGS600_2.substitutions", "LINK=${XGS-600_2}")
+
+# von 4kstm
+epicsEnvSet MAXI_INET 172.24.192.32:4002
+epicsEnvSet MAXI_LINK MAXI_01
+drvAsynIPPortConfigure(${MAXI_LINK}, ${MAXI_INET}, 0, 0, 0)
+dbLoadTemplate("db/maxigauge.sub")
+
+#drvAsynIPPortConfigure("MOXA_2_2", "172.24.192.32:4002", 0, 0, 0)
+#dbLoadRecords("db/TPG26x.db", "P=staticARPES:TPG256:CH, IFPRESSUR1=, IFPRESSUR2=, PORT=MOXA_2_2")
 
 drvAsynIPPortConfigure("MOXA_2", "172.24.192.29:4002", 0, 0, 0)
 #asynSetTraceIOMask("MOXA_2", -1, 0x2)