From 1f76fc4f6702a193ec2a97922a74e81ebffae89c Mon Sep 17 00:00:00 2001 From: Giles Knap Date: Tue, 9 Jan 2024 17:02:33 +0000 Subject: [PATCH] all compiling from source but ioc not linking --- .gitignore | 5 + ibek-support | 2 +- ioc/DeviceDbApp/Makefile | 7 - ioc/DeviceDbApp/S7-1500Db/Makefile | 25 - ioc/DeviceDbApp/S7-1500Db/README.md | 94 - ioc/DeviceDbApp/S7-1500Db/S7-1500-DB1.db | 110 - .../S7-1500Db/S7-1500-server.substitutions | 7 - .../UaDemoServerDb/Demo.Dynamic.Arrays.db | 87 - .../UaDemoServerDb/Demo.Dynamic.ArraysE7.db | 26 - .../UaDemoServerDb/Demo.Dynamic.Scalar.db | 79 - .../UaDemoServerDb/Demo.Dynamic.ScalarE7.db | 22 - .../UaDemoServerDb/Demo.Static.Arrays.db | 142 - .../UaDemoServerDb/Demo.Static.ArraysE7.db | 42 - .../UaDemoServerDb/Demo.Static.Scalar.db | 151 - .../UaDemoServerDb/Demo.Static.ScalarE7.db | 38 - .../Demo.WorkOrder.substitutions | 4 - .../Demo.WorkOrderVariable.template | 55 - ioc/DeviceDbApp/UaDemoServerDb/Makefile | 40 - ioc/DeviceDbApp/UaDemoServerDb/Omron_DS.db | 16 - ioc/DeviceDbApp/UaDemoServerDb/README.md | 57 - .../UaDemoServer-server.substitutions | 7 - ioc/Makefile | 26 +- ioc/Omron-Anon-Works.log | 57 - ioc/README.md | 112 - ioc/TemplateDbSup/AnyServerDb/Makefile | 25 - .../AnyServerDb/opcuaServerInfo.template | 21 - .../AnyServerDb/opcuaServerStats.template | 54 - ioc/TemplateDbSup/Makefile | 7 - ioc/configure/CONFIG | 1 + ioc/configure/CONFIG_SITE | 69 +- ioc/configure/CONFIG_SITE.local | 1 - ioc/configure/RELEASE | 55 +- ioc/configure/RELEASE.local | 2 - ioc/configure/RULES | 1 + ioc/dbd/ioc.dbd | 18793 ++++++++++++++++ ioc/iocApp/src/Makefile | 26 + ioc/iocApp/src/Makefile.jinja | 24 + ioc/iocApp/src/iocMain.cpp | 20 + ioc/{opcuaIocApp => iocApp/src}/opcua.dbd | 0 ioc/iocBoot/Makefile | 6 - ioc/iocBoot/iocS7-1500/Makefile | 5 - ioc/iocBoot/iocS7-1500/README | 9 - ioc/iocBoot/iocS7-1500/auth.txt | 2 - ioc/iocBoot/iocS7-1500/cert.pem | 19 - ioc/iocBoot/iocS7-1500/private_key.pem | 28 - ioc/iocBoot/iocS7-1500/st.cmd | 38 - ioc/iocBoot/iocUaDemoServer/Makefile | 5 - ioc/iocBoot/iocUaDemoServer/README | 9 - ioc/iocBoot/iocUaDemoServer/auth-cert.txt | 4 - ioc/iocBoot/iocUaDemoServer/auth.txt | 2 - ioc/iocBoot/iocUaDemoServer/cert.pem | 19 - ioc/iocBoot/iocUaDemoServer/private_key.pem | 28 - ioc/iocBoot/iocUaDemoServer/st-omron.cmd | 47 - ioc/iocBoot/iocUaDemoServer/st-omron.cmd.old | 56 - ioc/iocBoot/iocUaDemoServer/st.cmd | 49 - ioc/liveness.sh | 40 + ioc/opcuaIocApp/Makefile | 37 - ioc/opcuaIocApp/devOpcua.dbd | 32 - ioc/opcuaIocApp/libopcua.so | 1 - ioc/opcuaIocApp/libopcua.so.0.9 | Bin 5391168 -> 0 bytes ioc/opcuaIocApp/menuDefAction.dbd | 11 - ioc/opcuaIocApp/opcuaIocMain.cpp | 23 - ioc/opcuaIocApp/opcuaItemRecord.dbd | 87 - ioc/start.sh | 153 +- ioc/stop.sh | 19 + 65 files changed, 19088 insertions(+), 1951 deletions(-) delete mode 100644 ioc/DeviceDbApp/Makefile delete mode 100644 ioc/DeviceDbApp/S7-1500Db/Makefile delete mode 100644 ioc/DeviceDbApp/S7-1500Db/README.md delete mode 100644 ioc/DeviceDbApp/S7-1500Db/S7-1500-DB1.db delete mode 100644 ioc/DeviceDbApp/S7-1500Db/S7-1500-server.substitutions delete mode 100644 ioc/DeviceDbApp/UaDemoServerDb/Demo.Dynamic.Arrays.db delete mode 100644 ioc/DeviceDbApp/UaDemoServerDb/Demo.Dynamic.ArraysE7.db delete mode 100644 ioc/DeviceDbApp/UaDemoServerDb/Demo.Dynamic.Scalar.db delete mode 100644 ioc/DeviceDbApp/UaDemoServerDb/Demo.Dynamic.ScalarE7.db delete mode 100644 ioc/DeviceDbApp/UaDemoServerDb/Demo.Static.Arrays.db delete mode 100644 ioc/DeviceDbApp/UaDemoServerDb/Demo.Static.ArraysE7.db delete mode 100644 ioc/DeviceDbApp/UaDemoServerDb/Demo.Static.Scalar.db delete mode 100644 ioc/DeviceDbApp/UaDemoServerDb/Demo.Static.ScalarE7.db delete mode 100644 ioc/DeviceDbApp/UaDemoServerDb/Demo.WorkOrder.substitutions delete mode 100644 ioc/DeviceDbApp/UaDemoServerDb/Demo.WorkOrderVariable.template delete mode 100644 ioc/DeviceDbApp/UaDemoServerDb/Makefile delete mode 100644 ioc/DeviceDbApp/UaDemoServerDb/Omron_DS.db delete mode 100644 ioc/DeviceDbApp/UaDemoServerDb/README.md delete mode 100644 ioc/DeviceDbApp/UaDemoServerDb/UaDemoServer-server.substitutions delete mode 100644 ioc/Omron-Anon-Works.log delete mode 100644 ioc/README.md delete mode 100644 ioc/TemplateDbSup/AnyServerDb/Makefile delete mode 100644 ioc/TemplateDbSup/AnyServerDb/opcuaServerInfo.template delete mode 100644 ioc/TemplateDbSup/AnyServerDb/opcuaServerStats.template delete mode 100644 ioc/TemplateDbSup/Makefile delete mode 100644 ioc/configure/CONFIG_SITE.local delete mode 100644 ioc/configure/RELEASE.local create mode 100644 ioc/dbd/ioc.dbd create mode 100644 ioc/iocApp/src/Makefile create mode 100644 ioc/iocApp/src/Makefile.jinja create mode 100644 ioc/iocApp/src/iocMain.cpp rename ioc/{opcuaIocApp => iocApp/src}/opcua.dbd (100%) delete mode 100644 ioc/iocBoot/Makefile delete mode 100644 ioc/iocBoot/iocS7-1500/Makefile delete mode 100644 ioc/iocBoot/iocS7-1500/README delete mode 100644 ioc/iocBoot/iocS7-1500/auth.txt delete mode 100644 ioc/iocBoot/iocS7-1500/cert.pem delete mode 100644 ioc/iocBoot/iocS7-1500/private_key.pem delete mode 100755 ioc/iocBoot/iocS7-1500/st.cmd delete mode 100644 ioc/iocBoot/iocUaDemoServer/Makefile delete mode 100644 ioc/iocBoot/iocUaDemoServer/README delete mode 100644 ioc/iocBoot/iocUaDemoServer/auth-cert.txt delete mode 100644 ioc/iocBoot/iocUaDemoServer/auth.txt delete mode 100644 ioc/iocBoot/iocUaDemoServer/cert.pem delete mode 100644 ioc/iocBoot/iocUaDemoServer/private_key.pem delete mode 100644 ioc/iocBoot/iocUaDemoServer/st-omron.cmd delete mode 100644 ioc/iocBoot/iocUaDemoServer/st-omron.cmd.old delete mode 100755 ioc/iocBoot/iocUaDemoServer/st.cmd create mode 100755 ioc/liveness.sh delete mode 100644 ioc/opcuaIocApp/Makefile delete mode 100644 ioc/opcuaIocApp/devOpcua.dbd delete mode 120000 ioc/opcuaIocApp/libopcua.so delete mode 100755 ioc/opcuaIocApp/libopcua.so.0.9 delete mode 100644 ioc/opcuaIocApp/menuDefAction.dbd delete mode 100644 ioc/opcuaIocApp/opcuaIocMain.cpp delete mode 100644 ioc/opcuaIocApp/opcuaItemRecord.dbd create mode 100644 ioc/stop.sh diff --git a/.gitignore b/.gitignore index 96f9e65..ce0d537 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,8 @@ ibek # dont save workspaces as other users will have differing folders *workspace + +# ignore output folders of epics builds +**/O.* +ioc/bin +ioc/lib diff --git a/ibek-support b/ibek-support index ba5c9b8..a6c781e 160000 --- a/ibek-support +++ b/ibek-support @@ -1 +1 @@ -Subproject commit ba5c9b83dc17e51a2335f4259b4c128f5b37e516 +Subproject commit a6c781e258b6926d6b1d2d2f359da980e780c554 diff --git a/ioc/DeviceDbApp/Makefile b/ioc/DeviceDbApp/Makefile deleted file mode 100644 index ab15bfb..0000000 --- a/ioc/DeviceDbApp/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -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 diff --git a/ioc/DeviceDbApp/S7-1500Db/Makefile b/ioc/DeviceDbApp/S7-1500Db/Makefile deleted file mode 100644 index f7872d1..0000000 --- a/ioc/DeviceDbApp/S7-1500Db/Makefile +++ /dev/null @@ -1,25 +0,0 @@ -TOP=../.. -include $(TOP)/configure/CONFIG -#---------------------------------------- -# ADD MACRO DEFINITIONS AFTER THIS LINE - -#---------------------------------------------------- -# Optimization of db files using dbst (DEFAULT: NO) -#DB_OPT = YES - -#---------------------------------------------------- -# Create and install (or just install) into /db -# databases, templates, substitutions like this -#DB += xxx.db - -DB += S7-1500-server.db -DB += S7-1500-DB1.db - -#---------------------------------------------------- -# If .db template is not named *.template add -# _template = - -include $(TOP)/configure/RULES -#---------------------------------------- -# ADD RULES AFTER THIS LINE - diff --git a/ioc/DeviceDbApp/S7-1500Db/README.md b/ioc/DeviceDbApp/S7-1500Db/README.md deleted file mode 100644 index b48ecec..0000000 --- a/ioc/DeviceDbApp/S7-1500Db/README.md +++ /dev/null @@ -1,94 +0,0 @@ -# Siemens S7 1500 Series PLC - -Siemens S7 1500 series PLCs provide an embedded OPC UA server -running on the PLC itself. - -## Enable the OPC UA Server - -Inside TIA Portal, for your PLC, inside the "Properties" / "General" tab, -under "OPC UA" / "Server", enable the OPC UA server. - -Take note of the URL for your server. - -Under "Runtime licenses" / "OPC UA", select the type of license -you acquired for your PLC. - -_The PLC has to be disconnected for this configuration._ - -## Mark the items you want to access - -In the list view of a Data Block, the checkboxes for -"Accessible from HMI/OPC UA" and "Writable from HMI/OPC UA" -determine which data are accessible and which are writable. - -## The example databases - -The S7-1500 provides all PLC data items in OPC UA namespace 3. - -The example databases use a few static items created in DB1 -(aka `Data_block_1`). - -| Name | Data Type | OPC UA Node Name | -| -------- | --------- | --------------------------- | -| myInt | Int | `"Data_block_1"."myInt"` | -| myWord | Word | `"Data_block_1"."myWord"` | -| myString | String | `"Data_block_1"."myString"` | -| myBool | Bool | `"Data_block_1"."myBool"` | -| myDouble | Double | `"Data_block_1"."myDouble"` | - -The double quotes are part of the OPC UA node name and have to be escaped -inside EPICS database field values. - -## Use a GUI to check - -When developing, using a professional GUI client for OPC UA is strongly -suggested. -The free [UaExpert][uaexpert] tool from Unified Automation is a good choice. - -## S7-1500 Firmware versions - -With every update of the firmware, Siemens changes the server behavior a lot, -increasing limitations, fixing bugs and improving the "user experience". - -It is generally advisable to update the PLC to the newest available firmware. - -Regularly check the [detailed release notes][release_notes_1500] to see what -things were fixed. - -Known issues: - -* Firmware V2.6.0 is needed for subscriptions on registered items to work. - -* All known firmware versions have a limit of 1000 items per low-level - OPC UA service call. To enforce this limit in the client IOC, call - ```sh - opcuaSetOption batch-nodes 1000 - ``` - for every S7-1500 session that you want to use for more than 1000 items. - -## OPC UA Device Support Documentation - -The documentation folder of the Device Support module contains the -[Requirements Specification (SRS)][requirements.pdf] giving an introduction -and the list of requirements that should convey a good idea of the planned -features. - -The [Cheat Sheet][cheatsheet.pdf] explains the configuration in the startup -script and the database links. - -## Feedback / Reporting issues - -Please use the OPC UA Device Support Module's GitHub -[issue tracker](https://github.com/ralphlange/opcua/issues). - -## License - -This example application is part of the OPC UA Device Support module -that is distributed subject to a Software License Agreement found -in file LICENSE that is included with its distribution. - - -[requirements.pdf]: https://docs.google.com/viewer?url=https://raw.githubusercontent.com/ralphlange/opcua/master/documentation/EPICS%20Support%20for%20OPC%20UA%20-%20SRS.pdf -[cheatsheet.pdf]: https://docs.google.com/viewer?url=https://raw.githubusercontent.com/ralphlange/opcua/master/documentation/EPICS%20Support%20for%20OPC%20UA%20-%20Cheat%20Sheet.pdf -[uaexpert]: https://www.unified-automation.com/products/development-tools/uaexpert.html -[release_notes_1500]: https://support.industry.siemens.com/cs/document/109478459/firmware-update-s7-1500-cpus-incl-displays-and-et200-cpus-(et200sp-et200pro)?dti=0&lc=en-WW diff --git a/ioc/DeviceDbApp/S7-1500Db/S7-1500-DB1.db b/ioc/DeviceDbApp/S7-1500Db/S7-1500-DB1.db deleted file mode 100644 index a9bb8d0..0000000 --- a/ioc/DeviceDbApp/S7-1500Db/S7-1500-DB1.db +++ /dev/null @@ -1,110 +0,0 @@ -# Database connecting to a manually created global data block -# DB1 with some example items -# The namespace for the SIEMENS Simatic S7 OPCUA is ns=3 - -# Set of longin/longout, working on an Integer type data item -# Both set up monitors, i.e. the output is bidirectional - -record(longin, "$(P)$(R)li1") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=3;s=\"Data_block_1\".\"myInt\"") - field(SCAN, "I/O Intr") -} -record(longout, "$(P)$(R)lo1") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=3;s=\"Data_block_1\".\"myInt\"") -} - -# This longin/longout pair is working on data of type Word -# The input uses server timestamps, the output is unidirectional -record(longin, "$(P)$(R)li2") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=3;s=\"Data_block_1\".\"myWord\"") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} -record(longout, "$(P)$(R)lo2") { - field(DTYP, "OPCUA") - field(OUT, "@$(SESS) ns=3;s=\"Data_block_1\".\"myWord\" monitor=n") -} - -# An enum pair working on the same Word type data item -record(mbbi, "$(P)$(R)mbbi1") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=3;s=\"Data_block_1\".\"myWord\"") - field(SCAN, "I/O Intr") - field(ZRST, "zero") - field(ZRVL, "1") - field(ONST, "one") - field(ONVL, "2") - field(TWST, "two") - field(TWVL, "4") - field(THST, "three") - field(THVL, "8") -} -record(mbbo, "$(P)$(R)mbbo1") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=3;s=\"Data_block_1\".\"myWord\"") - field(ZRST, "zero") - field(ZRVL, "1") - field(ONST, "one") - field(ONVL, "2") - field(TWST, "two") - field(TWVL, "4") - field(THST, "three") - field(THVL, "8") -} - -# A pair of ai/ao working on a double data item -# The other input uses SLOPE conversion -record(ai, "$(P)$(R)ai1") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=3;s=\"Data_block_1\".\"myDouble\"") - field(SCAN, "I/O Intr") -} -record(ao, "$(P)$(R)ao1") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=3;s=\"Data_block_1\".\"myDouble\"") -} -record(ai, "$(P)$(R)ai2") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=3;s=\"Data_block_1\".\"myDouble\"") - field(SCAN, "I/O Intr") - field(LINR, "SLOPE") - field(ESLO, "5e6") - field(EOFF, "1e3") -} - -# A pair of bi/bo working on a Boolean data item -record(bi, "$(P)$(R)bi1") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=3;s=\"Data_block_1\".\"myBool\"") - field(SCAN, "I/O Intr") -} -record(bo, "$(P)$(R)bo1") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=3;s=\"Data_block_1\".\"myBool\"") -} - -# A pair of stringin/stringout and their "long string" versions -# all working on a String data item -record(stringin, "$(P)$(R)si1") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=3;s=\"Data_block_1\".\"myString\"") - field(SCAN, "I/O Intr") -} -record(stringout, "$(P)$(R)so1") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=3;s=\"Data_block_1\".\"myString\"") -} -record(lsi, "$(P)$(R)lsi1") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=3;s=\"Data_block_1\".\"myString\"") - field(SCAN, "I/O Intr") - field(SIZV, "255") -} -record(lso, "$(P)$(R)lso1") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=3;s=\"Data_block_1\".\"myString\"") - field(SIZV, "255") -} diff --git a/ioc/DeviceDbApp/S7-1500Db/S7-1500-server.substitutions b/ioc/DeviceDbApp/S7-1500Db/S7-1500-server.substitutions deleted file mode 100644 index 125a6f4..0000000 --- a/ioc/DeviceDbApp/S7-1500Db/S7-1500-server.substitutions +++ /dev/null @@ -1,7 +0,0 @@ -file opcuaServerInfo.template { -{ P=$(P=), R=$(R=), SESS=$(SESS) } -} - -file opcuaServerStats.template { -{ P=$(P=), R=$(R=), SESS=$(SESS), SUBS=$(SUBS) } -} diff --git a/ioc/DeviceDbApp/UaDemoServerDb/Demo.Dynamic.Arrays.db b/ioc/DeviceDbApp/UaDemoServerDb/Demo.Dynamic.Arrays.db deleted file mode 100644 index e569db2..0000000 --- a/ioc/DeviceDbApp/UaDemoServerDb/Demo.Dynamic.Arrays.db +++ /dev/null @@ -1,87 +0,0 @@ -# Database connecting to the UaServerCpp example server -# that is part of all Unified Automation bundles - -# Dynamic part of the Demo server - -# waveform records connecting to arrays of different types - -record(waveform, "$(P)$(R)wfchar") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Arrays.SByte") - field(FTVL, "CHAR") - field(NELM, "10") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(waveform, "$(P)$(R)wfint16") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Arrays.Int16") - field(FTVL, "SHORT") - field(NELM, "10") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(waveform, "$(P)$(R)wfint32") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Arrays.Int32") - field(FTVL, "LONG") - field(NELM, "10") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(waveform, "$(P)$(R)wfuchar") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Arrays.Byte") - field(FTVL, "UCHAR") - field(NELM, "10") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(waveform, "$(P)$(R)wfuint16") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Arrays.UInt16") - field(FTVL, "USHORT") - field(NELM, "10") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(waveform, "$(P)$(R)wfuint32") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Arrays.UInt32") - field(FTVL, "ULONG") - field(NELM, "10") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(waveform, "$(P)$(R)wffloat") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Arrays.Float") - field(FTVL, "FLOAT") - field(NELM, "10") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(waveform, "$(P)$(R)wfdouble") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Arrays.Double") - field(FTVL, "DOUBLE") - field(NELM, "10") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(waveform, "$(P)$(R)wfstring") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Arrays.String") - field(FTVL, "STRING") - field(NELM, "10") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} diff --git a/ioc/DeviceDbApp/UaDemoServerDb/Demo.Dynamic.ArraysE7.db b/ioc/DeviceDbApp/UaDemoServerDb/Demo.Dynamic.ArraysE7.db deleted file mode 100644 index e25431f..0000000 --- a/ioc/DeviceDbApp/UaDemoServerDb/Demo.Dynamic.ArraysE7.db +++ /dev/null @@ -1,26 +0,0 @@ -# Database connecting to the UaServerCpp example server -# that is part of all Unified Automation bundles - -# Dynamic part of the Demo server - -# int64/uint64 waveform records connecting to array variables - -# This database works only on EPICS 7 !! - -record(waveform, "$(P)$(R)wfint64") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Arrays.Int64") - field(FTVL, "INT64") - field(NELM, "10") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(waveform, "$(P)$(R)wfuint64") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Arrays.UInt64") - field(FTVL, "UINT64") - field(NELM, "10") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} diff --git a/ioc/DeviceDbApp/UaDemoServerDb/Demo.Dynamic.Scalar.db b/ioc/DeviceDbApp/UaDemoServerDb/Demo.Dynamic.Scalar.db deleted file mode 100644 index c85d699..0000000 --- a/ioc/DeviceDbApp/UaDemoServerDb/Demo.Dynamic.Scalar.db +++ /dev/null @@ -1,79 +0,0 @@ -# Database connecting to the UaServerCpp example server -# that is part of all Unified Automation bundles - -# Dynamic part of the Demo server - -# records connecting to variables of different types - -record(longin, "$(P)$(R)lichar") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Scalar.SByte") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(longin, "$(P)$(R)liint16") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Scalar.Int16") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(longin, "$(P)$(R)liint32") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Scalar.Int32") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(longin, "$(P)$(R)liuchar") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Scalar.Byte") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(longin, "$(P)$(R)liuint16") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Scalar.UInt16") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(longin, "$(P)$(R)liuint32") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Scalar.UInt32") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(ai, "$(P)$(R)aifloat") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Scalar.Float") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(ai, "$(P)$(R)aidouble") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Scalar.Double") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(ai, "$(P)$(R)aiint32") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Scalar.Int32") - field(LINR, "SLOPE") - field(ESLO, "0.1") - field(PREC, "1") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(stringin, "$(P)$(R)sistring") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Scalar.String") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} diff --git a/ioc/DeviceDbApp/UaDemoServerDb/Demo.Dynamic.ScalarE7.db b/ioc/DeviceDbApp/UaDemoServerDb/Demo.Dynamic.ScalarE7.db deleted file mode 100644 index f05892f..0000000 --- a/ioc/DeviceDbApp/UaDemoServerDb/Demo.Dynamic.ScalarE7.db +++ /dev/null @@ -1,22 +0,0 @@ -# Database connecting to the UaServerCpp example server -# that is part of all Unified Automation bundles - -# Dynamic part of the Demo server - -# int64 records connecting to variables of different types - -# This database works only on EPICS 7 !! - -record(int64in, "$(P)$(R)int64in") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Scalar.Int64") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(int64in, "$(P)$(R)uint64in") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Scalar.UInt64") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} diff --git a/ioc/DeviceDbApp/UaDemoServerDb/Demo.Static.Arrays.db b/ioc/DeviceDbApp/UaDemoServerDb/Demo.Static.Arrays.db deleted file mode 100644 index a2abb51..0000000 --- a/ioc/DeviceDbApp/UaDemoServerDb/Demo.Static.Arrays.db +++ /dev/null @@ -1,142 +0,0 @@ -# Database connecting to the UaServerCpp example server -# that is part of all Unified Automation bundles - -# Dynamic part of the Demo server - -# aai/aao records connecting to arrays of different types - -record(aai, "$(P)$(R)aaichar") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Static.Arrays.SByte") - field(FTVL, "CHAR") - field(NELM, "10") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(aao, "$(P)$(R)aaochar") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=2;s=Demo.Static.Arrays.SByte") - field(FTVL, "CHAR") - field(NELM, "10") - field(TSE, "-2") -} - -record(aai, "$(P)$(R)aaiint16") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Static.Arrays.Int16") - field(FTVL, "SHORT") - field(NELM, "10") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(aao, "$(P)$(R)aaoint16") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=2;s=Demo.Static.Arrays.Int16") - field(FTVL, "SHORT") - field(NELM, "10") - field(TSE, "-2") -} - -record(aai, "$(P)$(R)aaiint32") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Static.Arrays.Int32") - field(FTVL, "LONG") - field(NELM, "10") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(aao, "$(P)$(R)aaoint32") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=2;s=Demo.Static.Arrays.Int32") - field(FTVL, "LONG") - field(NELM, "10") - field(TSE, "-2") -} - -record(aai, "$(P)$(R)aaiuchar") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Static.Arrays.Byte") - field(FTVL, "UCHAR") - field(NELM, "10") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(aao, "$(P)$(R)aaouchar") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=2;s=Demo.Static.Arrays.Byte") - field(FTVL, "UCHAR") - field(NELM, "10") - field(TSE, "-2") -} - -record(aai, "$(P)$(R)aaiuint32") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Static.Arrays.UInt32") - field(FTVL, "ULONG") - field(NELM, "10") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(aao, "$(P)$(R)aaouint32") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=2;s=Demo.Static.Arrays.UInt32") - field(FTVL, "ULONG") - field(NELM, "10") - field(TSE, "-2") -} - -record(aai, "$(P)$(R)aaifloat") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Static.Arrays.Float") - field(FTVL, "FLOAT") - field(NELM, "10") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(aao, "$(P)$(R)aaofloat") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=2;s=Demo.Static.Arrays.Float") - field(FTVL, "FLOAT") - field(NELM, "10") - field(TSE, "-2") -} - -record(aai, "$(P)$(R)aaidouble") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Static.Arrays.Double") - field(FTVL, "DOUBLE") - field(NELM, "10") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(aao, "$(P)$(R)aaodouble") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=2;s=Demo.Static.Arrays.Double") - field(FTVL, "DOUBLE") - field(NELM, "10") - field(TSE, "-2") -} - -record(aai, "$(P)$(R)aaistring") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Static.Arrays.String") - field(FTVL, "STRING") - field(NELM, "10") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(aao, "$(P)$(R)aaostring") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=2;s=Demo.Static.Arrays.String") - field(FTVL, "STRING") - field(NELM, "10") - field(TSE, "-2") -} diff --git a/ioc/DeviceDbApp/UaDemoServerDb/Demo.Static.ArraysE7.db b/ioc/DeviceDbApp/UaDemoServerDb/Demo.Static.ArraysE7.db deleted file mode 100644 index 9ce8f78..0000000 --- a/ioc/DeviceDbApp/UaDemoServerDb/Demo.Static.ArraysE7.db +++ /dev/null @@ -1,42 +0,0 @@ -# Database connecting to the UaServerCpp example server -# that is part of all Unified Automation bundles - -# Dynamic part of the Demo server - -# int64/uint64 aai/aao records connecting to array variables - -# This database works only on EPICS 7 !! - -record(aai, "$(P)$(R)aaiint64") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Static.Arrays.Int64") - field(FTVL, "INT64") - field(NELM, "10") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(aao, "$(P)$(R)aaoint64") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=2;s=Demo.Static.Arrays.Int64") - field(FTVL, "INT64") - field(NELM, "10") - field(TSE, "-2") -} - -record(aai, "$(P)$(R)aaiuint64") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Static.Arrays.UInt64") - field(FTVL, "UINT64") - field(NELM, "10") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(aao, "$(P)$(R)aaouint64") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=2;s=Demo.Static.Arrays.UInt64") - field(FTVL, "UINT64") - field(NELM, "10") - field(TSE, "-2") -} diff --git a/ioc/DeviceDbApp/UaDemoServerDb/Demo.Static.Scalar.db b/ioc/DeviceDbApp/UaDemoServerDb/Demo.Static.Scalar.db deleted file mode 100644 index 436156d..0000000 --- a/ioc/DeviceDbApp/UaDemoServerDb/Demo.Static.Scalar.db +++ /dev/null @@ -1,151 +0,0 @@ -# Database connecting to the UaServerCpp example server -# that is part of all Unified Automation bundles - -# Static part of the Demo server - -# Records connecting to variables of different types - -# bi/bo - Bool -# - the "...x" variants are not monitored - -record(bi, "$(P)$(R)bibool") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Static.Scalar.Boolean") - field(ZNAM, "false") - field(ONAM, "true") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(bo, "$(P)$(R)bobool") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=2;s=Demo.Static.Scalar.Boolean") - field(ZNAM, "false") - field(ONAM, "true") - field(TSE, "-2") -} - -record(bi, "$(P)$(R)biboolx") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Static.Scalar.Boolean monitor=n") - field(ZNAM, "false") - field(ONAM, "true") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(bo, "$(P)$(R)boboolx") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=2;s=Demo.Static.Scalar.Boolean monitor=n") - field(ZNAM, "false") - field(ONAM, "true") - field(TSE, "-2") -} - -# mbbi/mbbo - Byte - -record(mbbi, "$(P)$(R)mbbibyte") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Static.Scalar.Byte") - field(ZRST, "zero") - field(ONST, "one") - field(TWST, "two") - field(THST, "three") - field(FRST, "four") - field(FVST, "five") - field(SXST, "six") - field(SVST, "seven") - field(EIST, "eight") - field(NIST, "nine") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(mbbo, "$(P)$(R)mbbobyte") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=2;s=Demo.Static.Scalar.Byte") - field(ZRST, "zero") - field(ONST, "one") - field(TWST, "two") - field(THST, "three") - field(FRST, "four") - field(FVST, "five") - field(SXST, "six") - field(SVST, "seven") - field(EIST, "eight") - field(NIST, "nine") - field(TSE, "-2") -} - -record(longin, "$(P)$(R)libyte") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Static.Scalar.Byte") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -# mbbiDirect/mbboDirect - UInt32 - -record(mbbiDirect, "$(P)$(R)mbbiduint32") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Static.Scalar.UInt32") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(mbboDirect, "$(P)$(R)mbboduint32") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=2;s=Demo.Static.Scalar.UInt32") - field(TSE, "-2") -} - -# ai/ao - Double - -record(ai, "$(P)$(R)aidouble") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Static.Scalar.Double") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(ao, "$(P)$(R)aodouble") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=2;s=Demo.Static.Scalar.Double") - field(TSE, "-2") -} - -# ai/ao - int32 (using linear conversion) - -record(ai, "$(P)$(R)aiint32") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Static.Scalar.Int32") - field(LINR, "LINEAR") - field(EGUL, "-1e3") - field(EGUF, "1e3") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(ao, "$(P)$(R)aoint32") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=2;s=Demo.Static.Scalar.Int32") - field(LINR, "LINEAR") - field(EGUL, "-1e3") - field(EGUF, "1e3") - field(TSE, "-2") -} - -# si/so - String - -record(stringin, "$(P)$(R)sistring") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Scalar.String") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(stringout, "$(P)$(R)sostring") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=2;s=Demo.Dynamic.Scalar.String") - field(TSE, "-2") -} diff --git a/ioc/DeviceDbApp/UaDemoServerDb/Demo.Static.ScalarE7.db b/ioc/DeviceDbApp/UaDemoServerDb/Demo.Static.ScalarE7.db deleted file mode 100644 index b0067cb..0000000 --- a/ioc/DeviceDbApp/UaDemoServerDb/Demo.Static.ScalarE7.db +++ /dev/null @@ -1,38 +0,0 @@ -# Database connecting to the UaServerCpp example server -# that is part of all Unified Automation bundles - -# Dynamic part of the Demo server - -# int64 and long string records connecting to scalar variables - -# This database works only on EPICS 7 !! - -# int64in/int64out - Int64 - -record(int64in, "$(P)$(R)int64in") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Static.Scalar.Int64") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(int64out, "$(P)$(R)int64out") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=2;s=Demo.Static.Scalar.Int64") - field(TSE, "-2") -} - -# lsi/lso - String - -record(lsi, "$(P)$(R)lsistring") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=Demo.Dynamic.Scalar.String") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} - -record(lso, "$(P)$(R)lsostring") { - field(DTYP, "OPCUA") - field(OUT, "@$(SUBS) ns=2;s=Demo.Dynamic.Scalar.String") - field(TSE, "-2") -} diff --git a/ioc/DeviceDbApp/UaDemoServerDb/Demo.WorkOrder.substitutions b/ioc/DeviceDbApp/UaDemoServerDb/Demo.WorkOrder.substitutions deleted file mode 100644 index 4bea715..0000000 --- a/ioc/DeviceDbApp/UaDemoServerDb/Demo.WorkOrder.substitutions +++ /dev/null @@ -1,4 +0,0 @@ -file Demo.WorkOrderVariable.template { -{ P=$(P=), R=WOVAR:, SESS=$(SESS), SUBS=$(SUBS), WO_NODEID=Demo.WorkOrder.WorkOrderVariable } -{ P=$(P=), R=WOVAR2:, SESS=$(SESS), SUBS=$(SUBS), WO_NODEID=Demo.WorkOrder.WorkOrderVariable2 } -} diff --git a/ioc/DeviceDbApp/UaDemoServerDb/Demo.WorkOrderVariable.template b/ioc/DeviceDbApp/UaDemoServerDb/Demo.WorkOrderVariable.template deleted file mode 100644 index 83e0169..0000000 --- a/ioc/DeviceDbApp/UaDemoServerDb/Demo.WorkOrderVariable.template +++ /dev/null @@ -1,55 +0,0 @@ -# Database connecting to the UaServerCpp example server -# that is part of all Unified Automation bundles - -# WorkOrder part of the Demo server (user defined structures) - -# Records connecting to an instance of WorkOrder Variable - -# Macros: -# P = Record name prefix -# R = Record name prefix of the structure -# SESS = Session name -# SUBS = Subscription name -# WO_NODEID = Complete node name of the OPC UA variable - -# R/W version (bidirectional output records) - -record(opcuaItem, "$(P)$(R)item") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=$(WO_NODEID)") - field(TSE, "-2") -} - -record(stringout, "$(P)$(R)assetid") { - field(DTYP, "OPCUA") - field(OUT, "@$(P)$(R)item element=AssetID") - field(TSE, "-2") -} - -record(stringout, "$(P)$(R)starttime") { - field(DTYP, "OPCUA") - field(OUT, "@$(P)$(R)item element=StartTime") - field(TSE, "-2") -} - - -# R/O version (input records) - -record(opcuaItem, "$(P)$(R)itemRBK") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=2;s=$(WO_NODEID)") - field(TSE, "-2") -} - -record(stringin, "$(P)$(R)assetidRBK") { - field(DTYP, "OPCUA") - field(INP, "@$(P)$(R)itemRBK element=AssetID") - field(TSE, "-2") -} - -record(stringin, "$(P)$(R)starttimeRBK") { - field(DTYP, "OPCUA") - field(INP, "@$(P)$(R)itemRBK element=StartTime") - field(SCAN, "I/O Intr") - field(TSE, "-2") -} diff --git a/ioc/DeviceDbApp/UaDemoServerDb/Makefile b/ioc/DeviceDbApp/UaDemoServerDb/Makefile deleted file mode 100644 index 89e89b6..0000000 --- a/ioc/DeviceDbApp/UaDemoServerDb/Makefile +++ /dev/null @@ -1,40 +0,0 @@ -TOP=../.. -include $(TOP)/configure/CONFIG -#---------------------------------------- -# ADD MACRO DEFINITIONS AFTER THIS LINE - -#---------------------------------------------------- -# Optimization of db files using dbst (DEFAULT: NO) -#DB_OPT = YES - -#---------------------------------------------------- -# Create and install (or just install) into /db -# databases, templates, substitutions like this -#DB += xxx.db - -#Demo UA server -DB += UaDemoServer-server.db - -DB += Demo.Dynamic.Arrays.db -DB += Demo.Dynamic.ArraysE7.db -DB += Demo.Dynamic.Scalar.db -DB += Demo.Dynamic.ScalarE7.db - -DB += Demo.Static.Arrays.db -DB += Demo.Static.ArraysE7.db -DB += Demo.Static.Scalar.db -DB += Demo.Static.ScalarE7.db - -DB += Demo.WorkOrder.db - -#Omron PLC example -DB += Omron_DS.db - -#---------------------------------------------------- -# If .db template is not named *.template add -# _template = - -include $(TOP)/configure/RULES -#---------------------------------------- -# ADD RULES AFTER THIS LINE - diff --git a/ioc/DeviceDbApp/UaDemoServerDb/Omron_DS.db b/ioc/DeviceDbApp/UaDemoServerDb/Omron_DS.db deleted file mode 100644 index fab0528..0000000 --- a/ioc/DeviceDbApp/UaDemoServerDb/Omron_DS.db +++ /dev/null @@ -1,16 +0,0 @@ -# Database connecting to an Omron PLC example server -# Dynamic Scalars - -#record(longin, "$(P)$(R)liint32") { -# field(DTYP, "OPCUA") -# field(INP, "@$(SUBS) ns=4;s=keithcounter") -# field(SCAN, "I/O Intr") -# field(TSE, "-2") -#} - -record(longin, "$(P)$(R)PLC:TIME") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) ns=4;s=PLC_TIME") - field(SCAN, "I/O Intr") -# field(TSE, "-2") -} diff --git a/ioc/DeviceDbApp/UaDemoServerDb/README.md b/ioc/DeviceDbApp/UaDemoServerDb/README.md deleted file mode 100644 index fae935a..0000000 --- a/ioc/DeviceDbApp/UaDemoServerDb/README.md +++ /dev/null @@ -1,57 +0,0 @@ -# Unified Automation Example Server (UaServerCpp) - -All bundles by Unified Automation provide an example server for -demonstration and testing. - -## Start the Example Server - -Change into the `bin` subdirectory of the UA software bundle and -start the `uaservercpp` binary. - -## Provided Variables - -When developing, using a professional GUI client for OPC UA is strongly -suggested. -The free [UaExpert][uaexpert] tool from Unified Automation is a good choice. - -Use that GUI client to browse the server: -Under `Demo`, there are examples of all OPC UA types and features that the -Unified Automation stack supports. The example IOC connects to a number -of selected variables. - -## OPC UA Security - -The example server supports all modes of OPC UA security and is a good -way to check your certificate setup. - -The server's PKI file store is located under the `bin` subdirectory of -the UA software bundle inside `pkiserver`. - -The PKI file store for verification of user authentication certificates -is located under the same `bin` subdirectory inside `pkiuser`. - -## OPC UA Device Support Documentation - -The documentation folder of the Device Support module contains the -[Requirements Specification (SRS)][requirements.pdf] giving an introduction -and the list of requirements that should convey a good idea of the planned -features. - -The [Cheat Sheet][cheatsheet.pdf] explains the configuration in the startup -script and the database links. - -## Feedback / Reporting issues - -Please use the OPC UA Device Support Module's GitHub -[issue tracker](https://github.com/ralphlange/opcua/issues). - -## License - -This example application is part of the OPC UA Device Support module -that is distributed subject to a Software License Agreement found -in file LICENSE that is included with its distribution. - - -[requirements.pdf]: https://docs.google.com/viewer?url=https://raw.githubusercontent.com/ralphlange/opcua/master/documentation/EPICS%20Support%20for%20OPC%20UA%20-%20SRS.pdf -[cheatsheet.pdf]: https://docs.google.com/viewer?url=https://raw.githubusercontent.com/ralphlange/opcua/master/documentation/EPICS%20Support%20for%20OPC%20UA%20-%20Cheat%20Sheet.pdf -[uaexpert]: https://www.unified-automation.com/products/development-tools/uaexpert.html diff --git a/ioc/DeviceDbApp/UaDemoServerDb/UaDemoServer-server.substitutions b/ioc/DeviceDbApp/UaDemoServerDb/UaDemoServer-server.substitutions deleted file mode 100644 index 125a6f4..0000000 --- a/ioc/DeviceDbApp/UaDemoServerDb/UaDemoServer-server.substitutions +++ /dev/null @@ -1,7 +0,0 @@ -file opcuaServerInfo.template { -{ P=$(P=), R=$(R=), SESS=$(SESS) } -} - -file opcuaServerStats.template { -{ P=$(P=), R=$(R=), SESS=$(SESS), SUBS=$(SUBS) } -} diff --git a/ioc/Makefile b/ioc/Makefile index 19c9068..2c82d61 100644 --- a/ioc/Makefile +++ b/ioc/Makefile @@ -1,31 +1,7 @@ -# Makefile at top of application tree TOP = . include $(TOP)/configure/CONFIG -# Directories to build, any order DIRS += configure -DIRS += $(wildcard *Sup) -DIRS += $(wildcard *App) -DIRS += $(wildcard *Top) -DIRS += $(wildcard iocBoot) - -# The build order is controlled by these dependency rules: - -# All dirs except configure depend on configure -$(foreach dir, $(filter-out configure, $(DIRS)), \ - $(eval $(dir)_DEPEND_DIRS += configure)) - -# Any *App dirs depend on all *Sup dirs -$(foreach dir, $(filter %App, $(DIRS)), \ - $(eval $(dir)_DEPEND_DIRS += $(filter %Sup, $(DIRS)))) - -# Any *Top dirs depend on all *Sup and *App dirs -$(foreach dir, $(filter %Top, $(DIRS)), \ - $(eval $(dir)_DEPEND_DIRS += $(filter %Sup %App, $(DIRS)))) - -# iocBoot depends on all *App dirs -iocBoot_DEPEND_DIRS += $(filter %App,$(DIRS)) - -# Add any additional dependency rules here: +DIRS += iocApp/src include $(TOP)/configure/RULES_TOP diff --git a/ioc/Omron-Anon-Works.log b/ioc/Omron-Anon-Works.log deleted file mode 100644 index 7584d5c..0000000 --- a/ioc/Omron-Anon-Works.log +++ /dev/null @@ -1,57 +0,0 @@ -[karb45@pc0069 TS99I-PS-IOC-01] (master)$ bin/linux-x86_64/opcuaIoc iocBoot/iocUaDemoServer/st-omron.cmd -#!../../bin/linux-x86_64/opcuaIoc -## You may have to change opcuaIoc to something else -## everywhere it appears in this file -< iocBoot/iocUaDemoServer/envPaths -epicsEnvSet("IOC","iocUaDemoServer") -epicsEnvSet("TOP","/dls_sw/work/R7.0.7-5.3/ioc/TS/TS99I-PS-IOC-01") -epicsEnvSet("EPICS_BASE","/dls_sw/work/epics/R7.0.7") -cd "/dls_sw/work/R7.0.7-5.3/ioc/TS/TS99I-PS-IOC-01" -## Register all support components -dbLoadDatabase "dbd/opcuaIoc.dbd" -opcuaIoc_registerRecordDeviceDriver pdbbase -# Pretty minimal setup: one session with a 200ms subscription on top -#opcuaSession OPC1 opc.tcp://localhost:48010 -#opcuaSession OPC1 opc.tcp://DIAMRD2882:48010 -#opcuaSubscription SUB1 OPC1 200 -# Alternative session for Omron PLC in G.13 -opcuaSession OPC2 opc.tcp://172.23.243.75:4840 -opcuaSubscription SUB2 OPC2 200 -# Switch off security -#opcuaOptions OPC1 sec-mode=None -opcuaOptions OPC2 sec-mode=None -#opcuaOptions OPC2 sec-mode=SignAndEncrypt -#opcuaOptions OPC2 sec-mode=Sign -#opcuaOptions OPC2 sec-policy=Basic256Sha256 -#opcuaOptions OPC2 sec-id=iocBoot/iocUaDemoServer/auth.txt -#opcuaSetupPKI /home/karb45/.config/unifiedautomation/uaexpert/PKI -# Load the databases for the UaServerCpp demo server -#dbLoadRecords "db/UaDemoServer-server.db", "P=OPC:,R=,SESS=OPC1,SUBS=SUB1" -#dbLoadRecords "db/Demo.Dynamic.Arrays.db", "P=OPC:,R=DDA:,SESS=OPC1,SUBS=SUB1" -#dbLoadRecords "db/Demo.Dynamic.Scalar.db", "P=OPC:,R=DDS:,SESS=OPC1,SUBS=SUB1" -#dbLoadRecords "db/Demo.Static.Arrays.db", "P=OPC:,R=DSA:,SESS=OPC1,SUBS=SUB1" -#dbLoadRecords "db/Demo.Static.Scalar.db", "P=OPC:,R=DSS:,SESS=OPC1,SUBS=SUB1" -#dbLoadRecords "db/Demo.WorkOrder.db", "P=OPC:,SESS=OPC1,SUBS=SUB1" -# DO NOT LOAD THESE DBs ON EPICS BASE < 7.0 \/ \/ \/ EPICS 7 ONLY -# int64 and long string records need EPICS 7 -#dbLoadRecords "db/Demo.Dynamic.ScalarE7.db", "P=OPC:,R=DDS:,SESS=OPC1,SUBS=SUB1" -#dbLoadRecords "db/Demo.Dynamic.ArraysE7.db", "P=OPC:,R=DDA:,SESS=OPC1,SUBS=SUB1" -#dbLoadRecords "db/Demo.Static.ScalarE7.db", "P=OPC:,R=DSS:,SESS=OPC1,SUBS=SUB1" -#dbLoadRecords "db/Demo.Static.ArraysE7.db", "P=OPC:,R=DSA:,SESS=OPC1,SUBS=SUB1" -# Extra records for Omron PLC. -#dbLoadRecords "db/OmronServer.db", "P=OPC2:,R=,SESS=OPC2,SUBS=SUB2" -dbLoadRecords "db/Omron_DS.db", "P=OPC2:,R=DS:,SESS=OPC2,SUBS=SUB2" -iocInit -Starting iocInit -############################################################################ -## EPICS R7.0.7 -## Rev. R7.0.7-1-ge1a1b778e96b88c6b7dc-dirty -## Rev. Date Git: 2023-06-28 10:47:02 +0100 -############################################################################ -OPC UA Client Device Support 0.9.4 (-); using Unified Automation C++ Client SDK v1.7.4-520 -iocRun: All initialization complete -OPC UA: Autoconnecting sessions -OPC UA session OPC2: connection status changed from Disconnected to Connected -OPC UA session OPC2: connected as 'Anonymous' (sec-mode: None; sec-policy: None) -OPC UA session OPC2: WARNING - this session uses *** NO SECURITY *** - diff --git a/ioc/README.md b/ioc/README.md deleted file mode 100644 index 73f8d54..0000000 --- a/ioc/README.md +++ /dev/null @@ -1,112 +0,0 @@ -# exampleTop - Example Application for OPC UA Support - -This is an example application that shows how to build an IOC -that connects to an OPC UA server. - -The only intention is to get you started. -The examples are not necessarily intended as a template for a real world -application. They don't cover all features, and they are not the one -and only way to do things. - -## Preparing the Module - -There are two ways to build the example application: - -1. __As an embedded module inside the OPC UA Support.__ - This is the original setup. This module (named `exampleTop`) is built - inside the Device Support module. All configuration is set up to use the - configuration of the parent module. - The example is being built as part of the hierarchical parent module build. - Obviously, you can also just `cd` into the example and rebuild it - without touching the parent module. - - Note: If you set `INSTALL_LOCATION` in the parent (Device Support) module, - you have to create a file `RELEASE.local` inside `configure` (or at one - of the other usual places) that sets `OPCUA` to the absolute path - (`INSTALL_LOCATION`) of the OPC UA Device Support - -2. __As a standalone module.__ - After copying the `exampleTop` module into your workspace (feel free to - rename it), you will have to adapt its configuration. - - * At the bottom of `configure/CONFIG_SITE` and `configure/RELEASE`, - adjust the commented-out sections to match your case. - - * Create a file `RELEASE.local` inside `configure` (or at one of the - other usual places) that sets `OPCUA` and `EPICS_BASE` to the absolute - path of the OPC UA Device Support and EPICS Base modules. - -## Building the Module - -Run `make` at the top level of the module. - -## Preparing the IOC - -Edit the example IOC startup script (`iocBoot/iocopcuaEx/st.cmd`): - -* Change the call to `opcuaCreateSession` to match your OPC UA server URL. - -* Uncomment the `dbLoadRecords` commands loading the example databases - for your server, adapting their macro settings if necessary. - -## Running the IOC - -Run the IOC, loading the startup script. - -Look at the database files to see which records are available. - -## Contents of the Example Module - -### TemplateDbSup - -Template databases used by the device example databases. - -`AnyServerDb` contains templates for namespace 0 (server namespace) that -should be implemented by any OPC UA server. - -### DeviceDbApp - -Example databases for different OPC UA servers. - -Please refer to the README files inside the device directories for details. - -The directory `.Db` is not being built, but intended as a template -when creating example databases for a new OPC UA device. - -## OPC UA Device Support Documentation - -The documentation folder of the Device Support module contains the -[Requirements Specification (SRS)][requirements.pdf] giving an introduction -and the list of requirements that should convey a good idea of the planned -features. - -The [Cheat Sheet][cheatsheet.pdf] explains the configuration in the startup -script and the database links. - -## Feedback / Reporting issues - -Please use the OPC UA Device Support Module's GitHub -[issue tracker](https://github.com/ralphlange/opcua/issues). - -## Contributing - -Contributions are welcome, preferably in the form of GitHub pull requests. - -An example for a new OPC UA device should contain: - -* a `DeviceDbApp` sub-directory that creates all necessary EPICS databases - -* a `README.md` file describing how to prepare the device to work - with the example application - -* a snippet for the startup script that loads the example databases. - -## License - -This example application is part of the OPC UA Device Support module -that is distributed subject to a Software License Agreement found -in file LICENSE that is included with its distribution. - - -[requirements.pdf]: https://docs.google.com/viewer?url=https://raw.githubusercontent.com/ralphlange/opcua/master/documentation/EPICS%20Support%20for%20OPC%20UA%20-%20SRS.pdf -[cheatsheet.pdf]: https://docs.google.com/viewer?url=https://raw.githubusercontent.com/ralphlange/opcua/master/documentation/EPICS%20Support%20for%20OPC%20UA%20-%20Cheat%20Sheet.pdf diff --git a/ioc/TemplateDbSup/AnyServerDb/Makefile b/ioc/TemplateDbSup/AnyServerDb/Makefile deleted file mode 100644 index 9e980f1..0000000 --- a/ioc/TemplateDbSup/AnyServerDb/Makefile +++ /dev/null @@ -1,25 +0,0 @@ -TOP=../.. -include $(TOP)/configure/CONFIG -#---------------------------------------- -# ADD MACRO DEFINITIONS AFTER THIS LINE - -#---------------------------------------------------- -# Optimization of db files using dbst (DEFAULT: NO) -#DB_OPT = YES - -#---------------------------------------------------- -# Create and install (or just install) into /db -# databases, templates, substitutions like this -#DB += xxx.db - -DB += opcuaServerInfo.template -DB += opcuaServerStats.template - -#---------------------------------------------------- -# If .db template is not named *.template add -# _template = - -include $(TOP)/configure/RULES -#---------------------------------------- -# ADD RULES AFTER THIS LINE - diff --git a/ioc/TemplateDbSup/AnyServerDb/opcuaServerInfo.template b/ioc/TemplateDbSup/AnyServerDb/opcuaServerInfo.template deleted file mode 100644 index 8aad2af..0000000 --- a/ioc/TemplateDbSup/AnyServerDb/opcuaServerInfo.template +++ /dev/null @@ -1,21 +0,0 @@ -# OPC UA Generic Server (namespace 0) -# Server information - -# Macros: -# P device prefix -# R device suffix -# SESS session name - -# static information (read when connecting) -record(stringin, "$(P)$(R)ManufacturerName") { - field(DTYP, "OPCUA") - field(INP, "@$(SESS) i=2263 monitor=n") -} -record(stringin, "$(P)$(R)ProductName") { - field(DTYP, "OPCUA") - field(INP, "@$(SESS) i=2261 monitor=n") -} -record(stringin, "$(P)$(R)SoftwareVersion") { - field(DTYP, "OPCUA") - field(INP, "@$(SESS) i=2264 monitor=n") -} diff --git a/ioc/TemplateDbSup/AnyServerDb/opcuaServerStats.template b/ioc/TemplateDbSup/AnyServerDb/opcuaServerStats.template deleted file mode 100644 index fa7a18e..0000000 --- a/ioc/TemplateDbSup/AnyServerDb/opcuaServerStats.template +++ /dev/null @@ -1,54 +0,0 @@ -# OPC UA Generic Server (namespace 0) -# Server statistics and health - -# Macros: -# P device prefix -# R device suffix -# SESS session name -# SUBS subscription name - -# dynamic information (read on subscription) -record(stringin, "$(P)$(R)CurrentTime") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) i=2258") - field(SCAN, "I/O Intr") -} -record(mbbi, "$(P)$(R)ServerState") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) i=2259") - field(SCAN, "I/O Intr") - field(ZRST, "Running") - field(ONST, "Failed") - field(TWST, "NoConfiguration") - field(THST, "Suspended") - field(FRST, "Shutdown") - field(FVST, "Test") - field(SXST, "CommunicationFault") - field(SVST, "Unknown") -} -record(longin, "$(P)$(R)CurrentSessionCount") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) i=2277") - field(SCAN, "I/O Intr") -} -record(longin, "$(P)$(R)CurrentSubscriptionCount") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) i=2285") - field(SCAN, "I/O Intr") -} -record(longin, "$(P)$(R)CumulatedSessionCount") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) i=2278") - field(SCAN, "I/O Intr") -} -record(longin, "$(P)$(R)CumulatedSubscriptionCount") { - field(DTYP, "OPCUA") - field(INP, "@$(SUBS) i=2286") - field(SCAN, "I/O Intr") -} - -# static information (read when connecting) -record(stringin, "$(P)$(R)StartTime") { - field(DTYP, "OPCUA") - field(INP, "@$(SESS) i=2257 monitor=n") -} diff --git a/ioc/TemplateDbSup/Makefile b/ioc/TemplateDbSup/Makefile deleted file mode 100644 index ab15bfb..0000000 --- a/ioc/TemplateDbSup/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -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 diff --git a/ioc/configure/CONFIG b/ioc/configure/CONFIG index c1a4703..722d9ca 100644 --- a/ioc/configure/CONFIG +++ b/ioc/configure/CONFIG @@ -15,6 +15,7 @@ endif CONFIG = $(RULES)/configure include $(CONFIG)/CONFIG +-include $(CONFIG)/CONFIG.Dls # Override the Base definition: INSTALL_LOCATION = $(TOP) diff --git a/ioc/configure/CONFIG_SITE b/ioc/configure/CONFIG_SITE index a0431ef..81c8e60 100644 --- a/ioc/configure/CONFIG_SITE +++ b/ioc/configure/CONFIG_SITE @@ -1,70 +1,7 @@ # CONFIG_SITE -# Make any application-specific changes to the EPICS build -# configuration variables in this file. -# -# Host/target specific settings can be specified in files named -# CONFIG_SITE.$(EPICS_HOST_ARCH).Common -# CONFIG_SITE.Common.$(T_A) -# CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A) - -# CHECK_RELEASE controls the consistency checking of the support -# applications pointed to by the RELEASE* files. -# Normally CHECK_RELEASE should be set to YES. -# Set CHECK_RELEASE to NO to disable checking completely. -# Set CHECK_RELEASE to WARN to perform consistency checking but -# continue building even if conflicts are found. -CHECK_RELEASE = YES - -# Set this when you only want to compile this application -# for a subset of the cross-compiled target architectures -# that Base is built for. -#CROSS_COMPILER_TARGET_ARCHS = vxWorks-ppc32 - -# To install files into a location other than $(TOP) define -# INSTALL_LOCATION here. -#INSTALL_LOCATION= - -# Set this when the IOC and build host use different paths -# to the install location. This may be needed to boot from -# a Microsoft FTP server say, or on some NFS configurations. -#IOCS_APPL_TOP = - -# For application debugging purposes, override the HOST_OPT and/ -# or CROSS_OPT settings from base/configure/CONFIG_SITE -#HOST_OPT = NO -#CROSS_OPT = NO - -# Path to the Unified Automation OPC UA C++ SDK -#UASDK = $(TOP)/../../uasdkcppclient-v1.5.3-346/sdk - -# How the Unified Automation SDK shared libraries are deployed -# SYSTEM = shared libs are in a system location -# PROVIDED = shared libs are in $(UASDK_SHRLIB_DIR) -# INSTALL = shared libs are installed (copied) into this module -# EMBED = link SDK code statically into libopcua, -# SDK libraries are not required on target system -UASDK_DEPLOY_MODE = PROVIDED -UASDK_LIB_DIR = $(UASDK)/lib -UASDK_SHRLIB_DIR = $(UASDK_LIB_DIR) -# How the Unified Automation SDK libraries were built -UASDK_USE_CRYPTO = YES -UASDK_USE_XMLPARSER = YES +CROSS_COMPILER_TARGET_ARCHS = +CHECK_RELEASE = NO +# needs to match what the opcua sdk is built with? USR_CXXFLAGS_Linux += -std=c++11 - -# These allow developers to override the CONFIG_SITE variable -# settings without having to modify the configure/CONFIG_SITE -# file itself. - -# Inside an embedded TOP, use the following definitions -# pointing to the configuration of the parent module -#-include $(TOP)/../../CONFIG_SITE.local -#-include $(TOP)/../../configure/CONFIG_SITE.local -#-include $(TOP)/../configure/CONFIG_SITE.local -#-include $(TOP)/configure/CONFIG_SITE.local - -# Inside a standalone TOP, use the following definitions instead --include $(TOP)/../CONFIG_SITE.local --include $(TOP)/../configure/CONFIG_SITE.local --include $(TOP)/configure/CONFIG_SITE.local diff --git a/ioc/configure/CONFIG_SITE.local b/ioc/configure/CONFIG_SITE.local deleted file mode 100644 index 4a12395..0000000 --- a/ioc/configure/CONFIG_SITE.local +++ /dev/null @@ -1 +0,0 @@ -CROSS_COMPILER_TARGET_ARCHS = diff --git a/ioc/configure/RELEASE b/ioc/configure/RELEASE index eee13ed..57c536e 100644 --- a/ioc/configure/RELEASE +++ b/ioc/configure/RELEASE @@ -1,52 +1,5 @@ -# RELEASE - Location of external support modules +# The following definitions must be changed for each site # -# IF YOU MAKE ANY CHANGES to this file you must subsequently -# do a "gnumake rebuild" in this application's top level -# directory. -# -# The build process does not check dependencies against files -# that are outside this application, thus you should do a -# "gnumake rebuild" in the top level directory after EPICS_BASE -# or any other external module pointed to below is rebuilt. -# -# Host- or target-specific settings can be given in files named -# RELEASE.$(EPICS_HOST_ARCH).Common -# RELEASE.Common.$(T_A) -# RELEASE.$(EPICS_HOST_ARCH).$(T_A) -# -# This file is parsed by both GNUmake and an EPICS Perl script, -# so it can ONLY contain definititions of paths to other support -# modules, variable definitions that are used in module paths, -# and include statements that pull in other RELEASE files. -# Variables may be used before their values have been set. -# Build variables that are NOT used in paths should be set in -# the CONFIG_SITE file. - -# Variables and paths to dependent modules: -#MODULES = /path/to/modules -#MYMODULE = $(MODULES)/my-module - -# When used as an embedded TOP -#OPCUA = $(TOP)/.. -# NOTE: if the parent module sets INSTALL_LOCATION, OPCUA must be set -# explicitly to the absolute path of that, preferably in a RELEASE.local -# file. (See README and issue #63) - -# EPICS_BASE should appear last so earlier modules can override stuff: -#EPICS_BASE = /opt/epics/3.15.5 - -# Set RULES here if you want to use build rules from somewhere -# other than EPICS_BASE: -#RULES = $(MODULES)/build-rules - -# Inside an embedded TOP, use the following definitions -# pointing to the configuration of the parent module -#-include $(TOP)/../../RELEASE.local -#-include $(TOP)/../../configure/RELEASE.local -#-include $(TOP)/../configure/RELEASE.local -#-include $(TOP)/configure/RELEASE.local - -# Inside a standalone TOP, use the following definitions instead --include $(TOP)/../RELEASE.local --include $(TOP)/../configure/RELEASE.local --include $(TOP)/configure/RELEASE.local +# Common prefixes +SUPPORT=/epics/support +include $(SUPPORT)/configure/RELEASE diff --git a/ioc/configure/RELEASE.local b/ioc/configure/RELEASE.local deleted file mode 100644 index 5179fc1..0000000 --- a/ioc/configure/RELEASE.local +++ /dev/null @@ -1,2 +0,0 @@ -EPICS_BASE = /epics/epics-base - diff --git a/ioc/configure/RULES b/ioc/configure/RULES index 6d56e14..3425740 100644 --- a/ioc/configure/RULES +++ b/ioc/configure/RULES @@ -1,5 +1,6 @@ # RULES +-include $(CONFIG)/RULES.Dls include $(CONFIG)/RULES # Library should be rebuilt because LIBOBJS may have changed. diff --git a/ioc/dbd/ioc.dbd b/ioc/dbd/ioc.dbd new file mode 100644 index 0000000..dcf8483 --- /dev/null +++ b/ioc/dbd/ioc.dbd @@ -0,0 +1,18793 @@ +menu(aSubEFLG) { + choice(aSubEFLG_NEVER, "NEVER") + choice(aSubEFLG_ON_CHANGE, "ON CHANGE") + choice(aSubEFLG_ALWAYS, "ALWAYS") +} +menu(aSubLFLG) { + choice(aSubLFLG_IGNORE, "IGNORE") + choice(aSubLFLG_READ, "READ") +} +menu(aaiPOST) { + choice(aaiPOST_Always, "Always") + choice(aaiPOST_OnChange, "On Change") +} +menu(aaoPOST) { + choice(aaoPOST_Always, "Always") + choice(aaoPOST_OnChange, "On Change") +} +menu(aoOIF) { + choice(aoOIF_Full, "Full") + choice(aoOIF_Incremental, "Incremental") +} +menu(bufferingALG) { + choice(bufferingALG_FIFO, "FIFO Buffer") + choice(bufferingALG_LIFO, "LIFO Buffer") +} +menu(calcoutDOPT) { + choice(calcoutDOPT_Use_VAL, "Use CALC") + choice(calcoutDOPT_Use_OVAL, "Use OCAL") +} +menu(calcoutINAV) { + choice(calcoutINAV_EXT_NC, "Ext PV NC") + choice(calcoutINAV_EXT, "Ext PV OK") + choice(calcoutINAV_LOC, "Local PV") + choice(calcoutINAV_CON, "Constant") +} +menu(calcoutOOPT) { + choice(calcoutOOPT_Every_Time, "Every Time") + choice(calcoutOOPT_On_Change, "On Change") + choice(calcoutOOPT_When_Zero, "When Zero") + choice(calcoutOOPT_When_Non_zero, "When Non-zero") + choice(calcoutOOPT_Transition_To_Zero, "Transition To Zero") + choice(calcoutOOPT_Transition_To_Non_zero, "Transition To Non-zero") +} +menu(compressALG) { + choice(compressALG_N_to_1_Low_Value, "N to 1 Low Value") + choice(compressALG_N_to_1_High_Value, "N to 1 High Value") + choice(compressALG_N_to_1_Average, "N to 1 Average") + choice(compressALG_Average, "Average") + choice(compressALG_Circular_Buffer, "Circular Buffer") + choice(compressALG_N_to_1_Median, "N to 1 Median") +} +menu(dfanoutSELM) { + choice(dfanoutSELM_All, "All") + choice(dfanoutSELM_Specified, "Specified") + choice(dfanoutSELM_Mask, "Mask") +} +menu(fanoutSELM) { + choice(fanoutSELM_All, "All") + choice(fanoutSELM_Specified, "Specified") + choice(fanoutSELM_Mask, "Mask") +} +menu(histogramCMD) { + choice(histogramCMD_Read, "Read") + choice(histogramCMD_Clear, "Clear") + choice(histogramCMD_Start, "Start") + choice(histogramCMD_Stop, "Stop") +} +menu(menuAlarmSevr) { + choice(menuAlarmSevrNO_ALARM, "NO_ALARM") + choice(menuAlarmSevrMINOR, "MINOR") + choice(menuAlarmSevrMAJOR, "MAJOR") + choice(menuAlarmSevrINVALID, "INVALID") +} +menu(menuAlarmStat) { + choice(menuAlarmStatNO_ALARM, "NO_ALARM") + choice(menuAlarmStatREAD, "READ") + choice(menuAlarmStatWRITE, "WRITE") + choice(menuAlarmStatHIHI, "HIHI") + choice(menuAlarmStatHIGH, "HIGH") + choice(menuAlarmStatLOLO, "LOLO") + choice(menuAlarmStatLOW, "LOW") + choice(menuAlarmStatSTATE, "STATE") + choice(menuAlarmStatCOS, "COS") + choice(menuAlarmStatCOMM, "COMM") + choice(menuAlarmStatTIMEOUT, "TIMEOUT") + choice(menuAlarmStatHWLIMIT, "HWLIMIT") + choice(menuAlarmStatCALC, "CALC") + choice(menuAlarmStatSCAN, "SCAN") + choice(menuAlarmStatLINK, "LINK") + choice(menuAlarmStatSOFT, "SOFT") + choice(menuAlarmStatBAD_SUB, "BAD_SUB") + choice(menuAlarmStatUDF, "UDF") + choice(menuAlarmStatDISABLE, "DISABLE") + choice(menuAlarmStatSIMM, "SIMM") + choice(menuAlarmStatREAD_ACCESS, "READ_ACCESS") + choice(menuAlarmStatWRITE_ACCESS, "WRITE_ACCESS") +} +menu(menuBini) { + choice(menuBiniREAD, "read") + choice(menuBiniIGNORE, "ignore") + choice(menuBiniWRITE, "write") +} +menu(menuConvert) { + choice(menuConvertNO_CONVERSION, "NO CONVERSION") + choice(menuConvertSLOPE, "SLOPE") + choice(menuConvertLINEAR, "LINEAR") + choice(menuConverttypeKdegF, "typeKdegF") + choice(menuConverttypeKdegC, "typeKdegC") + choice(menuConverttypeJdegF, "typeJdegF") + choice(menuConverttypeJdegC, "typeJdegC") + choice(menuConverttypeEdegF, "typeEdegF(ixe only)") + choice(menuConverttypeEdegC, "typeEdegC(ixe only)") + choice(menuConverttypeTdegF, "typeTdegF") + choice(menuConverttypeTdegC, "typeTdegC") + choice(menuConverttypeRdegF, "typeRdegF") + choice(menuConverttypeRdegC, "typeRdegC") + choice(menuConverttypeSdegF, "typeSdegF") + choice(menuConverttypeSdegC, "typeSdegC") +} +menu(menuDefAction) { + choice(menuDefActionREAD, "read") + choice(menuDefActionWRITE, "write") +} +menu(menuFtype) { + choice(menuFtypeSTRING, "STRING") + choice(menuFtypeCHAR, "CHAR") + choice(menuFtypeUCHAR, "UCHAR") + choice(menuFtypeSHORT, "SHORT") + choice(menuFtypeUSHORT, "USHORT") + choice(menuFtypeLONG, "LONG") + choice(menuFtypeULONG, "ULONG") + choice(menuFtypeINT64, "INT64") + choice(menuFtypeUINT64, "UINT64") + choice(menuFtypeFLOAT, "FLOAT") + choice(menuFtypeDOUBLE, "DOUBLE") + choice(menuFtypeENUM, "ENUM") +} +menu(menuIvoa) { + choice(menuIvoaContinue_normally, "Continue normally") + choice(menuIvoaDon_t_drive_outputs, "Don't drive outputs") + choice(menuIvoaSet_output_to_IVOV, "Set output to IVOV") +} +menu(menuOmsl) { + choice(menuOmslsupervisory, "supervisory") + choice(menuOmslclosed_loop, "closed_loop") +} +menu(menuPini) { + choice(menuPiniNO, "NO") + choice(menuPiniYES, "YES") + choice(menuPiniRUN, "RUN") + choice(menuPiniRUNNING, "RUNNING") + choice(menuPiniPAUSE, "PAUSE") + choice(menuPiniPAUSED, "PAUSED") +} +menu(menuPost) { + choice(menuPost_OnChange, "On Change") + choice(menuPost_Always, "Always") +} +menu(menuPriority) { + choice(menuPriorityLOW, "LOW") + choice(menuPriorityMEDIUM, "MEDIUM") + choice(menuPriorityHIGH, "HIGH") +} +menu(menuScan) { + choice(menuScanPassive, "Passive") + choice(menuScanEvent, "Event") + choice(menuScanI_O_Intr, "I/O Intr") + choice(menuScan10_second, "10 second") + choice(menuScan5_second, "5 second") + choice(menuScan2_second, "2 second") + choice(menuScan1_second, "1 second") + choice(menuScan_5_second, ".5 second") + choice(menuScan_2_second, ".2 second") + choice(menuScan_1_second, ".1 second") +} +menu(menuSimm) { + choice(menuSimmNO, "NO") + choice(menuSimmYES, "YES") + choice(menuSimmRAW, "RAW") +} +menu(menuWoc) { + choice(menuWocMANUAL, "manual") + choice(menuWocIMMEDIATE, "immediate") +} +menu(menuYesNo) { + choice(menuYesNoNO, "NO") + choice(menuYesNoYES, "YES") +} +menu(selSELM) { + choice(selSELM_Specified, "Specified") + choice(selSELM_High_Signal, "High Signal") + choice(selSELM_Low_Signal, "Low Signal") + choice(selSELM_Median_Signal, "Median Signal") +} +menu(seqSELM) { + choice(seqSELM_All, "All") + choice(seqSELM_Specified, "Specified") + choice(seqSELM_Mask, "Mask") +} +menu(stringinPOST) { + choice(stringinPOST_OnChange, "On Change") + choice(stringinPOST_Always, "Always") +} +menu(stringoutPOST) { + choice(stringoutPOST_OnChange, "On Change") + choice(stringoutPOST_Always, "Always") +} +menu(waveformPOST) { + choice(waveformPOST_Always, "Always") + choice(waveformPOST_OnChange, "On Change") +} +recordtype(aSub) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + %struct aSubRecord; + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_LONG) { + prompt("Subr. return value") + asl(ASL0) + } + field(OVAL, DBF_LONG) { + prompt("Old return value") + interest(3) + special(SPC_NOMOD) + } + field(INAM, DBF_STRING) { + size(41) + prompt("Initialize Subr. Name") + promptgroup("30 - Action") + interest(1) + special(SPC_NOMOD) + } + field(LFLG, DBF_MENU) { + prompt("Subr. Input Enable") + menu(aSubLFLG) + promptgroup("30 - Action") + interest(1) + } + field(SUBL, DBF_INLINK) { + prompt("Subroutine Name Link") + promptgroup("30 - Action") + interest(1) + special(SPC_NOMOD) + } + field(SNAM, DBF_STRING) { + size(41) + prompt("Process Subr. Name") + promptgroup("30 - Action") + interest(1) + special(SPC_MOD) + } + field(ONAM, DBF_STRING) { + size(41) + prompt("Old Subr. Name") + promptgroup("30 - Action") + interest(3) + special(SPC_NOMOD) + } + field(SADR, DBF_NOACCESS) { + prompt("Subroutine Address") + extra("long (*sadr)(struct aSubRecord *)") + interest(2) + special(SPC_NOMOD) + } + field(CADR, DBF_NOACCESS) { + prompt("Subroutine Cleanup Address") + extra("void (*cadr)(struct aSubRecord *)") + interest(2) + special(SPC_NOMOD) + } + field(BRSV, DBF_MENU) { + pp(TRUE) + prompt("Bad Return Severity") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(EFLG, DBF_MENU) { + initial("1") + prompt("Output Event Flag") + menu(aSubEFLG) + promptgroup("50 - Output") + interest(1) + } + field(INPA, DBF_INLINK) { + prompt("Input Link A") + promptgroup("41 - Input A-G") + interest(1) + } + field(INPB, DBF_INLINK) { + prompt("Input Link B") + promptgroup("41 - Input A-G") + interest(1) + } + field(INPC, DBF_INLINK) { + prompt("Input Link C") + promptgroup("41 - Input A-G") + interest(1) + } + field(INPD, DBF_INLINK) { + prompt("Input Link D") + promptgroup("41 - Input A-G") + interest(1) + } + field(INPE, DBF_INLINK) { + prompt("Input Link E") + promptgroup("41 - Input A-G") + interest(1) + } + field(INPF, DBF_INLINK) { + prompt("Input Link F") + promptgroup("41 - Input A-G") + interest(1) + } + field(INPG, DBF_INLINK) { + prompt("Input Link G") + promptgroup("41 - Input A-G") + interest(1) + } + field(INPH, DBF_INLINK) { + prompt("Input Link H") + promptgroup("42 - Input H-N") + interest(1) + } + field(INPI, DBF_INLINK) { + prompt("Input Link I") + promptgroup("42 - Input H-N") + interest(1) + } + field(INPJ, DBF_INLINK) { + prompt("Input Link J") + promptgroup("42 - Input H-N") + interest(1) + } + field(INPK, DBF_INLINK) { + prompt("Input Link K") + promptgroup("42 - Input H-N") + interest(1) + } + field(INPL, DBF_INLINK) { + prompt("Input Link L") + promptgroup("42 - Input H-N") + interest(1) + } + field(INPM, DBF_INLINK) { + prompt("Input Link M") + promptgroup("42 - Input H-N") + interest(1) + } + field(INPN, DBF_INLINK) { + prompt("Input Link N") + promptgroup("42 - Input H-N") + interest(1) + } + field(INPO, DBF_INLINK) { + prompt("Input Link O") + promptgroup("43 - Input O-U") + interest(1) + } + field(INPP, DBF_INLINK) { + prompt("Input Link P") + promptgroup("43 - Input O-U") + interest(1) + } + field(INPQ, DBF_INLINK) { + prompt("Input Link Q") + promptgroup("43 - Input O-U") + interest(1) + } + field(INPR, DBF_INLINK) { + prompt("Input Link R") + promptgroup("43 - Input O-U") + interest(1) + } + field(INPS, DBF_INLINK) { + prompt("Input Link S") + promptgroup("43 - Input O-U") + interest(1) + } + field(INPT, DBF_INLINK) { + prompt("Input Link T") + promptgroup("43 - Input O-U") + interest(1) + } + field(INPU, DBF_INLINK) { + prompt("Input Link U") + promptgroup("43 - Input O-U") + interest(1) + } + field(A, DBF_NOACCESS) { + prompt("Input value A") + extra("void *a") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(B, DBF_NOACCESS) { + prompt("Input value B") + extra("void *b") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(C, DBF_NOACCESS) { + prompt("Input value C") + extra("void *c") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(D, DBF_NOACCESS) { + prompt("Input value D") + extra("void *d") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(E, DBF_NOACCESS) { + prompt("Input value E") + extra("void *e") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(F, DBF_NOACCESS) { + prompt("Input value F") + extra("void *f") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(G, DBF_NOACCESS) { + prompt("Input value G") + extra("void *g") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(H, DBF_NOACCESS) { + prompt("Input value H") + extra("void *h") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(I, DBF_NOACCESS) { + prompt("Input value I") + extra("void *i") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(J, DBF_NOACCESS) { + prompt("Input value J") + extra("void *j") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(K, DBF_NOACCESS) { + prompt("Input value K") + extra("void *k") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(L, DBF_NOACCESS) { + prompt("Input value L") + extra("void *l") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(M, DBF_NOACCESS) { + prompt("Input value M") + extra("void *m") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(N, DBF_NOACCESS) { + prompt("Input value N") + extra("void *n") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(O, DBF_NOACCESS) { + prompt("Input value O") + extra("void *o") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(P, DBF_NOACCESS) { + prompt("Input value P") + extra("void *p") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(Q, DBF_NOACCESS) { + prompt("Input value Q") + extra("void *q") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(R, DBF_NOACCESS) { + prompt("Input value R") + extra("void *r") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(S, DBF_NOACCESS) { + prompt("Input value S") + extra("void *s") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(T, DBF_NOACCESS) { + prompt("Input value T") + extra("void *t") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(U, DBF_NOACCESS) { + prompt("Input value U") + extra("void *u") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(FTA, DBF_MENU) { + initial("DOUBLE") + prompt("Type of A") + menu(menuFtype) + promptgroup("41 - Input A-G") + interest(1) + special(SPC_NOMOD) + } + field(FTB, DBF_MENU) { + initial("DOUBLE") + prompt("Type of B") + menu(menuFtype) + promptgroup("41 - Input A-G") + interest(1) + special(SPC_NOMOD) + } + field(FTC, DBF_MENU) { + initial("DOUBLE") + prompt("Type of C") + menu(menuFtype) + promptgroup("41 - Input A-G") + interest(1) + special(SPC_NOMOD) + } + field(FTD, DBF_MENU) { + initial("DOUBLE") + prompt("Type of D") + menu(menuFtype) + promptgroup("41 - Input A-G") + interest(1) + special(SPC_NOMOD) + } + field(FTE, DBF_MENU) { + initial("DOUBLE") + prompt("Type of E") + menu(menuFtype) + promptgroup("41 - Input A-G") + interest(1) + special(SPC_NOMOD) + } + field(FTF, DBF_MENU) { + initial("DOUBLE") + prompt("Type of F") + menu(menuFtype) + promptgroup("41 - Input A-G") + interest(1) + special(SPC_NOMOD) + } + field(FTG, DBF_MENU) { + initial("DOUBLE") + prompt("Type of G") + menu(menuFtype) + promptgroup("41 - Input A-G") + interest(1) + special(SPC_NOMOD) + } + field(FTH, DBF_MENU) { + initial("DOUBLE") + prompt("Type of H") + menu(menuFtype) + promptgroup("42 - Input H-N") + interest(1) + special(SPC_NOMOD) + } + field(FTI, DBF_MENU) { + initial("DOUBLE") + prompt("Type of I") + menu(menuFtype) + promptgroup("42 - Input H-N") + interest(1) + special(SPC_NOMOD) + } + field(FTJ, DBF_MENU) { + initial("DOUBLE") + prompt("Type of J") + menu(menuFtype) + promptgroup("42 - Input H-N") + interest(1) + special(SPC_NOMOD) + } + field(FTK, DBF_MENU) { + initial("DOUBLE") + prompt("Type of K") + menu(menuFtype) + promptgroup("42 - Input H-N") + interest(1) + special(SPC_NOMOD) + } + field(FTL, DBF_MENU) { + initial("DOUBLE") + prompt("Type of L") + menu(menuFtype) + promptgroup("42 - Input H-N") + interest(1) + special(SPC_NOMOD) + } + field(FTM, DBF_MENU) { + initial("DOUBLE") + prompt("Type of M") + menu(menuFtype) + promptgroup("42 - Input H-N") + interest(1) + special(SPC_NOMOD) + } + field(FTN, DBF_MENU) { + initial("DOUBLE") + prompt("Type of N") + menu(menuFtype) + promptgroup("42 - Input H-N") + interest(1) + special(SPC_NOMOD) + } + field(FTO, DBF_MENU) { + initial("DOUBLE") + prompt("Type of O") + menu(menuFtype) + promptgroup("43 - Input O-U") + interest(1) + special(SPC_NOMOD) + } + field(FTP, DBF_MENU) { + initial("DOUBLE") + prompt("Type of P") + menu(menuFtype) + promptgroup("43 - Input O-U") + interest(1) + special(SPC_NOMOD) + } + field(FTQ, DBF_MENU) { + initial("DOUBLE") + prompt("Type of Q") + menu(menuFtype) + promptgroup("43 - Input O-U") + interest(1) + special(SPC_NOMOD) + } + field(FTR, DBF_MENU) { + initial("DOUBLE") + prompt("Type of R") + menu(menuFtype) + promptgroup("43 - Input O-U") + interest(1) + special(SPC_NOMOD) + } + field(FTS, DBF_MENU) { + initial("DOUBLE") + prompt("Type of S") + menu(menuFtype) + promptgroup("43 - Input O-U") + interest(1) + special(SPC_NOMOD) + } + field(FTT, DBF_MENU) { + initial("DOUBLE") + prompt("Type of T") + menu(menuFtype) + promptgroup("43 - Input O-U") + interest(1) + special(SPC_NOMOD) + } + field(FTU, DBF_MENU) { + initial("DOUBLE") + prompt("Type of U") + menu(menuFtype) + promptgroup("43 - Input O-U") + interest(1) + special(SPC_NOMOD) + } + field(NOA, DBF_ULONG) { + initial("1") + prompt("Max. elements in A") + promptgroup("41 - Input A-G") + interest(1) + special(SPC_NOMOD) + } + field(NOB, DBF_ULONG) { + initial("1") + prompt("Max. elements in B") + promptgroup("41 - Input A-G") + interest(1) + special(SPC_NOMOD) + } + field(NOC, DBF_ULONG) { + initial("1") + prompt("Max. elements in C") + promptgroup("41 - Input A-G") + interest(1) + special(SPC_NOMOD) + } + field(NOD, DBF_ULONG) { + initial("1") + prompt("Max. elements in D") + promptgroup("41 - Input A-G") + interest(1) + special(SPC_NOMOD) + } + field(NOE, DBF_ULONG) { + initial("1") + prompt("Max. elements in E") + promptgroup("41 - Input A-G") + interest(1) + special(SPC_NOMOD) + } + field(NOF, DBF_ULONG) { + initial("1") + prompt("Max. elements in F") + promptgroup("41 - Input A-G") + interest(1) + special(SPC_NOMOD) + } + field(NOG, DBF_ULONG) { + initial("1") + prompt("Max. elements in G") + promptgroup("41 - Input A-G") + interest(1) + special(SPC_NOMOD) + } + field(NOH, DBF_ULONG) { + initial("1") + prompt("Max. elements in H") + promptgroup("42 - Input H-N") + interest(1) + special(SPC_NOMOD) + } + field(NOI, DBF_ULONG) { + initial("1") + prompt("Max. elements in I") + promptgroup("42 - Input H-N") + interest(1) + special(SPC_NOMOD) + } + field(NOJ, DBF_ULONG) { + initial("1") + prompt("Max. elements in J") + promptgroup("42 - Input H-N") + interest(1) + special(SPC_NOMOD) + } + field(NOK, DBF_ULONG) { + initial("1") + prompt("Max. elements in K") + promptgroup("42 - Input H-N") + interest(1) + special(SPC_NOMOD) + } + field(NOL, DBF_ULONG) { + initial("1") + prompt("Max. elements in L") + promptgroup("42 - Input H-N") + interest(1) + special(SPC_NOMOD) + } + field(NOM, DBF_ULONG) { + initial("1") + prompt("Max. elements in M") + promptgroup("42 - Input H-N") + interest(1) + special(SPC_NOMOD) + } + field(NON, DBF_ULONG) { + initial("1") + prompt("Max. elements in N") + promptgroup("42 - Input H-N") + interest(1) + special(SPC_NOMOD) + } + field(NOO, DBF_ULONG) { + initial("1") + prompt("Max. elements in O") + promptgroup("43 - Input O-U") + interest(1) + special(SPC_NOMOD) + } + field(NOP, DBF_ULONG) { + initial("1") + prompt("Max. elements in P") + promptgroup("43 - Input O-U") + interest(1) + special(SPC_NOMOD) + } + field(NOQ, DBF_ULONG) { + initial("1") + prompt("Max. elements in Q") + promptgroup("43 - Input O-U") + interest(1) + special(SPC_NOMOD) + } + field(NOR, DBF_ULONG) { + initial("1") + prompt("Max. elements in R") + promptgroup("43 - Input O-U") + interest(1) + special(SPC_NOMOD) + } + field(NOS, DBF_ULONG) { + initial("1") + prompt("Max. elements in S") + promptgroup("43 - Input O-U") + interest(1) + special(SPC_NOMOD) + } + field(NOT, DBF_ULONG) { + initial("1") + prompt("Max. elements in T") + promptgroup("43 - Input O-U") + interest(1) + special(SPC_NOMOD) + } + field(NOU, DBF_ULONG) { + initial("1") + prompt("Max. elements in U") + promptgroup("43 - Input O-U") + interest(1) + special(SPC_NOMOD) + } + field(NEA, DBF_ULONG) { + initial("1") + prompt("Num. elements in A") + interest(3) + special(SPC_NOMOD) + } + field(NEB, DBF_ULONG) { + initial("1") + prompt("Num. elements in B") + interest(3) + special(SPC_NOMOD) + } + field(NEC, DBF_ULONG) { + initial("1") + prompt("Num. elements in C") + interest(3) + special(SPC_NOMOD) + } + field(NED, DBF_ULONG) { + initial("1") + prompt("Num. elements in D") + interest(3) + special(SPC_NOMOD) + } + field(NEE, DBF_ULONG) { + initial("1") + prompt("Num. elements in E") + interest(3) + special(SPC_NOMOD) + } + field(NEF, DBF_ULONG) { + initial("1") + prompt("Num. elements in F") + interest(3) + special(SPC_NOMOD) + } + field(NEG, DBF_ULONG) { + initial("1") + prompt("Num. elements in G") + interest(3) + special(SPC_NOMOD) + } + field(NEH, DBF_ULONG) { + initial("1") + prompt("Num. elements in H") + interest(3) + special(SPC_NOMOD) + } + field(NEI, DBF_ULONG) { + initial("1") + prompt("Num. elements in I") + interest(3) + special(SPC_NOMOD) + } + field(NEJ, DBF_ULONG) { + initial("1") + prompt("Num. elements in J") + interest(3) + special(SPC_NOMOD) + } + field(NEK, DBF_ULONG) { + initial("1") + prompt("Num. elements in K") + interest(3) + special(SPC_NOMOD) + } + field(NEL, DBF_ULONG) { + initial("1") + prompt("Num. elements in L") + interest(3) + special(SPC_NOMOD) + } + field(NEM, DBF_ULONG) { + initial("1") + prompt("Num. elements in M") + interest(3) + special(SPC_NOMOD) + } + field(NEN, DBF_ULONG) { + initial("1") + prompt("Num. elements in N") + interest(3) + special(SPC_NOMOD) + } + field(NEO, DBF_ULONG) { + initial("1") + prompt("Num. elements in O") + interest(3) + special(SPC_NOMOD) + } + field(NEP, DBF_ULONG) { + initial("1") + prompt("Num. elements in P") + interest(3) + special(SPC_NOMOD) + } + field(NEQ, DBF_ULONG) { + initial("1") + prompt("Num. elements in Q") + interest(3) + special(SPC_NOMOD) + } + field(NER, DBF_ULONG) { + initial("1") + prompt("Num. elements in R") + interest(3) + special(SPC_NOMOD) + } + field(NES, DBF_ULONG) { + initial("1") + prompt("Num. elements in S") + interest(3) + special(SPC_NOMOD) + } + field(NET, DBF_ULONG) { + initial("1") + prompt("Num. elements in T") + interest(3) + special(SPC_NOMOD) + } + field(NEU, DBF_ULONG) { + initial("1") + prompt("Num. elements in U") + interest(3) + special(SPC_NOMOD) + } + field(OUTA, DBF_OUTLINK) { + prompt("Output Link A") + promptgroup("51 - Output A-G") + interest(1) + } + field(OUTB, DBF_OUTLINK) { + prompt("Output Link B") + promptgroup("51 - Output A-G") + interest(1) + } + field(OUTC, DBF_OUTLINK) { + prompt("Output Link C") + promptgroup("51 - Output A-G") + interest(1) + } + field(OUTD, DBF_OUTLINK) { + prompt("Output Link D") + promptgroup("51 - Output A-G") + interest(1) + } + field(OUTE, DBF_OUTLINK) { + prompt("Output Link E") + promptgroup("51 - Output A-G") + interest(1) + } + field(OUTF, DBF_OUTLINK) { + prompt("Output Link F") + promptgroup("51 - Output A-G") + interest(1) + } + field(OUTG, DBF_OUTLINK) { + prompt("Output Link G") + promptgroup("51 - Output A-G") + interest(1) + } + field(OUTH, DBF_OUTLINK) { + prompt("Output Link H") + promptgroup("52 - Output H-N") + interest(1) + } + field(OUTI, DBF_OUTLINK) { + prompt("Output Link I") + promptgroup("52 - Output H-N") + interest(1) + } + field(OUTJ, DBF_OUTLINK) { + prompt("Output Link J") + promptgroup("52 - Output H-N") + interest(1) + } + field(OUTK, DBF_OUTLINK) { + prompt("Output Link K") + promptgroup("52 - Output H-N") + interest(1) + } + field(OUTL, DBF_OUTLINK) { + prompt("Output Link L") + promptgroup("52 - Output H-N") + interest(1) + } + field(OUTM, DBF_OUTLINK) { + prompt("Output Link M") + promptgroup("52 - Output H-N") + interest(1) + } + field(OUTN, DBF_OUTLINK) { + prompt("Output Link N") + promptgroup("52 - Output H-N") + interest(1) + } + field(OUTO, DBF_OUTLINK) { + prompt("Output Link O") + promptgroup("53 - Output O-U") + interest(1) + } + field(OUTP, DBF_OUTLINK) { + prompt("Output Link P") + promptgroup("53 - Output O-U") + interest(1) + } + field(OUTQ, DBF_OUTLINK) { + prompt("Output Link Q") + promptgroup("53 - Output O-U") + interest(1) + } + field(OUTR, DBF_OUTLINK) { + prompt("Output Link R") + promptgroup("53 - Output O-U") + interest(1) + } + field(OUTS, DBF_OUTLINK) { + prompt("Output Link S") + promptgroup("53 - Output O-U") + interest(1) + } + field(OUTT, DBF_OUTLINK) { + prompt("Output Link T") + promptgroup("53 - Output O-U") + interest(1) + } + field(OUTU, DBF_OUTLINK) { + prompt("Output Link U") + promptgroup("53 - Output O-U") + interest(1) + } + field(VALA, DBF_NOACCESS) { + prompt("Output value A") + extra("void *vala") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(VALB, DBF_NOACCESS) { + prompt("Output value B") + extra("void *valb") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(VALC, DBF_NOACCESS) { + prompt("Output value C") + extra("void *valc") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(VALD, DBF_NOACCESS) { + prompt("Output value D") + extra("void *vald") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(VALE, DBF_NOACCESS) { + prompt("Output value E") + extra("void *vale") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(VALF, DBF_NOACCESS) { + prompt("Output value F") + extra("void *valf") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(VALG, DBF_NOACCESS) { + prompt("Output value G") + extra("void *valg") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(VALH, DBF_NOACCESS) { + prompt("Output value H") + extra("void *valh") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(VALI, DBF_NOACCESS) { + prompt("Output value I") + extra("void *vali") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(VALJ, DBF_NOACCESS) { + prompt("Output value J") + extra("void *valj") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(VALK, DBF_NOACCESS) { + prompt("Output value K") + extra("void *valk") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(VALL, DBF_NOACCESS) { + prompt("Output value L") + extra("void *vall") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(VALM, DBF_NOACCESS) { + prompt("Output value M") + extra("void *valm") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(VALN, DBF_NOACCESS) { + prompt("Output value N") + extra("void *valn") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(VALO, DBF_NOACCESS) { + prompt("Output value O") + extra("void *valo") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(VALP, DBF_NOACCESS) { + prompt("Output value P") + extra("void *valp") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(VALQ, DBF_NOACCESS) { + prompt("Output value Q") + extra("void *valq") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(VALR, DBF_NOACCESS) { + prompt("Output value R") + extra("void *valr") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(VALS, DBF_NOACCESS) { + prompt("Output value S") + extra("void *vals") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(VALT, DBF_NOACCESS) { + prompt("Output value T") + extra("void *valt") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(VALU, DBF_NOACCESS) { + prompt("Output value U") + extra("void *valu") + asl(ASL0) + interest(2) + special(SPC_DBADDR) + } + field(OVLA, DBF_NOACCESS) { + prompt("Old Output A") + extra("void *ovla") + asl(ASL0) + interest(4) + special(SPC_NOMOD) + } + field(OVLB, DBF_NOACCESS) { + prompt("Old Output B") + extra("void *ovlb") + asl(ASL0) + interest(4) + special(SPC_NOMOD) + } + field(OVLC, DBF_NOACCESS) { + prompt("Old Output C") + extra("void *ovlc") + asl(ASL0) + interest(4) + special(SPC_NOMOD) + } + field(OVLD, DBF_NOACCESS) { + prompt("Old Output D") + extra("void *ovld") + asl(ASL0) + interest(4) + special(SPC_NOMOD) + } + field(OVLE, DBF_NOACCESS) { + prompt("Old Output E") + extra("void *ovle") + asl(ASL0) + interest(4) + special(SPC_NOMOD) + } + field(OVLF, DBF_NOACCESS) { + prompt("Old Output F") + extra("void *ovlf") + asl(ASL0) + interest(4) + special(SPC_NOMOD) + } + field(OVLG, DBF_NOACCESS) { + prompt("Old Output G") + extra("void *ovlg") + asl(ASL0) + interest(4) + special(SPC_NOMOD) + } + field(OVLH, DBF_NOACCESS) { + prompt("Old Output H") + extra("void *ovlh") + asl(ASL0) + interest(4) + special(SPC_NOMOD) + } + field(OVLI, DBF_NOACCESS) { + prompt("Old Output I") + extra("void *ovli") + asl(ASL0) + interest(4) + special(SPC_NOMOD) + } + field(OVLJ, DBF_NOACCESS) { + prompt("Old Output J") + extra("void *ovlj") + asl(ASL0) + interest(4) + special(SPC_NOMOD) + } + field(OVLK, DBF_NOACCESS) { + prompt("Old Output K") + extra("void *ovlk") + asl(ASL0) + interest(4) + special(SPC_NOMOD) + } + field(OVLL, DBF_NOACCESS) { + prompt("Old Output L") + extra("void *ovll") + asl(ASL0) + interest(4) + special(SPC_NOMOD) + } + field(OVLM, DBF_NOACCESS) { + prompt("Old Output M") + extra("void *ovlm") + asl(ASL0) + interest(4) + special(SPC_NOMOD) + } + field(OVLN, DBF_NOACCESS) { + prompt("Old Output N") + extra("void *ovln") + asl(ASL0) + interest(4) + special(SPC_NOMOD) + } + field(OVLO, DBF_NOACCESS) { + prompt("Old Output O") + extra("void *ovlo") + asl(ASL0) + interest(4) + special(SPC_NOMOD) + } + field(OVLP, DBF_NOACCESS) { + prompt("Old Output P") + extra("void *ovlp") + asl(ASL0) + interest(4) + special(SPC_NOMOD) + } + field(OVLQ, DBF_NOACCESS) { + prompt("Old Output Q") + extra("void *ovlq") + asl(ASL0) + interest(4) + special(SPC_NOMOD) + } + field(OVLR, DBF_NOACCESS) { + prompt("Old Output R") + extra("void *ovlr") + asl(ASL0) + interest(4) + special(SPC_NOMOD) + } + field(OVLS, DBF_NOACCESS) { + prompt("Old Output S") + extra("void *ovls") + asl(ASL0) + interest(4) + special(SPC_NOMOD) + } + field(OVLT, DBF_NOACCESS) { + prompt("Old Output T") + extra("void *ovlt") + asl(ASL0) + interest(4) + special(SPC_NOMOD) + } + field(OVLU, DBF_NOACCESS) { + prompt("Old Output U") + extra("void *ovlu") + asl(ASL0) + interest(4) + special(SPC_NOMOD) + } + field(FTVA, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALA") + menu(menuFtype) + promptgroup("51 - Output A-G") + interest(1) + special(SPC_NOMOD) + } + field(FTVB, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALB") + menu(menuFtype) + promptgroup("51 - Output A-G") + interest(1) + special(SPC_NOMOD) + } + field(FTVC, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALC") + menu(menuFtype) + promptgroup("51 - Output A-G") + interest(1) + special(SPC_NOMOD) + } + field(FTVD, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALD") + menu(menuFtype) + promptgroup("51 - Output A-G") + interest(1) + special(SPC_NOMOD) + } + field(FTVE, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALE") + menu(menuFtype) + promptgroup("51 - Output A-G") + interest(1) + special(SPC_NOMOD) + } + field(FTVF, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALF") + menu(menuFtype) + promptgroup("51 - Output A-G") + interest(1) + special(SPC_NOMOD) + } + field(FTVG, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALG") + menu(menuFtype) + promptgroup("51 - Output A-G") + interest(1) + special(SPC_NOMOD) + } + field(FTVH, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALH") + menu(menuFtype) + promptgroup("52 - Output H-N") + interest(1) + special(SPC_NOMOD) + } + field(FTVI, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALI") + menu(menuFtype) + promptgroup("52 - Output H-N") + interest(1) + special(SPC_NOMOD) + } + field(FTVJ, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALJ") + menu(menuFtype) + promptgroup("52 - Output H-N") + interest(1) + special(SPC_NOMOD) + } + field(FTVK, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALK") + menu(menuFtype) + promptgroup("52 - Output H-N") + interest(1) + special(SPC_NOMOD) + } + field(FTVL, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALL") + menu(menuFtype) + promptgroup("52 - Output H-N") + interest(1) + special(SPC_NOMOD) + } + field(FTVM, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALM") + menu(menuFtype) + promptgroup("52 - Output H-N") + interest(1) + special(SPC_NOMOD) + } + field(FTVN, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALN") + menu(menuFtype) + promptgroup("52 - Output H-N") + interest(1) + special(SPC_NOMOD) + } + field(FTVO, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALO") + menu(menuFtype) + promptgroup("53 - Output O-U") + interest(1) + special(SPC_NOMOD) + } + field(FTVP, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALP") + menu(menuFtype) + promptgroup("53 - Output O-U") + interest(1) + special(SPC_NOMOD) + } + field(FTVQ, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALQ") + menu(menuFtype) + promptgroup("53 - Output O-U") + interest(1) + special(SPC_NOMOD) + } + field(FTVR, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALR") + menu(menuFtype) + promptgroup("53 - Output O-U") + interest(1) + special(SPC_NOMOD) + } + field(FTVS, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALS") + menu(menuFtype) + promptgroup("53 - Output O-U") + interest(1) + special(SPC_NOMOD) + } + field(FTVT, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALT") + menu(menuFtype) + promptgroup("53 - Output O-U") + interest(1) + special(SPC_NOMOD) + } + field(FTVU, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALU") + menu(menuFtype) + promptgroup("53 - Output O-U") + interest(1) + special(SPC_NOMOD) + } + field(NOVA, DBF_ULONG) { + initial("1") + prompt("Max. elements in VALA") + promptgroup("51 - Output A-G") + interest(1) + special(SPC_NOMOD) + } + field(NOVB, DBF_ULONG) { + initial("1") + prompt("Max. elements in VALB") + promptgroup("51 - Output A-G") + interest(1) + special(SPC_NOMOD) + } + field(NOVC, DBF_ULONG) { + initial("1") + prompt("Max. elements in VALC") + promptgroup("51 - Output A-G") + interest(1) + special(SPC_NOMOD) + } + field(NOVD, DBF_ULONG) { + initial("1") + prompt("Max. elements in VALD") + promptgroup("51 - Output A-G") + interest(1) + special(SPC_NOMOD) + } + field(NOVE, DBF_ULONG) { + initial("1") + prompt("Max. elements in VALE") + promptgroup("51 - Output A-G") + interest(1) + special(SPC_NOMOD) + } + field(NOVF, DBF_ULONG) { + initial("1") + prompt("Max. elements in VALF") + promptgroup("51 - Output A-G") + interest(1) + special(SPC_NOMOD) + } + field(NOVG, DBF_ULONG) { + initial("1") + prompt("Max. elements in VALG") + promptgroup("51 - Output A-G") + interest(1) + special(SPC_NOMOD) + } + field(NOVH, DBF_ULONG) { + initial("1") + prompt("Max. elements in VAlH") + promptgroup("52 - Output H-N") + interest(1) + special(SPC_NOMOD) + } + field(NOVI, DBF_ULONG) { + initial("1") + prompt("Max. elements in VALI") + promptgroup("52 - Output H-N") + interest(1) + special(SPC_NOMOD) + } + field(NOVJ, DBF_ULONG) { + initial("1") + prompt("Max. elements in VALJ") + promptgroup("52 - Output H-N") + interest(1) + special(SPC_NOMOD) + } + field(NOVK, DBF_ULONG) { + initial("1") + prompt("Max. elements in VALK") + promptgroup("52 - Output H-N") + interest(1) + special(SPC_NOMOD) + } + field(NOVL, DBF_ULONG) { + initial("1") + prompt("Max. elements in VALL") + promptgroup("52 - Output H-N") + interest(1) + special(SPC_NOMOD) + } + field(NOVM, DBF_ULONG) { + initial("1") + prompt("Max. elements in VALM") + promptgroup("52 - Output H-N") + interest(1) + special(SPC_NOMOD) + } + field(NOVN, DBF_ULONG) { + initial("1") + prompt("Max. elements in VALN") + promptgroup("52 - Output H-N") + interest(1) + special(SPC_NOMOD) + } + field(NOVO, DBF_ULONG) { + initial("1") + prompt("Max. elements in VALO") + promptgroup("53 - Output O-U") + interest(1) + special(SPC_NOMOD) + } + field(NOVP, DBF_ULONG) { + initial("1") + prompt("Max. elements in VALP") + promptgroup("53 - Output O-U") + interest(1) + special(SPC_NOMOD) + } + field(NOVQ, DBF_ULONG) { + initial("1") + prompt("Max. elements in VALQ") + promptgroup("53 - Output O-U") + interest(1) + special(SPC_NOMOD) + } + field(NOVR, DBF_ULONG) { + initial("1") + prompt("Max. elements in VALR") + promptgroup("53 - Output O-U") + interest(1) + special(SPC_NOMOD) + } + field(NOVS, DBF_ULONG) { + initial("1") + prompt("Max. elements in VALS") + promptgroup("53 - Output O-U") + interest(1) + special(SPC_NOMOD) + } + field(NOVT, DBF_ULONG) { + initial("1") + prompt("Max. elements in VALT") + promptgroup("53 - Output O-U") + interest(1) + special(SPC_NOMOD) + } + field(NOVU, DBF_ULONG) { + initial("1") + prompt("Max. elements in VALU") + promptgroup("53 - Output O-U") + interest(1) + special(SPC_NOMOD) + } + field(NEVA, DBF_ULONG) { + initial("1") + prompt("Num. elements in VALA") + interest(3) + special(SPC_NOMOD) + } + field(NEVB, DBF_ULONG) { + initial("1") + prompt("Num. elements in VALB") + interest(3) + special(SPC_NOMOD) + } + field(NEVC, DBF_ULONG) { + initial("1") + prompt("Num. elements in VALC") + interest(3) + special(SPC_NOMOD) + } + field(NEVD, DBF_ULONG) { + initial("1") + prompt("Num. elements in VALD") + interest(3) + special(SPC_NOMOD) + } + field(NEVE, DBF_ULONG) { + initial("1") + prompt("Num. elements in VALE") + interest(3) + special(SPC_NOMOD) + } + field(NEVF, DBF_ULONG) { + initial("1") + prompt("Num. elements in VALF") + interest(3) + special(SPC_NOMOD) + } + field(NEVG, DBF_ULONG) { + initial("1") + prompt("Num. elements in VALG") + interest(3) + special(SPC_NOMOD) + } + field(NEVH, DBF_ULONG) { + initial("1") + prompt("Num. elements in VAlH") + interest(3) + special(SPC_NOMOD) + } + field(NEVI, DBF_ULONG) { + initial("1") + prompt("Num. elements in VALI") + interest(3) + special(SPC_NOMOD) + } + field(NEVJ, DBF_ULONG) { + initial("1") + prompt("Num. elements in VALJ") + interest(3) + special(SPC_NOMOD) + } + field(NEVK, DBF_ULONG) { + initial("1") + prompt("Num. elements in VALK") + interest(3) + special(SPC_NOMOD) + } + field(NEVL, DBF_ULONG) { + initial("1") + prompt("Num. elements in VALL") + interest(3) + special(SPC_NOMOD) + } + field(NEVM, DBF_ULONG) { + initial("1") + prompt("Num. elements in VALM") + interest(3) + special(SPC_NOMOD) + } + field(NEVN, DBF_ULONG) { + initial("1") + prompt("Num. elements in VALN") + interest(3) + special(SPC_NOMOD) + } + field(NEVO, DBF_ULONG) { + initial("1") + prompt("Num. elements in VALO") + interest(3) + special(SPC_NOMOD) + } + field(NEVP, DBF_ULONG) { + initial("1") + prompt("Num. elements in VALP") + interest(3) + special(SPC_NOMOD) + } + field(NEVQ, DBF_ULONG) { + initial("1") + prompt("Num. elements in VALQ") + interest(3) + special(SPC_NOMOD) + } + field(NEVR, DBF_ULONG) { + initial("1") + prompt("Num. elements in VALR") + interest(3) + special(SPC_NOMOD) + } + field(NEVS, DBF_ULONG) { + initial("1") + prompt("Num. elements in VALS") + interest(3) + special(SPC_NOMOD) + } + field(NEVT, DBF_ULONG) { + initial("1") + prompt("Num. elements in VALT") + interest(3) + special(SPC_NOMOD) + } + field(NEVU, DBF_ULONG) { + initial("1") + prompt("Num. elements in VALU") + interest(3) + special(SPC_NOMOD) + } + field(ONVA, DBF_ULONG) { + initial("1") + prompt("Num. elements in OVLA") + interest(4) + special(SPC_NOMOD) + } + field(ONVB, DBF_ULONG) { + initial("1") + prompt("Num. elements in OVLB") + interest(4) + special(SPC_NOMOD) + } + field(ONVC, DBF_ULONG) { + initial("1") + prompt("Num. elements in OVLC") + interest(4) + special(SPC_NOMOD) + } + field(ONVD, DBF_ULONG) { + initial("1") + prompt("Num. elements in OVLD") + interest(4) + special(SPC_NOMOD) + } + field(ONVE, DBF_ULONG) { + initial("1") + prompt("Num. elements in OVLE") + interest(4) + special(SPC_NOMOD) + } + field(ONVF, DBF_ULONG) { + initial("1") + prompt("Num. elements in OVLF") + interest(4) + special(SPC_NOMOD) + } + field(ONVG, DBF_ULONG) { + initial("1") + prompt("Num. elements in OVLG") + interest(4) + special(SPC_NOMOD) + } + field(ONVH, DBF_ULONG) { + initial("1") + prompt("Num. elements in VAlH") + interest(4) + special(SPC_NOMOD) + } + field(ONVI, DBF_ULONG) { + initial("1") + prompt("Num. elements in OVLI") + interest(4) + special(SPC_NOMOD) + } + field(ONVJ, DBF_ULONG) { + initial("1") + prompt("Num. elements in OVLJ") + interest(4) + special(SPC_NOMOD) + } + field(ONVK, DBF_ULONG) { + initial("1") + prompt("Num. elements in OVLK") + interest(4) + special(SPC_NOMOD) + } + field(ONVL, DBF_ULONG) { + initial("1") + prompt("Num. elements in OVLL") + interest(4) + special(SPC_NOMOD) + } + field(ONVM, DBF_ULONG) { + initial("1") + prompt("Num. elements in OVLM") + interest(4) + special(SPC_NOMOD) + } + field(ONVN, DBF_ULONG) { + initial("1") + prompt("Num. elements in OVLN") + interest(4) + special(SPC_NOMOD) + } + field(ONVO, DBF_ULONG) { + initial("1") + prompt("Num. elements in OVLO") + interest(4) + special(SPC_NOMOD) + } + field(ONVP, DBF_ULONG) { + initial("1") + prompt("Num. elements in OVLP") + interest(4) + special(SPC_NOMOD) + } + field(ONVQ, DBF_ULONG) { + initial("1") + prompt("Num. elements in OVLQ") + interest(4) + special(SPC_NOMOD) + } + field(ONVR, DBF_ULONG) { + initial("1") + prompt("Num. elements in OVLR") + interest(4) + special(SPC_NOMOD) + } + field(ONVS, DBF_ULONG) { + initial("1") + prompt("Num. elements in OVLS") + interest(4) + special(SPC_NOMOD) + } + field(ONVT, DBF_ULONG) { + initial("1") + prompt("Num. elements in OVLT") + interest(4) + special(SPC_NOMOD) + } + field(ONVU, DBF_ULONG) { + initial("1") + prompt("Num. elements in OVLU") + interest(4) + special(SPC_NOMOD) + } +} +recordtype(aai) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + % + %/* Declare Device Support Entry Table */ + %struct aaiRecord; + %typedef struct aaidset { + % dset common; /*init_record returns: (-1,0,AAI_DEVINIT_PASS1)=>(failure,success,callback)*/ + % long (*read_aai)(struct aaiRecord *prec); /*returns: (-1,0)=>(failure,success)*/ + %} aaidset; + %#define HAS_aaidset + %#define AAI_DEVINIT_PASS1 2 + % + %#include "callback.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_NOACCESS) { + pp(TRUE) + prompt("Value") + extra("void * val") + asl(ASL0) + special(SPC_DBADDR) + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(INP, DBF_INLINK) { + prompt("Input Specification") + promptgroup("40 - Input") + interest(1) + } + field(EGU, DBF_STRING) { + size(16) + prompt("Engineering Units") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(HOPR, DBF_DOUBLE) { + prompt("High Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(LOPR, DBF_DOUBLE) { + prompt("Low Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(NELM, DBF_ULONG) { + initial("1") + prompt("Number of Elements") + promptgroup("30 - Action") + interest(1) + special(SPC_NOMOD) + } + field(FTVL, DBF_MENU) { + prompt("Field Type of Value") + menu(menuFtype) + promptgroup("30 - Action") + interest(1) + special(SPC_NOMOD) + } + field(NORD, DBF_ULONG) { + prompt("Number elements read") + special(SPC_NOMOD) + } + field(BPTR, DBF_NOACCESS) { + prompt("Buffer Pointer") + extra("void * bptr") + interest(4) + special(SPC_NOMOD) + } + field(SIML, DBF_INLINK) { + prompt("Simulation Mode Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuYesNo) + interest(1) + special(SPC_MOD) + } + field(SIMS, DBF_MENU) { + prompt("Simulation Mode Severity") + menu(menuAlarmSevr) + promptgroup("90 - Simulate") + interest(2) + } + field(SIOL, DBF_INLINK) { + prompt("Simulation Input Link") + promptgroup("90 - Simulate") + interest(1) + } + field(OLDSIMM, DBF_MENU) { + prompt("Prev. Simulation Mode") + menu(menuSimm) + interest(4) + special(SPC_NOMOD) + } + field(SSCN, DBF_MENU) { + initial("65535") + prompt("Sim. Mode Scan") + menu(menuScan) + promptgroup("90 - Simulate") + interest(1) + } + field(SDLY, DBF_DOUBLE) { + initial("-1.0") + prompt("Sim. Mode Async Delay") + promptgroup("90 - Simulate") + interest(2) + } + field(SIMPVT, DBF_NOACCESS) { + prompt("Sim. Mode Private") + extra("epicsCallback *simpvt") + interest(4) + special(SPC_NOMOD) + } + field(MPST, DBF_MENU) { + prompt("Post Value Monitors") + menu(aaiPOST) + promptgroup("80 - Display") + interest(1) + } + field(APST, DBF_MENU) { + prompt("Post Archive Monitors") + menu(aaiPOST) + promptgroup("80 - Display") + interest(1) + } + field(HASH, DBF_ULONG) { + prompt("Hash of OnChange data.") + interest(3) + } +} +device(aai, CONSTANT, devAaiSoft, "Soft Channel") +device(aai, INST_IO, devAaiOpcua, "OPCUA") +recordtype(aao) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + % + %/* Declare Device Support Entry Table */ + %struct aaoRecord; + %typedef struct aaodset { + % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ + % long (*write_aao)(struct aaoRecord *prec); /*returns: (-1,0)=>(failure,success)*/ + %} aaodset; + %#define HAS_aaodset + % + %#include "callback.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_NOACCESS) { + pp(TRUE) + prompt("Value") + extra("void * val") + asl(ASL0) + special(SPC_DBADDR) + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(OUT, DBF_OUTLINK) { + prompt("Output Specification") + promptgroup("50 - Output") + interest(1) + } + field(DOL, DBF_INLINK) { + prompt("Desired Output Link") + promptgroup("40 - Input") + interest(1) + } + field(OMSL, DBF_MENU) { + prompt("Output Mode Select") + menu(menuOmsl) + promptgroup("50 - Output") + interest(1) + } + field(EGU, DBF_STRING) { + size(16) + prompt("Engineering Units") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(HOPR, DBF_DOUBLE) { + prompt("High Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(LOPR, DBF_DOUBLE) { + prompt("Low Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(NELM, DBF_ULONG) { + initial("1") + prompt("Number of Elements") + promptgroup("30 - Action") + interest(1) + special(SPC_NOMOD) + } + field(FTVL, DBF_MENU) { + prompt("Field Type of Value") + menu(menuFtype) + promptgroup("30 - Action") + interest(1) + special(SPC_NOMOD) + } + field(NORD, DBF_ULONG) { + prompt("Number elements read") + special(SPC_NOMOD) + } + field(BPTR, DBF_NOACCESS) { + prompt("Buffer Pointer") + extra("void * bptr") + interest(4) + special(SPC_NOMOD) + } + field(SIML, DBF_INLINK) { + prompt("Simulation Mode Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuYesNo) + interest(1) + special(SPC_MOD) + } + field(SIMS, DBF_MENU) { + prompt("Simulation Mode Severity") + menu(menuAlarmSevr) + promptgroup("90 - Simulate") + interest(2) + } + field(SIOL, DBF_OUTLINK) { + prompt("Simulation Output Link") + promptgroup("90 - Simulate") + interest(1) + } + field(OLDSIMM, DBF_MENU) { + prompt("Prev. Simulation Mode") + menu(menuSimm) + interest(4) + special(SPC_NOMOD) + } + field(SSCN, DBF_MENU) { + initial("65535") + prompt("Sim. Mode Scan") + menu(menuScan) + promptgroup("90 - Simulate") + interest(1) + } + field(SDLY, DBF_DOUBLE) { + initial("-1.0") + prompt("Sim. Mode Async Delay") + promptgroup("90 - Simulate") + interest(2) + } + field(SIMPVT, DBF_NOACCESS) { + prompt("Sim. Mode Private") + extra("epicsCallback *simpvt") + interest(4) + special(SPC_NOMOD) + } + field(MPST, DBF_MENU) { + prompt("Post Value Monitors") + menu(aaoPOST) + promptgroup("80 - Display") + interest(1) + } + field(APST, DBF_MENU) { + prompt("Post Archive Monitors") + menu(aaoPOST) + promptgroup("80 - Display") + interest(1) + } + field(HASH, DBF_ULONG) { + prompt("Hash of OnChange data.") + interest(3) + } +} +device(aao, CONSTANT, devAaoSoft, "Soft Channel") +device(aao, INST_IO, devAaoOpcua, "OPCUA") +recordtype(ai) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + % + %/* Declare Device Support Entry Table */ + %struct aiRecord; + %typedef struct aidset { + % dset common; + % long (*read_ai)(struct aiRecord *prec); + % long (*special_linconv)(struct aiRecord *prec, int after); + %} aidset; + %#define HAS_aidset + % + %#include "callback.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_DOUBLE) { + pp(TRUE) + prompt("Current EGU Value") + asl(ASL0) + promptgroup("40 - Input") + } + field(INP, DBF_INLINK) { + prompt("Input Specification") + promptgroup("40 - Input") + interest(1) + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(LINR, DBF_MENU) { + pp(TRUE) + prompt("Linearization") + menu(menuConvert) + promptgroup("60 - Convert") + interest(1) + special(SPC_LINCONV) + } + field(EGUF, DBF_DOUBLE) { + pp(TRUE) + prompt("Engineer Units Full") + promptgroup("60 - Convert") + interest(1) + special(SPC_LINCONV) + } + field(EGUL, DBF_DOUBLE) { + pp(TRUE) + prompt("Engineer Units Low") + promptgroup("60 - Convert") + interest(1) + special(SPC_LINCONV) + } + field(EGU, DBF_STRING) { + size(16) + prompt("Engineering Units") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(HOPR, DBF_DOUBLE) { + prompt("High Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(LOPR, DBF_DOUBLE) { + prompt("Low Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(AOFF, DBF_DOUBLE) { + pp(TRUE) + prompt("Adjustment Offset") + promptgroup("60 - Convert") + interest(1) + } + field(ASLO, DBF_DOUBLE) { + initial("1") + pp(TRUE) + prompt("Adjustment Slope") + promptgroup("60 - Convert") + interest(1) + } + field(SMOO, DBF_DOUBLE) { + prompt("Smoothing") + promptgroup("60 - Convert") + interest(1) + } + field(HIHI, DBF_DOUBLE) { + pp(TRUE) + prompt("Hihi Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LOLO, DBF_DOUBLE) { + pp(TRUE) + prompt("Lolo Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HIGH, DBF_DOUBLE) { + pp(TRUE) + prompt("High Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LOW, DBF_DOUBLE) { + pp(TRUE) + prompt("Low Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HHSV, DBF_MENU) { + prompt("Hihi Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LLSV, DBF_MENU) { + prompt("Lolo Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HSV, DBF_MENU) { + prompt("High Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LSV, DBF_MENU) { + prompt("Low Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HYST, DBF_DOUBLE) { + prompt("Alarm Deadband") + promptgroup("70 - Alarm") + interest(1) + } + field(AFTC, DBF_DOUBLE) { + prompt("Alarm Filter Time Constant") + promptgroup("70 - Alarm") + interest(1) + } + field(ADEL, DBF_DOUBLE) { + prompt("Archive Deadband") + promptgroup("80 - Display") + interest(1) + } + field(MDEL, DBF_DOUBLE) { + prompt("Monitor Deadband") + promptgroup("80 - Display") + interest(1) + } + field(LALM, DBF_DOUBLE) { + prompt("Last Value Alarmed") + interest(3) + special(SPC_NOMOD) + } + field(AFVL, DBF_DOUBLE) { + prompt("Alarm Filter Value") + interest(3) + special(SPC_NOMOD) + } + field(ALST, DBF_DOUBLE) { + prompt("Last Value Archived") + interest(3) + special(SPC_NOMOD) + } + field(MLST, DBF_DOUBLE) { + prompt("Last Val Monitored") + interest(3) + special(SPC_NOMOD) + } + field(ESLO, DBF_DOUBLE) { + initial("1") + pp(TRUE) + prompt("Raw to EGU Slope") + promptgroup("60 - Convert") + interest(2) + } + field(EOFF, DBF_DOUBLE) { + pp(TRUE) + prompt("Raw to EGU Offset") + promptgroup("60 - Convert") + interest(2) + } + field(ROFF, DBF_ULONG) { + pp(TRUE) + prompt("Raw Offset") + interest(2) + } + field(PBRK, DBF_NOACCESS) { + prompt("Ptrto brkTable") + extra("void * pbrk") + interest(4) + special(SPC_NOMOD) + } + field(INIT, DBF_SHORT) { + prompt("Initialized?") + interest(3) + special(SPC_NOMOD) + } + field(LBRK, DBF_SHORT) { + prompt("LastBreak Point") + interest(3) + special(SPC_NOMOD) + } + field(RVAL, DBF_LONG) { + pp(TRUE) + prompt("Current Raw Value") + } + field(ORAW, DBF_LONG) { + prompt("Previous Raw Value") + interest(3) + special(SPC_NOMOD) + } + field(SIOL, DBF_INLINK) { + prompt("Simulation Input Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SVAL, DBF_DOUBLE) { + prompt("Simulation Value") + } + field(SIML, DBF_INLINK) { + prompt("Simulation Mode Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuSimm) + interest(1) + special(SPC_MOD) + } + field(SIMS, DBF_MENU) { + prompt("Simulation Mode Severity") + menu(menuAlarmSevr) + promptgroup("90 - Simulate") + interest(2) + } + field(OLDSIMM, DBF_MENU) { + prompt("Prev. Simulation Mode") + menu(menuSimm) + interest(4) + special(SPC_NOMOD) + } + field(SSCN, DBF_MENU) { + initial("65535") + prompt("Sim. Mode Scan") + menu(menuScan) + promptgroup("90 - Simulate") + interest(1) + } + field(SDLY, DBF_DOUBLE) { + initial("-1.0") + prompt("Sim. Mode Async Delay") + promptgroup("90 - Simulate") + interest(2) + } + field(SIMPVT, DBF_NOACCESS) { + prompt("Sim. Mode Private") + extra("epicsCallback *simpvt") + interest(4) + special(SPC_NOMOD) + } +} +device(ai, CONSTANT, devAiSoft, "Soft Channel") +device(ai, CONSTANT, devAiSoftRaw, "Raw Soft Channel") +device(ai, CONSTANT, devAiSoftCallback, "Async Soft Channel") +device(ai, INST_IO, devTimestampAI, "Soft Timestamp") +device(ai, INST_IO, devAiGeneralTime, "General Time") +device(ai, INST_IO, devAiStats, "IOC stats") +device(ai, INST_IO, devAiClusts, "IOC stats clusts") +device(ai, INST_IO, devAiOpcua, "OPCUA") +recordtype(ao) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + % + %/* Declare Device Support Entry Table */ + %struct aoRecord; + %typedef struct aodset { + % dset common; /*init_record returns: (0,2)=>(success,success no convert)*/ + % long (*write_ao)(struct aoRecord *prec); /*(0)=>(success ) */ + % long (*special_linconv)(struct aoRecord *prec, int after); + %} aodset; + %#define HAS_aodset + % + %#include "callback.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_DOUBLE) { + pp(TRUE) + prompt("Desired Output") + asl(ASL0) + promptgroup("50 - Output") + } + field(OVAL, DBF_DOUBLE) { + prompt("Output Value") + } + field(OUT, DBF_OUTLINK) { + prompt("Output Specification") + promptgroup("50 - Output") + interest(1) + } + field(OROC, DBF_DOUBLE) { + prompt("Output Rate of Change") + promptgroup("50 - Output") + interest(1) + } + field(DOL, DBF_INLINK) { + prompt("Desired Output Link") + promptgroup("40 - Input") + interest(1) + } + field(OMSL, DBF_MENU) { + prompt("Output Mode Select") + menu(menuOmsl) + promptgroup("50 - Output") + interest(1) + } + field(OIF, DBF_MENU) { + prompt("Out Full/Incremental") + menu(aoOIF) + promptgroup("50 - Output") + interest(1) + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(LINR, DBF_MENU) { + pp(TRUE) + prompt("Linearization") + menu(menuConvert) + promptgroup("60 - Convert") + interest(1) + special(SPC_LINCONV) + } + field(EGUF, DBF_DOUBLE) { + pp(TRUE) + prompt("Eng Units Full") + promptgroup("60 - Convert") + interest(1) + special(SPC_LINCONV) + } + field(EGUL, DBF_DOUBLE) { + pp(TRUE) + prompt("Eng Units Low") + promptgroup("60 - Convert") + interest(1) + special(SPC_LINCONV) + } + field(EGU, DBF_STRING) { + size(16) + prompt("Engineering Units") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(ROFF, DBF_ULONG) { + pp(TRUE) + prompt("Raw Offset") + interest(2) + } + field(EOFF, DBF_DOUBLE) { + pp(TRUE) + prompt("EGU to Raw Offset") + promptgroup("60 - Convert") + interest(2) + } + field(ESLO, DBF_DOUBLE) { + initial("1") + pp(TRUE) + prompt("EGU to Raw Slope") + promptgroup("60 - Convert") + interest(2) + } + field(DRVH, DBF_DOUBLE) { + pp(TRUE) + prompt("Drive High Limit") + prop(YES) + promptgroup("30 - Action") + interest(1) + } + field(DRVL, DBF_DOUBLE) { + pp(TRUE) + prompt("Drive Low Limit") + prop(YES) + promptgroup("30 - Action") + interest(1) + } + field(HOPR, DBF_DOUBLE) { + prompt("High Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(LOPR, DBF_DOUBLE) { + prompt("Low Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(AOFF, DBF_DOUBLE) { + pp(TRUE) + prompt("Adjustment Offset") + promptgroup("60 - Convert") + interest(1) + } + field(ASLO, DBF_DOUBLE) { + pp(TRUE) + prompt("Adjustment Slope") + promptgroup("60 - Convert") + interest(1) + } + field(HIHI, DBF_DOUBLE) { + pp(TRUE) + prompt("Hihi Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LOLO, DBF_DOUBLE) { + pp(TRUE) + prompt("Lolo Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HIGH, DBF_DOUBLE) { + pp(TRUE) + prompt("High Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LOW, DBF_DOUBLE) { + pp(TRUE) + prompt("Low Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HHSV, DBF_MENU) { + prompt("Hihi Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LLSV, DBF_MENU) { + prompt("Lolo Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HSV, DBF_MENU) { + prompt("High Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LSV, DBF_MENU) { + prompt("Low Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HYST, DBF_DOUBLE) { + prompt("Alarm Deadband") + promptgroup("70 - Alarm") + interest(1) + } + field(ADEL, DBF_DOUBLE) { + prompt("Archive Deadband") + promptgroup("80 - Display") + interest(1) + } + field(MDEL, DBF_DOUBLE) { + prompt("Monitor Deadband") + promptgroup("80 - Display") + interest(1) + } + field(RVAL, DBF_LONG) { + pp(TRUE) + prompt("Current Raw Value") + } + field(ORAW, DBF_LONG) { + prompt("Previous Raw Value") + interest(3) + special(SPC_NOMOD) + } + field(RBV, DBF_LONG) { + prompt("Readback Value") + special(SPC_NOMOD) + } + field(ORBV, DBF_LONG) { + prompt("Prev Readback Value") + interest(3) + special(SPC_NOMOD) + } + field(PVAL, DBF_DOUBLE) { + prompt("Previous value") + interest(3) + special(SPC_NOMOD) + } + field(LALM, DBF_DOUBLE) { + prompt("Last Value Alarmed") + interest(3) + special(SPC_NOMOD) + } + field(ALST, DBF_DOUBLE) { + prompt("Last Value Archived") + interest(3) + special(SPC_NOMOD) + } + field(MLST, DBF_DOUBLE) { + prompt("Last Val Monitored") + interest(3) + special(SPC_NOMOD) + } + field(PBRK, DBF_NOACCESS) { + prompt("Ptrto brkTable") + extra("void * pbrk") + interest(4) + special(SPC_NOMOD) + } + field(INIT, DBF_SHORT) { + prompt("Initialized?") + interest(3) + special(SPC_NOMOD) + } + field(LBRK, DBF_SHORT) { + prompt("LastBreak Point") + interest(3) + special(SPC_NOMOD) + } + field(SIOL, DBF_OUTLINK) { + prompt("Simulation Output Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIML, DBF_INLINK) { + prompt("Simulation Mode Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuSimm) + interest(1) + special(SPC_MOD) + } + field(SIMS, DBF_MENU) { + prompt("Simulation Mode Severity") + menu(menuAlarmSevr) + promptgroup("90 - Simulate") + interest(2) + } + field(OLDSIMM, DBF_MENU) { + prompt("Prev. Simulation Mode") + menu(menuSimm) + interest(4) + special(SPC_NOMOD) + } + field(SSCN, DBF_MENU) { + initial("65535") + prompt("Sim. Mode Scan") + menu(menuScan) + promptgroup("90 - Simulate") + interest(1) + } + field(SDLY, DBF_DOUBLE) { + initial("-1.0") + prompt("Sim. Mode Async Delay") + promptgroup("90 - Simulate") + interest(2) + } + field(SIMPVT, DBF_NOACCESS) { + prompt("Sim. Mode Private") + extra("epicsCallback *simpvt") + interest(4) + special(SPC_NOMOD) + } + field(IVOA, DBF_MENU) { + prompt("INVALID output action") + menu(menuIvoa) + promptgroup("50 - Output") + interest(2) + } + field(IVOV, DBF_DOUBLE) { + prompt("INVALID output value") + promptgroup("50 - Output") + interest(2) + } + field(OMOD, DBF_UCHAR) { + prompt("Was OVAL modified?") + special(SPC_NOMOD) + } +} +device(ao, CONSTANT, devAoSoft, "Soft Channel") +device(ao, CONSTANT, devAoSoftRaw, "Raw Soft Channel") +device(ao, CONSTANT, devAoSoftCallback, "Async Soft Channel") +device(ao, INST_IO, devAoStats, "IOC stats") +device(ao, INST_IO, devAoOpcua, "OPCUA") +recordtype(bi) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + % + %/* Declare Device Support Entry Table */ + %struct biRecord; + %typedef struct bidset { + % dset common; + % long (*read_bi)(struct biRecord *prec); + %} bidset; + %#define HAS_bidset + % + %#include "callback.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(INP, DBF_INLINK) { + prompt("Input Specification") + promptgroup("40 - Input") + interest(1) + } + field(VAL, DBF_ENUM) { + pp(TRUE) + prompt("Current Value") + asl(ASL0) + promptgroup("40 - Input") + } + field(ZSV, DBF_MENU) { + pp(TRUE) + prompt("Zero Error Severity") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(OSV, DBF_MENU) { + pp(TRUE) + prompt("One Error Severity") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(COSV, DBF_MENU) { + pp(TRUE) + prompt("Change of State Svr") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(ZNAM, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Zero Name") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(ONAM, DBF_STRING) { + size(26) + pp(TRUE) + prompt("One Name") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(RVAL, DBF_ULONG) { + pp(TRUE) + prompt("Raw Value") + } + field(ORAW, DBF_ULONG) { + prompt("prev Raw Value") + interest(3) + special(SPC_NOMOD) + } + field(MASK, DBF_ULONG) { + prompt("Hardware Mask") + interest(1) + special(SPC_NOMOD) + } + field(LALM, DBF_USHORT) { + prompt("Last Value Alarmed") + interest(3) + special(SPC_NOMOD) + } + field(MLST, DBF_USHORT) { + prompt("Last Value Monitored") + interest(3) + special(SPC_NOMOD) + } + field(SIOL, DBF_INLINK) { + prompt("Simulation Input Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SVAL, DBF_ULONG) { + prompt("Simulation Value") + } + field(SIML, DBF_INLINK) { + prompt("Simulation Mode Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuSimm) + interest(1) + special(SPC_MOD) + } + field(SIMS, DBF_MENU) { + prompt("Simulation Mode Severity") + menu(menuAlarmSevr) + promptgroup("90 - Simulate") + interest(2) + } + field(OLDSIMM, DBF_MENU) { + prompt("Prev. Simulation Mode") + menu(menuSimm) + interest(4) + special(SPC_NOMOD) + } + field(SSCN, DBF_MENU) { + initial("65535") + prompt("Sim. Mode Scan") + menu(menuScan) + promptgroup("90 - Simulate") + interest(1) + } + field(SDLY, DBF_DOUBLE) { + initial("-1.0") + prompt("Sim. Mode Async Delay") + promptgroup("90 - Simulate") + interest(2) + } + field(SIMPVT, DBF_NOACCESS) { + prompt("Sim. Mode Private") + extra("epicsCallback *simpvt") + interest(4) + special(SPC_NOMOD) + } +} +device(bi, CONSTANT, devBiSoft, "Soft Channel") +device(bi, CONSTANT, devBiSoftRaw, "Raw Soft Channel") +device(bi, CONSTANT, devBiSoftCallback, "Async Soft Channel") +device(bi, INST_IO, devBiDbState, "Db State") +device(bi, INST_IO, devBiOpcua, "OPCUA") +recordtype(bo) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + % + %/* Declare Device Support Entry Table */ + %struct boRecord; + %typedef struct bodset { + % dset common; /*init_record returns:(0,2)=>(success,success no convert*/ + % long (*write_bo)(struct boRecord *prec); /*returns: (-1,0)=>(failure,success)*/ + %} bodset; + %#define HAS_bodset + % + %#include "callback.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_ENUM) { + pp(TRUE) + prompt("Current Value") + asl(ASL0) + promptgroup("50 - Output") + } + field(OMSL, DBF_MENU) { + prompt("Output Mode Select") + menu(menuOmsl) + promptgroup("50 - Output") + interest(1) + } + field(DOL, DBF_INLINK) { + prompt("Desired Output Link") + promptgroup("40 - Input") + interest(1) + } + field(OUT, DBF_OUTLINK) { + prompt("Output Specification") + promptgroup("50 - Output") + interest(1) + } + field(HIGH, DBF_DOUBLE) { + prompt("Seconds to Hold High") + promptgroup("30 - Action") + interest(1) + } + field(ZNAM, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Zero Name") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(ONAM, DBF_STRING) { + size(26) + pp(TRUE) + prompt("One Name") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(RVAL, DBF_ULONG) { + pp(TRUE) + prompt("Raw Value") + } + field(ORAW, DBF_ULONG) { + prompt("prev Raw Value") + interest(3) + special(SPC_NOMOD) + } + field(MASK, DBF_ULONG) { + prompt("Hardware Mask") + interest(1) + special(SPC_NOMOD) + } + field(RPVT, DBF_NOACCESS) { + prompt("Record Private") + extra("void * rpvt") + interest(4) + special(SPC_NOMOD) + } + field(WDPT, DBF_NOACCESS) { + prompt("Watch Dog Timer ID") + extra("void * wdpt") + interest(4) + special(SPC_NOMOD) + } + field(ZSV, DBF_MENU) { + pp(TRUE) + prompt("Zero Error Severity") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(OSV, DBF_MENU) { + pp(TRUE) + prompt("One Error Severity") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(COSV, DBF_MENU) { + pp(TRUE) + prompt("Change of State Sevr") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(RBV, DBF_ULONG) { + prompt("Readback Value") + special(SPC_NOMOD) + } + field(ORBV, DBF_ULONG) { + prompt("Prev Readback Value") + interest(3) + special(SPC_NOMOD) + } + field(MLST, DBF_USHORT) { + prompt("Last Value Monitored") + interest(3) + special(SPC_NOMOD) + } + field(LALM, DBF_USHORT) { + prompt("Last Value Alarmed") + interest(3) + special(SPC_NOMOD) + } + field(SIOL, DBF_OUTLINK) { + prompt("Simulation Output Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIML, DBF_INLINK) { + prompt("Simulation Mode Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuSimm) + interest(1) + special(SPC_MOD) + } + field(SIMS, DBF_MENU) { + prompt("Simulation Mode Severity") + menu(menuAlarmSevr) + promptgroup("90 - Simulate") + interest(2) + } + field(OLDSIMM, DBF_MENU) { + prompt("Prev. Simulation Mode") + menu(menuSimm) + interest(4) + special(SPC_NOMOD) + } + field(SSCN, DBF_MENU) { + initial("65535") + prompt("Sim. Mode Scan") + menu(menuScan) + promptgroup("90 - Simulate") + interest(1) + } + field(SDLY, DBF_DOUBLE) { + initial("-1.0") + prompt("Sim. Mode Async Delay") + promptgroup("90 - Simulate") + interest(2) + } + field(SIMPVT, DBF_NOACCESS) { + prompt("Sim. Mode Private") + extra("epicsCallback *simpvt") + interest(4) + special(SPC_NOMOD) + } + field(IVOA, DBF_MENU) { + prompt("INVALID outpt action") + menu(menuIvoa) + promptgroup("50 - Output") + interest(2) + } + field(IVOV, DBF_USHORT) { + prompt("INVALID output value") + promptgroup("50 - Output") + interest(2) + } +} +device(bo, CONSTANT, devBoSoft, "Soft Channel") +device(bo, CONSTANT, devBoSoftRaw, "Raw Soft Channel") +device(bo, CONSTANT, devBoSoftCallback, "Async Soft Channel") +device(bo, INST_IO, devBoGeneralTime, "General Time") +device(bo, INST_IO, devBoDbState, "Db State") +device(bo, INST_IO, devBoOpcua, "OPCUA") +recordtype(calc) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + %#include "postfix.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_DOUBLE) { + prompt("Result") + asl(ASL0) + promptgroup("50 - Output") + } + field(CALC, DBF_STRING) { + initial("0") + prompt("Calculation") + special(SPC_CALC) + size(80) + pp(TRUE) + promptgroup("30 - Action") + } + field(INPA, DBF_INLINK) { + prompt("Input A") + promptgroup("41 - Input A-F") + interest(1) + } + field(INPB, DBF_INLINK) { + prompt("Input B") + promptgroup("41 - Input A-F") + interest(1) + } + field(INPC, DBF_INLINK) { + prompt("Input C") + promptgroup("41 - Input A-F") + interest(1) + } + field(INPD, DBF_INLINK) { + prompt("Input D") + promptgroup("41 - Input A-F") + interest(1) + } + field(INPE, DBF_INLINK) { + prompt("Input E") + promptgroup("41 - Input A-F") + interest(1) + } + field(INPF, DBF_INLINK) { + prompt("Input F") + promptgroup("41 - Input A-F") + interest(1) + } + field(INPG, DBF_INLINK) { + prompt("Input G") + promptgroup("42 - Input G-L") + interest(1) + } + field(INPH, DBF_INLINK) { + prompt("Input H") + promptgroup("42 - Input G-L") + interest(1) + } + field(INPI, DBF_INLINK) { + prompt("Input I") + promptgroup("42 - Input G-L") + interest(1) + } + field(INPJ, DBF_INLINK) { + prompt("Input J") + promptgroup("42 - Input G-L") + interest(1) + } + field(INPK, DBF_INLINK) { + prompt("Input K") + promptgroup("42 - Input G-L") + interest(1) + } + field(INPL, DBF_INLINK) { + prompt("Input L") + promptgroup("42 - Input G-L") + interest(1) + } + field(EGU, DBF_STRING) { + size(16) + prompt("Engineering Units") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(HOPR, DBF_DOUBLE) { + prompt("High Operating Rng") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(LOPR, DBF_DOUBLE) { + prompt("Low Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(HIHI, DBF_DOUBLE) { + pp(TRUE) + prompt("Hihi Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LOLO, DBF_DOUBLE) { + pp(TRUE) + prompt("Lolo Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HIGH, DBF_DOUBLE) { + pp(TRUE) + prompt("High Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LOW, DBF_DOUBLE) { + pp(TRUE) + prompt("Low Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HHSV, DBF_MENU) { + prompt("Hihi Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LLSV, DBF_MENU) { + prompt("Lolo Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HSV, DBF_MENU) { + prompt("High Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LSV, DBF_MENU) { + prompt("Low Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(AFTC, DBF_DOUBLE) { + prompt("Alarm Filter Time Constant") + promptgroup("70 - Alarm") + interest(1) + } + field(AFVL, DBF_DOUBLE) { + prompt("Alarm Filter Value") + interest(3) + special(SPC_NOMOD) + } + field(HYST, DBF_DOUBLE) { + prompt("Alarm Deadband") + promptgroup("70 - Alarm") + interest(1) + } + field(ADEL, DBF_DOUBLE) { + prompt("Archive Deadband") + promptgroup("80 - Display") + interest(1) + } + field(MDEL, DBF_DOUBLE) { + prompt("Monitor Deadband") + promptgroup("80 - Display") + interest(1) + } + field(A, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input A") + } + field(B, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input B") + } + field(C, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input C") + } + field(D, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input D") + } + field(E, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input E") + } + field(F, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input F") + } + field(G, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input G") + } + field(H, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input H") + } + field(I, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input I") + } + field(J, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input J") + } + field(K, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input K") + } + field(L, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input L") + } + field(LA, DBF_DOUBLE) { + prompt("Prev Value of A") + interest(3) + special(SPC_NOMOD) + } + field(LB, DBF_DOUBLE) { + prompt("Prev Value of B") + interest(3) + special(SPC_NOMOD) + } + field(LC, DBF_DOUBLE) { + prompt("Prev Value of C") + interest(3) + special(SPC_NOMOD) + } + field(LD, DBF_DOUBLE) { + prompt("Prev Value of D") + interest(3) + special(SPC_NOMOD) + } + field(LE, DBF_DOUBLE) { + prompt("Prev Value of E") + interest(3) + special(SPC_NOMOD) + } + field(LF, DBF_DOUBLE) { + prompt("Prev Value of F") + interest(3) + special(SPC_NOMOD) + } + field(LG, DBF_DOUBLE) { + prompt("Prev Value of G") + interest(3) + special(SPC_NOMOD) + } + field(LH, DBF_DOUBLE) { + prompt("Prev Value of H") + interest(3) + special(SPC_NOMOD) + } + field(LI, DBF_DOUBLE) { + prompt("Prev Value of I") + interest(3) + special(SPC_NOMOD) + } + field(LJ, DBF_DOUBLE) { + prompt("Prev Value of J") + interest(3) + special(SPC_NOMOD) + } + field(LK, DBF_DOUBLE) { + prompt("Prev Value of K") + interest(3) + special(SPC_NOMOD) + } + field(LL, DBF_DOUBLE) { + prompt("Prev Value of L") + interest(3) + special(SPC_NOMOD) + } + field(LALM, DBF_DOUBLE) { + prompt("Last Value Alarmed") + interest(3) + special(SPC_NOMOD) + } + field(ALST, DBF_DOUBLE) { + prompt("Last Value Archived") + interest(3) + special(SPC_NOMOD) + } + field(MLST, DBF_DOUBLE) { + prompt("Last Val Monitored") + interest(3) + special(SPC_NOMOD) + } + field(RPCL, DBF_NOACCESS) { + prompt("Reverse Polish Calc") + extra("char rpcl[INFIX_TO_POSTFIX_SIZE(80)]") + interest(4) + special(SPC_NOMOD) + } +} +recordtype(calcout) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + %/* Declare Device Support Entry Table */ + %struct calcoutRecord; + %typedef struct calcoutdset { + % dset common; + % long (*write)(struct calcoutRecord *prec); + %} calcoutdset; + %#define HAS_calcoutdset + % + %#include "dbScan.h" + %#include "postfix.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(RPVT, DBF_NOACCESS) { + prompt("Record Private") + extra("struct rpvtStruct *rpvt") + interest(4) + special(SPC_NOMOD) + } + field(VAL, DBF_DOUBLE) { + prompt("Result") + asl(ASL0) + promptgroup("50 - Output") + } + field(PVAL, DBF_DOUBLE) { + prompt("Previous Value") + } + field(CALC, DBF_STRING) { + initial("0") + prompt("Calculation") + special(SPC_CALC) + size(80) + pp(TRUE) + promptgroup("30 - Action") + } + field(CLCV, DBF_LONG) { + prompt("CALC Valid") + interest(1) + } + field(INPA, DBF_INLINK) { + prompt("Input A") + promptgroup("41 - Input A-F") + interest(1) + special(SPC_MOD) + } + field(INPB, DBF_INLINK) { + prompt("Input B") + promptgroup("41 - Input A-F") + interest(1) + special(SPC_MOD) + } + field(INPC, DBF_INLINK) { + prompt("Input C") + promptgroup("41 - Input A-F") + interest(1) + special(SPC_MOD) + } + field(INPD, DBF_INLINK) { + prompt("Input D") + promptgroup("41 - Input A-F") + interest(1) + special(SPC_MOD) + } + field(INPE, DBF_INLINK) { + prompt("Input E") + promptgroup("41 - Input A-F") + interest(1) + special(SPC_MOD) + } + field(INPF, DBF_INLINK) { + prompt("Input F") + promptgroup("41 - Input A-F") + interest(1) + special(SPC_MOD) + } + field(INPG, DBF_INLINK) { + prompt("Input G") + promptgroup("42 - Input G-L") + interest(1) + special(SPC_MOD) + } + field(INPH, DBF_INLINK) { + prompt("Input H") + promptgroup("42 - Input G-L") + interest(1) + special(SPC_MOD) + } + field(INPI, DBF_INLINK) { + prompt("Input I") + promptgroup("42 - Input G-L") + interest(1) + special(SPC_MOD) + } + field(INPJ, DBF_INLINK) { + prompt("Input J") + promptgroup("42 - Input G-L") + interest(1) + special(SPC_MOD) + } + field(INPK, DBF_INLINK) { + prompt("Input K") + promptgroup("42 - Input G-L") + interest(1) + special(SPC_MOD) + } + field(INPL, DBF_INLINK) { + prompt("Input L") + promptgroup("42 - Input G-L") + interest(1) + special(SPC_MOD) + } + field(OUT, DBF_OUTLINK) { + prompt("Output Specification") + promptgroup("50 - Output") + interest(1) + special(SPC_MOD) + } + field(INAV, DBF_MENU) { + initial("1") + prompt("INPA PV Status") + menu(calcoutINAV) + interest(1) + special(SPC_NOMOD) + } + field(INBV, DBF_MENU) { + initial("1") + prompt("INPB PV Status") + menu(calcoutINAV) + interest(1) + special(SPC_NOMOD) + } + field(INCV, DBF_MENU) { + initial("1") + prompt("INPC PV Status") + menu(calcoutINAV) + interest(1) + special(SPC_NOMOD) + } + field(INDV, DBF_MENU) { + initial("1") + prompt("INPD PV Status") + menu(calcoutINAV) + interest(1) + special(SPC_NOMOD) + } + field(INEV, DBF_MENU) { + initial("1") + prompt("INPE PV Status") + menu(calcoutINAV) + interest(1) + special(SPC_NOMOD) + } + field(INFV, DBF_MENU) { + initial("1") + prompt("INPF PV Status") + menu(calcoutINAV) + interest(1) + special(SPC_NOMOD) + } + field(INGV, DBF_MENU) { + initial("1") + prompt("INPG PV Status") + menu(calcoutINAV) + interest(1) + special(SPC_NOMOD) + } + field(INHV, DBF_MENU) { + initial("1") + prompt("INPH PV Status") + menu(calcoutINAV) + interest(1) + special(SPC_NOMOD) + } + field(INIV, DBF_MENU) { + initial("1") + prompt("INPI PV Status") + menu(calcoutINAV) + interest(1) + special(SPC_NOMOD) + } + field(INJV, DBF_MENU) { + initial("1") + prompt("INPJ PV Status") + menu(calcoutINAV) + interest(1) + special(SPC_NOMOD) + } + field(INKV, DBF_MENU) { + initial("1") + prompt("INPK PV Status") + menu(calcoutINAV) + interest(1) + special(SPC_NOMOD) + } + field(INLV, DBF_MENU) { + initial("1") + prompt("INPL PV Status") + menu(calcoutINAV) + interest(1) + special(SPC_NOMOD) + } + field(OUTV, DBF_MENU) { + prompt("OUT PV Status") + menu(calcoutINAV) + interest(1) + special(SPC_NOMOD) + } + field(OOPT, DBF_MENU) { + prompt("Output Execute Opt") + menu(calcoutOOPT) + promptgroup("50 - Output") + interest(1) + } + field(ODLY, DBF_DOUBLE) { + prompt("Output Execute Delay") + asl(ASL0) + promptgroup("50 - Output") + interest(1) + } + field(DLYA, DBF_USHORT) { + prompt("Output Delay Active") + asl(ASL0) + special(SPC_NOMOD) + } + field(DOPT, DBF_MENU) { + prompt("Output Data Opt") + menu(calcoutDOPT) + promptgroup("30 - Action") + interest(1) + } + field(OCAL, DBF_STRING) { + initial("0") + prompt("Output Calculation") + special(SPC_CALC) + size(80) + pp(TRUE) + promptgroup("30 - Action") + } + field(OCLV, DBF_LONG) { + prompt("OCAL Valid") + interest(1) + } + field(OEVT, DBF_STRING) { + size(40) + prompt("Event To Issue") + asl(ASL0) + promptgroup("30 - Action") + special(SPC_MOD) + } + field(EPVT, DBF_NOACCESS) { + prompt("Event private") + extra("EVENTPVT epvt") + interest(4) + special(SPC_NOMOD) + } + field(IVOA, DBF_MENU) { + prompt("INVALID output action") + menu(menuIvoa) + promptgroup("50 - Output") + interest(2) + } + field(IVOV, DBF_DOUBLE) { + prompt("INVALID output value") + promptgroup("50 - Output") + interest(2) + } + field(EGU, DBF_STRING) { + size(16) + prompt("Engineering Units") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(HOPR, DBF_DOUBLE) { + prompt("High Operating Rng") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(LOPR, DBF_DOUBLE) { + prompt("Low Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(HIHI, DBF_DOUBLE) { + pp(TRUE) + prompt("Hihi Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LOLO, DBF_DOUBLE) { + pp(TRUE) + prompt("Lolo Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HIGH, DBF_DOUBLE) { + pp(TRUE) + prompt("High Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LOW, DBF_DOUBLE) { + pp(TRUE) + prompt("Low Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HHSV, DBF_MENU) { + prompt("Hihi Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LLSV, DBF_MENU) { + prompt("Lolo Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HSV, DBF_MENU) { + prompt("High Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LSV, DBF_MENU) { + prompt("Low Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HYST, DBF_DOUBLE) { + prompt("Alarm Deadband") + promptgroup("70 - Alarm") + interest(1) + } + field(ADEL, DBF_DOUBLE) { + prompt("Archive Deadband") + promptgroup("80 - Display") + interest(1) + } + field(MDEL, DBF_DOUBLE) { + prompt("Monitor Deadband") + promptgroup("80 - Display") + interest(1) + } + field(A, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input A") + } + field(B, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input B") + } + field(C, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input C") + } + field(D, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input D") + } + field(E, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input E") + } + field(F, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input F") + } + field(G, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input G") + } + field(H, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input H") + } + field(I, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input I") + } + field(J, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input J") + } + field(K, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input K") + } + field(L, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input L") + } + field(OVAL, DBF_DOUBLE) { + prompt("Output Value") + asl(ASL0) + } + field(LA, DBF_DOUBLE) { + prompt("Prev Value of A") + interest(3) + special(SPC_NOMOD) + } + field(LB, DBF_DOUBLE) { + prompt("Prev Value of B") + interest(3) + special(SPC_NOMOD) + } + field(LC, DBF_DOUBLE) { + prompt("Prev Value of C") + interest(3) + special(SPC_NOMOD) + } + field(LD, DBF_DOUBLE) { + prompt("Prev Value of D") + interest(3) + special(SPC_NOMOD) + } + field(LE, DBF_DOUBLE) { + prompt("Prev Value of E") + interest(3) + special(SPC_NOMOD) + } + field(LF, DBF_DOUBLE) { + prompt("Prev Value of F") + interest(3) + special(SPC_NOMOD) + } + field(LG, DBF_DOUBLE) { + prompt("Prev Value of G") + interest(3) + special(SPC_NOMOD) + } + field(LH, DBF_DOUBLE) { + prompt("Prev Value of H") + interest(3) + special(SPC_NOMOD) + } + field(LI, DBF_DOUBLE) { + prompt("Prev Value of I") + interest(3) + special(SPC_NOMOD) + } + field(LJ, DBF_DOUBLE) { + prompt("Prev Value of J") + interest(3) + special(SPC_NOMOD) + } + field(LK, DBF_DOUBLE) { + prompt("Prev Value of K") + interest(3) + special(SPC_NOMOD) + } + field(LL, DBF_DOUBLE) { + prompt("Prev Value of L") + interest(3) + special(SPC_NOMOD) + } + field(POVL, DBF_DOUBLE) { + prompt("Prev Value of OVAL") + asl(ASL0) + } + field(LALM, DBF_DOUBLE) { + prompt("Last Value Alarmed") + interest(3) + special(SPC_NOMOD) + } + field(ALST, DBF_DOUBLE) { + prompt("Last Value Archived") + interest(3) + special(SPC_NOMOD) + } + field(MLST, DBF_DOUBLE) { + prompt("Last Val Monitored") + interest(3) + special(SPC_NOMOD) + } + field(RPCL, DBF_NOACCESS) { + prompt("Reverse Polish Calc") + extra("char rpcl[INFIX_TO_POSTFIX_SIZE(80)]") + interest(4) + special(SPC_NOMOD) + } + field(ORPC, DBF_NOACCESS) { + prompt("Reverse Polish OCalc") + extra("char orpc[INFIX_TO_POSTFIX_SIZE(80)]") + interest(4) + special(SPC_NOMOD) + } +} +device(calcout, CONSTANT, devCalcoutSoft, "Soft Channel") +device(calcout, CONSTANT, devCalcoutSoftCallback, "Async Soft Channel") +recordtype(compress) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_NOACCESS) { + pp(TRUE) + prompt("Value") + extra("void * val") + asl(ASL0) + special(SPC_DBADDR) + } + field(INP, DBF_INLINK) { + prompt("Input Specification") + promptgroup("40 - Input") + interest(1) + } + field(RES, DBF_SHORT) { + prompt("Reset") + asl(ASL0) + interest(3) + special(SPC_RESET) + } + field(ALG, DBF_MENU) { + prompt("Compression Algorithm") + menu(compressALG) + promptgroup("30 - Action") + interest(1) + special(SPC_RESET) + } + field(BALG, DBF_MENU) { + prompt("Buffering Algorithm") + menu(bufferingALG) + promptgroup("30 - Action") + interest(1) + special(SPC_RESET) + } + field(NSAM, DBF_ULONG) { + initial("1") + prompt("Number of Values") + promptgroup("30 - Action") + interest(1) + special(SPC_NOMOD) + } + field(N, DBF_ULONG) { + initial("1") + prompt("N to 1 Compression") + promptgroup("30 - Action") + interest(1) + special(SPC_RESET) + } + field(IHIL, DBF_DOUBLE) { + prompt("Init High Interest Lim") + promptgroup("30 - Action") + interest(1) + } + field(ILIL, DBF_DOUBLE) { + prompt("Init Low Interest Lim") + promptgroup("30 - Action") + interest(1) + } + field(HOPR, DBF_DOUBLE) { + prompt("High Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(LOPR, DBF_DOUBLE) { + prompt("Low Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(EGU, DBF_STRING) { + size(16) + prompt("Engineering Units") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(OFF, DBF_ULONG) { + prompt("Offset") + special(SPC_NOMOD) + } + field(NUSE, DBF_ULONG) { + prompt("Number Used") + special(SPC_NOMOD) + } + field(OUSE, DBF_ULONG) { + prompt("Old Number Used") + special(SPC_NOMOD) + } + field(BPTR, DBF_NOACCESS) { + prompt("Buffer Pointer") + extra("double *bptr") + interest(4) + special(SPC_NOMOD) + } + field(SPTR, DBF_NOACCESS) { + prompt("Summing Buffer Ptr") + extra("double *sptr") + interest(4) + special(SPC_NOMOD) + } + field(WPTR, DBF_NOACCESS) { + prompt("Working Buffer Ptr") + extra("double *wptr") + interest(4) + special(SPC_NOMOD) + } + field(INPN, DBF_LONG) { + prompt("Number of elements in Working Buffer") + interest(4) + special(SPC_NOMOD) + } + field(CVB, DBF_DOUBLE) { + prompt("Compress Value Buffer") + interest(3) + special(SPC_NOMOD) + } + field(INX, DBF_ULONG) { + prompt("Current number of readings") + interest(3) + special(SPC_NOMOD) + } +} +recordtype(dfanout) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_DOUBLE) { + pp(TRUE) + prompt("Desired Output") + asl(ASL0) + promptgroup("40 - Input") + } + field(SELM, DBF_MENU) { + prompt("Select Mechanism") + menu(dfanoutSELM) + promptgroup("30 - Action") + interest(1) + } + field(SELN, DBF_USHORT) { + initial("1") + prompt("Link Selection") + interest(1) + } + field(SELL, DBF_INLINK) { + prompt("Link Selection Loc") + promptgroup("30 - Action") + interest(1) + } + field(OUTA, DBF_OUTLINK) { + prompt("Output Spec A") + promptgroup("50 - Output") + interest(1) + } + field(OUTB, DBF_OUTLINK) { + prompt("Output Spec B") + promptgroup("50 - Output") + interest(1) + } + field(OUTC, DBF_OUTLINK) { + prompt("Output Spec C") + promptgroup("50 - Output") + interest(1) + } + field(OUTD, DBF_OUTLINK) { + prompt("Output Spec D") + promptgroup("50 - Output") + interest(1) + } + field(OUTE, DBF_OUTLINK) { + prompt("Output Spec E") + promptgroup("50 - Output") + interest(1) + } + field(OUTF, DBF_OUTLINK) { + prompt("Output Spec F") + promptgroup("50 - Output") + interest(1) + } + field(OUTG, DBF_OUTLINK) { + prompt("Output Spec G") + promptgroup("50 - Output") + interest(1) + } + field(OUTH, DBF_OUTLINK) { + prompt("Output Spec H") + promptgroup("50 - Output") + interest(1) + } + field(DOL, DBF_INLINK) { + prompt("Desired Output Link") + promptgroup("40 - Input") + interest(1) + } + field(OMSL, DBF_MENU) { + prompt("Output Mode Select") + menu(menuOmsl) + promptgroup("50 - Output") + interest(1) + } + field(EGU, DBF_STRING) { + size(16) + prompt("Engineering Units") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(HOPR, DBF_DOUBLE) { + prompt("High Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(LOPR, DBF_DOUBLE) { + prompt("Low Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(HIHI, DBF_DOUBLE) { + pp(TRUE) + prompt("Hihi Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LOLO, DBF_DOUBLE) { + pp(TRUE) + prompt("Lolo Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HIGH, DBF_DOUBLE) { + pp(TRUE) + prompt("High Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LOW, DBF_DOUBLE) { + pp(TRUE) + prompt("Low Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HHSV, DBF_MENU) { + prompt("Hihi Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LLSV, DBF_MENU) { + prompt("Lolo Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HSV, DBF_MENU) { + prompt("High Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LSV, DBF_MENU) { + prompt("Low Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HYST, DBF_DOUBLE) { + prompt("Alarm Deadband") + promptgroup("70 - Alarm") + interest(1) + } + field(ADEL, DBF_DOUBLE) { + prompt("Archive Deadband") + promptgroup("80 - Display") + interest(1) + } + field(MDEL, DBF_DOUBLE) { + prompt("Monitor Deadband") + promptgroup("80 - Display") + interest(1) + } + field(LALM, DBF_DOUBLE) { + prompt("Last Value Alarmed") + interest(3) + special(SPC_NOMOD) + } + field(ALST, DBF_DOUBLE) { + prompt("Last Value Archived") + interest(3) + special(SPC_NOMOD) + } + field(MLST, DBF_DOUBLE) { + prompt("Last Val Monitored") + interest(3) + special(SPC_NOMOD) + } +} +recordtype(event) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + % + %/* Declare Device Support Entry Table */ + %struct eventRecord; + %typedef struct eventdset { + % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ + % long (*read_event)(struct eventRecord *prec); /*(0)=> success */ + %} eventdset; + %#define HAS_eventdset + % + %#include "dbScan.h" + %#include "callback.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_STRING) { + size(40) + prompt("Event Name To Post") + asl(ASL0) + promptgroup("40 - Input") + special(SPC_MOD) + } + field(EPVT, DBF_NOACCESS) { + prompt("Event private") + extra("EVENTPVT epvt") + interest(4) + special(SPC_NOMOD) + } + field(INP, DBF_INLINK) { + prompt("Input Specification") + promptgroup("40 - Input") + interest(1) + } + field(SIOL, DBF_INLINK) { + prompt("Sim Input Specifctn") + promptgroup("90 - Simulate") + interest(1) + } + field(SVAL, DBF_STRING) { + size(40) + prompt("Simulation Value") + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + promptgroup("90 - Simulate") + interest(1) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuYesNo) + interest(1) + special(SPC_MOD) + } + field(SIMS, DBF_MENU) { + prompt("Sim mode Alarm Svrty") + menu(menuAlarmSevr) + promptgroup("90 - Simulate") + interest(2) + } + field(OLDSIMM, DBF_MENU) { + prompt("Prev. Simulation Mode") + menu(menuSimm) + interest(4) + special(SPC_NOMOD) + } + field(SSCN, DBF_MENU) { + initial("65535") + prompt("Sim. Mode Scan") + menu(menuScan) + promptgroup("90 - Simulate") + interest(1) + } + field(SDLY, DBF_DOUBLE) { + initial("-1.0") + prompt("Sim. Mode Async Delay") + promptgroup("90 - Simulate") + interest(2) + } + field(SIMPVT, DBF_NOACCESS) { + prompt("Sim. Mode Private") + extra("epicsCallback *simpvt") + interest(4) + special(SPC_NOMOD) + } +} +device(event, CONSTANT, devEventSoft, "Soft Channel") +recordtype(fanout) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_LONG) { + pp(TRUE) + prompt("Used to trigger") + asl(ASL0) + } + field(SELM, DBF_MENU) { + prompt("Select Mechanism") + menu(fanoutSELM) + promptgroup("30 - Action") + interest(1) + } + field(SELN, DBF_USHORT) { + initial("1") + prompt("Link Selection") + interest(1) + } + field(SELL, DBF_INLINK) { + prompt("Link Selection Loc") + promptgroup("30 - Action") + interest(1) + } + field(OFFS, DBF_SHORT) { + initial("0") + prompt("Offset for Specified") + promptgroup("30 - Action") + interest(1) + } + field(SHFT, DBF_SHORT) { + initial("-1") + prompt("Shift for Mask mode") + promptgroup("30 - Action") + interest(1) + } + field(LNK0, DBF_FWDLINK) { + prompt("Forward Link 0") + promptgroup("51 - Output 0-7") + interest(1) + } + field(LNK1, DBF_FWDLINK) { + prompt("Forward Link 1") + promptgroup("51 - Output 0-7") + interest(1) + } + field(LNK2, DBF_FWDLINK) { + prompt("Forward Link 2") + promptgroup("51 - Output 0-7") + interest(1) + } + field(LNK3, DBF_FWDLINK) { + prompt("Forward Link 3") + promptgroup("51 - Output 0-7") + interest(1) + } + field(LNK4, DBF_FWDLINK) { + prompt("Forward Link 4") + promptgroup("51 - Output 0-7") + interest(1) + } + field(LNK5, DBF_FWDLINK) { + prompt("Forward Link 5") + promptgroup("51 - Output 0-7") + interest(1) + } + field(LNK6, DBF_FWDLINK) { + prompt("Forward Link 6") + promptgroup("51 - Output 0-7") + interest(1) + } + field(LNK7, DBF_FWDLINK) { + prompt("Forward Link 7") + promptgroup("51 - Output 0-7") + interest(1) + } + field(LNK8, DBF_FWDLINK) { + prompt("Forward Link 8") + promptgroup("52 - Output 8-F") + interest(1) + } + field(LNK9, DBF_FWDLINK) { + prompt("Forward Link 9") + promptgroup("52 - Output 8-F") + interest(1) + } + field(LNKA, DBF_FWDLINK) { + prompt("Forward Link 10") + promptgroup("52 - Output 8-F") + interest(1) + } + field(LNKB, DBF_FWDLINK) { + prompt("Forward Link 11") + promptgroup("52 - Output 8-F") + interest(1) + } + field(LNKC, DBF_FWDLINK) { + prompt("Forward Link 12") + promptgroup("52 - Output 8-F") + interest(1) + } + field(LNKD, DBF_FWDLINK) { + prompt("Forward Link 13") + promptgroup("52 - Output 8-F") + interest(1) + } + field(LNKE, DBF_FWDLINK) { + prompt("Forward Link 14") + promptgroup("52 - Output 8-F") + interest(1) + } + field(LNKF, DBF_FWDLINK) { + prompt("Forward Link 15") + promptgroup("52 - Output 8-F") + interest(1) + } +} +recordtype(histogram) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + % + %/* Declare Device Support Entry Table */ + %struct histogramRecord; + %typedef struct histogramdset { + % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ + % long (*read_histogram)(struct histogramRecord *prec); /*(0,2)=> success and add_count, don't add_count); if add_count then sgnl added to array*/ + % long (*special_linconv)(struct histogramRecord *prec, int after); + %} histogramdset; + %#define HAS_histogramdset + % + %#include "callback.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_NOACCESS) { + prompt("Value") + extra("void * val") + asl(ASL0) + special(SPC_DBADDR) + } + field(NELM, DBF_USHORT) { + initial("1") + prompt("Num of Array Elements") + promptgroup("30 - Action") + interest(1) + special(SPC_NOMOD) + } + field(CSTA, DBF_SHORT) { + initial("1") + prompt("Collection Status") + interest(1) + special(SPC_NOMOD) + } + field(CMD, DBF_MENU) { + prompt("Collection Control") + menu(histogramCMD) + asl(ASL0) + interest(1) + special(SPC_CALC) + } + field(ULIM, DBF_DOUBLE) { + prompt("Upper Signal Limit") + prop(YES) + promptgroup("30 - Action") + interest(1) + special(SPC_RESET) + } + field(LLIM, DBF_DOUBLE) { + prompt("Lower Signal Limit ") + prop(YES) + promptgroup("30 - Action") + interest(1) + special(SPC_RESET) + } + field(WDTH, DBF_DOUBLE) { + prompt("Element Width") + interest(3) + special(SPC_NOMOD) + } + field(SGNL, DBF_DOUBLE) { + prompt("Signal Value") + special(SPC_MOD) + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(SVL, DBF_INLINK) { + prompt("Signal Value Location") + promptgroup("40 - Input") + interest(1) + } + field(BPTR, DBF_NOACCESS) { + prompt("Buffer Pointer") + extra("epicsUInt32 *bptr") + interest(4) + special(SPC_NOMOD) + } + field(WDOG, DBF_NOACCESS) { + prompt("Watchdog callback") + extra("void * wdog") + interest(4) + special(SPC_NOMOD) + } + field(MDEL, DBF_SHORT) { + prompt("Monitor Count Deadband") + promptgroup("80 - Display") + interest(1) + } + field(MCNT, DBF_SHORT) { + prompt("Counts Since Monitor") + interest(3) + special(SPC_NOMOD) + } + field(SDEL, DBF_DOUBLE) { + prompt("Monitor Seconds Dband") + promptgroup("80 - Display") + interest(1) + special(SPC_RESET) + } + field(SIOL, DBF_INLINK) { + prompt("Simulation Input Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SVAL, DBF_DOUBLE) { + prompt("Simulation Value") + } + field(SIML, DBF_INLINK) { + prompt("Simulation Mode Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuYesNo) + interest(1) + special(SPC_MOD) + } + field(SIMS, DBF_MENU) { + prompt("Simulation Mode Severity") + menu(menuAlarmSevr) + promptgroup("90 - Simulate") + interest(2) + } + field(OLDSIMM, DBF_MENU) { + prompt("Prev. Simulation Mode") + menu(menuSimm) + interest(4) + special(SPC_NOMOD) + } + field(SSCN, DBF_MENU) { + initial("65535") + prompt("Sim. Mode Scan") + menu(menuScan) + promptgroup("90 - Simulate") + interest(1) + } + field(SDLY, DBF_DOUBLE) { + initial("-1.0") + prompt("Sim. Mode Async Delay") + promptgroup("90 - Simulate") + interest(2) + } + field(SIMPVT, DBF_NOACCESS) { + prompt("Sim. Mode Private") + extra("epicsCallback *simpvt") + interest(4) + special(SPC_NOMOD) + } + field(HOPR, DBF_ULONG) { + prompt("High Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(LOPR, DBF_ULONG) { + prompt("Low Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } +} +device(histogram, CONSTANT, devHistogramSoft, "Soft Channel") +recordtype(int64in) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + % + %/* Declare Device Support Entry Table */ + %struct int64inRecord; + %typedef struct int64indset { + % dset common; + % long (*read_int64in)(struct int64inRecord *prec); + %} int64indset; + %#define HAS_int64indset + % + %#include "callback.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_INT64) { + pp(TRUE) + prompt("Current value") + asl(ASL0) + promptgroup("40 - Input") + } + field(INP, DBF_INLINK) { + prompt("Input Specification") + promptgroup("40 - Input") + interest(1) + } + field(EGU, DBF_STRING) { + size(16) + prompt("Units name") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(HOPR, DBF_INT64) { + prompt("High Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(LOPR, DBF_INT64) { + prompt("Low Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(HIHI, DBF_INT64) { + pp(TRUE) + prompt("Hihi Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LOLO, DBF_INT64) { + pp(TRUE) + prompt("Lolo Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HIGH, DBF_INT64) { + pp(TRUE) + prompt("High Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LOW, DBF_INT64) { + pp(TRUE) + prompt("Low Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HHSV, DBF_MENU) { + pp(TRUE) + prompt("Hihi Severity") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LLSV, DBF_MENU) { + pp(TRUE) + prompt("Lolo Severity") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(HSV, DBF_MENU) { + pp(TRUE) + prompt("High Severity") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LSV, DBF_MENU) { + pp(TRUE) + prompt("Low Severity") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(HYST, DBF_INT64) { + prompt("Alarm Deadband") + promptgroup("70 - Alarm") + interest(1) + } + field(AFTC, DBF_DOUBLE) { + prompt("Alarm Filter Time Constant") + promptgroup("70 - Alarm") + interest(1) + } + field(AFVL, DBF_DOUBLE) { + prompt("Alarm Filter Value") + interest(3) + special(SPC_NOMOD) + } + field(ADEL, DBF_INT64) { + prompt("Archive Deadband") + promptgroup("80 - Display") + interest(1) + } + field(MDEL, DBF_INT64) { + prompt("Monitor Deadband") + promptgroup("80 - Display") + interest(1) + } + field(LALM, DBF_INT64) { + prompt("Last Value Alarmed") + interest(3) + special(SPC_NOMOD) + } + field(ALST, DBF_INT64) { + prompt("Last Value Archived") + interest(3) + special(SPC_NOMOD) + } + field(MLST, DBF_INT64) { + prompt("Last Val Monitored") + interest(3) + special(SPC_NOMOD) + } + field(SIOL, DBF_INLINK) { + prompt("Simulation Input Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SVAL, DBF_INT64) { + prompt("Simulation Value") + } + field(SIML, DBF_INLINK) { + prompt("Simulation Mode Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuYesNo) + interest(1) + special(SPC_MOD) + } + field(SIMS, DBF_MENU) { + prompt("Simulation Mode Severity") + menu(menuAlarmSevr) + promptgroup("90 - Simulate") + interest(2) + } + field(OLDSIMM, DBF_MENU) { + prompt("Prev. Simulation Mode") + menu(menuSimm) + interest(4) + special(SPC_NOMOD) + } + field(SSCN, DBF_MENU) { + initial("65535") + prompt("Sim. Mode Scan") + menu(menuScan) + promptgroup("90 - Simulate") + interest(1) + } + field(SDLY, DBF_DOUBLE) { + initial("-1.0") + prompt("Sim. Mode Async Delay") + promptgroup("90 - Simulate") + interest(2) + } + field(SIMPVT, DBF_NOACCESS) { + prompt("Sim. Mode Private") + extra("epicsCallback *simpvt") + interest(4) + special(SPC_NOMOD) + } +} +device(int64in, CONSTANT, devI64inSoft, "Soft Channel") +device(int64in, CONSTANT, devI64inSoftCallback, "Async Soft Channel") +device(int64in, INST_IO, devInt64inOpcua, "OPCUA") +recordtype(int64out) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + % + %/* Declare Device Support Entry Table */ + %struct int64outRecord; + %typedef struct int64outdset { + % dset common; + % long (*write_int64out)(struct int64outRecord *prec); + %} int64outdset; + %#define HAS_int64outdset + % + %#include "callback.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_INT64) { + pp(TRUE) + prompt("Desired Output") + asl(ASL0) + promptgroup("50 - Output") + } + field(OUT, DBF_OUTLINK) { + prompt("Output Specification") + promptgroup("50 - Output") + interest(1) + } + field(DOL, DBF_INLINK) { + prompt("Desired Output Link") + promptgroup("40 - Input") + interest(1) + } + field(OMSL, DBF_MENU) { + prompt("Output Mode Select") + menu(menuOmsl) + promptgroup("50 - Output") + interest(1) + } + field(EGU, DBF_STRING) { + size(16) + prompt("Units name") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(DRVH, DBF_INT64) { + pp(TRUE) + prompt("Drive High Limit") + prop(YES) + promptgroup("30 - Action") + interest(1) + } + field(DRVL, DBF_INT64) { + pp(TRUE) + prompt("Drive Low Limit") + prop(YES) + promptgroup("30 - Action") + interest(1) + } + field(HOPR, DBF_INT64) { + prompt("High Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(LOPR, DBF_INT64) { + prompt("Low Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(HIHI, DBF_INT64) { + pp(TRUE) + prompt("Hihi Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LOLO, DBF_INT64) { + pp(TRUE) + prompt("Lolo Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HIGH, DBF_INT64) { + pp(TRUE) + prompt("High Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LOW, DBF_INT64) { + pp(TRUE) + prompt("Low Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HHSV, DBF_MENU) { + pp(TRUE) + prompt("Hihi Severity") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LLSV, DBF_MENU) { + pp(TRUE) + prompt("Lolo Severity") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(HSV, DBF_MENU) { + pp(TRUE) + prompt("High Severity") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LSV, DBF_MENU) { + pp(TRUE) + prompt("Low Severity") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(HYST, DBF_INT64) { + prompt("Alarm Deadband") + promptgroup("70 - Alarm") + interest(1) + } + field(ADEL, DBF_INT64) { + prompt("Archive Deadband") + promptgroup("80 - Display") + interest(1) + } + field(MDEL, DBF_INT64) { + prompt("Monitor Deadband") + promptgroup("80 - Display") + interest(1) + } + field(LALM, DBF_INT64) { + prompt("Last Value Alarmed") + interest(3) + special(SPC_NOMOD) + } + field(ALST, DBF_INT64) { + prompt("Last Value Archived") + interest(3) + special(SPC_NOMOD) + } + field(MLST, DBF_INT64) { + prompt("Last Val Monitored") + interest(3) + special(SPC_NOMOD) + } + field(SIOL, DBF_OUTLINK) { + prompt("Simulation Output Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIML, DBF_INLINK) { + prompt("Simulation Mode Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuYesNo) + interest(1) + special(SPC_MOD) + } + field(SIMS, DBF_MENU) { + prompt("Simulation Mode Severity") + menu(menuAlarmSevr) + promptgroup("90 - Simulate") + interest(2) + } + field(OLDSIMM, DBF_MENU) { + prompt("Prev. Simulation Mode") + menu(menuSimm) + interest(4) + special(SPC_NOMOD) + } + field(SSCN, DBF_MENU) { + initial("65535") + prompt("Sim. Mode Scan") + menu(menuScan) + promptgroup("90 - Simulate") + interest(1) + } + field(SDLY, DBF_DOUBLE) { + initial("-1.0") + prompt("Sim. Mode Async Delay") + promptgroup("90 - Simulate") + interest(2) + } + field(SIMPVT, DBF_NOACCESS) { + prompt("Sim. Mode Private") + extra("epicsCallback *simpvt") + interest(4) + special(SPC_NOMOD) + } + field(IVOA, DBF_MENU) { + prompt("INVALID output action") + menu(menuIvoa) + promptgroup("50 - Output") + interest(2) + } + field(IVOV, DBF_INT64) { + prompt("INVALID output value") + promptgroup("50 - Output") + interest(2) + } +} +device(int64out, CONSTANT, devI64outSoft, "Soft Channel") +device(int64out, CONSTANT, devI64outSoftCallback, "Async Soft Channel") +device(int64out, INST_IO, devInt64outOpcua, "OPCUA") +recordtype(longin) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + % + %/* Declare Device Support Entry Table */ + %struct longinRecord; + %typedef struct longindset { + % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ + % long (*read_longin)(struct longinRecord *prec); /*returns: (-1,0)=>(failure,success)*/ + %} longindset; + %#define HAS_longindset + % + %#include "callback.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_LONG) { + pp(TRUE) + prompt("Current value") + asl(ASL0) + promptgroup("40 - Input") + } + field(INP, DBF_INLINK) { + prompt("Input Specification") + promptgroup("40 - Input") + interest(1) + } + field(EGU, DBF_STRING) { + size(16) + prompt("Engineering Units") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(HOPR, DBF_LONG) { + prompt("High Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(LOPR, DBF_LONG) { + prompt("Low Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(HIHI, DBF_LONG) { + pp(TRUE) + prompt("Hihi Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LOLO, DBF_LONG) { + pp(TRUE) + prompt("Lolo Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HIGH, DBF_LONG) { + pp(TRUE) + prompt("High Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LOW, DBF_LONG) { + pp(TRUE) + prompt("Low Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HHSV, DBF_MENU) { + pp(TRUE) + prompt("Hihi Severity") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LLSV, DBF_MENU) { + pp(TRUE) + prompt("Lolo Severity") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(HSV, DBF_MENU) { + pp(TRUE) + prompt("High Severity") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LSV, DBF_MENU) { + pp(TRUE) + prompt("Low Severity") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(HYST, DBF_LONG) { + prompt("Alarm Deadband") + promptgroup("70 - Alarm") + interest(1) + } + field(AFTC, DBF_DOUBLE) { + prompt("Alarm Filter Time Constant") + promptgroup("70 - Alarm") + interest(1) + } + field(AFVL, DBF_DOUBLE) { + prompt("Alarm Filter Value") + interest(3) + special(SPC_NOMOD) + } + field(ADEL, DBF_LONG) { + prompt("Archive Deadband") + promptgroup("80 - Display") + interest(1) + } + field(MDEL, DBF_LONG) { + prompt("Monitor Deadband") + promptgroup("80 - Display") + interest(1) + } + field(LALM, DBF_LONG) { + prompt("Last Value Alarmed") + interest(3) + special(SPC_NOMOD) + } + field(ALST, DBF_LONG) { + prompt("Last Value Archived") + interest(3) + special(SPC_NOMOD) + } + field(MLST, DBF_LONG) { + prompt("Last Val Monitored") + interest(3) + special(SPC_NOMOD) + } + field(SIOL, DBF_INLINK) { + prompt("Sim Input Specifctn") + promptgroup("90 - Simulate") + interest(1) + } + field(SVAL, DBF_LONG) { + prompt("Simulation Value") + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + promptgroup("90 - Simulate") + interest(1) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuYesNo) + interest(1) + special(SPC_MOD) + } + field(SIMS, DBF_MENU) { + prompt("Sim mode Alarm Svrty") + menu(menuAlarmSevr) + promptgroup("90 - Simulate") + interest(2) + } + field(OLDSIMM, DBF_MENU) { + prompt("Prev. Simulation Mode") + menu(menuSimm) + interest(4) + special(SPC_NOMOD) + } + field(SSCN, DBF_MENU) { + initial("65535") + prompt("Sim. Mode Scan") + menu(menuScan) + promptgroup("90 - Simulate") + interest(1) + } + field(SDLY, DBF_DOUBLE) { + initial("-1.0") + prompt("Sim. Mode Async Delay") + promptgroup("90 - Simulate") + interest(2) + } + field(SIMPVT, DBF_NOACCESS) { + prompt("Sim. Mode Private") + extra("epicsCallback *simpvt") + interest(4) + special(SPC_NOMOD) + } +} +device(longin, CONSTANT, devLiSoft, "Soft Channel") +device(longin, CONSTANT, devLiSoftCallback, "Async Soft Channel") +device(longin, INST_IO, devLiGeneralTime, "General Time") +device(longin, INST_IO, devLiOpcua, "OPCUA") +recordtype(longout) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + % + %/* Declare Device Support Entry Table */ + %struct longoutRecord; + %typedef struct longoutdset { + % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ + % long (*write_longout)(struct longoutRecord *prec); /*(-1,0)=>(failure,success*/ + %} longoutdset; + %#define HAS_longoutdset + % + %#include "callback.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_LONG) { + pp(TRUE) + prompt("Desired Output") + asl(ASL0) + promptgroup("50 - Output") + } + field(OUT, DBF_OUTLINK) { + prompt("Output Specification") + promptgroup("50 - Output") + interest(1) + } + field(DOL, DBF_INLINK) { + prompt("Desired Output Link") + promptgroup("40 - Input") + interest(1) + } + field(OMSL, DBF_MENU) { + prompt("Output Mode Select") + menu(menuOmsl) + promptgroup("50 - Output") + interest(1) + } + field(EGU, DBF_STRING) { + size(16) + prompt("Engineering Units") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(DRVH, DBF_LONG) { + pp(TRUE) + prompt("Drive High Limit") + prop(YES) + promptgroup("30 - Action") + interest(1) + } + field(DRVL, DBF_LONG) { + pp(TRUE) + prompt("Drive Low Limit") + prop(YES) + promptgroup("30 - Action") + interest(1) + } + field(HOPR, DBF_LONG) { + prompt("High Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(LOPR, DBF_LONG) { + prompt("Low Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(HIHI, DBF_LONG) { + pp(TRUE) + prompt("Hihi Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LOLO, DBF_LONG) { + pp(TRUE) + prompt("Lolo Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HIGH, DBF_LONG) { + pp(TRUE) + prompt("High Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LOW, DBF_LONG) { + pp(TRUE) + prompt("Low Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HHSV, DBF_MENU) { + pp(TRUE) + prompt("Hihi Severity") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LLSV, DBF_MENU) { + pp(TRUE) + prompt("Lolo Severity") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(HSV, DBF_MENU) { + pp(TRUE) + prompt("High Severity") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LSV, DBF_MENU) { + pp(TRUE) + prompt("Low Severity") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(HYST, DBF_LONG) { + prompt("Alarm Deadband") + promptgroup("70 - Alarm") + interest(1) + } + field(ADEL, DBF_LONG) { + prompt("Archive Deadband") + promptgroup("80 - Display") + interest(1) + } + field(MDEL, DBF_LONG) { + prompt("Monitor Deadband") + promptgroup("80 - Display") + interest(1) + } + field(LALM, DBF_LONG) { + prompt("Last Value Alarmed") + interest(3) + special(SPC_NOMOD) + } + field(ALST, DBF_LONG) { + prompt("Last Value Archived") + interest(3) + special(SPC_NOMOD) + } + field(MLST, DBF_LONG) { + prompt("Last Val Monitored") + interest(3) + special(SPC_NOMOD) + } + field(SIOL, DBF_OUTLINK) { + prompt("Sim Output Specifctn") + promptgroup("90 - Simulate") + interest(1) + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + promptgroup("90 - Simulate") + interest(1) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuYesNo) + interest(1) + special(SPC_MOD) + } + field(SIMS, DBF_MENU) { + prompt("Sim mode Alarm Svrty") + menu(menuAlarmSevr) + promptgroup("90 - Simulate") + interest(2) + } + field(OLDSIMM, DBF_MENU) { + prompt("Prev. Simulation Mode") + menu(menuSimm) + interest(4) + special(SPC_NOMOD) + } + field(SSCN, DBF_MENU) { + initial("65535") + prompt("Sim. Mode Scan") + menu(menuScan) + promptgroup("90 - Simulate") + interest(1) + } + field(SDLY, DBF_DOUBLE) { + initial("-1.0") + prompt("Sim. Mode Async Delay") + promptgroup("90 - Simulate") + interest(2) + } + field(SIMPVT, DBF_NOACCESS) { + prompt("Sim. Mode Private") + extra("epicsCallback *simpvt") + interest(4) + special(SPC_NOMOD) + } + field(IVOA, DBF_MENU) { + prompt("INVALID output action") + menu(menuIvoa) + promptgroup("50 - Output") + interest(2) + } + field(IVOV, DBF_LONG) { + prompt("INVALID output value") + promptgroup("50 - Output") + interest(2) + } +} +device(longout, CONSTANT, devLoSoft, "Soft Channel") +device(longout, CONSTANT, devLoSoftCallback, "Async Soft Channel") +device(longout, INST_IO, devLoOpcua, "OPCUA") +recordtype(lsi) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + % + %/* Declare Device Support Entry Table */ + %struct lsiRecord; + %typedef struct lsidset { + % dset common; + % long (*read_string)(struct lsiRecord *prec); + %} lsidset; + %#define HAS_lsidset + % + %#include "callback.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_NOACCESS) { + pp(TRUE) + prompt("Current Value") + extra("char *val") + asl(ASL0) + special(SPC_DBADDR) + } + field(OVAL, DBF_NOACCESS) { + prompt("Old Value") + extra("char *oval") + interest(3) + special(SPC_DBADDR) + } + field(SIZV, DBF_USHORT) { + initial("41") + prompt("Size of buffers") + promptgroup("40 - Input") + interest(1) + special(SPC_NOMOD) + } + field(LEN, DBF_ULONG) { + prompt("Length of VAL") + special(SPC_NOMOD) + } + field(OLEN, DBF_ULONG) { + prompt("Length of OVAL") + special(SPC_NOMOD) + } + field(INP, DBF_INLINK) { + prompt("Input Specification") + promptgroup("40 - Input") + interest(1) + } + field(MPST, DBF_MENU) { + prompt("Post Value Monitors") + menu(menuPost) + promptgroup("80 - Display") + interest(1) + } + field(APST, DBF_MENU) { + prompt("Post Archive Monitors") + menu(menuPost) + promptgroup("80 - Display") + interest(1) + } + field(SIML, DBF_INLINK) { + prompt("Simulation Mode Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuYesNo) + interest(1) + special(SPC_MOD) + } + field(SIMS, DBF_MENU) { + prompt("Simulation Mode Severity") + menu(menuAlarmSevr) + promptgroup("90 - Simulate") + interest(2) + } + field(SIOL, DBF_INLINK) { + prompt("Simulation Input Link") + promptgroup("90 - Simulate") + interest(1) + } + field(OLDSIMM, DBF_MENU) { + prompt("Prev. Simulation Mode") + menu(menuSimm) + interest(4) + special(SPC_NOMOD) + } + field(SSCN, DBF_MENU) { + initial("65535") + prompt("Sim. Mode Scan") + menu(menuScan) + promptgroup("90 - Simulate") + interest(1) + } + field(SDLY, DBF_DOUBLE) { + initial("-1.0") + prompt("Sim. Mode Async Delay") + promptgroup("90 - Simulate") + interest(2) + } + field(SIMPVT, DBF_NOACCESS) { + prompt("Sim. Mode Private") + extra("epicsCallback *simpvt") + interest(4) + special(SPC_NOMOD) + } +} +device(lsi, CONSTANT, devLsiSoft, "Soft Channel") +device(lsi, INST_IO, devLsiEnviron, "getenv") +device(lsi, INST_IO, devLsiOpcua, "OPCUA") +recordtype(lso) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + % + %/* Declare Device Support Entry Table */ + %struct lsoRecord; + %typedef struct lsodset { + % dset common; + % long (*write_string)(struct lsoRecord *prec); + %} lsodset; + %#define HAS_lsodset + % + %#include "callback.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_NOACCESS) { + pp(TRUE) + prompt("Current Value") + extra("char *val") + asl(ASL0) + special(SPC_DBADDR) + } + field(OVAL, DBF_NOACCESS) { + prompt("Previous Value") + extra("char *oval") + interest(3) + special(SPC_DBADDR) + } + field(SIZV, DBF_USHORT) { + initial("41") + prompt("Size of buffers") + promptgroup("50 - Output") + interest(1) + special(SPC_NOMOD) + } + field(LEN, DBF_ULONG) { + prompt("Length of VAL") + special(SPC_NOMOD) + } + field(OLEN, DBF_ULONG) { + prompt("Length of OVAL") + interest(3) + special(SPC_NOMOD) + } + field(DOL, DBF_INLINK) { + prompt("Desired Output Link") + promptgroup("40 - Input") + interest(1) + } + field(IVOA, DBF_MENU) { + prompt("INVALID Output Action") + menu(menuIvoa) + promptgroup("50 - Output") + interest(2) + } + field(IVOV, DBF_STRING) { + size(40) + prompt("INVALID Output Value") + promptgroup("50 - Output") + interest(2) + } + field(OMSL, DBF_MENU) { + prompt("Output Mode Select") + menu(menuOmsl) + promptgroup("50 - Output") + interest(1) + } + field(OUT, DBF_OUTLINK) { + prompt("Output Specification") + promptgroup("50 - Output") + interest(1) + } + field(MPST, DBF_MENU) { + prompt("Post Value Monitors") + menu(menuPost) + promptgroup("80 - Display") + interest(1) + } + field(APST, DBF_MENU) { + prompt("Post Archive Monitors") + menu(menuPost) + promptgroup("80 - Display") + interest(1) + } + field(SIML, DBF_INLINK) { + prompt("Simulation Mode link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuYesNo) + interest(1) + special(SPC_MOD) + } + field(SIMS, DBF_MENU) { + prompt("Simulation Mode Severity") + menu(menuAlarmSevr) + promptgroup("90 - Simulate") + interest(2) + } + field(SIOL, DBF_OUTLINK) { + prompt("Simulation Output Link") + promptgroup("90 - Simulate") + interest(1) + } + field(OLDSIMM, DBF_MENU) { + prompt("Prev. Simulation Mode") + menu(menuSimm) + interest(4) + special(SPC_NOMOD) + } + field(SSCN, DBF_MENU) { + initial("65535") + prompt("Sim. Mode Scan") + menu(menuScan) + promptgroup("90 - Simulate") + interest(1) + } + field(SDLY, DBF_DOUBLE) { + initial("-1.0") + prompt("Sim. Mode Async Delay") + promptgroup("90 - Simulate") + interest(2) + } + field(SIMPVT, DBF_NOACCESS) { + prompt("Sim. Mode Private") + extra("epicsCallback *simpvt") + interest(4) + special(SPC_NOMOD) + } +} +device(lso, CONSTANT, devLsoSoft, "Soft Channel") +device(lso, CONSTANT, devLsoSoftCallback, "Async Soft Channel") +device(lso, INST_IO, devLsoStdio, "stdio") +device(lso, INST_IO, devLsoOpcua, "OPCUA") +recordtype(mbbi) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + %/* Declare Device Support Entry Table */ + %struct mbbiRecord; + %typedef struct mbbidset { + % dset common; /* init_record returns: (-1,0) => (failure, success)*/ + % long (*read_mbbi)(struct mbbiRecord *prec); /* (0, 2) => (success, success no convert)*/ + %} mbbidset; + %#define HAS_mbbidset + % + %#include "callback.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_ENUM) { + pp(TRUE) + prompt("Current Value") + asl(ASL0) + promptgroup("40 - Input") + } + field(NOBT, DBF_USHORT) { + prompt("Number of Bits") + promptgroup("40 - Input") + interest(1) + special(SPC_NOMOD) + } + field(INP, DBF_INLINK) { + prompt("Input Specification") + promptgroup("40 - Input") + interest(1) + } + field(ZRVL, DBF_ULONG) { + prompt("Zero Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("41 - Input 0-7") + interest(1) + } + field(ONVL, DBF_ULONG) { + prompt("One Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("41 - Input 0-7") + interest(1) + } + field(TWVL, DBF_ULONG) { + prompt("Two Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("41 - Input 0-7") + interest(1) + } + field(THVL, DBF_ULONG) { + prompt("Three Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("41 - Input 0-7") + interest(1) + } + field(FRVL, DBF_ULONG) { + prompt("Four Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("41 - Input 0-7") + interest(1) + } + field(FVVL, DBF_ULONG) { + prompt("Five Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("41 - Input 0-7") + interest(1) + } + field(SXVL, DBF_ULONG) { + prompt("Six Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("41 - Input 0-7") + interest(1) + } + field(SVVL, DBF_ULONG) { + prompt("Seven Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("41 - Input 0-7") + interest(1) + } + field(EIVL, DBF_ULONG) { + prompt("Eight Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("42 - Input 8-15") + interest(1) + } + field(NIVL, DBF_ULONG) { + prompt("Nine Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("42 - Input 8-15") + interest(1) + } + field(TEVL, DBF_ULONG) { + prompt("Ten Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("42 - Input 8-15") + interest(1) + } + field(ELVL, DBF_ULONG) { + prompt("Eleven Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("42 - Input 8-15") + interest(1) + } + field(TVVL, DBF_ULONG) { + prompt("Twelve Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("42 - Input 8-15") + interest(1) + } + field(TTVL, DBF_ULONG) { + prompt("Thirteen Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("42 - Input 8-15") + interest(1) + } + field(FTVL, DBF_ULONG) { + prompt("Fourteen Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("42 - Input 8-15") + interest(1) + } + field(FFVL, DBF_ULONG) { + prompt("Fifteen Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("42 - Input 8-15") + interest(1) + } + field(ZRST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Zero String") + promptgroup("81 - Display 0-7") + interest(1) + special(SPC_MOD) + } + field(ONST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("One String") + promptgroup("81 - Display 0-7") + interest(1) + special(SPC_MOD) + } + field(TWST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Two String") + promptgroup("81 - Display 0-7") + interest(1) + special(SPC_MOD) + } + field(THST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Three String") + promptgroup("81 - Display 0-7") + interest(1) + special(SPC_MOD) + } + field(FRST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Four String") + promptgroup("81 - Display 0-7") + interest(1) + special(SPC_MOD) + } + field(FVST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Five String") + promptgroup("81 - Display 0-7") + interest(1) + special(SPC_MOD) + } + field(SXST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Six String") + promptgroup("81 - Display 0-7") + interest(1) + special(SPC_MOD) + } + field(SVST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Seven String") + promptgroup("81 - Display 0-7") + interest(1) + special(SPC_MOD) + } + field(EIST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Eight String") + promptgroup("82 - Display 8-15") + interest(1) + special(SPC_MOD) + } + field(NIST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Nine String") + promptgroup("82 - Display 8-15") + interest(1) + special(SPC_MOD) + } + field(TEST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Ten String") + promptgroup("82 - Display 8-15") + interest(1) + special(SPC_MOD) + } + field(ELST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Eleven String") + promptgroup("82 - Display 8-15") + interest(1) + special(SPC_MOD) + } + field(TVST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Twelve String") + promptgroup("82 - Display 8-15") + interest(1) + special(SPC_MOD) + } + field(TTST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Thirteen String") + promptgroup("82 - Display 8-15") + interest(1) + special(SPC_MOD) + } + field(FTST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Fourteen String") + promptgroup("82 - Display 8-15") + interest(1) + special(SPC_MOD) + } + field(FFST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Fifteen String") + promptgroup("82 - Display 8-15") + interest(1) + special(SPC_MOD) + } + field(ZRSV, DBF_MENU) { + pp(TRUE) + prompt("State Zero Severity") + menu(menuAlarmSevr) + promptgroup("71 - Alarm 0-7") + interest(1) + } + field(ONSV, DBF_MENU) { + pp(TRUE) + prompt("State One Severity") + menu(menuAlarmSevr) + promptgroup("71 - Alarm 0-7") + interest(1) + } + field(TWSV, DBF_MENU) { + pp(TRUE) + prompt("State Two Severity") + menu(menuAlarmSevr) + promptgroup("71 - Alarm 0-7") + interest(1) + } + field(THSV, DBF_MENU) { + pp(TRUE) + prompt("State Three Severity") + menu(menuAlarmSevr) + promptgroup("71 - Alarm 0-7") + interest(1) + } + field(FRSV, DBF_MENU) { + pp(TRUE) + prompt("State Four Severity") + menu(menuAlarmSevr) + promptgroup("71 - Alarm 0-7") + interest(1) + } + field(FVSV, DBF_MENU) { + pp(TRUE) + prompt("State Five Severity") + menu(menuAlarmSevr) + promptgroup("71 - Alarm 0-7") + interest(1) + } + field(SXSV, DBF_MENU) { + pp(TRUE) + prompt("State Six Severity") + menu(menuAlarmSevr) + promptgroup("71 - Alarm 0-7") + interest(1) + } + field(SVSV, DBF_MENU) { + pp(TRUE) + prompt("State Seven Severity") + menu(menuAlarmSevr) + promptgroup("71 - Alarm 0-7") + interest(1) + } + field(EISV, DBF_MENU) { + pp(TRUE) + prompt("State Eight Severity") + menu(menuAlarmSevr) + promptgroup("72 - Alarm 8-15") + interest(1) + } + field(NISV, DBF_MENU) { + pp(TRUE) + prompt("State Nine Severity") + menu(menuAlarmSevr) + promptgroup("72 - Alarm 8-15") + interest(1) + } + field(TESV, DBF_MENU) { + pp(TRUE) + prompt("State Ten Severity") + menu(menuAlarmSevr) + promptgroup("72 - Alarm 8-15") + interest(1) + } + field(ELSV, DBF_MENU) { + pp(TRUE) + prompt("State Eleven Severity") + menu(menuAlarmSevr) + promptgroup("72 - Alarm 8-15") + interest(1) + } + field(TVSV, DBF_MENU) { + pp(TRUE) + prompt("State Twelve Severity") + menu(menuAlarmSevr) + promptgroup("72 - Alarm 8-15") + interest(1) + } + field(TTSV, DBF_MENU) { + pp(TRUE) + prompt("State Thirteen Sevr") + menu(menuAlarmSevr) + promptgroup("72 - Alarm 8-15") + interest(1) + } + field(FTSV, DBF_MENU) { + pp(TRUE) + prompt("State Fourteen Sevr") + menu(menuAlarmSevr) + promptgroup("72 - Alarm 8-15") + interest(1) + } + field(FFSV, DBF_MENU) { + pp(TRUE) + prompt("State Fifteen Severity") + menu(menuAlarmSevr) + promptgroup("72 - Alarm 8-15") + interest(1) + } + field(AFTC, DBF_DOUBLE) { + prompt("Alarm Filter Time Constant") + promptgroup("70 - Alarm") + interest(1) + } + field(AFVL, DBF_DOUBLE) { + prompt("Alarm Filter Value") + interest(3) + special(SPC_NOMOD) + } + field(UNSV, DBF_MENU) { + pp(TRUE) + prompt("Unknown State Severity") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(COSV, DBF_MENU) { + pp(TRUE) + prompt("Change of State Svr") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(RVAL, DBF_ULONG) { + pp(TRUE) + prompt("Raw Value") + } + field(ORAW, DBF_ULONG) { + prompt("Prev Raw Value") + interest(3) + special(SPC_NOMOD) + } + field(MASK, DBF_ULONG) { + prompt("Hardware Mask") + interest(1) + special(SPC_NOMOD) + } + field(MLST, DBF_USHORT) { + prompt("Last Value Monitored") + interest(3) + special(SPC_NOMOD) + } + field(LALM, DBF_USHORT) { + prompt("Last Value Alarmed") + interest(3) + special(SPC_NOMOD) + } + field(SDEF, DBF_SHORT) { + prompt("States Defined") + interest(3) + special(SPC_NOMOD) + } + field(SHFT, DBF_USHORT) { + prompt("Shift") + promptgroup("40 - Input") + interest(1) + } + field(SIOL, DBF_INLINK) { + prompt("Simulation Input Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SVAL, DBF_ULONG) { + prompt("Simulation Value") + } + field(SIML, DBF_INLINK) { + prompt("Simulation Mode Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuSimm) + interest(1) + special(SPC_MOD) + } + field(SIMS, DBF_MENU) { + prompt("Simulation Mode Severity") + menu(menuAlarmSevr) + promptgroup("90 - Simulate") + interest(2) + } + field(OLDSIMM, DBF_MENU) { + prompt("Prev. Simulation Mode") + menu(menuSimm) + interest(4) + special(SPC_NOMOD) + } + field(SSCN, DBF_MENU) { + initial("65535") + prompt("Sim. Mode Scan") + menu(menuScan) + promptgroup("90 - Simulate") + interest(1) + } + field(SDLY, DBF_DOUBLE) { + initial("-1.0") + prompt("Sim. Mode Async Delay") + promptgroup("90 - Simulate") + interest(2) + } + field(SIMPVT, DBF_NOACCESS) { + prompt("Sim. Mode Private") + extra("epicsCallback *simpvt") + interest(4) + special(SPC_NOMOD) + } +} +device(mbbi, CONSTANT, devMbbiSoft, "Soft Channel") +device(mbbi, CONSTANT, devMbbiSoftRaw, "Raw Soft Channel") +device(mbbi, CONSTANT, devMbbiSoftCallback, "Async Soft Channel") +device(mbbi, INST_IO, devMbbiOpcua, "OPCUA") +recordtype(mbbiDirect) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + %/* Declare Device Support Entry Table */ + %struct mbbiDirectRecord; + %typedef struct mbbidirectdset { + % dset common; /* init_record returns: (-1,0) => (failure, success)*/ + % long (*read_mbbi)(struct mbbiDirectRecord *prec); /* (0, 2) => (success, success no convert)*/ + %} mbbidirectdset; + %#define HAS_mbbidirectdset + % + %#include "callback.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_LONG) { + pp(TRUE) + prompt("Current Value") + asl(ASL0) + promptgroup("40 - Input") + } + field(NOBT, DBF_SHORT) { + prompt("Number of Bits") + promptgroup("40 - Input") + interest(1) + special(SPC_NOMOD) + } + field(INP, DBF_INLINK) { + prompt("Input Specification") + promptgroup("40 - Input") + interest(1) + } + field(RVAL, DBF_ULONG) { + pp(TRUE) + prompt("Raw Value") + } + field(ORAW, DBF_ULONG) { + prompt("Prev Raw Value") + interest(3) + special(SPC_NOMOD) + } + field(MASK, DBF_ULONG) { + prompt("Hardware Mask") + interest(1) + special(SPC_NOMOD) + } + field(MLST, DBF_LONG) { + prompt("Last Value Monitored") + interest(3) + special(SPC_NOMOD) + } + field(SHFT, DBF_USHORT) { + prompt("Shift") + promptgroup("40 - Input") + interest(1) + } + field(SIOL, DBF_INLINK) { + prompt("Simulation Input Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SVAL, DBF_LONG) { + prompt("Simulation Value") + } + field(SIML, DBF_INLINK) { + prompt("Simulation Mode Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuSimm) + interest(1) + special(SPC_MOD) + } + field(SIMS, DBF_MENU) { + prompt("Simulation Mode Severity") + menu(menuAlarmSevr) + promptgroup("90 - Simulate") + interest(2) + } + field(OLDSIMM, DBF_MENU) { + prompt("Prev. Simulation Mode") + menu(menuSimm) + interest(4) + special(SPC_NOMOD) + } + field(SSCN, DBF_MENU) { + initial("65535") + prompt("Sim. Mode Scan") + menu(menuScan) + promptgroup("90 - Simulate") + interest(1) + } + field(SDLY, DBF_DOUBLE) { + initial("-1.0") + prompt("Sim. Mode Async Delay") + promptgroup("90 - Simulate") + interest(2) + } + field(SIMPVT, DBF_NOACCESS) { + prompt("Sim. Mode Private") + extra("epicsCallback *simpvt") + interest(4) + special(SPC_NOMOD) + } + field(B0, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 0") + interest(1) + } + field(B1, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 1") + interest(1) + } + field(B2, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 2") + interest(1) + } + field(B3, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 3") + interest(1) + } + field(B4, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 4") + interest(1) + } + field(B5, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 5") + interest(1) + } + field(B6, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 6") + interest(1) + } + field(B7, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 7") + interest(1) + } + field(B8, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 8") + interest(1) + } + field(B9, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 9") + interest(1) + } + field(BA, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 10") + interest(1) + } + field(BB, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 11") + interest(1) + } + field(BC, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 12") + interest(1) + } + field(BD, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 13") + interest(1) + } + field(BE, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 14") + interest(1) + } + field(BF, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 15") + interest(1) + } + field(B10, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 16") + interest(1) + } + field(B11, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 17") + interest(1) + } + field(B12, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 18") + interest(1) + } + field(B13, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 19") + interest(1) + } + field(B14, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 20") + interest(1) + } + field(B15, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 21") + interest(1) + } + field(B16, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 22") + interest(1) + } + field(B17, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 23") + interest(1) + } + field(B18, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 24") + interest(1) + } + field(B19, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 25") + interest(1) + } + field(B1A, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 26") + interest(1) + } + field(B1B, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 27") + interest(1) + } + field(B1C, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 28") + interest(1) + } + field(B1D, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 29") + interest(1) + } + field(B1E, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 30") + interest(1) + } + field(B1F, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 31") + interest(1) + } +} +device(mbbiDirect, CONSTANT, devMbbiDirectSoft, "Soft Channel") +device(mbbiDirect, CONSTANT, devMbbiDirectSoftRaw, "Raw Soft Channel") +device(mbbiDirect, CONSTANT, devMbbiDirectSoftCallback, "Async Soft Channel") +device(mbbiDirect, INST_IO, devMbbiDirectOpcua, "OPCUA") +recordtype(mbbo) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + %/* Declare Device Support Entry Table */ + %struct mbboRecord; + %typedef struct mbbodset { + % dset common; /*init_record returns: (0, 2) => (success, success no convert)*/ + % long (*write_mbbo)(struct mbboRecord *prec); /*returns: (0, 2) => (success, success no convert)*/ + %} mbbodset; + %#define HAS_mbbodset + % + %#include "callback.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_ENUM) { + pp(TRUE) + prompt("Desired Value") + asl(ASL0) + promptgroup("50 - Output") + special(SPC_DBADDR) + } + field(DOL, DBF_INLINK) { + prompt("Desired Output Link") + promptgroup("40 - Input") + interest(1) + } + field(OMSL, DBF_MENU) { + prompt("Output Mode Select") + menu(menuOmsl) + promptgroup("50 - Output") + interest(1) + } + field(NOBT, DBF_USHORT) { + prompt("Number of Bits") + promptgroup("50 - Output") + interest(1) + special(SPC_NOMOD) + } + field(OUT, DBF_OUTLINK) { + prompt("Output Specification") + promptgroup("50 - Output") + interest(1) + } + field(ZRVL, DBF_ULONG) { + prompt("Zero Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("51 - Output 0-7") + interest(1) + } + field(ONVL, DBF_ULONG) { + prompt("One Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("51 - Output 0-7") + interest(1) + } + field(TWVL, DBF_ULONG) { + prompt("Two Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("51 - Output 0-7") + interest(1) + } + field(THVL, DBF_ULONG) { + prompt("Three Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("51 - Output 0-7") + interest(1) + } + field(FRVL, DBF_ULONG) { + prompt("Four Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("51 - Output 0-7") + interest(1) + } + field(FVVL, DBF_ULONG) { + prompt("Five Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("51 - Output 0-7") + interest(1) + } + field(SXVL, DBF_ULONG) { + prompt("Six Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("51 - Output 0-7") + interest(1) + } + field(SVVL, DBF_ULONG) { + prompt("Seven Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("51 - Output 0-7") + interest(1) + } + field(EIVL, DBF_ULONG) { + prompt("Eight Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("52 - Output 8-15") + interest(1) + } + field(NIVL, DBF_ULONG) { + prompt("Nine Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("52 - Output 8-15") + interest(1) + } + field(TEVL, DBF_ULONG) { + prompt("Ten Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("52 - Output 8-15") + interest(1) + } + field(ELVL, DBF_ULONG) { + prompt("Eleven Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("52 - Output 8-15") + interest(1) + } + field(TVVL, DBF_ULONG) { + prompt("Twelve Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("52 - Output 8-15") + interest(1) + } + field(TTVL, DBF_ULONG) { + prompt("Thirteen Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("52 - Output 8-15") + interest(1) + } + field(FTVL, DBF_ULONG) { + prompt("Fourteen Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("52 - Output 8-15") + interest(1) + } + field(FFVL, DBF_ULONG) { + prompt("Fifteen Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + promptgroup("52 - Output 8-15") + interest(1) + } + field(ZRST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Zero String") + promptgroup("81 - Display 0-7") + interest(1) + special(SPC_MOD) + } + field(ONST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("One String") + promptgroup("81 - Display 0-7") + interest(1) + special(SPC_MOD) + } + field(TWST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Two String") + promptgroup("81 - Display 0-7") + interest(1) + special(SPC_MOD) + } + field(THST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Three String") + promptgroup("81 - Display 0-7") + interest(1) + special(SPC_MOD) + } + field(FRST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Four String") + promptgroup("81 - Display 0-7") + interest(1) + special(SPC_MOD) + } + field(FVST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Five String") + promptgroup("81 - Display 0-7") + interest(1) + special(SPC_MOD) + } + field(SXST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Six String") + promptgroup("81 - Display 0-7") + interest(1) + special(SPC_MOD) + } + field(SVST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Seven String") + promptgroup("81 - Display 0-7") + interest(1) + special(SPC_MOD) + } + field(EIST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Eight String") + promptgroup("82 - Display 8-15") + interest(1) + special(SPC_MOD) + } + field(NIST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Nine String") + promptgroup("82 - Display 8-15") + interest(1) + special(SPC_MOD) + } + field(TEST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Ten String") + promptgroup("82 - Display 8-15") + interest(1) + special(SPC_MOD) + } + field(ELST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Eleven String") + promptgroup("82 - Display 8-15") + interest(1) + special(SPC_MOD) + } + field(TVST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Twelve String") + promptgroup("82 - Display 8-15") + interest(1) + special(SPC_MOD) + } + field(TTST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Thirteen String") + promptgroup("82 - Display 8-15") + interest(1) + special(SPC_MOD) + } + field(FTST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Fourteen String") + promptgroup("82 - Display 8-15") + interest(1) + special(SPC_MOD) + } + field(FFST, DBF_STRING) { + size(26) + pp(TRUE) + prompt("Fifteen String") + promptgroup("82 - Display 8-15") + interest(1) + special(SPC_MOD) + } + field(ZRSV, DBF_MENU) { + pp(TRUE) + prompt("State Zero Severity") + menu(menuAlarmSevr) + promptgroup("71 - Alarm 0-7") + interest(1) + } + field(ONSV, DBF_MENU) { + pp(TRUE) + prompt("State One Severity") + menu(menuAlarmSevr) + promptgroup("71 - Alarm 0-7") + interest(1) + } + field(TWSV, DBF_MENU) { + pp(TRUE) + prompt("State Two Severity") + menu(menuAlarmSevr) + promptgroup("71 - Alarm 0-7") + interest(1) + } + field(THSV, DBF_MENU) { + pp(TRUE) + prompt("State Three Severity") + menu(menuAlarmSevr) + promptgroup("71 - Alarm 0-7") + interest(1) + } + field(FRSV, DBF_MENU) { + pp(TRUE) + prompt("State Four Severity") + menu(menuAlarmSevr) + promptgroup("71 - Alarm 0-7") + interest(1) + } + field(FVSV, DBF_MENU) { + pp(TRUE) + prompt("State Five Severity") + menu(menuAlarmSevr) + promptgroup("71 - Alarm 0-7") + interest(1) + } + field(SXSV, DBF_MENU) { + pp(TRUE) + prompt("State Six Severity") + menu(menuAlarmSevr) + promptgroup("71 - Alarm 0-7") + interest(1) + } + field(SVSV, DBF_MENU) { + pp(TRUE) + prompt("State Seven Severity") + menu(menuAlarmSevr) + promptgroup("71 - Alarm 0-7") + interest(1) + } + field(EISV, DBF_MENU) { + pp(TRUE) + prompt("State Eight Severity") + menu(menuAlarmSevr) + promptgroup("72 - Alarm 8-15") + interest(1) + } + field(NISV, DBF_MENU) { + pp(TRUE) + prompt("State Nine Severity") + menu(menuAlarmSevr) + promptgroup("72 - Alarm 8-15") + interest(1) + } + field(TESV, DBF_MENU) { + pp(TRUE) + prompt("State Ten Severity") + menu(menuAlarmSevr) + promptgroup("72 - Alarm 8-15") + interest(1) + } + field(ELSV, DBF_MENU) { + pp(TRUE) + prompt("State Eleven Severity") + menu(menuAlarmSevr) + promptgroup("72 - Alarm 8-15") + interest(1) + } + field(TVSV, DBF_MENU) { + pp(TRUE) + prompt("State Twelve Severity") + menu(menuAlarmSevr) + promptgroup("72 - Alarm 8-15") + interest(1) + } + field(TTSV, DBF_MENU) { + pp(TRUE) + prompt("State Thirteen Sevr") + menu(menuAlarmSevr) + promptgroup("72 - Alarm 8-15") + interest(1) + } + field(FTSV, DBF_MENU) { + pp(TRUE) + prompt("State Fourteen Sevr") + menu(menuAlarmSevr) + promptgroup("72 - Alarm 8-15") + interest(1) + } + field(FFSV, DBF_MENU) { + pp(TRUE) + prompt("State Fifteen Sevr") + menu(menuAlarmSevr) + promptgroup("72 - Alarm 8-15") + interest(1) + } + field(UNSV, DBF_MENU) { + pp(TRUE) + prompt("Unknown State Sevr") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(COSV, DBF_MENU) { + pp(TRUE) + prompt("Change of State Sevr") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(RVAL, DBF_ULONG) { + pp(TRUE) + prompt("Raw Value") + } + field(ORAW, DBF_ULONG) { + prompt("Prev Raw Value") + interest(3) + special(SPC_NOMOD) + } + field(RBV, DBF_ULONG) { + prompt("Readback Value") + special(SPC_NOMOD) + } + field(ORBV, DBF_ULONG) { + prompt("Prev Readback Value") + interest(3) + special(SPC_NOMOD) + } + field(MASK, DBF_ULONG) { + prompt("Hardware Mask") + interest(1) + special(SPC_NOMOD) + } + field(MLST, DBF_USHORT) { + prompt("Last Value Monitored") + interest(3) + special(SPC_NOMOD) + } + field(LALM, DBF_USHORT) { + prompt("Last Value Alarmed") + interest(3) + special(SPC_NOMOD) + } + field(SDEF, DBF_SHORT) { + prompt("States Defined") + interest(3) + special(SPC_NOMOD) + } + field(SHFT, DBF_USHORT) { + prompt("Shift") + promptgroup("50 - Output") + interest(1) + } + field(SIOL, DBF_OUTLINK) { + prompt("Simulation Output Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIML, DBF_INLINK) { + prompt("Simulation Mode Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuSimm) + interest(1) + special(SPC_MOD) + } + field(SIMS, DBF_MENU) { + prompt("Simulation Mode Severity") + menu(menuAlarmSevr) + promptgroup("90 - Simulate") + interest(2) + } + field(OLDSIMM, DBF_MENU) { + prompt("Prev. Simulation Mode") + menu(menuSimm) + interest(4) + special(SPC_NOMOD) + } + field(SSCN, DBF_MENU) { + initial("65535") + prompt("Sim. Mode Scan") + menu(menuScan) + promptgroup("90 - Simulate") + interest(1) + } + field(SDLY, DBF_DOUBLE) { + initial("-1.0") + prompt("Sim. Mode Async Delay") + promptgroup("90 - Simulate") + interest(2) + } + field(SIMPVT, DBF_NOACCESS) { + prompt("Sim. Mode Private") + extra("epicsCallback *simpvt") + interest(4) + special(SPC_NOMOD) + } + field(IVOA, DBF_MENU) { + prompt("INVALID outpt action") + menu(menuIvoa) + promptgroup("50 - Output") + interest(2) + } + field(IVOV, DBF_USHORT) { + prompt("INVALID output value") + promptgroup("50 - Output") + interest(2) + } +} +device(mbbo, CONSTANT, devMbboSoft, "Soft Channel") +device(mbbo, CONSTANT, devMbboSoftRaw, "Raw Soft Channel") +device(mbbo, CONSTANT, devMbboSoftCallback, "Async Soft Channel") +device(mbbo, INST_IO, devMbboOpcua, "OPCUA") +recordtype(mbboDirect) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + %/* Declare Device Support Entry Table */ + %struct mbboDirectRecord; + %typedef struct mbbodirectdset { + % dset common; /*init_record returns: (0, 2)=>(success, success no convert)*/ + % long (*write_mbbo)(struct mbboDirectRecord *prec); /*returns: (0, 2)=>(success, success no convert)*/ + %} mbbodirectdset; + %#define HAS_mbbodirectdset + % + %#include "callback.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_LONG) { + pp(TRUE) + prompt("Word") + asl(ASL0) + promptgroup("50 - Output") + } + field(OMSL, DBF_MENU) { + pp(TRUE) + prompt("Output Mode Select") + menu(menuOmsl) + promptgroup("50 - Output") + interest(1) + } + field(NOBT, DBF_SHORT) { + prompt("Number of Bits") + promptgroup("50 - Output") + interest(1) + special(SPC_NOMOD) + } + field(DOL, DBF_INLINK) { + prompt("Desired Output Link") + promptgroup("40 - Input") + interest(1) + } + field(OUT, DBF_OUTLINK) { + prompt("Output Specification") + promptgroup("50 - Output") + interest(1) + } + field(RVAL, DBF_ULONG) { + pp(TRUE) + prompt("Raw Value") + special(SPC_NOMOD) + } + field(ORAW, DBF_ULONG) { + prompt("Prev Raw Value") + interest(3) + special(SPC_NOMOD) + } + field(RBV, DBF_ULONG) { + prompt("Readback Value") + special(SPC_NOMOD) + } + field(ORBV, DBF_ULONG) { + prompt("Prev Readback Value") + interest(3) + special(SPC_NOMOD) + } + field(MASK, DBF_ULONG) { + prompt("Hardware Mask") + interest(1) + special(SPC_NOMOD) + } + field(MLST, DBF_LONG) { + prompt("Last Value Monitored") + interest(3) + special(SPC_NOMOD) + } + field(OBIT, DBF_LONG) { + prompt("Last Bit mask Monitored") + interest(3) + special(SPC_NOMOD) + } + field(SHFT, DBF_USHORT) { + prompt("Shift") + promptgroup("50 - Output") + interest(1) + } + field(SIOL, DBF_OUTLINK) { + prompt("Simulation Output Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIML, DBF_INLINK) { + prompt("Simulation Mode Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuSimm) + interest(1) + special(SPC_MOD) + } + field(SIMS, DBF_MENU) { + prompt("Simulation Mode Severity") + menu(menuAlarmSevr) + promptgroup("90 - Simulate") + interest(2) + } + field(OLDSIMM, DBF_MENU) { + prompt("Prev. Simulation Mode") + menu(menuSimm) + interest(4) + special(SPC_NOMOD) + } + field(SSCN, DBF_MENU) { + initial("65535") + prompt("Sim. Mode Scan") + menu(menuScan) + promptgroup("90 - Simulate") + interest(1) + } + field(SDLY, DBF_DOUBLE) { + initial("-1.0") + prompt("Sim. Mode Async Delay") + promptgroup("90 - Simulate") + interest(2) + } + field(SIMPVT, DBF_NOACCESS) { + prompt("Sim. Mode Private") + extra("epicsCallback *simpvt") + interest(4) + special(SPC_NOMOD) + } + field(IVOA, DBF_MENU) { + prompt("INVALID outpt action") + menu(menuIvoa) + promptgroup("50 - Output") + interest(2) + } + field(IVOV, DBF_LONG) { + prompt("INVALID output value") + promptgroup("50 - Output") + interest(2) + } + field(B0, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 0") + promptgroup("51 - Output 0-7") + interest(1) + special(SPC_MOD) + } + field(B1, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 1") + promptgroup("51 - Output 0-7") + interest(1) + special(SPC_MOD) + } + field(B2, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 2") + promptgroup("51 - Output 0-7") + interest(1) + special(SPC_MOD) + } + field(B3, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 3") + promptgroup("51 - Output 0-7") + interest(1) + special(SPC_MOD) + } + field(B4, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 4") + promptgroup("51 - Output 0-7") + interest(1) + special(SPC_MOD) + } + field(B5, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 5") + promptgroup("51 - Output 0-7") + interest(1) + special(SPC_MOD) + } + field(B6, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 6") + promptgroup("51 - Output 0-7") + interest(1) + special(SPC_MOD) + } + field(B7, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 7") + promptgroup("51 - Output 0-7") + interest(1) + special(SPC_MOD) + } + field(B8, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 8") + promptgroup("52 - Output 8-15") + interest(1) + special(SPC_MOD) + } + field(B9, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 9") + promptgroup("52 - Output 8-15") + interest(1) + special(SPC_MOD) + } + field(BA, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 10") + promptgroup("52 - Output 8-15") + interest(1) + special(SPC_MOD) + } + field(BB, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 11") + promptgroup("52 - Output 8-15") + interest(1) + special(SPC_MOD) + } + field(BC, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 12") + promptgroup("52 - Output 8-15") + interest(1) + special(SPC_MOD) + } + field(BD, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 13") + promptgroup("52 - Output 8-15") + interest(1) + special(SPC_MOD) + } + field(BE, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 14") + promptgroup("52 - Output 8-15") + interest(1) + special(SPC_MOD) + } + field(BF, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 15") + promptgroup("52 - Output 8-15") + interest(1) + special(SPC_MOD) + } + field(B10, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 16") + promptgroup("53 - Output 16-23") + interest(1) + special(SPC_MOD) + } + field(B11, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 17") + promptgroup("53 - Output 16-23") + interest(1) + special(SPC_MOD) + } + field(B12, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 18") + promptgroup("53 - Output 16-23") + interest(1) + special(SPC_MOD) + } + field(B13, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 19") + promptgroup("53 - Output 16-23") + interest(1) + special(SPC_MOD) + } + field(B14, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 20") + promptgroup("53 - Output 16-23") + interest(1) + special(SPC_MOD) + } + field(B15, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 21") + promptgroup("53 - Output 16-23") + interest(1) + special(SPC_MOD) + } + field(B16, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 22") + promptgroup("53 - Output 16-23") + interest(1) + special(SPC_MOD) + } + field(B17, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 23") + promptgroup("53 - Output 16-23") + interest(1) + special(SPC_MOD) + } + field(B18, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 24") + promptgroup("54 - Output 24-31") + interest(1) + special(SPC_MOD) + } + field(B19, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 25") + promptgroup("54 - Output 24-31") + interest(1) + special(SPC_MOD) + } + field(B1A, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 26") + promptgroup("54 - Output 24-31") + interest(1) + special(SPC_MOD) + } + field(B1B, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 27") + promptgroup("54 - Output 24-31") + interest(1) + special(SPC_MOD) + } + field(B1C, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 28") + promptgroup("54 - Output 24-31") + interest(1) + special(SPC_MOD) + } + field(B1D, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 29") + promptgroup("54 - Output 24-31") + interest(1) + special(SPC_MOD) + } + field(B1E, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 30") + promptgroup("54 - Output 24-31") + interest(1) + special(SPC_MOD) + } + field(B1F, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 31") + promptgroup("54 - Output 24-31") + interest(1) + special(SPC_MOD) + } +} +device(mbboDirect, CONSTANT, devMbboDirectSoft, "Soft Channel") +device(mbboDirect, CONSTANT, devMbboDirectSoftRaw, "Raw Soft Channel") +device(mbboDirect, CONSTANT, devMbboDirectSoftCallback, "Async Soft Channel") +device(mbboDirect, INST_IO, devMbboDirectOpcua, "OPCUA") +recordtype(opcuaItem) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_ULONG) { + pp(TRUE) + prompt("Dummy Value") + asl(ASL0) + } + field(INP, DBF_INLINK) { + prompt("NodeId Specification") + promptgroup("40 - I/O Address") + interest(1) + } + field(SESS, DBF_STRING) { + size(41) + prompt("Session Specification") + promptgroup("40 - I/O Address") + interest(1) + } + field(SUBS, DBF_STRING) { + size(41) + prompt("Subscription Specification") + promptgroup("40 - I/O Address") + interest(1) + } + field(DEFACTN, DBF_MENU) { + prompt("Default Action") + menu(menuDefAction) + promptgroup("30 - Action") + interest(1) + } + field(BINI, DBF_MENU) { + prompt("Behavior at Initialization") + menu(menuBini) + promptgroup("20 - Scan") + interest(1) + } + field(READ, DBF_UCHAR) { + pp(TRUE) + prompt("Force Read Processing") + interest(3) + special(SPC_MOD) + } + field(WRITE, DBF_UCHAR) { + pp(TRUE) + prompt("Force Write Processing") + interest(3) + special(SPC_MOD) + } + field(STATCODE, DBF_ULONG) { + prompt("OPC UA status code") + base(HEX) + } + field(OSTATCODE, DBF_ULONG) { + prompt("Old status code") + base(HEX) + } + field(STATTEXT, DBF_STRING) { + size(41) + prompt("OPC UA status string") + } + field(WOC, DBF_MENU) { + prompt("Write-on-change mode") + menu(menuWoc) + promptgroup("30 - Action") + special(SPC_MOD) + interest(1) + } +} +device(opcuaItem, INST_IO, devItemOpcua, "OPCUA") +recordtype(permissive) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_USHORT) { + pp(TRUE) + prompt("Status") + asl(ASL0) + promptgroup("40 - Input") + } + field(WFLG, DBF_USHORT) { + pp(TRUE) + prompt("Wait Flag") + } + field(LABL, DBF_STRING) { + size(20) + pp(TRUE) + prompt("Button Label") + promptgroup("80 - Display") + interest(1) + } + field(OVAL, DBF_USHORT) { + prompt("Old Status") + interest(3) + special(SPC_NOMOD) + } + field(OFLG, DBF_USHORT) { + prompt("Old Flag") + interest(3) + special(SPC_NOMOD) + } +} +recordtype(printf) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + % + %/* Declare Device Support Entry Table */ + %struct printfRecord; + %typedef struct printfdset { + % dset common; + % long (*write_string)(struct printfRecord *prec); + %} printfdset; + %#define HAS_printfdset + % + %/* Number of INPx fields defined */ + %#define PRINTF_NLINKS 10 + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_NOACCESS) { + pp(TRUE) + prompt("Result") + extra("char *val") + asl(ASL0) + special(SPC_DBADDR) + } + field(SIZV, DBF_USHORT) { + initial("41") + prompt("Size of VAL buffer") + promptgroup("30 - Action") + interest(1) + special(SPC_NOMOD) + } + field(LEN, DBF_ULONG) { + prompt("Length of VAL") + special(SPC_NOMOD) + } + field(OUT, DBF_OUTLINK) { + prompt("Output Specification") + promptgroup("50 - Output") + interest(1) + } + field(FMT, DBF_STRING) { + size(81) + pp(TRUE) + prompt("Format String") + promptgroup("30 - Action") + } + field(IVLS, DBF_STRING) { + initial("LNK") + size(16) + prompt("Invalid Link String") + promptgroup("30 - Action") + } + field(INP0, DBF_INLINK) { + prompt("Input 0") + promptgroup("40 - Input") + interest(1) + } + field(INP1, DBF_INLINK) { + prompt("Input 1") + promptgroup("40 - Input") + interest(1) + } + field(INP2, DBF_INLINK) { + prompt("Input 2") + promptgroup("40 - Input") + interest(1) + } + field(INP3, DBF_INLINK) { + prompt("Input 3") + promptgroup("40 - Input") + interest(1) + } + field(INP4, DBF_INLINK) { + prompt("Input 4") + promptgroup("40 - Input") + interest(1) + } + field(INP5, DBF_INLINK) { + prompt("Input 5") + promptgroup("40 - Input") + interest(1) + } + field(INP6, DBF_INLINK) { + prompt("Input 6") + promptgroup("40 - Input") + interest(1) + } + field(INP7, DBF_INLINK) { + prompt("Input 7") + promptgroup("40 - Input") + interest(1) + } + field(INP8, DBF_INLINK) { + prompt("Input 8") + promptgroup("40 - Input") + interest(1) + } + field(INP9, DBF_INLINK) { + prompt("Input 9") + promptgroup("40 - Input") + interest(1) + } +} +device(printf, CONSTANT, devPrintfSoft, "Soft Channel") +device(printf, CONSTANT, devPrintfSoftCallback, "Async Soft Channel") +device(printf, INST_IO, devPrintfStdio, "stdio") +recordtype(sel) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_DOUBLE) { + prompt("Result") + asl(ASL0) + promptgroup("40 - Input") + special(SPC_NOMOD) + } + field(SELM, DBF_MENU) { + prompt("Select Mechanism") + menu(selSELM) + promptgroup("30 - Action") + } + field(SELN, DBF_USHORT) { + prompt("Index value") + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + promptgroup("80 - Display") + interest(1) + } + field(NVL, DBF_INLINK) { + prompt("Index Value Location") + promptgroup("30 - Action") + interest(1) + } + field(INPA, DBF_INLINK) { + prompt("Input A") + promptgroup("41 - Input A-F") + interest(1) + } + field(INPB, DBF_INLINK) { + prompt("Input B") + promptgroup("41 - Input A-F") + interest(1) + } + field(INPC, DBF_INLINK) { + prompt("Input C") + promptgroup("41 - Input A-F") + interest(1) + } + field(INPD, DBF_INLINK) { + prompt("Input D") + promptgroup("41 - Input A-F") + interest(1) + } + field(INPE, DBF_INLINK) { + prompt("Input E") + promptgroup("41 - Input A-F") + interest(1) + } + field(INPF, DBF_INLINK) { + prompt("Input F") + promptgroup("41 - Input A-F") + interest(1) + } + field(INPG, DBF_INLINK) { + prompt("Input G") + promptgroup("42 - Input G-L") + interest(1) + } + field(INPH, DBF_INLINK) { + prompt("Input H") + promptgroup("42 - Input G-L") + interest(1) + } + field(INPI, DBF_INLINK) { + prompt("Input I") + promptgroup("42 - Input G-L") + interest(1) + } + field(INPJ, DBF_INLINK) { + prompt("Input J") + promptgroup("42 - Input G-L") + interest(1) + } + field(INPK, DBF_INLINK) { + prompt("Input K") + promptgroup("42 - Input G-L") + interest(1) + } + field(INPL, DBF_INLINK) { + prompt("Input L") + promptgroup("42 - Input G-L") + interest(1) + } + field(EGU, DBF_STRING) { + size(16) + prompt("Engineering Units") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(HOPR, DBF_DOUBLE) { + prompt("High Operating Rng") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(LOPR, DBF_DOUBLE) { + prompt("Low Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(HIHI, DBF_DOUBLE) { + pp(TRUE) + prompt("Hihi Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LOLO, DBF_DOUBLE) { + pp(TRUE) + prompt("Lolo Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HIGH, DBF_DOUBLE) { + pp(TRUE) + prompt("High Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LOW, DBF_DOUBLE) { + pp(TRUE) + prompt("Low Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HHSV, DBF_MENU) { + prompt("Hihi Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LLSV, DBF_MENU) { + prompt("Lolo Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HSV, DBF_MENU) { + prompt("High Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LSV, DBF_MENU) { + prompt("Low Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HYST, DBF_DOUBLE) { + prompt("Alarm Deadband") + promptgroup("70 - Alarm") + interest(1) + } + field(ADEL, DBF_DOUBLE) { + prompt("Archive Deadband") + promptgroup("80 - Display") + interest(1) + } + field(MDEL, DBF_DOUBLE) { + prompt("Monitor Deadband") + promptgroup("80 - Display") + interest(1) + } + field(A, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input A") + } + field(B, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input B") + } + field(C, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input C") + } + field(D, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input D") + } + field(E, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input E") + } + field(F, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input F") + } + field(G, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input G") + } + field(H, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input H") + } + field(I, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input I") + } + field(J, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input J") + } + field(K, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input K") + } + field(L, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input L") + } + field(LA, DBF_DOUBLE) { + prompt("Prev Value of A") + interest(3) + special(SPC_NOMOD) + } + field(LB, DBF_DOUBLE) { + prompt("Prev Value of B") + interest(3) + special(SPC_NOMOD) + } + field(LC, DBF_DOUBLE) { + prompt("Prev Value of C") + interest(3) + special(SPC_NOMOD) + } + field(LD, DBF_DOUBLE) { + prompt("Prev Value of D") + interest(3) + special(SPC_NOMOD) + } + field(LE, DBF_DOUBLE) { + prompt("Prev Value of E") + interest(3) + special(SPC_NOMOD) + } + field(LF, DBF_DOUBLE) { + prompt("Prev Value of F") + interest(3) + special(SPC_NOMOD) + } + field(LG, DBF_DOUBLE) { + prompt("Prev Value of G") + interest(3) + special(SPC_NOMOD) + } + field(LH, DBF_DOUBLE) { + prompt("Prev Value of H") + interest(3) + special(SPC_NOMOD) + } + field(LI, DBF_DOUBLE) { + prompt("Prev Value of I") + interest(3) + special(SPC_NOMOD) + } + field(LJ, DBF_DOUBLE) { + prompt("Prev Value of J") + interest(3) + special(SPC_NOMOD) + } + field(LK, DBF_DOUBLE) { + prompt("Prev Value of K") + interest(3) + special(SPC_NOMOD) + } + field(LL, DBF_DOUBLE) { + prompt("Prev Value of L") + interest(3) + special(SPC_NOMOD) + } + field(LALM, DBF_DOUBLE) { + prompt("Last Value Alarmed") + interest(3) + special(SPC_NOMOD) + } + field(ALST, DBF_DOUBLE) { + prompt("Last Value Archived") + interest(3) + special(SPC_NOMOD) + } + field(MLST, DBF_DOUBLE) { + prompt("Last Val Monitored") + interest(3) + special(SPC_NOMOD) + } + field(NLST, DBF_USHORT) { + prompt("Last Index Monitored") + interest(3) + special(SPC_NOMOD) + } +} +recordtype(seq) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_LONG) { + pp(TRUE) + prompt("Used to trigger") + asl(ASL0) + } + field(SELM, DBF_MENU) { + prompt("Select Mechanism") + menu(seqSELM) + promptgroup("30 - Action") + interest(1) + } + field(SELN, DBF_USHORT) { + initial("1") + prompt("Link Selection") + interest(1) + } + field(SELL, DBF_INLINK) { + prompt("Link Selection Loc") + promptgroup("30 - Action") + interest(1) + } + field(OFFS, DBF_SHORT) { + initial("0") + prompt("Offset for Specified") + promptgroup("30 - Action") + interest(1) + } + field(SHFT, DBF_SHORT) { + initial("-1") + prompt("Shift for Mask mode") + promptgroup("30 - Action") + interest(1) + } + field(OLDN, DBF_USHORT) { + prompt("Old Selection") + interest(4) + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + promptgroup("80 - Display") + interest(1) + } + field(DLY0, DBF_DOUBLE) { + prompt("Delay 0") + promptgroup("41 - Link 0-7") + interest(1) + } + field(DOL0, DBF_INLINK) { + prompt("Input link 0") + promptgroup("41 - Link 0-7") + interest(1) + } + field(DO0, DBF_DOUBLE) { + prompt("Value 0") + interest(1) + } + field(LNK0, DBF_OUTLINK) { + prompt("Output Link 0") + promptgroup("41 - Link 0-7") + interest(1) + } + field(DLY1, DBF_DOUBLE) { + prompt("Delay 1") + promptgroup("41 - Link 0-7") + interest(1) + } + field(DOL1, DBF_INLINK) { + prompt("Input link1") + promptgroup("41 - Link 0-7") + interest(1) + } + field(DO1, DBF_DOUBLE) { + prompt("Value 1") + interest(1) + } + field(LNK1, DBF_OUTLINK) { + prompt("Output Link 1") + promptgroup("41 - Link 0-7") + interest(1) + } + field(DLY2, DBF_DOUBLE) { + prompt("Delay 2") + promptgroup("41 - Link 0-7") + interest(1) + } + field(DOL2, DBF_INLINK) { + prompt("Input link 2") + promptgroup("41 - Link 0-7") + interest(1) + } + field(DO2, DBF_DOUBLE) { + prompt("Value 2") + interest(1) + } + field(LNK2, DBF_OUTLINK) { + prompt("Output Link 2") + promptgroup("41 - Link 0-7") + interest(1) + } + field(DLY3, DBF_DOUBLE) { + prompt("Delay 3") + promptgroup("41 - Link 0-7") + interest(1) + } + field(DOL3, DBF_INLINK) { + prompt("Input link 3") + promptgroup("41 - Link 0-7") + interest(1) + } + field(DO3, DBF_DOUBLE) { + prompt("Value 3") + interest(1) + } + field(LNK3, DBF_OUTLINK) { + prompt("Output Link 3") + promptgroup("41 - Link 0-7") + interest(1) + } + field(DLY4, DBF_DOUBLE) { + prompt("Delay 4") + promptgroup("41 - Link 0-7") + interest(1) + } + field(DOL4, DBF_INLINK) { + prompt("Input link 4") + promptgroup("41 - Link 0-7") + interest(1) + } + field(DO4, DBF_DOUBLE) { + prompt("Value 4") + interest(1) + } + field(LNK4, DBF_OUTLINK) { + prompt("Output Link 4") + promptgroup("41 - Link 0-7") + interest(1) + } + field(DLY5, DBF_DOUBLE) { + prompt("Delay 5") + promptgroup("41 - Link 0-7") + interest(1) + } + field(DOL5, DBF_INLINK) { + prompt("Input link 5") + promptgroup("41 - Link 0-7") + interest(1) + } + field(DO5, DBF_DOUBLE) { + prompt("Value 5") + interest(1) + } + field(LNK5, DBF_OUTLINK) { + prompt("Output Link 5") + promptgroup("41 - Link 0-7") + interest(1) + } + field(DLY6, DBF_DOUBLE) { + prompt("Delay 6") + promptgroup("41 - Link 0-7") + interest(1) + } + field(DOL6, DBF_INLINK) { + prompt("Input link 6") + promptgroup("41 - Link 0-7") + interest(1) + } + field(DO6, DBF_DOUBLE) { + prompt("Value 6") + interest(1) + } + field(LNK6, DBF_OUTLINK) { + prompt("Output Link 6") + promptgroup("41 - Link 0-7") + interest(1) + } + field(DLY7, DBF_DOUBLE) { + prompt("Delay 7") + promptgroup("41 - Link 0-7") + interest(1) + } + field(DOL7, DBF_INLINK) { + prompt("Input link 7") + promptgroup("41 - Link 0-7") + interest(1) + } + field(DO7, DBF_DOUBLE) { + prompt("Value 7") + interest(1) + } + field(LNK7, DBF_OUTLINK) { + prompt("Output Link 7") + promptgroup("41 - Link 0-7") + interest(1) + } + field(DLY8, DBF_DOUBLE) { + prompt("Delay 8") + promptgroup("42 - Link 8-F") + interest(1) + } + field(DOL8, DBF_INLINK) { + prompt("Input link 8") + promptgroup("42 - Link 8-F") + interest(1) + } + field(DO8, DBF_DOUBLE) { + prompt("Value 8") + interest(1) + } + field(LNK8, DBF_OUTLINK) { + prompt("Output Link 8") + promptgroup("42 - Link 8-F") + interest(1) + } + field(DLY9, DBF_DOUBLE) { + prompt("Delay 9") + promptgroup("42 - Link 8-F") + interest(1) + } + field(DOL9, DBF_INLINK) { + prompt("Input link 9") + promptgroup("42 - Link 8-F") + interest(1) + } + field(DO9, DBF_DOUBLE) { + prompt("Value 9") + interest(1) + } + field(LNK9, DBF_OUTLINK) { + prompt("Output Link 9") + promptgroup("42 - Link 8-F") + interest(1) + } + field(DLYA, DBF_DOUBLE) { + prompt("Delay 10") + promptgroup("42 - Link 8-F") + interest(1) + } + field(DOLA, DBF_INLINK) { + prompt("Input link 10") + promptgroup("42 - Link 8-F") + interest(1) + } + field(DOA, DBF_DOUBLE) { + prompt("Value 10") + interest(1) + } + field(LNKA, DBF_OUTLINK) { + prompt("Output Link 10") + promptgroup("42 - Link 8-F") + interest(1) + } + field(DLYB, DBF_DOUBLE) { + prompt("Delay 11") + promptgroup("42 - Link 8-F") + interest(1) + } + field(DOLB, DBF_INLINK) { + prompt("Input link 11") + promptgroup("42 - Link 8-F") + interest(1) + } + field(DOB, DBF_DOUBLE) { + prompt("Value 11") + interest(1) + } + field(LNKB, DBF_OUTLINK) { + prompt("Output Link 11") + promptgroup("42 - Link 8-F") + interest(1) + } + field(DLYC, DBF_DOUBLE) { + prompt("Delay 12") + promptgroup("42 - Link 8-F") + interest(1) + } + field(DOLC, DBF_INLINK) { + prompt("Input link 12") + promptgroup("42 - Link 8-F") + interest(1) + } + field(DOC, DBF_DOUBLE) { + prompt("Value 12") + interest(1) + } + field(LNKC, DBF_OUTLINK) { + prompt("Output Link 12") + promptgroup("42 - Link 8-F") + interest(1) + } + field(DLYD, DBF_DOUBLE) { + prompt("Delay 13") + promptgroup("42 - Link 8-F") + interest(1) + } + field(DOLD, DBF_INLINK) { + prompt("Input link 13") + promptgroup("42 - Link 8-F") + interest(1) + } + field(DOD, DBF_DOUBLE) { + prompt("Value 13") + interest(1) + } + field(LNKD, DBF_OUTLINK) { + prompt("Output Link 13") + promptgroup("42 - Link 8-F") + interest(1) + } + field(DLYE, DBF_DOUBLE) { + prompt("Delay 14") + promptgroup("42 - Link 8-F") + interest(1) + } + field(DOLE, DBF_INLINK) { + prompt("Input link 14") + promptgroup("42 - Link 8-F") + interest(1) + } + field(DOE, DBF_DOUBLE) { + prompt("Value 14") + interest(1) + } + field(LNKE, DBF_OUTLINK) { + prompt("Output Link 14") + promptgroup("42 - Link 8-F") + interest(1) + } + field(DLYF, DBF_DOUBLE) { + prompt("Delay 15") + promptgroup("42 - Link 8-F") + interest(1) + } + field(DOLF, DBF_INLINK) { + prompt("Input link 15") + promptgroup("42 - Link 8-F") + interest(1) + } + field(DOF, DBF_DOUBLE) { + prompt("Value 15") + interest(1) + } + field(LNKF, DBF_OUTLINK) { + prompt("Output Link 15") + promptgroup("42 - Link 8-F") + interest(1) + } +} +recordtype(state) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_STRING) { + size(20) + pp(TRUE) + prompt("Value") + asl(ASL0) + promptgroup("40 - Input") + } + field(OVAL, DBF_STRING) { + size(20) + prompt("Prev Value") + interest(3) + special(SPC_NOMOD) + } +} +recordtype(stringin) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + % + %/* Declare Device Support Entry Table */ + %struct stringinRecord; + %typedef struct stringindset { + % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ + % long (*read_stringin)(struct stringinRecord *prec); /*returns: (-1,0)=>(failure,success)*/ + %} stringindset; + %#define HAS_stringindset + % + %#include "callback.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_STRING) { + size(40) + pp(TRUE) + prompt("Current Value") + asl(ASL0) + promptgroup("40 - Input") + } + field(OVAL, DBF_STRING) { + size(40) + prompt("Previous Value") + interest(3) + special(SPC_NOMOD) + } + field(INP, DBF_INLINK) { + prompt("Input Specification") + promptgroup("40 - Input") + interest(1) + } + field(MPST, DBF_MENU) { + prompt("Post Value Monitors") + menu(stringinPOST) + promptgroup("80 - Display") + interest(1) + } + field(APST, DBF_MENU) { + prompt("Post Archive Monitors") + menu(stringinPOST) + promptgroup("80 - Display") + interest(1) + } + field(SIOL, DBF_INLINK) { + prompt("Simulation Input Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SVAL, DBF_STRING) { + size(40) + pp(TRUE) + prompt("Simulation Value") + } + field(SIML, DBF_INLINK) { + prompt("Simulation Mode Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuYesNo) + interest(1) + special(SPC_MOD) + } + field(SIMS, DBF_MENU) { + prompt("Simulation Mode Severity") + menu(menuAlarmSevr) + promptgroup("90 - Simulate") + interest(2) + } + field(OLDSIMM, DBF_MENU) { + prompt("Prev. Simulation Mode") + menu(menuSimm) + interest(4) + special(SPC_NOMOD) + } + field(SSCN, DBF_MENU) { + initial("65535") + prompt("Sim. Mode Scan") + menu(menuScan) + promptgroup("90 - Simulate") + interest(1) + } + field(SDLY, DBF_DOUBLE) { + initial("-1.0") + prompt("Sim. Mode Async Delay") + promptgroup("90 - Simulate") + interest(2) + } + field(SIMPVT, DBF_NOACCESS) { + prompt("Sim. Mode Private") + extra("epicsCallback *simpvt") + interest(4) + special(SPC_NOMOD) + } +} +device(stringin, CONSTANT, devSiSoft, "Soft Channel") +device(stringin, CONSTANT, devSiSoftCallback, "Async Soft Channel") +device(stringin, INST_IO, devTimestampSI, "Soft Timestamp") +device(stringin, INST_IO, devSiGeneralTime, "General Time") +device(stringin, INST_IO, devSiEnviron, "getenv") +device(stringin, INST_IO, devStringinStats, "IOC stats") +device(stringin, INST_IO, devStringinEnvVar, "IOC env var") +device(stringin, INST_IO, devStringinEpics, "IOC epics var") +device(stringin, INST_IO, devSiOpcua, "OPCUA") +recordtype(stringout) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + % + %/* Declare Device Support Entry Table */ + %struct stringoutRecord; + %typedef struct stringoutdset { + % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ + % long (*write_stringout)(struct stringoutRecord *prec); /*(-1,0)=>(failure,success)*/ + %} stringoutdset; + %#define HAS_stringoutdset + % + %#include "callback.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_STRING) { + size(40) + pp(TRUE) + prompt("Current Value") + asl(ASL0) + promptgroup("50 - Output") + } + field(OVAL, DBF_STRING) { + size(40) + prompt("Previous Value") + interest(3) + special(SPC_NOMOD) + } + field(DOL, DBF_INLINK) { + prompt("Desired Output Link") + promptgroup("40 - Input") + interest(1) + } + field(OMSL, DBF_MENU) { + prompt("Output Mode Select") + menu(menuOmsl) + promptgroup("50 - Output") + interest(1) + } + field(OUT, DBF_OUTLINK) { + prompt("Output Specification") + promptgroup("50 - Output") + interest(1) + } + field(MPST, DBF_MENU) { + prompt("Post Value Monitors") + menu(stringoutPOST) + promptgroup("80 - Display") + interest(1) + } + field(APST, DBF_MENU) { + prompt("Post Archive Monitors") + menu(stringoutPOST) + promptgroup("80 - Display") + interest(1) + } + field(SIOL, DBF_OUTLINK) { + prompt("Simulation Output Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIML, DBF_INLINK) { + prompt("Simulation Mode Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuYesNo) + interest(1) + special(SPC_MOD) + } + field(SIMS, DBF_MENU) { + prompt("Simulation Mode Severity") + menu(menuAlarmSevr) + promptgroup("90 - Simulate") + interest(2) + } + field(OLDSIMM, DBF_MENU) { + prompt("Prev. Simulation Mode") + menu(menuSimm) + interest(4) + special(SPC_NOMOD) + } + field(SSCN, DBF_MENU) { + initial("65535") + prompt("Sim. Mode Scan") + menu(menuScan) + promptgroup("90 - Simulate") + interest(1) + } + field(SDLY, DBF_DOUBLE) { + initial("-1.0") + prompt("Sim. Mode Async Delay") + promptgroup("90 - Simulate") + interest(2) + } + field(SIMPVT, DBF_NOACCESS) { + prompt("Sim. Mode Private") + extra("epicsCallback *simpvt") + interest(4) + special(SPC_NOMOD) + } + field(IVOA, DBF_MENU) { + prompt("INVALID output action") + menu(menuIvoa) + promptgroup("50 - Output") + interest(2) + } + field(IVOV, DBF_STRING) { + size(40) + prompt("INVALID output value") + promptgroup("50 - Output") + interest(2) + } +} +device(stringout, CONSTANT, devSoSoft, "Soft Channel") +device(stringout, CONSTANT, devSoSoftCallback, "Async Soft Channel") +device(stringout, INST_IO, devSoStdio, "stdio") +device(stringout, INST_IO, devSoOpcua, "OPCUA") +recordtype(sub) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + %struct subRecord; + %typedef long (*SUBFUNCPTR)(struct subRecord *); + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_DOUBLE) { + pp(TRUE) + prompt("Result") + asl(ASL0) + } + field(INAM, DBF_STRING) { + size(40) + prompt("Init Routine Name") + promptgroup("30 - Action") + interest(1) + special(SPC_NOMOD) + } + field(SNAM, DBF_STRING) { + size(40) + prompt("Subroutine Name") + promptgroup("30 - Action") + interest(1) + special(SPC_MOD) + } + field(SADR, DBF_NOACCESS) { + prompt("Subroutine Address") + extra("SUBFUNCPTR sadr") + interest(4) + special(SPC_NOMOD) + } + field(INPA, DBF_INLINK) { + prompt("Input A") + promptgroup("41 - Input A-F") + interest(1) + } + field(INPB, DBF_INLINK) { + prompt("Input B") + promptgroup("41 - Input A-F") + interest(1) + } + field(INPC, DBF_INLINK) { + prompt("Input C") + promptgroup("41 - Input A-F") + interest(1) + } + field(INPD, DBF_INLINK) { + prompt("Input D") + promptgroup("41 - Input A-F") + interest(1) + } + field(INPE, DBF_INLINK) { + prompt("Input E") + promptgroup("41 - Input A-F") + interest(1) + } + field(INPF, DBF_INLINK) { + prompt("Input F") + promptgroup("41 - Input A-F") + interest(1) + } + field(INPG, DBF_INLINK) { + prompt("Input G") + promptgroup("42 - Input G-L") + interest(1) + } + field(INPH, DBF_INLINK) { + prompt("Input H") + promptgroup("42 - Input G-L") + interest(1) + } + field(INPI, DBF_INLINK) { + prompt("Input I") + promptgroup("42 - Input G-L") + interest(1) + } + field(INPJ, DBF_INLINK) { + prompt("Input J") + promptgroup("42 - Input G-L") + interest(1) + } + field(INPK, DBF_INLINK) { + prompt("Input K") + promptgroup("42 - Input G-L") + interest(1) + } + field(INPL, DBF_INLINK) { + prompt("Input L") + promptgroup("42 - Input G-L") + interest(1) + } + field(EGU, DBF_STRING) { + size(16) + prompt("Engineering Units") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(HOPR, DBF_DOUBLE) { + prompt("High Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(LOPR, DBF_DOUBLE) { + prompt("Low Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(HIHI, DBF_DOUBLE) { + pp(TRUE) + prompt("Hihi Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LOLO, DBF_DOUBLE) { + pp(TRUE) + prompt("Lolo Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HIGH, DBF_DOUBLE) { + pp(TRUE) + prompt("High Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LOW, DBF_DOUBLE) { + pp(TRUE) + prompt("Low Alarm Limit") + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(BRSV, DBF_MENU) { + pp(TRUE) + prompt("Bad Return Severity") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(HHSV, DBF_MENU) { + prompt("Hihi Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LLSV, DBF_MENU) { + prompt("Lolo Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HSV, DBF_MENU) { + prompt("High Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(LSV, DBF_MENU) { + prompt("Low Severity") + menu(menuAlarmSevr) + pp(TRUE) + prop(YES) + promptgroup("70 - Alarm") + interest(1) + } + field(HYST, DBF_DOUBLE) { + prompt("Alarm Deadband") + promptgroup("70 - Alarm") + interest(1) + } + field(ADEL, DBF_DOUBLE) { + prompt("Archive Deadband") + promptgroup("80 - Display") + interest(1) + } + field(MDEL, DBF_DOUBLE) { + prompt("Monitor Deadband") + promptgroup("80 - Display") + interest(1) + } + field(A, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input A") + } + field(B, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input B") + } + field(C, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input C") + } + field(D, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input D") + } + field(E, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input E") + } + field(F, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input F") + } + field(G, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input G") + } + field(H, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input H") + } + field(I, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input I") + } + field(J, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input J") + } + field(K, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input K") + } + field(L, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input L") + } + field(LA, DBF_DOUBLE) { + prompt("Prev Value of A") + interest(3) + special(SPC_NOMOD) + } + field(LB, DBF_DOUBLE) { + prompt("Prev Value of B") + interest(3) + special(SPC_NOMOD) + } + field(LC, DBF_DOUBLE) { + prompt("Prev Value of C") + interest(3) + special(SPC_NOMOD) + } + field(LD, DBF_DOUBLE) { + prompt("Prev Value of D") + interest(3) + special(SPC_NOMOD) + } + field(LE, DBF_DOUBLE) { + prompt("Prev Value of E") + interest(3) + special(SPC_NOMOD) + } + field(LF, DBF_DOUBLE) { + prompt("Prev Value of F") + interest(3) + special(SPC_NOMOD) + } + field(LG, DBF_DOUBLE) { + prompt("Prev Value of G") + interest(3) + special(SPC_NOMOD) + } + field(LH, DBF_DOUBLE) { + prompt("Prev Value of H") + interest(3) + special(SPC_NOMOD) + } + field(LI, DBF_DOUBLE) { + prompt("Prev Value of I") + interest(3) + special(SPC_NOMOD) + } + field(LJ, DBF_DOUBLE) { + prompt("Prev Value of J") + interest(3) + special(SPC_NOMOD) + } + field(LK, DBF_DOUBLE) { + prompt("Prev Value of K") + interest(3) + special(SPC_NOMOD) + } + field(LL, DBF_DOUBLE) { + prompt("Prev Value of L") + interest(3) + special(SPC_NOMOD) + } + field(LALM, DBF_DOUBLE) { + prompt("Last Value Alarmed") + interest(3) + special(SPC_NOMOD) + } + field(ALST, DBF_DOUBLE) { + prompt("Last Value Archived") + interest(3) + special(SPC_NOMOD) + } + field(MLST, DBF_DOUBLE) { + prompt("Last Value Monitored") + interest(3) + special(SPC_NOMOD) + } +} +recordtype(subArray) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + % + %/* Declare Device Support Entry Table */ + %struct subArrayRecord; + %typedef struct sadset { + % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ + % long (*read_sa)(struct subArrayRecord *prec); /*returns: (-1,0)=>(failure,success)*/ + %} sadset; + %#define HAS_sadset + % + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_NOACCESS) { + pp(TRUE) + prompt("Value") + extra("void * val") + asl(ASL0) + special(SPC_DBADDR) + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(FTVL, DBF_MENU) { + prompt("Field Type of Value") + menu(menuFtype) + promptgroup("30 - Action") + interest(1) + special(SPC_NOMOD) + } + field(INP, DBF_INLINK) { + prompt("Input Specification") + promptgroup("40 - Input") + interest(1) + } + field(EGU, DBF_STRING) { + size(16) + prompt("Engineering Units") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(HOPR, DBF_DOUBLE) { + prompt("High Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(LOPR, DBF_DOUBLE) { + prompt("Low Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(MALM, DBF_ULONG) { + initial("1") + prompt("Maximum Elements") + promptgroup("30 - Action") + interest(1) + special(SPC_NOMOD) + } + field(NELM, DBF_ULONG) { + initial("1") + pp(TRUE) + prompt("Number of Elements") + promptgroup("30 - Action") + } + field(INDX, DBF_ULONG) { + pp(TRUE) + prompt("Substring Index") + promptgroup("30 - Action") + } + field(BUSY, DBF_SHORT) { + prompt("Busy Indicator") + special(SPC_NOMOD) + } + field(NORD, DBF_LONG) { + prompt("Number elements read") + special(SPC_NOMOD) + } + field(BPTR, DBF_NOACCESS) { + prompt("Buffer Pointer") + extra("void * bptr") + interest(4) + special(SPC_NOMOD) + } +} +device(subArray, CONSTANT, devSASoft, "Soft Channel") +recordtype(waveform) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "devSup.h" + %#include "epicsTime.h" + % + %/* Declare Device Support Entry Table */ + %struct waveformRecord; + %typedef struct wfdset { + % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ + % long (*read_wf)(struct waveformRecord *prec); /*returns: (-1,0)=>(failure,success)*/ + %} wfdset; + %#define HAS_wfdset + % + %#include "callback.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + prompt("Descriptor") + promptgroup("10 - Common") + } + field(ASG, DBF_STRING) { + size(29) + prompt("Access Security Group") + promptgroup("10 - Common") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup("20 - Scan") + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + prompt("Event Name") + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup("20 - Scan") + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup("20 - Scan") + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup("10 - Common") + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup("20 - Scan") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup("20 - Scan") + interest(1) + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + } + field(BKLNK, DBF_NOACCESS) { + prompt("Backwards link tracking") + extra("ELLLIST bklnk") + interest(4) + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + promptgroup("10 - Common") + interest(1) + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(AMSG, DBF_STRING) { + size(40) + prompt("Alarm Message") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + interest(2) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(NAMSG, DBF_STRING) { + size(40) + prompt("New Alarm Message") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + interest(2) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + promptgroup("70 - Alarm") + interest(2) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + interest(2) + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + interest(1) + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + interest(1) + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + interest(1) + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + extra("struct typed_rset *rset") + interest(4) + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + extra("unambiguous_dset *dset") + interest(4) + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + promptgroup("20 - Scan") + interest(1) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + extra("epicsUInt8 bkpt") + interest(1) + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + pp(TRUE) + prompt("Undefined") + promptgroup("10 - Common") + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup("70 - Alarm") + interest(1) + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + } + field(UTAG, DBF_UINT64) { + prompt("Time Tag") + interest(3) + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup("20 - Scan") + interest(1) + } + field(VAL, DBF_NOACCESS) { + pp(TRUE) + prompt("Value") + extra("void * val") + asl(ASL0) + special(SPC_DBADDR) + } + field(RARM, DBF_SHORT) { + pp(TRUE) + prompt("Rearm the waveform") + promptgroup("30 - Action") + interest(1) + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(INP, DBF_INLINK) { + prompt("Input Specification") + promptgroup("40 - Input") + interest(1) + } + field(EGU, DBF_STRING) { + size(16) + prompt("Engineering Units") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(HOPR, DBF_DOUBLE) { + prompt("High Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(LOPR, DBF_DOUBLE) { + prompt("Low Operating Range") + prop(YES) + promptgroup("80 - Display") + interest(1) + } + field(NELM, DBF_ULONG) { + initial("1") + prompt("Number of Elements") + promptgroup("30 - Action") + interest(1) + special(SPC_NOMOD) + } + field(FTVL, DBF_MENU) { + prompt("Field Type of Value") + menu(menuFtype) + promptgroup("30 - Action") + interest(1) + special(SPC_NOMOD) + } + field(BUSY, DBF_SHORT) { + prompt("Busy Indicator") + special(SPC_NOMOD) + } + field(NORD, DBF_ULONG) { + prompt("Number elements read") + special(SPC_NOMOD) + } + field(BPTR, DBF_NOACCESS) { + prompt("Buffer Pointer") + extra("void * bptr") + interest(4) + special(SPC_NOMOD) + } + field(SIOL, DBF_INLINK) { + prompt("Simulation Input Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIML, DBF_INLINK) { + prompt("Simulation Mode Link") + promptgroup("90 - Simulate") + interest(1) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuYesNo) + interest(1) + special(SPC_MOD) + } + field(SIMS, DBF_MENU) { + prompt("Simulation Mode Severity") + menu(menuAlarmSevr) + promptgroup("90 - Simulate") + interest(2) + } + field(OLDSIMM, DBF_MENU) { + prompt("Prev. Simulation Mode") + menu(menuSimm) + interest(4) + special(SPC_NOMOD) + } + field(SSCN, DBF_MENU) { + initial("65535") + prompt("Sim. Mode Scan") + menu(menuScan) + promptgroup("90 - Simulate") + interest(1) + } + field(SDLY, DBF_DOUBLE) { + initial("-1.0") + prompt("Sim. Mode Async Delay") + promptgroup("90 - Simulate") + interest(2) + } + field(SIMPVT, DBF_NOACCESS) { + prompt("Sim. Mode Private") + extra("epicsCallback *simpvt") + interest(4) + special(SPC_NOMOD) + } + field(MPST, DBF_MENU) { + prompt("Post Value Monitors") + menu(waveformPOST) + promptgroup("80 - Display") + interest(1) + } + field(APST, DBF_MENU) { + prompt("Post Archive Monitors") + menu(waveformPOST) + promptgroup("80 - Display") + interest(1) + } + field(HASH, DBF_ULONG) { + prompt("Hash of OnChange data.") + interest(3) + } +} +device(waveform, CONSTANT, devWfSoft, "Soft Channel") +device(waveform, INST_IO, devWaveformStats, "IOC stats") +device(waveform, INST_IO, devWfOpcua, "OPCUA") +link(calc, lnkCalcIf) +link(const, lnkConstIf) +link(debug, lnkDebugIf) +link(state, lnkStateIf) +link(trace, lnkTraceIf) +registrar(arrInitialize) +registrar(asSub) +registrar(dbndInitialize) +registrar(decInitialize) +registrar(opcuaIocshRegister) +registrar(rsrvRegistrar) +registrar(syncInitialize) +registrar(tsInitialize) +registrar(utagInitialize) +function(rebootProc) +function(scanMon) +function(scanMonInit) +variable(CASDEBUG, int) +variable(asCaDebug, int) +variable(atExitDebug, int) +variable(boHIGHlimit, double) +variable(boHIGHprecision, int) +variable(calcoutODLYlimit, double) +variable(calcoutODLYprecision, int) +variable(callbackParallelThreadsDefault, int) +variable(dbAccessDebugPUTF, int) +variable(dbBptNotMonotonic, int) +variable(dbConvertStrict, int) +variable(dbJLinkDebug, int) +variable(dbQuietMacroWarnings, int) +variable(dbRecordsAbcSorted, int) +variable(dbRecordsOnceOnly, int) +variable(dbTemplateMaxVars, int) +variable(dbThreadRealtimeLock, int) +variable(histogramSDELprecision, int) +variable(lnkDebug_debug, int) +variable(logClientDebug, int) +variable(opcua_ClientQueueSizeFactor, double) +variable(opcua_ConnectTimeout, double) +variable(opcua_DefaultDiscardOldest, int) +variable(opcua_DefaultPublishInterval, double) +variable(opcua_DefaultSamplingInterval, double) +variable(opcua_DefaultServerQueueSize, int) +variable(opcua_DefaultUseServerTime, int) +variable(opcua_MaxOperationsPerServiceCall, int) +variable(opcua_MinimumClientQueueSize, int) +variable(seqDLYlimit, double) +variable(seqDLYprecision, int) diff --git a/ioc/iocApp/src/Makefile b/ioc/iocApp/src/Makefile new file mode 100644 index 0000000..7cb64c2 --- /dev/null +++ b/ioc/iocApp/src/Makefile @@ -0,0 +1,26 @@ + + +# Makefile automatically generated using +# git@github.com:epics-containers/ibek-support.git + +TOP = ../.. +include $(TOP)/configure/CONFIG + +PROD_IOC = ioc +DBD += ioc.dbd +ioc_DBD += base.dbd + +ioc_DBD += devIocStats.dbd +ioc_DBD += opcua.dbd + +ioc_SRCS += ioc_registerRecordDeviceDriver.cpp +ioc_SYS_LIBS_Linux += xml2 crypto + +ioc_LIBS += opcua +ioc_LIBS += devIocStats + + +ioc_LIBS += $(EPICS_BASE_IOC_LIBS) +ioc_SRCS += iocMain.cpp + +include $(TOP)/configure/RULES \ No newline at end of file diff --git a/ioc/iocApp/src/Makefile.jinja b/ioc/iocApp/src/Makefile.jinja new file mode 100644 index 0000000..ab981af --- /dev/null +++ b/ioc/iocApp/src/Makefile.jinja @@ -0,0 +1,24 @@ +{# Jinja template for building the IOC Makefile #} + +# Makefile automatically generated using +# git@github.com:epics-containers/ibek-support.git + +TOP = ../.. +include $(TOP)/configure/CONFIG + +PROD_IOC = ioc +DBD += ioc.dbd +ioc_DBD += base.dbd + +{% for dbd in dbds %}ioc_DBD += {{dbd}} +{% endfor %} + +ioc_SRCS += ioc_registerRecordDeviceDriver.cpp + +{% for lib in libs %}ioc_LIBS += {{lib}} +{% endfor %} + +ioc_LIBS += $(EPICS_BASE_IOC_LIBS) +ioc_SRCS += iocMain.cpp + +include $(TOP)/configure/RULES \ No newline at end of file diff --git a/ioc/iocApp/src/iocMain.cpp b/ioc/iocApp/src/iocMain.cpp new file mode 100644 index 0000000..e45dda1 --- /dev/null +++ b/ioc/iocApp/src/iocMain.cpp @@ -0,0 +1,20 @@ +/* This file was automatically generated on Fri 25 May 2018 08:06:10 BST from + * source: /home/hgv27681/R3.14.12.3/support/pmac/etc/makeIocs/lab.xml + * + * *** Please do not edit this file: edit the source file instead. *** + * */ +#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; +} + diff --git a/ioc/opcuaIocApp/opcua.dbd b/ioc/iocApp/src/opcua.dbd similarity index 100% rename from ioc/opcuaIocApp/opcua.dbd rename to ioc/iocApp/src/opcua.dbd diff --git a/ioc/iocBoot/Makefile b/ioc/iocBoot/Makefile deleted file mode 100644 index 91e47d0..0000000 --- a/ioc/iocBoot/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -TOP = .. -include $(TOP)/configure/CONFIG -DIRS += $(wildcard *ioc*) -DIRS += $(wildcard as*) -include $(CONFIG)/RULES_DIRS - diff --git a/ioc/iocBoot/iocS7-1500/Makefile b/ioc/iocBoot/iocS7-1500/Makefile deleted file mode 100644 index e1b9aa4..0000000 --- a/ioc/iocBoot/iocS7-1500/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -TOP = ../.. -include $(TOP)/configure/CONFIG -ARCH = $(EPICS_HOST_ARCH) -TARGETS = envPaths -include $(TOP)/configure/RULES.ioc diff --git a/ioc/iocBoot/iocS7-1500/README b/ioc/iocBoot/iocS7-1500/README deleted file mode 100644 index 9d7c747..0000000 --- a/ioc/iocBoot/iocS7-1500/README +++ /dev/null @@ -1,9 +0,0 @@ -To start the ioc from this directory execute the command - ../../bin/linux-x86_64/ st.cmd - -Alternatively make the st.cmd file directly executable with - chmod +x st.cmd -and check the executable name on the first line of the st.cmd file - -You may need to change the name of the .dbd file given in the -st.cmd's dbLoadDatabase() command before starting the ioc. diff --git a/ioc/iocBoot/iocS7-1500/auth.txt b/ioc/iocBoot/iocS7-1500/auth.txt deleted file mode 100644 index 6ce016a..0000000 --- a/ioc/iocBoot/iocS7-1500/auth.txt +++ /dev/null @@ -1,2 +0,0 @@ -user=dls -pass=Diamond01 diff --git a/ioc/iocBoot/iocS7-1500/cert.pem b/ioc/iocBoot/iocS7-1500/cert.pem deleted file mode 100644 index 2dfbd83..0000000 --- a/ioc/iocBoot/iocS7-1500/cert.pem +++ /dev/null @@ -1,19 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDKzCCAhOgAwIBAgIJAI0iMyXyABiLMA0GCSqGSIb3DQEBCwUAMCwxCzAJBgNV -BAYTAlVLMQwwCgYDVQQKDANETFMxDzANBgNVBAMMBnBjMDA2OTAeFw0yMzEyMTMx -MTUxMTNaFw0yNDEyMTIxMTUxMTNaMCwxCzAJBgNVBAYTAlVLMQwwCgYDVQQKDANE -TFMxDzANBgNVBAMMBnBjMDA2OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBALrrLNVyHUF4Ck2r7yTkOZN8kRJ6Yh1o90BUm+tzQAM3+Mqb0TVnxLq5NoML -cZaxQ3IJh0ExAeWDG3a+vJ+TlITzLNDliohvB3FIlKhi3SYqbLEAybGpzJjgGOVL -T4EyRw8wY1gfn4v/nEg2rs8MIiWCdKwS8MyjWxIAHkc8q3s4q0pp1yudPmeUQBIa -EZ69f1Pf1RSuF2KvBukg3/pa+nYFLrQVuGxrJarcguGEDAtRolQnjLiEsTZzQpGn -X6WasD4IP1wh9taRaxM1wyygIZp52s6g1KvGoaeNpCOeg0xHX/7lx5bN5K5aqxtS -5A89RtA/fHl1VWlrASiwNm/ejiUCAwEAAaNQME4wHQYDVR0OBBYEFPDiLItSuGwz -SDchKN/WQeTvJ1abMB8GA1UdIwQYMBaAFPDiLItSuGwzSDchKN/WQeTvJ1abMAwG -A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAInuenCqPkgyNmv8SyB8ZX/J -J0izyJH1aK2zLZgLVHqaRj837o5GM+hO8PGR1EdxUMtkxVRkNK7MotmMn5/4CsuE -qyLt6MSTVmOlnfDA5j7E1k4Xj3RJe5nUdMBnI+66JsTV3tgdDXn7N64XpjDxxqzw -8MC45b6yXtAHo1OvQXQPmvsr1Z4HA8YiWOQiDgNwx0I6Rit7mMHGpvHB5aSF/UDN -NKlX5uOaEbGIZIndiYDeGZWPXa93ARt7ZNYq+bG8eMiZ0VfccqEpx+3cx37YbAHu -xtdCSD3GAjgP6eZsixX/r8yS08CUgjVVY1LxgKLhb5ccdm9v4XAZTHllvW+2ljM= ------END CERTIFICATE----- diff --git a/ioc/iocBoot/iocS7-1500/private_key.pem b/ioc/iocBoot/iocS7-1500/private_key.pem deleted file mode 100644 index 7eec0ad..0000000 --- a/ioc/iocBoot/iocS7-1500/private_key.pem +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC66yzVch1BeApN -q+8k5DmTfJESemIdaPdAVJvrc0ADN/jKm9E1Z8S6uTaDC3GWsUNyCYdBMQHlgxt2 -vryfk5SE8yzQ5YqIbwdxSJSoYt0mKmyxAMmxqcyY4BjlS0+BMkcPMGNYH5+L/5xI -Nq7PDCIlgnSsEvDMo1sSAB5HPKt7OKtKadcrnT5nlEASGhGevX9T39UUrhdirwbp -IN/6Wvp2BS60FbhsayWq3ILhhAwLUaJUJ4y4hLE2c0KRp1+lmrA+CD9cIfbWkWsT -NcMsoCGaedrOoNSrxqGnjaQjnoNMR1/+5ceWzeSuWqsbUuQPPUbQP3x5dVVpawEo -sDZv3o4lAgMBAAECggEBAJNLV50ru5onuhbS8jSkFCsA8mEZR8/dM1niUqwLudnP -daJTf10SVJi/8xD5J52UOo3WrFrW/6OY2T+Ntp4ZceQCrMJA4BX7SGYgx+SZY6P7 -soMZF9eE8tFVZsjpu9EXiZ+ShfaflN6BounVDZPi/9WHI+GlW1QnNlDM/w8r5AXI -nV2Q7VyJ3cqGhWMDj+6O7Z+vV2+RWKxfCRT767/idiYZugUCj6AfBC/ok5mmQorL -kC93u/iNrC0yZAWCQi3qWb/qKdRRl900BP+A2XYviqMkoGUFbKgV9mgxLeso4wzv -8b6WHHMD6fNDH73Z4Hlzz+kRFmTOg0Ija6P8Axitn4ECgYEA4kiDGa/3WSW6hWgi -oeEVxJnlQRE6NQjQybcCzGxLxYXyu71UujSXdAoxutAotfh7YdqgeaXDk4SDXbmx -cPQKWK0nhvWQeraomPSZU7phzSvymj7yFMOH4/t8hk5xndryS+lamcZiE5HiunM6 -pcHFsbKakCoSajaKdi54iV6Ube0CgYEA03dAkQqDUt1hVWoOV9ZoAEpIWSErycaM -EHvA//c8e+ZMJesXlDlNCj6YAbyQE/EZVdCDghvjDtl2JMUNoOMw2hAdZ8R6ESiD -8c6iqBR4vTrCzFIv0mtLqAyDN23WZTSkxiCl6XYVLuv7zTMAhHo3taY3BNP427Ci -GHQaLSxU2hkCgYEArIYapogaLzbryfEGjqOdRCMNvplS5sKM5W6KTK+46aVh1y/Y -HIwieQ+YsNUqZOtJrubQeU8gGSXsPpZoqjT2enuyalxpxpXjX5MGH+c30AVU17Ns -QNZ/khvY6lF+oJshJy2IrTuq5T7SPdPDAEQH5Z7F52qcVay1zrtJnXql8lUCgYEA -x8ToohykYyvwP5ipZCGQrnV+U3UawMtolknS0fzmjsXJOikVZVmchgkL4NgZ5Dzo -CkGpesiNgAG/sozViyAVjmua2+SozHzR6SWkU9TDG0DftdYOh2IFXwQzEbIZ0BIj -d2hwVFTRPjqA7iE4Y+5xopEbeNwnRKNg/mjwMaynnEECgYBFfB+WYj7HyG+6MUy2 -j8H3inlQI6d1R2/rXI12dJDhTfYcuJ7f1wjd2rihsSN0FdyZP59jAmxbxoL6d26v -40n0xiiRIoPR6l53ZQVnifBzyABu8GIFqEoP7pkKiHj8WkXHbW8VbkZLzRKSkHCk -a9WYVXwj3ndKaexoG/XJ1ML+aQ== ------END PRIVATE KEY----- diff --git a/ioc/iocBoot/iocS7-1500/st.cmd b/ioc/iocBoot/iocS7-1500/st.cmd deleted file mode 100755 index 2641df0..0000000 --- a/ioc/iocBoot/iocS7-1500/st.cmd +++ /dev/null @@ -1,38 +0,0 @@ -#!../../bin/linux-x86_64/opcuaIoc - -## You may have to change opcuaIoc to something else -## everywhere it appears in this file - -cd /epics/ioc-ts99i-ps-01/ioc - -< iocBoot/iocS7-1500/envPaths - -## Register all support components -dbLoadDatabase "dbd/opcuaIoc.dbd" -opcuaIoc_registerRecordDeviceDriver pdbbase - -## Pretty minimal setup: one session with a 200ms subscription on top -#opcuaSession OPC1 opc.tcp://localhost:4840 -opcuaSession OPC1 opc.tcp://172.23.241.219:4840 -opcuaSubscription SUB1 OPC1 200 - -# Switch off security -opcuaOptions OPC1 debug=1 -opcuaOptions OPC1 sec-mode=None -# Use authenticaton -opcuaOptions OPC1 sec-mode=SignAndEncrypt -#opcuaOptions OPC1 sec-mode=best -opcuaOptions OPC1 sec-policy=Basic256Sha256 -opcuaOptions OPC1 sec-id=iocBoot/iocS7-1500/auth.txt -opcuaSetupPKI /home/karb45/.config/unifiedautomation/uaexpert/PKI -#opcuaClientCertificate iocBoot/iocS7-1500/cert.pem iocBoot/iocS7-1500/private_key.pem -opcuaClientCertificate /home/karb45/.config/unifiedautomation/uaexpert/PKI/own/certs/cert.pem /home/karb45/.config/unifiedautomation/uaexpert/PKI/own/private/private_key.pem - -## Load the databases for one of the examples - -## Siemens S7-1500 PLC -dbLoadRecords "db/S7-1500-server.db", "P=OPC:,R=,SESS=OPC1,SUBS=SUB1" -#dbLoadRecords "db/S7-1500-DB1.db", "P=OPC:,R=DB1:,SESS=OPC1,SUBS=SUB1" - -iocInit -####### diff --git a/ioc/iocBoot/iocUaDemoServer/Makefile b/ioc/iocBoot/iocUaDemoServer/Makefile deleted file mode 100644 index e1b9aa4..0000000 --- a/ioc/iocBoot/iocUaDemoServer/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -TOP = ../.. -include $(TOP)/configure/CONFIG -ARCH = $(EPICS_HOST_ARCH) -TARGETS = envPaths -include $(TOP)/configure/RULES.ioc diff --git a/ioc/iocBoot/iocUaDemoServer/README b/ioc/iocBoot/iocUaDemoServer/README deleted file mode 100644 index 9d7c747..0000000 --- a/ioc/iocBoot/iocUaDemoServer/README +++ /dev/null @@ -1,9 +0,0 @@ -To start the ioc from this directory execute the command - ../../bin/linux-x86_64/ st.cmd - -Alternatively make the st.cmd file directly executable with - chmod +x st.cmd -and check the executable name on the first line of the st.cmd file - -You may need to change the name of the .dbd file given in the -st.cmd's dbLoadDatabase() command before starting the ioc. diff --git a/ioc/iocBoot/iocUaDemoServer/auth-cert.txt b/ioc/iocBoot/iocUaDemoServer/auth-cert.txt deleted file mode 100644 index 6a133cb..0000000 --- a/ioc/iocBoot/iocUaDemoServer/auth-cert.txt +++ /dev/null @@ -1,4 +0,0 @@ -user=keith -pass=baker2023 -cert=iocBoot/iocUaDemoServer/cert.pem -key=iocBoot/iocUaDemoServer/private_key.pem diff --git a/ioc/iocBoot/iocUaDemoServer/auth.txt b/ioc/iocBoot/iocUaDemoServer/auth.txt deleted file mode 100644 index 58782f9..0000000 --- a/ioc/iocBoot/iocUaDemoServer/auth.txt +++ /dev/null @@ -1,2 +0,0 @@ -user=keith -pass=baker2023 diff --git a/ioc/iocBoot/iocUaDemoServer/cert.pem b/ioc/iocBoot/iocUaDemoServer/cert.pem deleted file mode 100644 index 2dfbd83..0000000 --- a/ioc/iocBoot/iocUaDemoServer/cert.pem +++ /dev/null @@ -1,19 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDKzCCAhOgAwIBAgIJAI0iMyXyABiLMA0GCSqGSIb3DQEBCwUAMCwxCzAJBgNV -BAYTAlVLMQwwCgYDVQQKDANETFMxDzANBgNVBAMMBnBjMDA2OTAeFw0yMzEyMTMx -MTUxMTNaFw0yNDEyMTIxMTUxMTNaMCwxCzAJBgNVBAYTAlVLMQwwCgYDVQQKDANE -TFMxDzANBgNVBAMMBnBjMDA2OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBALrrLNVyHUF4Ck2r7yTkOZN8kRJ6Yh1o90BUm+tzQAM3+Mqb0TVnxLq5NoML -cZaxQ3IJh0ExAeWDG3a+vJ+TlITzLNDliohvB3FIlKhi3SYqbLEAybGpzJjgGOVL -T4EyRw8wY1gfn4v/nEg2rs8MIiWCdKwS8MyjWxIAHkc8q3s4q0pp1yudPmeUQBIa -EZ69f1Pf1RSuF2KvBukg3/pa+nYFLrQVuGxrJarcguGEDAtRolQnjLiEsTZzQpGn -X6WasD4IP1wh9taRaxM1wyygIZp52s6g1KvGoaeNpCOeg0xHX/7lx5bN5K5aqxtS -5A89RtA/fHl1VWlrASiwNm/ejiUCAwEAAaNQME4wHQYDVR0OBBYEFPDiLItSuGwz -SDchKN/WQeTvJ1abMB8GA1UdIwQYMBaAFPDiLItSuGwzSDchKN/WQeTvJ1abMAwG -A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAInuenCqPkgyNmv8SyB8ZX/J -J0izyJH1aK2zLZgLVHqaRj837o5GM+hO8PGR1EdxUMtkxVRkNK7MotmMn5/4CsuE -qyLt6MSTVmOlnfDA5j7E1k4Xj3RJe5nUdMBnI+66JsTV3tgdDXn7N64XpjDxxqzw -8MC45b6yXtAHo1OvQXQPmvsr1Z4HA8YiWOQiDgNwx0I6Rit7mMHGpvHB5aSF/UDN -NKlX5uOaEbGIZIndiYDeGZWPXa93ARt7ZNYq+bG8eMiZ0VfccqEpx+3cx37YbAHu -xtdCSD3GAjgP6eZsixX/r8yS08CUgjVVY1LxgKLhb5ccdm9v4XAZTHllvW+2ljM= ------END CERTIFICATE----- diff --git a/ioc/iocBoot/iocUaDemoServer/private_key.pem b/ioc/iocBoot/iocUaDemoServer/private_key.pem deleted file mode 100644 index 7eec0ad..0000000 --- a/ioc/iocBoot/iocUaDemoServer/private_key.pem +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC66yzVch1BeApN -q+8k5DmTfJESemIdaPdAVJvrc0ADN/jKm9E1Z8S6uTaDC3GWsUNyCYdBMQHlgxt2 -vryfk5SE8yzQ5YqIbwdxSJSoYt0mKmyxAMmxqcyY4BjlS0+BMkcPMGNYH5+L/5xI -Nq7PDCIlgnSsEvDMo1sSAB5HPKt7OKtKadcrnT5nlEASGhGevX9T39UUrhdirwbp -IN/6Wvp2BS60FbhsayWq3ILhhAwLUaJUJ4y4hLE2c0KRp1+lmrA+CD9cIfbWkWsT -NcMsoCGaedrOoNSrxqGnjaQjnoNMR1/+5ceWzeSuWqsbUuQPPUbQP3x5dVVpawEo -sDZv3o4lAgMBAAECggEBAJNLV50ru5onuhbS8jSkFCsA8mEZR8/dM1niUqwLudnP -daJTf10SVJi/8xD5J52UOo3WrFrW/6OY2T+Ntp4ZceQCrMJA4BX7SGYgx+SZY6P7 -soMZF9eE8tFVZsjpu9EXiZ+ShfaflN6BounVDZPi/9WHI+GlW1QnNlDM/w8r5AXI -nV2Q7VyJ3cqGhWMDj+6O7Z+vV2+RWKxfCRT767/idiYZugUCj6AfBC/ok5mmQorL -kC93u/iNrC0yZAWCQi3qWb/qKdRRl900BP+A2XYviqMkoGUFbKgV9mgxLeso4wzv -8b6WHHMD6fNDH73Z4Hlzz+kRFmTOg0Ija6P8Axitn4ECgYEA4kiDGa/3WSW6hWgi -oeEVxJnlQRE6NQjQybcCzGxLxYXyu71UujSXdAoxutAotfh7YdqgeaXDk4SDXbmx -cPQKWK0nhvWQeraomPSZU7phzSvymj7yFMOH4/t8hk5xndryS+lamcZiE5HiunM6 -pcHFsbKakCoSajaKdi54iV6Ube0CgYEA03dAkQqDUt1hVWoOV9ZoAEpIWSErycaM -EHvA//c8e+ZMJesXlDlNCj6YAbyQE/EZVdCDghvjDtl2JMUNoOMw2hAdZ8R6ESiD -8c6iqBR4vTrCzFIv0mtLqAyDN23WZTSkxiCl6XYVLuv7zTMAhHo3taY3BNP427Ci -GHQaLSxU2hkCgYEArIYapogaLzbryfEGjqOdRCMNvplS5sKM5W6KTK+46aVh1y/Y -HIwieQ+YsNUqZOtJrubQeU8gGSXsPpZoqjT2enuyalxpxpXjX5MGH+c30AVU17Ns -QNZ/khvY6lF+oJshJy2IrTuq5T7SPdPDAEQH5Z7F52qcVay1zrtJnXql8lUCgYEA -x8ToohykYyvwP5ipZCGQrnV+U3UawMtolknS0fzmjsXJOikVZVmchgkL4NgZ5Dzo -CkGpesiNgAG/sozViyAVjmua2+SozHzR6SWkU9TDG0DftdYOh2IFXwQzEbIZ0BIj -d2hwVFTRPjqA7iE4Y+5xopEbeNwnRKNg/mjwMaynnEECgYBFfB+WYj7HyG+6MUy2 -j8H3inlQI6d1R2/rXI12dJDhTfYcuJ7f1wjd2rihsSN0FdyZP59jAmxbxoL6d26v -40n0xiiRIoPR6l53ZQVnifBzyABu8GIFqEoP7pkKiHj8WkXHbW8VbkZLzRKSkHCk -a9WYVXwj3ndKaexoG/XJ1ML+aQ== ------END PRIVATE KEY----- diff --git a/ioc/iocBoot/iocUaDemoServer/st-omron.cmd b/ioc/iocBoot/iocUaDemoServer/st-omron.cmd deleted file mode 100644 index 351bbf4..0000000 --- a/ioc/iocBoot/iocUaDemoServer/st-omron.cmd +++ /dev/null @@ -1,47 +0,0 @@ -#!/epics/ioc-ts99i-ps-01/ioc/bin/linux-x86_64/opcuaIoc - -cd /epics/ioc-ts99i-ps-01/ioc - -< iocBoot/iocUaDemoServer/envPaths - - -## Register all support components -dbLoadDatabase "dbd/opcuaIoc.dbd" -opcuaIoc_registerRecordDeviceDriver pdbbase - -# Alternative session for Omron PLC in G.13 -opcuaSession OPC2 opc.tcp://172.23.243.75:4840 -opcuaSubscription SUB2 OPC2 200 - -# Switch off security -opcuaOptions OPC2 debug=1 -#opcuaOptions OPC2 sec-mode=SignAndEncrypt -opcuaOptions OPC2 sec-mode=None -#opcuaOptions OPC2 sec-policy=Basic256Sha256 -#opcuaOptions OPC2 sec-id=iocBoot/iocUaDemoServer/auth.txt -opcuaSetupPKI /home/karb45/.config/unifiedautomation/uaexpert/PKI -#opcuaClientCertificate iocBoot/iocUaDemoServer/cert.pem iocBoot/iocUaDemoServer/private_key.pem -opcuaClientCertificate /home/karb45/.config/unifiedautomation/uaexpert/PKI/own/certs/cert.der /home/karb45/.config/unifiedautomation/uaexpert/PKI/own/private/private_key.pem - -# Load the databases for the UaServerCpp demo server - -#dbLoadRecords "db/UaDemoServer-server.db", "P=OPC:,R=,SESS=OPC1,SUBS=SUB1" -#dbLoadRecords "db/Demo.Dynamic.Arrays.db", "P=OPC:,R=DDA:,SESS=OPC1,SUBS=SUB1" -#dbLoadRecords "db/Demo.Dynamic.Scalar.db", "P=OPC:,R=DDS:,SESS=OPC1,SUBS=SUB1" -#dbLoadRecords "db/Demo.Static.Arrays.db", "P=OPC:,R=DSA:,SESS=OPC1,SUBS=SUB1" -#dbLoadRecords "db/Demo.Static.Scalar.db", "P=OPC:,R=DSS:,SESS=OPC1,SUBS=SUB1" - -#dbLoadRecords "db/Demo.WorkOrder.db", "P=OPC:,SESS=OPC1,SUBS=SUB1" - -# DO NOT LOAD THESE DBs ON EPICS BASE < 7.0 \/ \/ \/ EPICS 7 ONLY -# int64 and long string records need EPICS 7 -#dbLoadRecords "db/Demo.Dynamic.ScalarE7.db", "P=OPC:,R=DDS:,SESS=OPC1,SUBS=SUB1" -#dbLoadRecords "db/Demo.Dynamic.ArraysE7.db", "P=OPC:,R=DDA:,SESS=OPC1,SUBS=SUB1" -#dbLoadRecords "db/Demo.Static.ScalarE7.db", "P=OPC:,R=DSS:,SESS=OPC1,SUBS=SUB1" -#dbLoadRecords "db/Demo.Static.ArraysE7.db", "P=OPC:,R=DSA:,SESS=OPC1,SUBS=SUB1" - -# Extra records for Omron PLC. -#dbLoadRecords "db/OmronServer.db", "P=OPC2:,R=,SESS=OPC2,SUBS=SUB2" -dbLoadRecords "db/Omron_DS.db", "P=OPC2:,R=DS:,SESS=OPC2,SUBS=SUB2" - -iocInit diff --git a/ioc/iocBoot/iocUaDemoServer/st-omron.cmd.old b/ioc/iocBoot/iocUaDemoServer/st-omron.cmd.old deleted file mode 100644 index ddb25ab..0000000 --- a/ioc/iocBoot/iocUaDemoServer/st-omron.cmd.old +++ /dev/null @@ -1,56 +0,0 @@ -#!../../bin/linux-x86_64/opcuaIoc - -## You may have to change opcuaIoc to something else -## everywhere it appears in this file - -< iocBoot/iocUaDemoServer/envPaths - -cd "${TOP}" - -## Register all support components -dbLoadDatabase "dbd/opcuaIoc.dbd" -opcuaIoc_registerRecordDeviceDriver pdbbase - -# Pretty minimal setup: one session with a 200ms subscription on top -#opcuaSession OPC1 opc.tcp://localhost:48010 -#opcuaSession OPC1 opc.tcp://DIAMRD2882:48010 -#opcuaSubscription SUB1 OPC1 200 - -# Alternative session for Omron PLC in G.13 -opcuaSession OPC2 opc.tcp://172.23.243.75:4840 -opcuaSubscription SUB2 OPC2 200 - -# Switch off security -opcuaOptions OPC2 debug=1 -#opcuaOptions OPC1 sec-mode=None -#opcuaOptions OPC2 sec-mode=None -opcuaOptions OPC2 sec-mode=SignAndEncrypt -#opcuaOptions OPC2 sec-mode=Sign -opcuaOptions OPC2 sec-policy=Basic256Sha256 -opcuaOptions OPC2 sec-id=iocBoot/iocUaDemoServer/auth.txt -opcuaSetupPKI /home/karb45/.config/unifiedautomation/uaexpert/PKI -opcuaClientCertificate iocBoot/iocUaDemoServer/cert.pem iocBoot/iocUaDemoServer/private_key.pem -opcuaClientCertificate /home/karb45/.config/unifiedautomation/uaexpert/PKI/own/certs/cert.der /home/karb45/.config/unifiedautomation/uaexpert/PKI/own/private/private_key.pem - -# Load the databases for the UaServerCpp demo server - -#dbLoadRecords "db/UaDemoServer-server.db", "P=OPC:,R=,SESS=OPC1,SUBS=SUB1" -#dbLoadRecords "db/Demo.Dynamic.Arrays.db", "P=OPC:,R=DDA:,SESS=OPC1,SUBS=SUB1" -#dbLoadRecords "db/Demo.Dynamic.Scalar.db", "P=OPC:,R=DDS:,SESS=OPC1,SUBS=SUB1" -#dbLoadRecords "db/Demo.Static.Arrays.db", "P=OPC:,R=DSA:,SESS=OPC1,SUBS=SUB1" -#dbLoadRecords "db/Demo.Static.Scalar.db", "P=OPC:,R=DSS:,SESS=OPC1,SUBS=SUB1" - -#dbLoadRecords "db/Demo.WorkOrder.db", "P=OPC:,SESS=OPC1,SUBS=SUB1" - -# DO NOT LOAD THESE DBs ON EPICS BASE < 7.0 \/ \/ \/ EPICS 7 ONLY -# int64 and long string records need EPICS 7 -#dbLoadRecords "db/Demo.Dynamic.ScalarE7.db", "P=OPC:,R=DDS:,SESS=OPC1,SUBS=SUB1" -#dbLoadRecords "db/Demo.Dynamic.ArraysE7.db", "P=OPC:,R=DDA:,SESS=OPC1,SUBS=SUB1" -#dbLoadRecords "db/Demo.Static.ScalarE7.db", "P=OPC:,R=DSS:,SESS=OPC1,SUBS=SUB1" -#dbLoadRecords "db/Demo.Static.ArraysE7.db", "P=OPC:,R=DSA:,SESS=OPC1,SUBS=SUB1" - -# Extra records for Omron PLC. -#dbLoadRecords "db/OmronServer.db", "P=OPC2:,R=,SESS=OPC2,SUBS=SUB2" -dbLoadRecords "db/Omron_DS.db", "P=OPC2:,R=DS:,SESS=OPC2,SUBS=SUB2" - -iocInit diff --git a/ioc/iocBoot/iocUaDemoServer/st.cmd b/ioc/iocBoot/iocUaDemoServer/st.cmd deleted file mode 100755 index b33574b..0000000 --- a/ioc/iocBoot/iocUaDemoServer/st.cmd +++ /dev/null @@ -1,49 +0,0 @@ -#!/epics/ioc-ts99i-ps-01/ioc/bin/linux-x86_64/opcuaIoc - -## You may have to change opcuaIoc to something else -## everywhere it appears in this file - -cd /epics/ioc-ts99i-ps-01/ioc - -< iocBoot/iocUaDemoServer/envPaths - - -## Register all support components -dbLoadDatabase "dbd/opcuaIoc.dbd" -opcuaIoc_registerRecordDeviceDriver pdbbase - -# Pretty minimal setup: one session with a 200ms subscription on top -#opcuaSession OPC1 opc.tcp://localhost:48010 -opcuaSession OPC1 opc.tcp://DIAMRD2882:48010 -opcuaSubscription SUB1 OPC1 200 - -# Alternative session for Omron PLC in G.13 -opcuaSession OPC2 opc.tcp://172.23.243.75:4840 -opcuaSubscription SUB2 OPC2 200 - -# Switch off security -opcuaOptions OPC1 sec-mode=None -opcuaOptions OPC2 sec-mode=None - -# Load the databases for the UaServerCpp demo server - -dbLoadRecords "db/UaDemoServer-server.db", "P=OPC:,R=,SESS=OPC1,SUBS=SUB1" -dbLoadRecords "db/Demo.Dynamic.Arrays.db", "P=OPC:,R=DDA:,SESS=OPC1,SUBS=SUB1" -dbLoadRecords "db/Demo.Dynamic.Scalar.db", "P=OPC:,R=DDS:,SESS=OPC1,SUBS=SUB1" -dbLoadRecords "db/Demo.Static.Arrays.db", "P=OPC:,R=DSA:,SESS=OPC1,SUBS=SUB1" -dbLoadRecords "db/Demo.Static.Scalar.db", "P=OPC:,R=DSS:,SESS=OPC1,SUBS=SUB1" - -dbLoadRecords "db/Demo.WorkOrder.db", "P=OPC:,SESS=OPC1,SUBS=SUB1" - -# DO NOT LOAD THESE DBs ON EPICS BASE < 7.0 \/ \/ \/ EPICS 7 ONLY -# int64 and long string records need EPICS 7 -dbLoadRecords "db/Demo.Dynamic.ScalarE7.db", "P=OPC:,R=DDS:,SESS=OPC1,SUBS=SUB1" -dbLoadRecords "db/Demo.Dynamic.ArraysE7.db", "P=OPC:,R=DDA:,SESS=OPC1,SUBS=SUB1" -dbLoadRecords "db/Demo.Static.ScalarE7.db", "P=OPC:,R=DSS:,SESS=OPC1,SUBS=SUB1" -dbLoadRecords "db/Demo.Static.ArraysE7.db", "P=OPC:,R=DSA:,SESS=OPC1,SUBS=SUB1" - -# Extra records for Omron PLC. -#dbLoadRecords "db/OmronServer.db", "P=OPC2:,R=,SESS=OPC2,SUBS=SUB2" -dbLoadRecords "db/Omron_DS.db", "P=OPC2:,R=DS:,SESS=OPC2,SUBS=SUB2" - -iocInit diff --git a/ioc/liveness.sh b/ioc/liveness.sh new file mode 100755 index 0000000..b0f5c0c --- /dev/null +++ b/ioc/liveness.sh @@ -0,0 +1,40 @@ +#!/bin/bash +TOP=/epics/ioc +cd ${TOP} +CONFIG_DIR=${TOP}/config + +set -ex + +CONFIG_DIR=/epics/ioc/config +THIS_SCRIPT=$(realpath ${0}) +override=${CONFIG_DIR}/liveness.sh + +if [[ -f ${override} && ${override} != ${THIS_SCRIPT} ]]; then + exec bash ${override} +fi + +if [[ ${K8S_IOC_LIVENESS_ENABLED} != 'true' ]]; then + exit 0 +fi + +# use devIOCStats UPTIME as the default liveness PV +# but allow override from the environment +K8S_IOC_PV=${K8S_IOC_PV:-"${IOC_PREFIX}:UPTIME"} + +# use default CA PORT or override from the environment +K8S_IOC_PORT=${K8S_IOC_PORT:-5064} + +export EPICS_CA_ADDR_LIST=${K8S_IOC_ADDRESS} +export EPICS_CA_SERVER_PORT=${K8S_IOC_PORT} + +# verify that the IOC is running +if caget ${K8S_IOC_PV} ; then + exit 0 +else + # send the error message to the container's main process stdout + echo "Liveness check failed for ${IOC_NAME}" > /proc/1/fd/1 + echo "Failing PV: ${K8S_IOC_PV}" > /proc/1/fd/2 + echo "Address list: ${EPICS_CA_ADDR_LIST}" > /proc/1/fd/2 + echo "CA Port: ${EPICS_CA_SERVER_PORT}" > /proc/1/fd/2 + exit 1 +fi diff --git a/ioc/opcuaIocApp/Makefile b/ioc/opcuaIocApp/Makefile deleted file mode 100644 index 9c95a44..0000000 --- a/ioc/opcuaIocApp/Makefile +++ /dev/null @@ -1,37 +0,0 @@ -TOP=.. -include $(TOP)/configure/CONFIG -#---------------------------------------- -# ADD MACRO DEFINITIONS AFTER THIS LINE -#============================= - -#============================= -# Build the IOC application - -PROD_IOC = opcuaIoc - -# opcuaIoc.dbd will be created and installed -DBD += opcuaIoc.dbd - -# opcuaIoc.dbd will be made up from these files: -opcuaIoc_DBD += base.dbd - -# Include dbd files from all support applications: -opcuaIoc_DBD += opcua.dbd - -# Add all the support libraries needed by this IOC -opcuaIoc_LIBS += opcua -opcua_DIR = .. -opcuaIoc_SYS_LIBS_Linux += xml2 crypto - -# opcuaIoc_registerRecordDeviceDriver.cpp derives from opcuaIoc.dbd -opcuaIoc_SRCS += opcuaIoc_registerRecordDeviceDriver.cpp -opcuaIoc_SRCS += opcuaIocMain.cpp - -# Finally link to the EPICS Base libraries -opcuaIoc_LIBS += $(EPICS_BASE_IOC_LIBS) - -#=========================== - -include $(TOP)/configure/RULES -#---------------------------------------- -# ADD RULES AFTER THIS LINE diff --git a/ioc/opcuaIocApp/devOpcua.dbd b/ioc/opcuaIocApp/devOpcua.dbd deleted file mode 100644 index 7d09744..0000000 --- a/ioc/opcuaIocApp/devOpcua.dbd +++ /dev/null @@ -1,32 +0,0 @@ -device(int64in, INST_IO, devInt64inOpcua, "OPCUA") -device(int64out, INST_IO, devInt64outOpcua, "OPCUA") -device(longin, INST_IO, devLiOpcua, "OPCUA") -device(longout, INST_IO, devLoOpcua, "OPCUA") -device(bi, INST_IO, devBiOpcua, "OPCUA") -device(bo, INST_IO, devBoOpcua, "OPCUA") -device(mbbi, INST_IO, devMbbiOpcua, "OPCUA") -device(mbbo, INST_IO, devMbboOpcua, "OPCUA") -device(mbbiDirect, INST_IO, devMbbiDirectOpcua, "OPCUA") -device(mbboDirect, INST_IO, devMbboDirectOpcua, "OPCUA") -device(ai, INST_IO, devAiOpcua, "OPCUA") -device(ao, INST_IO, devAoOpcua, "OPCUA") -device(stringin, INST_IO, devSiOpcua, "OPCUA") -device(stringout, INST_IO, devSoOpcua, "OPCUA") -device(lsi, INST_IO, devLsiOpcua, "OPCUA") -device(lso, INST_IO, devLsoOpcua, "OPCUA") -device(waveform, INST_IO, devWfOpcua, "OPCUA") -device(aai, INST_IO, devAaiOpcua, "OPCUA") -device(aao, INST_IO, devAaoOpcua, "OPCUA") -device(opcuaItem, INST_IO, devItemOpcua, "OPCUA") - -variable(opcua_ConnectTimeout, double) -variable(opcua_MaxOperationsPerServiceCall) -variable(opcua_DefaultPublishInterval, double) -variable(opcua_DefaultSamplingInterval, double) -variable(opcua_DefaultServerQueueSize) -variable(opcua_DefaultDiscardOldest) -variable(opcua_DefaultUseServerTime) -variable(opcua_ClientQueueSizeFactor, double) -variable(opcua_MinimumClientQueueSize) - -registrar(opcuaIocshRegister) diff --git a/ioc/opcuaIocApp/libopcua.so b/ioc/opcuaIocApp/libopcua.so deleted file mode 120000 index 09f9e4f..0000000 --- a/ioc/opcuaIocApp/libopcua.so +++ /dev/null @@ -1 +0,0 @@ -libopcua.so.0.9 \ No newline at end of file diff --git a/ioc/opcuaIocApp/libopcua.so.0.9 b/ioc/opcuaIocApp/libopcua.so.0.9 deleted file mode 100755 index a9ddff300aee3114aca46371eb93a6d2c24c1d7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5391168 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

Ek=m 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 jrei!${JboyBRKWdn&_%pT+)DU? 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 ry@)r7wX>)wW64C8m;{n*z%_zupsKK#m<{}BFf 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

pFLI*g!8mkPydDuQa!ym-S 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
a${{PXL_xXv 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

4X<%%ZHX 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 K!suAjJ_+{XP3AM4*6fPq_nE{EU2kslk90R}#; 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�o8prsxt__5*#mdZM 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