From ecae668588f28ff5a90a03836ebb7f377e9d1d95 Mon Sep 17 00:00:00 2001 From: Bernardo Carvalho Date: Tue, 14 Dec 2021 14:19:56 +0000 Subject: [PATCH] Moved pfeffer sensors to cenrtal IOC --- .../ISTTOKrpiApp/Db/ISTTOKpfeiffer.db | 52 +++++++++---- .../ISTTOKrpi/ISTTOKrpiApp/Db/pfeiffer.proto | 28 ++++++- .../ISTTOKrpiApp/src/IsttokSeqExec.stt | 3 +- .../iocBoot/iocISTTOKrpi/iocISTTOKrpi.req | 2 + .../ISTTOKrpi/iocBoot/iocISTTOKrpi/pvList.txt | 77 +++++++++++-------- .../iocISTTOKrpi/save/iocISTTOKrpi.sav | 4 +- .../ISTTOKrpi/iocBoot/iocISTTOKrpi/st.cmd | 20 ++--- 7 files changed, 123 insertions(+), 63 deletions(-) diff --git a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKpfeiffer.db b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKpfeiffer.db index 577e88b..1abf55e 100644 --- a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKpfeiffer.db +++ b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKpfeiffer.db @@ -1,31 +1,44 @@ +# 8/5/2021 Only sensor 2 is working. Running with dspIC +# 20/9/2021 sensors 1,2,3 are working. Running with dspIC +# 20/9/2021 sensors 1,2,3 are working. Running with tty USB record (longin, "$(P)$(R)P001:M") { field (DESC, "getPressure001 $(bus)") field (DTYP, "stream") field (INP, "@pfeiffer.proto getPressure001($(P)$(R)P001:E) $(bus)") +# field (SCAN, "I/O Intr") field (SCAN, "1 second") - field (FLNK, "$(P)$(R)VVessel-Pressure") + field (FLNK, "$(P)$(R)TMPump1-PressureAdmission") } record (longin, "$(P)$(R)P001:E") { field (DESC, "Pressure001 exponent $(bus)") } -record (calc, "$(P)$(R)VVessel-Pressure") +record (calc, "$(P)$(R)TMPump1-PressureAdmission") { - field (DESC, "ISTTOK:central:VVessel-Pressure") + field(DESC, "ISTTOK:central:TMPump1-PressureAdmission") field(INPA, "$(P)$(R)P001:M") field(INPB, "$(P)$(R)P001:E") - field(CALC, "(A*0.001)*10.0**(B-20)") + field(CALC, "(A*0.001)* 10.0**(B-20)") field(PREC, "3") field(EGU, "mBar") + field(HIHI,"1.0e-2") + field(HIGH,"1.0e-3") +# field(LOW, "20.0") +# field(LOLO,"0.0") + field(HHSV,"MAJOR") + field(HSV, "MINOR") +# field(LSV, "MINOR") +# field(LLSV,"MAJOR") } - +# out "0020074002=?107"; record (longin, "$(P)$(R)P002:M") { field (DESC, "getPressure002 $(bus)") field (DTYP, "stream") field (INP, "@pfeiffer.proto getPressure002($(P)$(R)P002:E) $(bus)") - field (SCAN, "2 second") +# field (SCAN, "I/O Intr") + field (SCAN, "1 second") field (FLNK, "$(P)$(R)RPump1-Pressure") } record (longin, "$(P)$(R)P002:E") @@ -40,8 +53,8 @@ record (calc, "$(P)$(R)RPump1-Pressure") field(CALC, "(A*0.001)*10.0**(B-20)") field(PREC, "3") field(EGU, "mBar") -# field(HIHI,"1.0e-1") -# field(HIGH,"5.0e-3") + field(HIHI,"1.0e-1") + field(HIGH,"5.0e-2") # field(LOW, "20.0") # field(LOLO,"0.0") field(HHSV,"MAJOR") @@ -50,6 +63,7 @@ record (calc, "$(P)$(R)RPump1-Pressure") # field(LLSV,"MAJOR") } + # out "0030074002=?108"; record (longin, "$(P)$(R)P003:M") { field (DESC, "getPressure003 Mantissa $(bus)") @@ -57,30 +71,36 @@ record (longin, "$(P)$(R)P003:M") field (INP, "@pfeiffer.proto getPressure003($(P)$(R)P003:E) $(bus)") field (SCAN, "1 second") # field (SCAN, "I/O Intr") - field (FLNK, "$(P)$(R)TMPump1-PressureAdmission") + field (FLNK, "$(P)$(R)VVessel-Pressure") } record (longin, "$(P)$(R)P003:E") { field (DESC, "Pressure003 Exponent $(bus)") } -record (calc, "$(P)$(R)TMPump1-PressureAdmission") +record (calc, "$(P)$(R)VVessel-Pressure") { - field(DESC, "ISTTOK:central:TMPump1-PressureAdmission") + field (DESC, "ISTTOK:central:VVessel-Pressure") field(INPA, "$(P)$(R)P003:M") field(INPB, "$(P)$(R)P003:E") - field(CALC, "(A*0.001)* 10.0**(B-20)") + field(CALC, "(A*0.001)*10.0**(B-20)") field(PREC, "3") field(EGU, "mBar") + field(HIHI,"1.0e-1") + field(HIGH,"1.0e-2") + field(HHSV,"MAJOR") + field(HSV, "MINOR") } - + # out "0040074002=?109"; + # NOT connected 26/10/2021 record (longin, "$(P)$(R)P004:M") { field (DESC, "getPressure004 Mantissa $(bus)") field (DTYP, "stream") field (INP, "@pfeiffer.proto getPressure004($(P)$(R)P004:E) $(bus)") - field (SCAN, "1 second") +# field (SCAN, "1 second") +# field (SCAN, "I/O Intr") field (FLNK, "$(P)$(R)RPump2-Pressure") } record (longin, "$(P)$(R)P004:E") @@ -100,8 +120,8 @@ record (calc, "$(P)$(R)RPump2-Pressure") # field(HIGH,"5.0e-3") # field(LOW, "20.0") # field(LOLO,"0.0") - field(HHSV,"MAJOR") - field(HSV, "MINOR") +# field(HHSV,"MAJOR") +# field(HSV, "MINOR") # field(LSV, "MINOR") # field(LLSV,"MAJOR") } diff --git a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/pfeiffer.proto b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/pfeiffer.proto index 527ef03..71ea537 100644 --- a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/pfeiffer.proto +++ b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/pfeiffer.proto @@ -1,23 +1,43 @@ Terminator=CR; -MaxInput = 20; +# CR and LF are control characters, respectively coded 0x0D (13 decimal) and 0x0A (10 decimal) +# CR and LF are control characters, respectively coded 0x0D (13 decimal) and 0x0A (10 decimal) +MaxInput = 30; +ExtraInput = Ignore; + +# Values in millisecond +LockTimeout = 1000; +# Affects first out command in a protocol. +# If other records currently use the device, how many milliseconds to wait for +# exclusive access to the device before giving up? + +#ReadTimeout = 1500; + +ReplyTimeout = 400; + +#PollPeriod = $ReplyTimeout; +#Integer. Affects first in command in I/O Intr mode (see chapter Record Processing). +PollPeriod = 200; -# in millisecond -#ReadTimeout = 2000; -ReplyTimeout = 250; # Using redirection to read 2 records, mantissa and exponent +# TMPump1-PressureAdmission getPressure001 { out "0010074002=?106"; in "0011074006%4u%(\$1)2u%+"; } + +#RPump1-Pressure getPressure002 { out "0020074002=?107"; in "0021074006%4u%(\$1)2u%+"; } + +#VVessel-Pressure getPressure003 { out "0030074002=?108"; in "0031074006%4u%(\$1)2u%+"; } + getPressure004 { out "0040074002=?109"; in "0041074006%4u%(\$1)2u%+"; diff --git a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/IsttokSeqExec.stt b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/IsttokSeqExec.stt index a101e9c..921f625 100644 --- a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/IsttokSeqExec.stt +++ b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/IsttokSeqExec.stt @@ -178,7 +178,8 @@ monitor IsttokTMPump2_Emergency; */ float IsttokRPump1_Pressure; -assign IsttokRPump1_Pressure to "ISTTOK:vacuum:RPump1-Pressure"; +/*assign IsttokRPump1_Pressure to "ISTTOK:vacuum:RPump1-Pressure";*/ +assign IsttokRPump1_Pressure to "ISTTOK:central:RPump1-Pressure"; monitor IsttokRPump1_Pressure; /* diff --git a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/iocISTTOKrpi.req b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/iocISTTOKrpi.req index ad20912..3463283 100644 --- a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/iocISTTOKrpi.req +++ b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/iocISTTOKrpi.req @@ -12,6 +12,8 @@ ISTTOK:central:Shot-TorPSCurrent ISTTOK:central:UPS-Shutdown #ALARM Limits +ISTTOK:central:RPump1-Pressure.HIGH +ISTTOK:central:RPump1-Pressure.HIHI #ISTTOK:central:RPump2-Pressure.HIGH #ISTTOK:central:RPump2-Pressure.HIHI diff --git a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/pvList.txt b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/pvList.txt index a07ec49..5b503db 100644 --- a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/pvList.txt +++ b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/pvList.txt @@ -1,6 +1,11 @@ -ISTTOK:central:PCF8591:72:ADC_CH1 -ISTTOK:central:PCF8591:72:ADC_CH2 -ISTTOK:central:PCF8591:72:ADC_CH3 +ISTTOK:central:TMPump1-Power +ISTTOK:central:TMPump1-Emergency +ISTTOK:central:TMPump1-Acceleration +ISTTOK:central:TMPump1-NormalOperation +ISTTOK:central:TMPump2-Emergency +ISTTOK:central:TMPump2-Acceleration +ISTTOK:central:TTSystem-tzero +ISTTOK:central:Emergency-PhysButton ISTTOK:central:UPS-OnBattery ISTTOK:central:UPS-Shutdown ISTTOK:central:OPREQ @@ -36,6 +41,14 @@ ISTTOK:SR_heartbeat ISTTOK:SR_i_am_alive ISTTOK:SR_deadIfZero ISTTOK:SR_disable +ISTTOK:central:TMPump1-ControllerOnInv +ISTTOK:central:TMPump1-ControllerOffInv +ISTTOK:central:TMPump1-MotorOnInv +ISTTOK:central:TMPump1-MotorOffInv +ISTTOK:central:BuzzerInv +ISTTOK:central:Shot-TorPSTriggerInv +ISTTOK:central:PCF8574:56:REGISTER:READ:FNOUT +ISTTOK:central:PCF8574:57:REGISTER:READ:FNOUT ISTTOK:central:PULSE-NUMBER ISTTOK:central:PCF8591:72:DAC ISTTOK:central:TDA8444:32:DAC_CH0 @@ -55,8 +68,6 @@ ISTTOK:SR_5_State ISTTOK:SR_6_State ISTTOK:SR_7_State ISTTOK:SR_disableMaxSecs -ISTTOK:central:PCF8574:56:REGISTER:READ:FNOUT -ISTTOK:central:PCF8574:57:REGISTER:READ:FNOUT ISTTOK:central:OPCALCSTATE ISTTOK:central:STARTCALCSTATE ISTTOK:central:STOPPINGCALCSTATE @@ -68,12 +79,22 @@ ISTTOK:central:PCF8591:72:BYTE2_CH1 ISTTOK:central:PCF8591:72:BYTE2_CH2 ISTTOK:central:PCF8591:72:BYTE2_CH3 ISTTOK:central:Emergency -ISTTOK:central:TMPump1-ControllerOnInv -ISTTOK:central:TMPump1-ControllerOffInv -ISTTOK:central:TMPump1-MotorOnInv -ISTTOK:central:TMPump1-MotorOffInv -ISTTOK:central:BuzzerInv -ISTTOK:central:Shot-TorPSTriggerInv +ISTTOK:central:TMPump1-PressureAdmission +ISTTOK:central:RPump1-Pressure +ISTTOK:central:VVessel-Pressure +ISTTOK:central:RPump2-Pressure +ISTTOK:central:TMPump2-Speed +ISTTOK:central:TMPump2-Current +ISTTOK:central:Shot-TorPSCurrentImage +ISTTOK:central:OPSTATE +ISTTOK:central:STARTINGSTATE +ISTTOK:central:CLEANINGSTATE +ISTTOK:central:WSHOTINGSTATE +ISTTOK:central:STOPPINGSTATE +ISTTOK:central:PCF8574:56:REGISTER:READ +ISTTOK:central:PCF8574:57:REGISTER:READ +ISTTOK:central:PCF8574:60:REGISTER:READ +ISTTOK:central:PCF8574:61:REGISTER:READ ISTTOK:central:LASTOPSTATE ISTTOK:SR_rebootStatus ISTTOK:SR_status @@ -85,28 +106,26 @@ ISTTOK:SR_4_Status ISTTOK:SR_5_Status ISTTOK:SR_6_Status ISTTOK:SR_7_Status -ISTTOK:central:TMPump1-Power -ISTTOK:central:TMPump1-Emergency -ISTTOK:central:TMPump1-Acceleration -ISTTOK:central:TMPump1-NormalOperation -ISTTOK:central:TMPump2-Emergency -ISTTOK:central:TMPump2-Acceleration -ISTTOK:central:TTSystem-tzero -ISTTOK:central:Emergency-PhysButton ISTTOK:central:PCF8574:56:REGISTER ISTTOK:central:PCF8574:57:REGISTER ISTTOK:central:PCF8574:60:REGISTER ISTTOK:central:PCF8574:61:REGISTER ISTTOK:central:PCF8591:72:CTRLREGISTER -ISTTOK:central:PCF8574:56:REGISTER:READ -ISTTOK:central:PCF8574:57:REGISTER:READ -ISTTOK:central:PCF8574:60:REGISTER:READ -ISTTOK:central:PCF8574:61:REGISTER:READ -ISTTOK:central:TMPump2-Speed -ISTTOK:central:TMPump2-Current -ISTTOK:central:Shot-TorPSCurrentImage +ISTTOK:central:CurrentTime +ISTTOK:central:PCF8591:72:ADC_CH1 +ISTTOK:central:PCF8591:72:ADC_CH2 +ISTTOK:central:PCF8591:72:ADC_CH3 +ISTTOK:central:P001:M +ISTTOK:central:P001:E +ISTTOK:central:P002:M +ISTTOK:central:P002:E +ISTTOK:central:P003:M +ISTTOK:central:P003:E +ISTTOK:central:P004:M +ISTTOK:central:P004:E ISTTOK:central:TraceMessage ISTTOK:central:LogMessage +ISTTOK:central:RS485Debug ISTTOK:central:sendmail ISTTOK:SR_recentlyStr ISTTOK:SR_rebootStatusStr @@ -136,9 +155,3 @@ ISTTOK:SR_6_Time ISTTOK:SR_7_Name ISTTOK:SR_7_StatusStr ISTTOK:SR_7_Time -ISTTOK:central:OPSTATE -ISTTOK:central:STARTINGSTATE -ISTTOK:central:CLEANINGSTATE -ISTTOK:central:WSHOTINGSTATE -ISTTOK:central:STOPPINGSTATE -ISTTOK:central:CurrentTime diff --git a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/save/iocISTTOKrpi.sav b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/save/iocISTTOKrpi.sav index 06017a4..b4f1cc0 100644 --- a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/save/iocISTTOKrpi.sav +++ b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/save/iocISTTOKrpi.sav @@ -1,4 +1,4 @@ -# autosave R5.3 Automatically generated - DO NOT MODIFY - 211209-164041 +# autosave R5.3 Automatically generated - DO NOT MODIFY - 211214-141949 ISTTOK:central:PULSE-NUMBER.VAL 0 ISTTOK:central:LogMessage.VAL ISTTOK:central:LASTOPSTATE.VAL 5 @@ -9,4 +9,6 @@ ISTTOK:central:Emergency-UserButton.VAL 0 ISTTOK:central:TMPump1-ManualValve.VAL 1 ISTTOK:central:Shot-TorPSCurrent 32 ISTTOK:central:UPS-Shutdown 0 +ISTTOK:central:RPump1-Pressure.HIGH 0.05 +ISTTOK:central:RPump1-Pressure.HIHI 0.1 diff --git a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/st.cmd b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/st.cmd index 643fafd..5ff2d50 100755 --- a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/st.cmd +++ b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/st.cmd @@ -25,18 +25,18 @@ dbLoadRecords("db/ISTTOKtda8444.db","P=ISTTOK:,R=central:,BUS=I2C") dbLoadRecords("db/ISTTOKmachineControl.db","P=ISTTOK:,R=central:") ## Load Serial drivers -#drvAsynSerialPortConfigure("RS0","/dev/ttyUSB0") #drvAsynSerialPortConfigure("RS0","/dev/ttyAMA0") -#asynSetOption("RS0", 0, "baud", "9600") -#asynSetOption("RS0", 0, "bits", "8") -#asynSetOption("RS0", 0, "parity", "none") -#asynSetOption("RS0", 0, "stop", "1") -#asynSetOption("RS0", 0, "clocal", "Y") -#asynSetOption("RS0", 0, "crtscts", "N") +drvAsynSerialPortConfigure("RS0","/dev/ttyUSB0") +asynSetOption("RS0", 0, "baud", "9600") +asynSetOption("RS0", 0, "bits", "8") +asynSetOption("RS0", 0, "parity", "none") +asynSetOption("RS0", 0, "stop", "1") +asynSetOption("RS0", 0, "clocal", "Y") +asynSetOption("RS0", 0, "crtscts", "N") # Pfeiffer sensor are connectoed to other RPI /(192.168.1.120) -#dbLoadRecords("db/ISTTOKpfeiffer.db","P=ISTTOK:,R=central:,bus=RS0") +dbLoadRecords("db/ISTTOKpfeiffer.db","P=ISTTOK:,R=central:,bus=RS0") # connect to the MAIL server mail.ipfn.tecnico.ulisboa.pt # ,priority,noAutoConnect,noProcessEos @@ -45,8 +45,10 @@ drvAsynIPPortConfigure("L0","193.136.136.3:25",0,1,0) dbLoadRecords("db/sendmail.db", "P=ISTTOK:,PORT=L0,R=central:,L=0,A=0") # Uncomment to Debug STREAMDEVICE serial activity +# 2021/12/14 13:11:50.019969 RS0 ISTTOK:central:P002:M: No reply within 200 ms to "0020074002=?107<0d> #var streamError 1 -#var streamDebug 1 +#with this no errors on pfeiffer bus +var streamDebug 1 streamSetLogfile("logfile.txt") ## Run this to trace the stages of iocInit