Imported files from METIS SVN
This commit is contained in:
95
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKpcf8574.db
Normal file
95
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKpcf8574.db
Normal file
@@ -0,0 +1,95 @@
|
||||
#######################################################
|
||||
# ### ### #
|
||||
# ### EPICS Database for ### #
|
||||
# ### I2C PCF8574 board ### #
|
||||
# ### ### #
|
||||
# ### author: B. Carvalho IPFN ### #
|
||||
# ### ### #
|
||||
# ### Ref 2.0; 2018-01-14 ### #
|
||||
# ### ### #
|
||||
# ### macros: ID I2C address of ADC ### #
|
||||
# ### Description: ### #
|
||||
# ### This is an example DB file using ### #
|
||||
# ### stream(asynI2C) and to read/write ### #
|
||||
# ### an PCF8574 ### #
|
||||
#######################################################
|
||||
|
||||
#####################################################
|
||||
# ### Read/Write pcf8574 address 0x38=56 register ### #
|
||||
###################################################
|
||||
record( mbboDirect, "$(P)$(R)PCF8574:56:REGISTER") {
|
||||
field( DTYP, "stream")
|
||||
field( OUT, "@pcf8574.proto wReg(56) I2C")
|
||||
field( SHFT, "0")
|
||||
field( NOBT, "8")
|
||||
field(VAL, 255)
|
||||
field(PINI,"YES")
|
||||
}
|
||||
|
||||
record( mbbiDirect, "$(P)$(R)PCF8574:56:REGISTER:READ" ) {
|
||||
field( DTYP, "stream")
|
||||
field( INP, "@pcf8574.proto rReg(56) I2C")
|
||||
field(NOBT, "8")
|
||||
field(SCAN, "1 second")
|
||||
field(PINI,"YES")
|
||||
}
|
||||
|
||||
#####################################################
|
||||
# ### Read/Write pcf8574 address 0x39=57 register ### #
|
||||
###################################################
|
||||
record( mbboDirect, "$(P)$(R)PCF8574:57:REGISTER") {
|
||||
field( DTYP, "stream")
|
||||
field( OUT, "@pcf8574.proto wReg(57) I2C")
|
||||
field( SHFT, "0")
|
||||
field( NOBT, "8")
|
||||
field(VAL, 255)
|
||||
field(PINI,"YES")
|
||||
}
|
||||
|
||||
record( mbbiDirect, "$(P)$(R)PCF8574:57:REGISTER:READ" ) {
|
||||
field( DTYP, "stream")
|
||||
field( INP, "@pcf8574.proto rReg(57) I2C")
|
||||
field(NOBT, "8")
|
||||
field(SCAN, "1 second")
|
||||
field(PINI,"YES")
|
||||
}
|
||||
|
||||
#####################################################
|
||||
# ### Read/Write pcf8574 address 0x3c=60 register ### #
|
||||
###################################################
|
||||
record( mbboDirect, "$(P)$(R)PCF8574:60:REGISTER") {
|
||||
field( DTYP, "stream")
|
||||
field( OUT, "@pcf8574.proto wReg(60) I2C")
|
||||
field( SHFT, "0")
|
||||
field( NOBT, "8")
|
||||
field(VAL, 255)
|
||||
field(PINI,"YES")
|
||||
}
|
||||
|
||||
record( mbbiDirect, "$(P)$(R)PCF8574:60:REGISTER:READ" ) {
|
||||
field( DTYP, "stream")
|
||||
field( INP, "@pcf8574.proto rReg(60) I2C")
|
||||
field(NOBT, "8")
|
||||
field(SCAN, "1 second")
|
||||
field(PINI,"YES")
|
||||
}
|
||||
|
||||
#####################################################
|
||||
# ### Read/Write pcf8574 address 0x3d=61 register ### #
|
||||
###################################################
|
||||
record( mbboDirect, "$(P)$(R)PCF8574:61:REGISTER") {
|
||||
field( DTYP, "stream")
|
||||
field( OUT, "@pcf8574.proto wReg(61) I2C")
|
||||
field( SHFT, "0")
|
||||
field( NOBT, "8")
|
||||
field(VAL, 255)
|
||||
field(PINI,"YES")
|
||||
}
|
||||
|
||||
record( mbbiDirect, "$(P)$(R)PCF8574:61:REGISTER:READ" ) {
|
||||
field( DTYP, "stream")
|
||||
field( INP, "@pcf8574.proto rReg(61) I2C")
|
||||
field(NOBT, "8")
|
||||
field(SCAN, "1 second")
|
||||
field(PINI,"YES")
|
||||
}
|
||||
49
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKrs485.db
Normal file
49
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKrs485.db
Normal file
@@ -0,0 +1,49 @@
|
||||
record (longin, "$(P)$(R)P003:M")
|
||||
{
|
||||
field (DESC, "getPressure003 Mantissa $(bus)")
|
||||
field (DTYP, "stream")
|
||||
field (INP, "@pfeiffer.proto getPressure003($(P)$(R)P003:E) $(bus)")
|
||||
field (SCAN, "I/O Intr")
|
||||
field (FLNK, "$(P)$(R)P003")
|
||||
}
|
||||
|
||||
record (longin, "$(P)$(R)P003:E")
|
||||
{
|
||||
field (DESC, "Pressure003 Exponent $(bus)")
|
||||
}
|
||||
record (calc, "$(P)$(R)P003")
|
||||
{
|
||||
field(INPA, "$(P)$(R)P003:M")
|
||||
field(INPB, "$(P)$(R)P003:E")
|
||||
field(CALC, "(A*0.001)* 10.0**(B-20)")
|
||||
field(PREC, "3")
|
||||
field(EGU, "mBar")
|
||||
}
|
||||
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, "I/O Intr")
|
||||
field (FLNK, "$(P)$(R)P002")
|
||||
}
|
||||
|
||||
record (longin, "$(P)$(R)P002:E")
|
||||
{
|
||||
field (DESC, "Pressure002 exponent $(bus)")
|
||||
}
|
||||
record (calc, "$(P)$(R)P002")
|
||||
{
|
||||
field(INPA, "$(P)$(R)P002:M")
|
||||
field(INPB, "$(P)$(R)P002:E")
|
||||
field(CALC, "(A*0.001)*10.0**(B-20)")
|
||||
field(PREC, "3")
|
||||
field(EGU, "mBar")
|
||||
}
|
||||
record(stringout,"$(P)$(R)Debug") {
|
||||
field(DESC, "")
|
||||
field(DTYP, "stream")
|
||||
field(OUT, "@pfeiffer.proto debug $(bus)")
|
||||
field(VAL,"")
|
||||
}
|
||||
|
||||
276
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKstates.db
Normal file
276
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKstates.db
Normal file
@@ -0,0 +1,276 @@
|
||||
#
|
||||
# Project : ISTTOK slow Control
|
||||
#
|
||||
# File : $Id: ISTTOKcontrol.db 4709 2013-05-03 13:44:29Z bernardo $
|
||||
# Description : Records for ISTTOK Control
|
||||
#
|
||||
##
|
||||
# Author : Bernardo Carvalho (IPFN-IST)
|
||||
#
|
||||
# Copyright (c) : (IPFN-IST)
|
||||
# Created 3-Mar-2013
|
||||
#
|
||||
# SVN keywords
|
||||
# $Date: 2013-05-03 14:44:29 +0100 (Fri, 03 May 2013) $
|
||||
# $Revision: 4709 $
|
||||
# $URL: http://metis.ipfn.ist.utl.pt/svn/cdaq/ISTTOK/Software/EPICS/ISTTOKcontrol/trunk/ISTTOKApp/Db/ISTTOKcontrol.db $
|
||||
##
|
||||
|
||||
record(mbbi, "$(P)$(R)OPSTATE") {
|
||||
field(DESC, "Multiple Pulse Sequence State")
|
||||
field(ZRVL, "0")
|
||||
field(ONVL, "1")
|
||||
field(TWVL, "2")
|
||||
field(THVL, "3")
|
||||
field(FRVL, "4")
|
||||
field(FVVL, "5")
|
||||
field(SXVL, "6")
|
||||
field(ZRST, "Stopped")
|
||||
field(ONST, "Starting")
|
||||
field(TWST, "Process")
|
||||
field(THST, "Clean")
|
||||
field(FRST, "WaitShot")
|
||||
field(FVST, "Stopping")
|
||||
field(SXST, "Emergency")
|
||||
field(VAL, "0")
|
||||
}
|
||||
|
||||
record(calc, "$(P)$(R)OPCALCSTATE") {
|
||||
field(DESC, "Pulse Calculated State")
|
||||
field(CALC,"2^A")
|
||||
field(SCAN,"1 second")
|
||||
field(INPA,"$(P)$(R)OPSTATE.VAL PP NMS")
|
||||
}
|
||||
|
||||
record(calc, "$(P)$(R)OPCALCSTARTSTATE") {
|
||||
field(DESC, "Start Calculated State")
|
||||
field(CALC,"2^A")
|
||||
field(SCAN,"1 second")
|
||||
field(INPA,"$(P)$(R)STARTINGSTATE.VAL PP NMS")
|
||||
}
|
||||
|
||||
record(calc, "$(P)$(R)OPCALCSTOPSTATE") {
|
||||
field(DESC, "Stop Calculated State")
|
||||
field(CALC,"2^A")
|
||||
field(SCAN,"1 second")
|
||||
field(INPA,"$(P)$(R)STOPPINGSTATE.VAL PP NMS")
|
||||
}
|
||||
|
||||
record(calc, "$(P)$(R)OPCALCACLEANSTATE") {
|
||||
field(DESC, "Clean Automatic Calculated State")
|
||||
field(CALC,"(2^(A+1))-1")
|
||||
field(SCAN,"1 second")
|
||||
field(INPA,"$(P)$(R)CLEANINGSTATE.VAL PP NMS")
|
||||
}
|
||||
|
||||
record(calc, "$(P)$(R)OPCALCMCLEANSTATE") {
|
||||
field(DESC, "Clean Manual Calculated State")
|
||||
field(CALC,"2^A")
|
||||
field(SCAN,"1 second")
|
||||
field(INPA,"$(P)$(R)CLEANINGSTATE.VAL PP NMS")
|
||||
}
|
||||
|
||||
record(calc, "$(P)$(R)OPCALCWSHOTSTATE") {
|
||||
field(DESC, "WaitShot Calculated State")
|
||||
field(CALC,"2^A")
|
||||
field(SCAN,"1 second")
|
||||
field(INPA,"$(P)$(R)WSHOTINGSTATE.VAL PP NMS")
|
||||
}
|
||||
|
||||
record(ai, "$(P)$(R)Temperature_0") {
|
||||
field(DESC, "ISTTOK Temperature 0 Calculated")
|
||||
field(EGU, "C")
|
||||
field(SCAN,"1 second")
|
||||
}
|
||||
|
||||
record(bo, "$(P)$(R)OPREQ") {
|
||||
field(DESC, "Pulse Sequence Start/Stop")
|
||||
field(VAL, "0")
|
||||
field(ZNAM, "STOP")
|
||||
field(ONAM, "START")
|
||||
}
|
||||
|
||||
record(bo, "$(P)$(R)CLEANINGMASTATE") {
|
||||
field(DESC, "Cleaning Manual/Auto")
|
||||
field(VAL, "1")
|
||||
field(ZNAM, "M")
|
||||
field(ONAM, "A")
|
||||
}
|
||||
|
||||
record(ai, "$(P)$(R)CLEANINGINOUTSTATE") {
|
||||
field(DESC, "Cleaning Automatic In/Out")
|
||||
field(VAL, "1")
|
||||
}
|
||||
|
||||
record(ai, "$(P)$(R)CLEANINGINOUTSTATE0") {
|
||||
field(DESC, "Cleaning Automatic In/Out")
|
||||
field(VAL, "-2")
|
||||
}
|
||||
|
||||
record(ai, "$(P)$(R)CLEANINGINOUTSTATE1") {
|
||||
field(DESC, "Cleaning Automatic In/Out")
|
||||
field(VAL, "-2")
|
||||
}
|
||||
|
||||
record(ai, "$(P)$(R)CLEANINGINOUTSTATE2") {
|
||||
field(DESC, "Cleaning Automatic In/Out")
|
||||
field(VAL, "-2")
|
||||
}
|
||||
|
||||
record(ai, "$(P)$(R)CLEANINGINOUTSTATE3") {
|
||||
field(DESC, "Cleaning Automatic In/Out")
|
||||
field(VAL, "-2")
|
||||
}
|
||||
|
||||
record(ai, "$(P)$(R)CLEANINGINOUTSTATE4") {
|
||||
field(DESC, "Cleaning Automatic In/Out")
|
||||
field(VAL, "-2")
|
||||
}
|
||||
|
||||
record(ai, "$(P)$(R)CLEANINGINOUTSTATE5") {
|
||||
field(DESC, "Cleaning Automatic In/Out")
|
||||
field(VAL, "-2")
|
||||
}
|
||||
|
||||
record(bo, "$(P)$(R)FSTriggerState") {
|
||||
field(DESC, "FireSignal Trigger Start")
|
||||
field(VAL, "0")
|
||||
field(ZNAM, "STOP")
|
||||
field(ONAM, "START")
|
||||
}
|
||||
|
||||
record(bo, "$(P)$(R)PROCESS-MODE") {
|
||||
info(autosaveFields, "VAL")
|
||||
field(DESC, "Plasma Process Mode")
|
||||
#field(VAL, "0")
|
||||
field(ZNAM, "CLEAN")
|
||||
field(ONAM, "SHOT")
|
||||
}
|
||||
|
||||
record(bo, "$(P)$(R)PROCESS-REQ") {
|
||||
field(DESC, "Plasma Process sub-states Start/Stop")
|
||||
field(VAL, "0")
|
||||
field(ZNAM, "STOP")
|
||||
field(ONAM, "START")
|
||||
}
|
||||
|
||||
record(bo, "$(P)$(R)AUTHORISATION") {
|
||||
field(DESC, "Pulse Sequence Authorisation Start/Abort")
|
||||
field(ZNAM, "ABORT")
|
||||
field(ONAM, "START")
|
||||
field(VAL, "0")
|
||||
}
|
||||
|
||||
record(longout, "$(P)$(R)PULSE-NUMBER") {
|
||||
info(autosaveFields, "VAL")
|
||||
field(DESC, "Pulse Number")
|
||||
}
|
||||
|
||||
record(calc, "$(P)$(R)COUNTDOWN") {
|
||||
field(DESC, "Countdown Increment")
|
||||
field(INPA,"$(P)$(R)COUNTDOWN")
|
||||
field(SCAN,"Passive")
|
||||
field(CALC,"A+1")
|
||||
field(VAL, "160")
|
||||
}
|
||||
|
||||
record(calc, "$(P)$(R)COUNTER") {
|
||||
field(DESC, "0.1 s counter")
|
||||
field(INPA, "$(P)$(R)COUNTER")
|
||||
field(SCAN, ".1 second")
|
||||
field(CALC, "A + .1")
|
||||
}
|
||||
|
||||
record(stringin, "$(P)$(R)CurrentTime") {
|
||||
field(DESC, "Current Date and Time of the IOC")
|
||||
field(SCAN, "1 second")
|
||||
field(DTYP, "Soft Timestamp")
|
||||
field(PINI, "YES")
|
||||
field(INP, "@%d/%m/%Y %H:%M:%S")
|
||||
}
|
||||
|
||||
record(stringout, "$(P)$(R)TraceMessage") {
|
||||
field(DESC, "Trace Message from IOC")
|
||||
field(VAL, "Trace mode ON")
|
||||
}
|
||||
|
||||
record(mbbi, "$(P)$(R)STARTINGSTATE") {
|
||||
field(DESC, "Starting State Sequence")
|
||||
field(ZRVL, "0")
|
||||
field(ONVL, "1")
|
||||
field(TWVL, "2")
|
||||
field(THVL, "3")
|
||||
field(FRVL, "4")
|
||||
field(FVVL, "5")
|
||||
field(ZRST, "NonStarting")
|
||||
field(ONST, "Starting1")
|
||||
field(TWST, "Starting2")
|
||||
field(THST, "Starting3")
|
||||
field(FRST, "Starting4")
|
||||
field(FVST, "Starting5")
|
||||
field(VAL, "0")
|
||||
}
|
||||
|
||||
record(mbbi, "$(P)$(R)STOPPINGSTATE") {
|
||||
field(DESC, "Stopping State Sequence")
|
||||
field(ZRVL, "0")
|
||||
field(ONVL, "1")
|
||||
field(TWVL, "2")
|
||||
field(THVL, "3")
|
||||
field(FRVL, "4")
|
||||
field(FVVL, "5")
|
||||
field(ZRST, "NonStopped")
|
||||
field(ONST, "Stopping1")
|
||||
field(TWST, "Stopping2")
|
||||
field(THST, "Stopping3")
|
||||
field(FRST, "Stopping4")
|
||||
field(FVST, "Stopping5")
|
||||
field(VAL, "0")
|
||||
}
|
||||
|
||||
record(mbbi, "$(P)$(R)CLEANINGSTATE") {
|
||||
field(DESC, "Cleaning State Sequence")
|
||||
field(ZRVL, "0")
|
||||
field(ONVL, "1")
|
||||
field(TWVL, "2")
|
||||
field(THVL, "3")
|
||||
field(FRVL, "4")
|
||||
field(FVVL, "5")
|
||||
field(ZRST, "NonCleaning")
|
||||
field(ONST, "Cleaning1")
|
||||
field(TWST, "Cleaning2")
|
||||
field(THST, "Cleaning3")
|
||||
field(FRST, "Cleaning4")
|
||||
field(FVST, "Cleaning5")
|
||||
field(VAL, "0")
|
||||
}
|
||||
|
||||
record(mbbi, "$(P)$(R)WSHOTINGSTATE") {
|
||||
field(DESC, "Shoting State Sequence")
|
||||
field(ZRVL, "0")
|
||||
field(ONVL, "1")
|
||||
field(TWVL, "2")
|
||||
field(THVL, "3")
|
||||
field(FRVL, "4")
|
||||
field(FVVL, "5")
|
||||
field(SXVL, "6")
|
||||
field(SVVL, "7")
|
||||
field(EIVL, "8")
|
||||
field(NIVL, "9")
|
||||
field(TEVL, "10")
|
||||
field(ELVL, "11")
|
||||
field(ZRST, "NonShoting")
|
||||
field(ONST, "Shoting1")
|
||||
field(TWST, "Shoting2")
|
||||
field(THST, "Shoting3")
|
||||
field(FRST, "Shoting4")
|
||||
field(FVST, "Shoting5")
|
||||
field(SXST, "Shoting6")
|
||||
field(SVST, "Shoting7")
|
||||
field(EIST, "Shoting8")
|
||||
field(NIST, "Shoting9")
|
||||
field(TEST, "Shoting10")
|
||||
field(ELST, "Shoting11")
|
||||
field(VAL, "0")
|
||||
}
|
||||
|
||||
386
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKvacummPumps.db
Normal file
386
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKvacummPumps.db
Normal file
@@ -0,0 +1,386 @@
|
||||
##########
|
||||
# Relays #
|
||||
##########
|
||||
record( bo, "$(P)$(R)RotatoryPump" ) {
|
||||
field( OUT, "$(P)$(R)PCF8574:60:REGISTER.B7 PP" )
|
||||
field( ZNAM, "On" )
|
||||
field( ONAM, "Off" )
|
||||
}
|
||||
record( bo, "$(P)$(R)RotatoryValve" ) {
|
||||
field( OUT, "$(P)$(R)PCF8574:60:REGISTER.B6 PP" )
|
||||
field( ZNAM, "Open" )
|
||||
field( ONAM, "Closed" )
|
||||
}
|
||||
|
||||
##############################
|
||||
# BUZZER ON/OFF #
|
||||
##############################
|
||||
record(bo, "$(P)$(R)BuzzerOnOff" ) {
|
||||
field( ZNAM, "Off" )
|
||||
field( ONAM, "Pulse" )
|
||||
field( HIGH, "2.5")
|
||||
field( FLNK, "$(P)$(R)BuzzerOnOffInv" )
|
||||
}
|
||||
record(calcout, "$(P)$(R)BuzzerOnOffInv" ) {
|
||||
field( INPA, "$(P)$(R)BuzzerOnOff NPP MS" )
|
||||
#field( OUT, "$(P)$(R)PCF8574:60:REGISTER.B5 PP MS" )
|
||||
field( OUT, "$(P)$(R)PCF8574:57:REGISTER.B5 PP MS" )
|
||||
field( OOPT, "On Change" )
|
||||
field( CALC, "A?0:1" )
|
||||
}
|
||||
|
||||
##############################
|
||||
# LIGHTS ON/OFF #
|
||||
##############################
|
||||
record(bo, "$(P)$(R)LightsOnOff" ) {
|
||||
field( OUT, "$(P)$(R)PCF8574:60:REGISTER.B4 PP" )
|
||||
field( ZNAM, "On" )
|
||||
field( ONAM, "Off" )
|
||||
}
|
||||
record(bi , "$(P)$(R)LightsOnOff-G" ) {
|
||||
field( INP, "$(P)$(R)PCF8574:60:REGISTER:READ.B4 NPP NMS")
|
||||
field( SCAN, "1 second")
|
||||
field( ZNAM, "ON" )
|
||||
field( ONAM, "OFF" )
|
||||
}
|
||||
|
||||
##################################
|
||||
# GIS VALVES ON/OFF #
|
||||
##################################
|
||||
record(bo, "$(P)$(R)GISValvesOnOff" ) {
|
||||
#field( OUT, "$(P)$(R)PCF8574:60:REGISTER.B3 PP" )
|
||||
field( OUT, "$(P)$(R)PCF8574:57:REGISTER.B4 PP" )
|
||||
field( ZNAM, "On" )
|
||||
field( ONAM, "Off" )
|
||||
}
|
||||
|
||||
################################
|
||||
# FILAMENT ON/OFF #
|
||||
################################
|
||||
record(bo, "$(P)$(R)FilamentOnOff" ) {
|
||||
field( OUT, "$(P)$(R)PCF8574:60:REGISTER.B2 PP" )
|
||||
field( ZNAM, "On" )
|
||||
field( ONAM, "Off" )
|
||||
}
|
||||
|
||||
##########################################
|
||||
# CAP BANK CONNECTOR ON/OFF #
|
||||
##########################################
|
||||
record(bo, "$(P)$(R)CapBankConOnOff" ) {
|
||||
#field( OUT, "$(P)$(R)PCF8574:60:REGISTER.B1 PP" )
|
||||
field( ZNAM, "On" )
|
||||
field( ONAM, "Off" )
|
||||
}
|
||||
|
||||
###############################
|
||||
### PRIMARY CLEANING ON/OFF ###
|
||||
###############################
|
||||
record(bo, "$(P)$(R)PrimaryCleaningOnOff"){
|
||||
field( DESC, "Primary Cleaning OnOff")
|
||||
field( OUT, "$(P)$(R)PCF8574:60:REGISTER.B1 PP" )
|
||||
field( ZNAM, "On")
|
||||
field( ONAM, "Off")
|
||||
}
|
||||
|
||||
#######################################
|
||||
# CAP BANK CHARGE ON/OFF #
|
||||
#######################################
|
||||
record(bo, "$(P)$(R)CapBankChargeOnOff" ) {
|
||||
field( OUT, "$(P)$(R)PCF8574:60:REGISTER.B0 PP" )
|
||||
field( ZNAM, "On" )
|
||||
field( ONAM, "Off" )
|
||||
}
|
||||
|
||||
####################################
|
||||
# TIMING TRIGGER ON/OFF #
|
||||
####################################
|
||||
record(bi , "$(P)$(R)TimingTriggerSignal" ) {
|
||||
field( INP, "$(P)$(R)PCF8574:57:REGISTER:READ.B7")
|
||||
field( SCAN, "1 second" )
|
||||
field( ZNAM, "OFF" )
|
||||
field( ONAM, "ON" )
|
||||
}
|
||||
|
||||
##########################################
|
||||
# CAP BANK DISCHARGE ON/OFF #
|
||||
##########################################
|
||||
record(bo, "$(P)$(R)CapBankDischargeOnOff" ) {
|
||||
field( OUT, "$(P)$(R)PCF8574:57:REGISTER.B6 PP" )
|
||||
field( ZNAM, "On" )
|
||||
field( ONAM, "Off" )
|
||||
}
|
||||
|
||||
##################################
|
||||
# PPS BAKING ON/OFF #
|
||||
##################################
|
||||
record(bo, "$(P)$(R)BakingPPSOnOff" ) {
|
||||
#field( OUT, "$(P)$(R)PCF8574:57:REGISTER.B5 PP" )
|
||||
field( OUT, "$(P)$(R)PCF8574:60:REGISTER.B5 PP MS" )
|
||||
field( ZNAM, "On" )
|
||||
field( ONAM, "Off" )
|
||||
}
|
||||
|
||||
###################################
|
||||
# TRANSFORMER ON/OFF #
|
||||
###################################
|
||||
#record(bo, "$(P)$(R)TransformerOnOff" ) {
|
||||
# field( OUT, "$(P)$(R)PCF8574:57:REGISTER.B4 PP" )
|
||||
# field( ZNAM, "On" )
|
||||
# field( ONAM, "Off" )
|
||||
#}
|
||||
|
||||
######################################
|
||||
# TRANSFORMER500 ON/OFF #
|
||||
######################################
|
||||
record(bo, "$(P)$(R)Trans500OnOff" ) {
|
||||
#field( OUT, "$(P)$(R)PCF8574:57:REGISTER.B4 PP" )
|
||||
field( OUT, "$(P)$(R)PCF8574:60:REGISTER.B3 PP" )
|
||||
field( ZNAM, "On" )
|
||||
field( ONAM, "Off" )
|
||||
}
|
||||
|
||||
######################################
|
||||
# TRANS TO POWER ON/OFF #
|
||||
######################################
|
||||
record(bo, "$(P)$(R)TransToPowerOnOff" ) {
|
||||
field( OUT, "$(P)$(R)PCF8574:57:REGISTER.B3 PP" )
|
||||
field( ZNAM, "On" )
|
||||
field( ONAM, "Off" )
|
||||
}
|
||||
|
||||
#############################
|
||||
# ROTARY PUMP2 #
|
||||
#############################
|
||||
record( bo, "$(P)$(R)RotatoryPump2" ) {
|
||||
field( OUT, "$(P)$(R)PCF8574:57:REGISTER.B2 PP" )
|
||||
field( ZNAM, "On" )
|
||||
field( ONAM, "Off" )
|
||||
}
|
||||
record( bo, "$(P)$(R)RotatoryValve2" ) {
|
||||
field( OUT, "$(P)$(R)PCF8574:57:REGISTER.B1 PP" )
|
||||
field( ZNAM, "Open" )
|
||||
field( ONAM, "Closed" )
|
||||
}
|
||||
|
||||
##############################
|
||||
# EMERGENCY MODE #
|
||||
##############################
|
||||
record( bo, "$(P)$(R)EmergencyModeOnOff" ) {
|
||||
field( OUT, "$(P)$(R)PCF8574:57:REGISTER.B0 PP" )
|
||||
field( ZNAM, "On" )
|
||||
field( ONAM, "Off")
|
||||
}
|
||||
|
||||
#####################################
|
||||
### 24V commands - Optocoupler Out###
|
||||
#####################################
|
||||
record(bo, "$(P)$(R)TMPControllerOn" ) {
|
||||
field( ZNAM, "Off" )
|
||||
field( ONAM, "Pulse" )
|
||||
field( HIGH, "2.5")
|
||||
field( FLNK, "$(P)$(R)TMPControllerOnInv" )
|
||||
}
|
||||
record(calcout, "$(P)$(R)TMPControllerOnInv" ) {
|
||||
field( INPA, "$(P)$(R)TMPControllerOn NPP MS" )
|
||||
field( OUT, "$(P)$(R)PCF8574:56:REGISTER.B0 PP MS" )
|
||||
field( OOPT, "On Change" )
|
||||
field( CALC, "A?0:1" )
|
||||
}
|
||||
record(bo, "$(P)$(R)TMPControllerOff" ) {
|
||||
field( ZNAM, "Off" )
|
||||
field( ONAM, "Pulse" )
|
||||
field( HIGH, "2.5")
|
||||
field( FLNK, "$(P)$(R)TMPControllerOffInv" )
|
||||
}
|
||||
record(calcout, "$(P)$(R)TMPControllerOffInv") {
|
||||
field( INPA, "$(P)$(R)TMPControllerOff NPP MS" )
|
||||
field( OUT, "$(P)$(R)PCF8574:56:REGISTER.B1 PP MS")
|
||||
field( OOPT, "On Change" )
|
||||
field( CALC, "A?0:1" )
|
||||
}
|
||||
record(bo, "$(P)$(R)TMPMotorOn" ) {
|
||||
field( ZNAM, "Off")
|
||||
field( ONAM, "Pulse")
|
||||
field( HIGH, "2.5")
|
||||
field( FLNK, "$(P)$(R)TMPMotorOnInv")
|
||||
}
|
||||
record(calcout, "$(P)$(R)TMPMotorOnInv" ) {
|
||||
field( INPA, "$(P)$(R)TMPMotorOn NPP MS")
|
||||
field( OUT, "$(P)$(R)PCF8574:56:REGISTER.B2 PP MS")
|
||||
field( OOPT, "On Change")
|
||||
field( CALC, "A?0:1" )
|
||||
}
|
||||
record(bo, "$(P)$(R)TMPMotorOff") {
|
||||
field( ZNAM, "Off")
|
||||
field( ONAM, "Pulse")
|
||||
field( HIGH, "2.5")
|
||||
field( FLNK, "$(P)$(R)TMPMotorOffInv")
|
||||
}
|
||||
record(calcout, "$(P)$(R)TMPMotorOffInv") {
|
||||
field( INPA, "$(P)$(R)TMPMotorOff NPP MS")
|
||||
field( OUT, "$(P)$(R)PCF8574:56:REGISTER.B3 PP MS")
|
||||
field( OOPT, "On Change")
|
||||
field( CALC, "A?0:1")
|
||||
}
|
||||
|
||||
#############################
|
||||
### TMP1 Controller inputs###
|
||||
#############################
|
||||
record(bi , "$(P)$(R)Turbo_PW_Ind" ) {
|
||||
field( INP, "$(P)$(R)PCF8574:56:REGISTER:READ.B4 NPP NMS")
|
||||
field( SCAN, "1 second")
|
||||
field( ZNAM, "ON" )
|
||||
field( ONAM, "OFF" )
|
||||
field(FLNK, "$(P)$(R)Turbo_Emergency")
|
||||
}
|
||||
record(bi , "$(P)$(R)Turbo_Emergency") {
|
||||
field( INP, "$(P)$(R)PCF8574:56:REGISTER:READ.B5 NPP NMS")
|
||||
field( ZNAM, "ON" )
|
||||
field( ONAM, "OFF" )
|
||||
field(FLNK, "$(P)$(R)Turbo_Acceleration")
|
||||
}
|
||||
record(bi , "$(P)$(R)Turbo_Acceleration") {
|
||||
field( INP, "$(P)$(R)PCF8574:56:REGISTER:READ.B6 NPP NMS")
|
||||
field( ZNAM, "ON" )
|
||||
field( ONAM, "OFF" )
|
||||
field(FLNK, "$(P)$(R)Turbo_NormalOperation")
|
||||
}
|
||||
record(bi , "$(P)$(R)Turbo_NormalOperation" ) {
|
||||
field( INP, "$(P)$(R)PCF8574:56:REGISTER:READ.B7 NPP NMS")
|
||||
field( ZNAM, "ON" )
|
||||
field( ONAM, "OFF" )
|
||||
}
|
||||
|
||||
#####################################
|
||||
### 24V commands - Optocoupler Out###
|
||||
#####################################
|
||||
record(bo, "$(P)$(R)TMP2ControllerOn" ) {
|
||||
field( ZNAM, "Off" )
|
||||
field( ONAM, "Pulse" )
|
||||
field( HIGH, "2.5")
|
||||
field( FLNK, "$(P)$(R)TMP2ControllerOnInv" )
|
||||
}
|
||||
record(calcout, "$(P)$(R)TMP2ControllerOnInv" ) {
|
||||
field( INPA, "$(P)$(R)TMP2ControllerOn NPP MS" )
|
||||
field( OUT, "$(P)$(R)PCF8574:61:REGISTER.B0 PP MS" )
|
||||
field( OOPT, "On Change" )
|
||||
field( CALC, "A?0:1" )
|
||||
}
|
||||
record(bo, "$(P)$(R)TMP2ControllerOff" ) {
|
||||
field( ZNAM, "Off" )
|
||||
field( ONAM, "Pulse" )
|
||||
field( HIGH, "2.5")
|
||||
field( FLNK, "$(P)$(R)TMP2ControllerOffInv" )
|
||||
}
|
||||
record(calcout, "$(P)$(R)TMP2ControllerOffInv") {
|
||||
field( INPA, "$(P)$(R)TMP2ControllerOff NPP MS" )
|
||||
field( OUT, "$(P)$(R)PCF8574:61:REGISTER.B1 PP MS")
|
||||
field( OOPT, "On Change" )
|
||||
field( CALC, "A?0:1" )
|
||||
}
|
||||
record(bo, "$(P)$(R)TMP2MotorOn" ) {
|
||||
field( ZNAM, "Off")
|
||||
field( ONAM, "Pulse")
|
||||
field( HIGH, "2.5")
|
||||
field( FLNK, "$(P)$(R)TMP2MotorOnInv")
|
||||
}
|
||||
record(calcout, "$(P)$(R)TMP2MotorOnInv" ) {
|
||||
field( INPA, "$(P)$(R)TMP2MotorOn NPP MS")
|
||||
field( OUT, "$(P)$(R)PCF8574:61:REGISTER.B2 PP MS")
|
||||
field( OOPT, "On Change")
|
||||
field( CALC, "A?0:1" )
|
||||
}
|
||||
record(bo, "$(P)$(R)TMP2MotorOff") {
|
||||
field( ZNAM, "Off")
|
||||
field( ONAM, "Pulse")
|
||||
field( HIGH, "2.5")
|
||||
field( FLNK, "$(P)$(R)TMP2MotorOffInv")
|
||||
}
|
||||
record(calcout, "$(P)$(R)TMP2MotorOffInv") {
|
||||
field( INPA, "$(P)$(R)TMP2MotorOff NPP MS")
|
||||
field( OUT, "$(P)$(R)PCF8574:61:REGISTER.B3 PP MS")
|
||||
field( OOPT, "On Change")
|
||||
field( CALC, "A?0:1")
|
||||
}
|
||||
|
||||
#########################################
|
||||
# TOR-FIELD TRIGGER ON/OFF BO #
|
||||
#########################################
|
||||
record(bi, "$(P)$(R)TorFieldTriggerOnOff" ) {
|
||||
#field( INP, "$(P)$(R)PCF8574:61:REGISTER:READ.B3 NPP NMS" )
|
||||
field( ZNAM, "On" )
|
||||
field( ONAM, "Off" )
|
||||
field( VAL, 1)
|
||||
}
|
||||
|
||||
#############################
|
||||
### TMP2 Controller inputs###
|
||||
#############################
|
||||
record(bi , "$(P)$(R)Turbo2_PW_Ind" ) {
|
||||
field( INP, "$(P)$(R)PCF8574:61:REGISTER:READ.B4 PP NMS")
|
||||
field( SCAN, "1 second")
|
||||
field( ZNAM, "ON" )
|
||||
field( ONAM, "OFF" )
|
||||
field(FLNK, "$(P)$(R)Turbo2_Emergency")
|
||||
}
|
||||
record(bi , "$(P)$(R)Turbo2_Emergency") {
|
||||
field( INP, "$(P)$(R)PCF8574:61:REGISTER:READ.B5 NPP NMS")
|
||||
field( ZNAM, "ON" )
|
||||
field( ONAM, "OFF" )
|
||||
field(FLNK, "$(P)$(R)Turbo2_Acceleration")
|
||||
}
|
||||
record(bi , "$(P)$(R)Turbo2_Acceleration") {
|
||||
field( INP, "$(P)$(R)PCF8574:61:REGISTER:READ.B6 NPP NMS")
|
||||
field( ZNAM, "ON" )
|
||||
field( ONAM, "OFF" )
|
||||
field(FLNK, "$(P)$(R)Turbo2_NormalOperation")
|
||||
}
|
||||
record(bi , "$(P)$(R)Turbo2_NormalOperation" ) {
|
||||
field( INP, "$(P)$(R)PCF8574:61:REGISTER:READ.B7 NPP NMS")
|
||||
field( ZNAM, "ON" )
|
||||
field( ONAM, "OFF" )
|
||||
}
|
||||
|
||||
#######################
|
||||
###TMP1 Manual Valve###
|
||||
#######################
|
||||
record(bo, "$(P)$(R)TMPManualValve"){
|
||||
info(autosaveFields, "VAL")
|
||||
field( DESC, "State of manual valve")
|
||||
field( ZNAM, "Closed")
|
||||
field( ONAM, "Open")
|
||||
}
|
||||
|
||||
|
||||
#########################
|
||||
###Pressure Conditions###
|
||||
#########################
|
||||
record(ao,"$(P)$(R)Pressure_PrimaryCondition"){
|
||||
field(VAL,"5.0e-3")
|
||||
field(PREC,"3")
|
||||
field(EGU,"mBar")
|
||||
}
|
||||
record(ao,"$(P)$(R)Pressure_Primary2Condition"){
|
||||
field(VAL,"5.0e-3")
|
||||
field(PREC,"3")
|
||||
field(EGU,"mBar")
|
||||
}
|
||||
|
||||
#record(ai,"$(P)$(R)Pressure_Primary2"){
|
||||
# field(VAL,"1.0e-3")
|
||||
# field(PREC,"3")
|
||||
# field(EGU,"mBar")
|
||||
#}
|
||||
|
||||
record(ai,"$(P)$(R)Bypass_Condition"){
|
||||
field(VAL,"0")
|
||||
}
|
||||
|
||||
#####################
|
||||
###Dummy Variables###
|
||||
#####################
|
||||
record(ao,"$(P)$(R)Pressure_TMP_admission"){
|
||||
field(VAL,"1.0e5")
|
||||
field(PREC,"3")
|
||||
field(EGU,"mBar")
|
||||
}
|
||||
18
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/Makefile
Normal file
18
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/Makefile
Normal file
@@ -0,0 +1,18 @@
|
||||
TOP=../..
|
||||
include $(TOP)/configure/CONFIG
|
||||
#----------------------------------------
|
||||
# ADD MACRO DEFINITIONS BELOW HERE
|
||||
|
||||
# Install databases, templates & substitutions like this
|
||||
DB += ISTTOKstates.db
|
||||
DB += ISTTOKvacummPumps.db
|
||||
DB += ISTTOKpcf8574.db
|
||||
DB += ISTTOKrs485.db
|
||||
|
||||
# If <anyname>.db template is not named <anyname>*.template add
|
||||
# <anyname>_TEMPLATE = <templatename>
|
||||
|
||||
include $(TOP)/configure/RULES
|
||||
#----------------------------------------
|
||||
# ADD EXTRA GNUMAKE RULES BELOW HERE
|
||||
|
||||
8
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Makefile
Normal file
8
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Makefile
Normal file
@@ -0,0 +1,8 @@
|
||||
TOP = ..
|
||||
include $(TOP)/configure/CONFIG
|
||||
DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *src*))
|
||||
DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Src*))
|
||||
DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *db*))
|
||||
DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Db*))
|
||||
include $(TOP)/configure/RULES_DIRS
|
||||
|
||||
23
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/ISTTOKrpiMain.cpp
Normal file
23
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/ISTTOKrpiMain.cpp
Normal file
@@ -0,0 +1,23 @@
|
||||
/* ISTTOKrpiMain.cpp */
|
||||
/* Author: Marty Kraimer Date: 17MAR2000 */
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "epicsExit.h"
|
||||
#include "epicsThread.h"
|
||||
#include "iocsh.h"
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
if(argc>=2) {
|
||||
iocsh(argv[1]);
|
||||
epicsThreadSleep(.2);
|
||||
}
|
||||
iocsh(NULL);
|
||||
epicsExit(0);
|
||||
return(0);
|
||||
}
|
||||
1
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/IsttokSeqExec.dbd
Normal file
1
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/IsttokSeqExec.dbd
Normal file
@@ -0,0 +1 @@
|
||||
registrar(IsttokSeqExecRegistrar)
|
||||
2255
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/IsttokSeqExec.stt
Normal file
2255
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/IsttokSeqExec.stt
Normal file
File diff suppressed because it is too large
Load Diff
70
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/Makefile
Normal file
70
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/Makefile
Normal file
@@ -0,0 +1,70 @@
|
||||
TOP=../..
|
||||
|
||||
include $(TOP)/configure/CONFIG
|
||||
#----------------------------------------
|
||||
# ADD MACRO DEFINITIONS BELOW HERE
|
||||
|
||||
# Build an IOC support library
|
||||
LIBRARY_IOC += ISTTOKrpiSupport
|
||||
|
||||
# Compile and add the code to the support library
|
||||
|
||||
# Link locally-provided code into the support library,
|
||||
# rather than directly into the IOC application.
|
||||
# This is required for Windows DLL builds.
|
||||
ISTTOKrpiSupport_SRCS += initTrace.c
|
||||
|
||||
ISTTOKrpiSupport_LIBS += $(EPICS_BASE_IOC_LIBS)
|
||||
|
||||
# Build the IOC application
|
||||
PROD_IOC = ISTTOKrpi
|
||||
|
||||
# ISTTOKrpi.dbd will be created and installed
|
||||
DBD += ISTTOKrpi.dbd
|
||||
|
||||
# ISTTOKrpi.dbd will include these files:
|
||||
ISTTOKrpi_DBD += base.dbd
|
||||
ISTTOKrpi_DBD += initTrace.dbd
|
||||
# Include dbd files from all support applications:
|
||||
ISTTOKrpi_DBD += asyn.dbd
|
||||
ISTTOKrpi_DBD += stream.dbd
|
||||
ISTTOKrpi_DBD += drvAsynI2C.dbd
|
||||
ISTTOKrpi_DBD += drvAsynSerialPort.dbd
|
||||
ISTTOKrpi_DBD += asSupport.dbd
|
||||
|
||||
# Add all the support libraries needed by this IOC
|
||||
ISTTOKrpi_LIBS += asyn
|
||||
ISTTOKrpi_LIBS += stream
|
||||
ISTTOKrpi_LIBS += drvAsynI2C
|
||||
ISTTOKrpi_LIBS += autosave
|
||||
|
||||
# ISTTOKrpi_registerRecordDeviceDriver.cpp derives from ISTTOKrpi.dbd
|
||||
ISTTOKrpi_SRCS += ISTTOKrpi_registerRecordDeviceDriver.cpp
|
||||
|
||||
# Build the main IOC entry point where needed
|
||||
ISTTOKrpi_SRCS_DEFAULT += ISTTOKrpiMain.cpp
|
||||
ISTTOKrpi_SRCS_vxWorks += -nil-
|
||||
|
||||
# Link in the code from our support library
|
||||
ISTTOKrpi_LIBS += ISTTOKrpiSupport
|
||||
|
||||
# To build SNL programs, SNCSEQ must be defined
|
||||
# in the <top>/configure/RELEASE file
|
||||
ifneq ($(SNCSEQ),)
|
||||
# Build sncExample into ISTTOKrpiSupport
|
||||
IsttokSeqExec_SNCFLAGS += +r
|
||||
ISTTOKrpi_DBD += IsttokSeqExec.dbd
|
||||
# A .stt sequence program is *not* pre-processed:
|
||||
ISTTOKrpiSupport_SRCS += IsttokSeqExec.stt
|
||||
ISTTOKrpiSupport_LIBS += seq pv
|
||||
ISTTOKrpi_LIBS += seq pv
|
||||
|
||||
endif
|
||||
|
||||
# Finally link IOC to the EPICS Base libraries
|
||||
ISTTOKrpi_LIBS += $(EPICS_BASE_IOC_LIBS)
|
||||
|
||||
include $(TOP)/configure/RULES
|
||||
#----------------------------------------
|
||||
# ADD EXTRA GNUMAKE RULES BELOW HERE
|
||||
|
||||
39
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/initTrace.c
Normal file
39
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/initTrace.c
Normal file
@@ -0,0 +1,39 @@
|
||||
/* initTrace.c */
|
||||
|
||||
/*
|
||||
* An initHook routine to trace the iocInit() process.
|
||||
* Prints out the name of each state as it is reached.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "initHooks.h"
|
||||
#include "epicsExport.h"
|
||||
#include "iocsh.h"
|
||||
|
||||
|
||||
static void trace(initHookState state) {
|
||||
printf("iocInit: Reached %s\n", initHookName(state));
|
||||
}
|
||||
|
||||
int traceIocInit(void) {
|
||||
static int done = 0;
|
||||
if (done)
|
||||
return -1;
|
||||
done = 1;
|
||||
|
||||
initHookRegister(trace);
|
||||
puts("iocInit will be traced");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static const iocshFuncDef traceInitFuncDef = {"traceIocInit", 0, NULL};
|
||||
static void traceInitFunc(const iocshArgBuf *args) {
|
||||
traceIocInit();
|
||||
}
|
||||
|
||||
static void initTraceRegister(void) {
|
||||
iocshRegister(&traceInitFuncDef, traceInitFunc);
|
||||
}
|
||||
epicsExportRegistrar(initTraceRegister);
|
||||
1
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/initTrace.dbd
Normal file
1
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/initTrace.dbd
Normal file
@@ -0,0 +1 @@
|
||||
registrar(initTraceRegister)
|
||||
Reference in New Issue
Block a user