Imported files from METIS SVN

This commit is contained in:
Bernardo Carvalho
2019-10-09 10:59:54 +01:00
parent 61d1517c44
commit 70c9ee4b76
473 changed files with 10804 additions and 0 deletions

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

View 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,"")
}

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

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

View 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

View 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

View 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);
}

View File

@@ -0,0 +1 @@
registrar(IsttokSeqExecRegistrar)

File diff suppressed because it is too large Load Diff

View 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

View 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);

View File

@@ -0,0 +1 @@
registrar(initTraceRegister)